/* Progun-Angebote: Kartenraster. Farben folgen dem Theme (Fallbacks für andere Themes). */
.pg { --pg-marine: var(--marine, #0f2a47); --pg-accent: var(--accent-dark, #8f6f33); --pg-muted: var(--muted, #5b6774); --pg-line: var(--line, #e3e8ee); --pg-surface: var(--surface, #f4f6f8); }
.pg-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.pg-filter a { text-decoration: none; font-weight: 600; font-size: 15px; color: var(--pg-marine); border: 1px solid var(--pg-line); border-radius: 999px; padding: 6px 14px; background: #fff; }
.pg-filter a span { color: var(--pg-muted); font-weight: 400; margin-left: 4px; }
.pg-filter a[aria-current] { background: var(--pg-marine); color: #fff; border-color: var(--pg-marine); }
.pg-filter a[aria-current] span { color: #cfdcea; }
.pg-filter a.pg-filter__weiter { margin-left: auto; color: var(--pg-accent); border-color: var(--pg-accent); background: #fff; }
.pg-filter a.pg-filter__weiter:hover { background: var(--pg-accent); color: #fff; }
.pg-filter--sub { margin-top: -10px; }
.pg-filter--sub .pg-filter__label { align-self: center; font-size: 14px; color: var(--pg-muted); margin-right: 2px; }
.pg-filter--sub a { font-size: 14px; padding: 4px 12px; }
@media (max-width: 600px) { .pg-filter a.pg-filter__weiter { margin-left: 0; } }
.pg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; }
.pg-card { display: grid; grid-template-rows: auto 1fr; border: 1px solid var(--pg-line); border-radius: 10px; overflow: hidden; background: #fff; transition: box-shadow .15s, transform .15s; }
.pg-card:hover { box-shadow: 0 10px 28px rgba(15, 42, 71, .10); transform: translateY(-2px); }
.pg-card__media { display: block; background: var(--pg-surface); overflow: hidden; padding: 8%; }
.pg-card__media img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; display: block; transition: transform .25s ease; }
.pg-card:hover .pg-card__media img, .pg-card:focus-within .pg-card__media img { transform: scale(1.12); }
.pg-card__noimg { display: grid; place-items: center; height: 100%; color: var(--pg-muted); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.pg-card__body { display: grid; gap: 4px; padding: 12px 14px 14px; align-content: start; }
.pg-card__brand { font-size: 13px; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; color: var(--pg-muted); }
.pg-card__name { margin: 0; font-size: 17px; line-height: 1.3; font-weight: 600; }
.pg-card__name a { color: inherit; text-decoration: none; }
.pg-card__name a:hover { text-decoration: underline; }
.pg-card__cat { font-size: 14px; color: var(--pg-muted); }
.pg-card__price { margin-top: 6px; font-weight: 700; font-size: 18px; color: var(--pg-marine); font-variant-numeric: tabular-nums; }
.pg-card__price small { display: block; font-weight: 400; font-size: 13px; color: var(--pg-muted); }
.pg-card__cta { margin-top: 6px; font-size: 15px; font-weight: 700; color: var(--pg-accent); }
.pg-note, .pg-empty { margin-top: 20px; font-size: 15px; color: var(--pg-muted); }
@media (prefers-reduced-motion: reduce) { .pg-card, .pg-card__media img, .pg-artikel__media img { transition: none; } .pg-card:hover { transform: none; } }

/* Artikelseite */
.pg-card { position: relative; }
.pg-card__name a::after { content: ""; position: absolute; inset: 0; }
.pg-crumbs { font-size: 15px; color: var(--muted, #5b6774); margin-bottom: 14px; display: flex; gap: 10px; flex-wrap: wrap; }
.pg-crumbs a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; }
.pg-crumbs a:hover { border-bottom-color: currentColor; }
.pg-artikel { --pg-marine: var(--marine, #0f2a47); --pg-accent: var(--accent-dark, #8f6f33); --pg-muted: var(--muted, #5b6774); --pg-line: var(--line, #e3e8ee); --pg-surface: var(--surface, #f4f6f8); }
.pg-artikel__top { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: start; }
.pg-artikel__media { border: 1px solid var(--pg-line); border-radius: 12px; background: var(--pg-surface); overflow: hidden; padding: 8%; }
.pg-artikel__media img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; display: block; transition: transform .3s ease; }
.pg-artikel__media:hover img { transform: scale(1.14); }
.pg-artikel__info { display: grid; gap: 16px; align-content: start; }
.pg-artikel__price { margin: 0; font-family: var(--font-heading, inherit); font-weight: 700; font-size: 34px; color: var(--pg-marine); line-height: 1.1; font-variant-numeric: tabular-nums; }
.pg-artikel__price small { display: block; font-family: var(--font-body, inherit); font-weight: 400; font-size: 15px; color: var(--pg-muted); margin-top: 6px; }
.pg-artikel__meta { margin: 0; display: grid; gap: 0; border-top: 1px solid var(--pg-line); }
.pg-artikel__meta > div { display: grid; grid-template-columns: 150px 1fr; gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--pg-line); font-size: 16px; }
.pg-artikel__meta dt { color: var(--pg-muted); font-weight: 600; }
.pg-artikel__meta dd { margin: 0; }
.pg-artikel__legal { margin: 0; font-size: 15px; color: var(--pg-muted); }
.pg-artikel__actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 4px; }
.pg-artikel__shop { font-size: 15px; font-weight: 600; color: var(--pg-muted); text-decoration: none; border-bottom: 1px solid currentColor; }
.pg-artikel__shop:hover { color: var(--pg-marine); }
.pg-artikel__contact { margin: 0; font-size: 16px; color: var(--pg-muted); }
.pg-artikel__contact a { color: var(--pg-marine); font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; }
/* Unter dem breiten Kopfblock (Bild + Daten) laufen Beschreibung, Aufklapper und Kaufanfrage in der mittigen Lesespalte der Inhaltsseiten; „Weitere …“ wieder in voller Breite. */
.pg-artikel__section { margin-top: 48px; max-width: var(--content, 740px); margin-left: auto; margin-right: auto; }
.pg-artikel__section--mehr { max-width: none; }
.pg-artikel__section--small { margin-top: 28px; display: grid; gap: 10px; }
.pg-artikel__section h2 { font-size: 26px; margin: 0 0 14px; color: var(--pg-marine); }
.pg-artikel__section .section__head { margin-bottom: 20px; }
.pg-artikel__section .section__head h2 { margin: 0; }
.pg-artikel__text { font-size: 17px; line-height: 1.6; }
.pg-artikel__text > :first-child { margin-top: 0; }
.pg-artikel__text h3, .pg-artikel__text h4, .pg-artikel__text h5 { font-size: 18px; margin: 1.3em 0 .4em; color: var(--pg-marine); }
.pg-artikel__text p { margin: 0 0 .8em; }
.pg-artikel__text ul, .pg-artikel__text ol { padding-left: 1.3em; margin: 0 0 .9em; }
.pg-artikel__text table { border-collapse: collapse; width: 100%; font-size: 16px; }
.pg-artikel__text td, .pg-artikel__text th { padding: 6px 10px; border-bottom: 1px solid var(--pg-line); text-align: left; vertical-align: top; }
.pg-artikel__text--faq { padding: 0 18px 16px; font-size: 16px; }
.pg-artikel__form .osw-form { max-width: none; } /* Kaufanfrage in derselben Lesespalte wie die Beschreibung */
.pg-artikel .pg-artikel__section:last-child { max-width: none; }
@media (max-width: 959px) {
	.pg-artikel__top { grid-template-columns: 1fr; gap: 24px; }
	.pg-artikel__price { font-size: 28px; }
}
@media (max-width: 600px) {
	.pg-artikel__meta > div { grid-template-columns: 1fr; gap: 2px; }
}
