/* FPA Parks – Stil passend zu freizeitparkapp.de und FPA Wartezeiten (Akzent #f65002, Menü #232323, Systemschrift, keine externen Fonts). */
.fpa-pk { --akzent: #f65002; --akzent2: #ff7a2e; --dunkel: #232323; --text: #1f2328; --leise: #5f6670; --rand: #e6e7ea; --flaeche: #f6f7f9;
  position: relative; margin: 0 0 1.5em; color: var(--text); font: 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
.fpa-pk *, .fpa-pk *::before, .fpa-pk *::after { box-sizing: border-box; }
.fpa-pk h2, .fpa-pk h3, .fpa-pk h4, .fpa-pk p, .fpa-pk dl, .fpa-pk dd, .fpa-pk ol, .fpa-pk ul, .fpa-pk figure, .fpa-pk address { margin: 0; padding: 0; font-style: normal; }
.fpa-pk h2, .fpa-pk h3, .fpa-pk h4 { font-family: inherit; letter-spacing: normal; text-transform: none; clear: none; }
.fpa-pk ul, .fpa-pk ol { list-style: none; }
.fpa-pk a { color: inherit; }
.fpa-pk img { max-width: 100%; height: auto; }
.fpa-pk button { font: inherit; cursor: pointer; }
body .fpa-pk table td, body .fpa-pk table th { border: 0; background: transparent; padding: 0; text-align: left; vertical-align: top; }
.fpa-pk table { border: 0; margin: 0; width: 100%; border-collapse: collapse; }
.fpa-pk [hidden] { display: none !important; }

/* Theme: volle Breite, kompakter Banner (wie FPA Wartezeiten) */
body.fpa-pk-seite .site-content .bcf-sidebar, body.fpa-pk-seite #secondary.widget-area { display: none !important; }
body.fpa-pk-seite .site-content .col-md-8.bcf-main-content { width: 100%; max-width: 100%; flex: 0 0 100%; }
body.fpa-pk-seite #primary.content-area { float: none; width: 100%; max-width: none; }
body.fpa-pk-seite #static_header_banner .content-text { min-height: 0 !important; padding-top: 26px !important; padding-bottom: 84px !important; }
body.fpa-pk-seite #static_header_banner .content-text h1 { font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.3rem); }
@media (max-width: 750px) { body.fpa-pk-seite #static_header_banner .content-text { padding-top: 16px !important; padding-bottom: 66px !important; } }

/* Brotkrumen */
.fpa-pk-krumen { margin: 0 0 10px; font-size: .85rem; color: var(--leise); white-space: nowrap; overflow-x: auto; scrollbar-width: none; }
.fpa-pk-krumen a { color: var(--akzent); text-decoration: none; font-weight: 600; }
.fpa-pk-krumen a:hover { text-decoration: underline; }

/* Kopf (dunkel) */
.fpa-pk-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 28px; align-items: end; padding: 22px 24px; border-radius: 18px; color: #fff; margin-bottom: 14px;
  background: radial-gradient(90% 120% at 100% 0%, rgba(246, 80, 2, .38), transparent 60%), radial-gradient(70% 90% at 0% 100%, rgba(246, 80, 2, .14), transparent 60%), linear-gradient(135deg, #1b1b1b 0%, #232323 55%, #2d2621 100%);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .18); }
.fpa-pk-hero.hat-bild { grid-template-columns: 300px minmax(0, 1fr) auto; }
.fpa-pk-hero__bild { align-self: stretch; border-radius: 12px; overflow: hidden; background: #111; min-height: 190px; }
.fpa-pk-hero__bild img { display: block; width: 100%; height: 100% !important; object-fit: cover; }
.fpa-pk-hero__kicker { display: inline-flex; align-items: center; gap: .45em; margin-bottom: 8px !important; padding: 4px 11px; border-radius: 999px; background: rgba(246, 80, 2, .2); color: #ffb48a; font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.fpa-pk .fpa-pk-hero__titel { color: #fff; font-size: clamp(1.55rem, 1.1rem + 1.6vw, 2.5rem); line-height: 1.1; font-weight: 800; }
.fpa-pk-hero__unter { margin-top: 6px !important; color: #d6d6d6; max-width: 46em; }
.fpa-pk-hero__bewertung { margin-top: 8px !important; color: #eee; }
.fpa-pk-hero__knoepfe { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px !important; }
.fpa-pk-hero__zahlen { display: grid; grid-template-columns: repeat(2, minmax(118px, 1fr)); gap: 8px; }
.fpa-pk-hero__zahlen div { display: flex; flex-direction: column-reverse; padding: 9px 13px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 12px; background: rgba(255, 255, 255, .06); }
.fpa-pk-hero__zahlen dt { color: #b9b9b9; font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.fpa-pk-hero__zahlen dd { margin: 0; color: #fff; font-size: 1.35rem; font-weight: 800; line-height: 1.15; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fpa-pk-zurueck { display: table; margin-bottom: 6px; color: #ffb48a !important; text-decoration: none !important; font-weight: 600; font-size: .88rem; }
.fpa-pk-cc { display: inline-block; min-width: 2.1em; padding: 1px 5px; border-radius: 5px; background: var(--dunkel); color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-align: center; }
.fpa-pk-hero .fpa-pk-cc { background: var(--akzent); }

/* Knöpfe */
.fpa-pk-knopf { display: inline-flex; align-items: center; gap: .3em; padding: 8px 14px; border-radius: 999px; border: 0; background: var(--dunkel); color: #fff !important; font-weight: 700; font-size: .88rem; text-decoration: none !important; line-height: 1.2; }
.fpa-pk-knopf--akzent { background: var(--akzent); } .fpa-pk-knopf--akzent:hover { background: #d94600; }
.fpa-pk-knopf--hell { background: rgba(255, 255, 255, .14); } .fpa-pk-knopf--hell:hover { background: rgba(255, 255, 255, .26); }
.fpa-pk-knopf--rand { background: #fff; color: var(--text) !important; border: 1px solid var(--rand); }
.fpa-pk-knopfreihe { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 6px !important; }
.fpa-pk-mehr-wrap { text-align: center; margin: 14px 0 0 !important; }
.fpa-pk-link { color: var(--akzent) !important; font-weight: 700; text-decoration: none !important; }
.fpa-pk-rechts { text-align: right; margin-top: 8px !important; }

/* Sterne */
.fpa-pk-sterne { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.fpa-pk-sterne i { position: relative; display: inline-block; width: 86px; height: 16px; background: linear-gradient(90deg, #ffb400 var(--w), #d5d7db var(--w)); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 24'%3E%3Cpath id='s' d='M12 1l3.4 7 7.6.9-5.6 5.2 1.5 7.6L12 18l-6.9 3.7 1.5-7.6L1 8.9 8.6 8z'/%3E%3Cuse href='%23s' x='24'/%3E%3Cuse href='%23s' x='48'/%3E%3Cuse href='%23s' x='72'/%3E%3Cuse href='%23s' x='96'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 24'%3E%3Cpath id='s' d='M12 1l3.4 7 7.6.9-5.6 5.2 1.5 7.6L12 18l-6.9 3.7 1.5-7.6L1 8.9 8.6 8z'/%3E%3Cuse href='%23s' x='24'/%3E%3Cuse href='%23s' x='48'/%3E%3Cuse href='%23s' x='72'/%3E%3Cuse href='%23s' x='96'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat; }
.fpa-pk-sterne.is-klein i { width: 66px; height: 12px; }
.fpa-pk-sterne.is-klein { font-size: .82rem; gap: 4px; }
.fpa-pk-sterne small { color: inherit; opacity: .75; }

/* Werkzeugleiste, Chips, Suche */
.fpa-pk-werkzeug { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0 0 12px; }
.fpa-pk-chips { display: flex; flex-wrap: wrap; gap: 6px; flex-basis: 100%; }
.fpa-pk-chip { display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px; border-radius: 999px; border: 1px solid var(--rand); background: #fff; color: var(--text); font-size: .84rem; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.fpa-pk-chip small { color: var(--leise); font-weight: 600; }
.fpa-pk-chip:hover { border-color: var(--akzent); }
.fpa-pk-chip.is-aktiv { background: var(--akzent); border-color: var(--akzent); color: #fff; }
.fpa-pk-chip.is-aktiv small { color: #ffe1d1; }
.fpa-pk-chip--grau.is-aktiv { background: #6b7178; border-color: #6b7178; }
.fpa-pk-punkt { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #9aa0a6; flex: none; }
.fpa-pk-typ-146 { background: #f65002; } .fpa-pk-typ-147 { background: #1e88e5; } .fpa-pk-typ-148 { background: #43a047; } .fpa-pk-typ-149 { background: #8e24aa; }
.fpa-pk-typ-150 { background: #fbc02d; } .fpa-pk-typ-151 { background: #00897b; } .fpa-pk-typ-152 { background: #e53935; } .fpa-pk-typ-486 { background: #6d4c41; } .fpa-pk-typ-337 { background: #546e7a; }
.fpa-pk-suche { position: relative; flex: 1 1 260px; max-width: 420px; }
.fpa-pk-suche input { width: 100%; height: 40px; padding: 0 14px 0 38px; border: 1px solid var(--rand); border-radius: 999px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%235f6670' stroke-width='2'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='M13 13l4 4'/%3E%3C/svg%3E") 13px 50% no-repeat; font-size: 15px; color: var(--text); }
.fpa-pk-suche input:focus { outline: 2px solid rgba(246, 80, 2, .35); border-color: var(--akzent); }
.fpa-pk-hero .fpa-pk-suche { margin-top: 14px; max-width: 520px; }
.fpa-pk-hero .fpa-pk-suche input { border-color: transparent; height: 44px; }
.fpa-pk-suche__liste { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 4px); max-height: 340px; overflow: auto; background: #fff; color: var(--text); border: 1px solid var(--rand); border-radius: 12px; box-shadow: 0 12px 28px rgba(0, 0, 0, .16); }
.fpa-pk-suche__liste a { display: flex; gap: 8px; align-items: center; padding: 8px 12px; text-decoration: none; border-bottom: 1px solid #f0f1f3; }
.fpa-pk-suche__liste a:hover, .fpa-pk-suche__liste a:focus { background: #fff4ee; }
.fpa-pk-suche__liste small { margin-left: auto; color: var(--leise); white-space: nowrap; }
.fpa-pk-auswahl select { height: 40px; padding: 0 30px 0 12px; border: 1px solid var(--rand); border-radius: 999px; background-color: #fff; font-size: .9rem; color: var(--text); max-width: 100%; }
.fpa-pk-treffer { margin-left: auto !important; font-size: .82rem; color: var(--leise); }

/* Länderübersicht */
.fpa-pk-kontinente { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 12px; }
.fpa-pk-kontinent { grid-column: span 4; padding: 12px 14px; border: 1px solid var(--rand); border-radius: 14px; background: #fff; }
.fpa-pk-kontinent--eu { grid-column: span 8; grid-row: span 2; }
.fpa-pk-kontinent h3 { font-size: .95rem; font-weight: 800; margin-bottom: 8px !important; display: flex; justify-content: space-between; }
.fpa-pk-kontinent h3 small { color: var(--leise); font-weight: 600; }
.fpa-pk-laender { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 2px 10px; }
.fpa-pk-laender a { display: flex; align-items: center; gap: 7px; padding: 4px 6px; border-radius: 8px; text-decoration: none; font-size: .88rem; }
.fpa-pk-laender a:hover { background: #fff4ee; }
.fpa-pk-land__name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fpa-pk-land__n { color: var(--leise); font-weight: 700; font-variant-numeric: tabular-nums; font-size: .8rem; }
.fpa-pk-laender li.is-null { opacity: .35; }

/* Parkkarten (Land) */
.fpa-pk-karten { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.fpa-pk-karte a { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--rand); border-radius: 14px; overflow: hidden; background: #fff; text-decoration: none; transition: box-shadow .15s, transform .15s; }
.fpa-pk-karte a:hover { box-shadow: 0 10px 22px rgba(0, 0, 0, .1); transform: translateY(-2px); }
.fpa-pk-karte__bild { position: relative; display: block; aspect-ratio: 16 / 8; background: #eceef1; overflow: hidden; }
.fpa-pk-karte__bild img { display: block; width: 100%; height: 100% !important; object-fit: cover; }
.fpa-pk-karte__text { display: flex; flex-direction: column; gap: 2px; padding: 9px 12px 11px; flex: 1; }
.fpa-pk-karte__name { font-size: .98rem; line-height: 1.25; }
.fpa-pk-karte__ort { display: flex; align-items: center; gap: 6px; font-size: .8rem; color: var(--leise); }
.fpa-pk-karte__fuss { display: flex; justify-content: space-between; align-items: center; gap: 6px; margin-top: auto; padding-top: 5px; font-size: .8rem; color: var(--leise); }
.fpa-pk-badge { position: absolute; left: 8px; top: 8px; padding: 2px 8px; border-radius: 999px; background: var(--akzent); color: #fff; font-size: .68rem; font-weight: 800; font-style: normal; letter-spacing: .03em; }
.fpa-pk-badge.is-klein { position: static; display: inline-block; font-size: .64rem; padding: 1px 7px; }
.fpa-pk-badge.is-grau { background: #8a8f96; position: static; }
.fpa-pk-platzhalter { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; color: rgba(255, 255, 255, .92); font-size: 1.8rem; font-weight: 800;
  background: linear-gradient(135deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .28)), var(--pf, #9aa0a6); }
.fpa-pk-platzhalter.fpa-pk-typ-a { background: linear-gradient(135deg, #3a3a3a, #232323); color: #ffb48a; font-size: 1.2rem; }

/* Reiter */
.fpa-pk-reiter { position: sticky; top: 0; z-index: 20; display: flex; gap: 4px; margin: 0 0 12px; padding: 5px; border-radius: 14px; background: #fff; border: 1px solid var(--rand); overflow-x: auto; scrollbar-width: none; box-shadow: 0 4px 12px rgba(0, 0, 0, .05); }
.admin-bar .fpa-pk-reiter { top: 32px; }
.fpa-pk-reiter a { flex: none; padding: 8px 14px; border-radius: 10px; text-decoration: none; font-weight: 700; font-size: .9rem; color: var(--leise); white-space: nowrap; }
.fpa-pk-reiter a small { font-weight: 700; opacity: .7; }
.fpa-pk-reiter a[aria-selected="true"] { background: var(--akzent); color: #fff; }
.fpa-pk-reiter a:hover:not([aria-selected="true"]) { background: #fff4ee; color: var(--text); }
.fpa-pk.js .fpa-pk-panel { display: none; }
.fpa-pk.js .fpa-pk-panel.is-aktiv { display: block; }
.fpa-pk-panel { margin-bottom: 14px; scroll-margin-top: 70px; }

/* Raster & Boxen */
.fpa-pk-raster { display: grid; gap: 12px; align-items: start; }
.fpa-pk-raster--2-1 { grid-template-columns: minmax(0, 1.75fr) minmax(300px, 1fr); }
.fpa-pk-raster--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fpa-pk-raster--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fpa-pk-spalte { display: grid; gap: 12px; min-width: 0; }
.fpa-pk-karte-box { padding: 14px 16px; border: 1px solid var(--rand); border-radius: 14px; background: #fff; min-width: 0; }
.fpa-pk-karte-box h3 { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; font-size: 1rem; font-weight: 800; margin-bottom: 10px !important; }
.fpa-pk-karte-box h3::before { content: ""; width: 14px; height: 3px; border-radius: 2px; background: var(--akzent); align-self: center; }
.fpa-pk-karte-box h3 small { font-weight: 500; font-size: .78rem; color: var(--leise); }
.fpa-pk-karte-box h4 { font-size: .82rem; font-weight: 800; margin: 12px 0 6px !important; color: var(--leise); text-transform: uppercase; letter-spacing: .04em; }
.fpa-pk-hinweis { padding: 8px 12px; border-radius: 10px; background: #fff6f1; border: 1px solid #f3c8b3; font-size: .85rem; margin-bottom: 8px !important; }
.fpa-pk-klein { font-size: .78rem; color: var(--leise); margin-top: 8px !important; }
.fpa-pk-klein a { color: var(--akzent); font-weight: 600; text-decoration: none; }

/* Text */
.fpa-pk-text { font-size: .95rem; line-height: 1.6; }
.fpa-pk-text p { margin: 0 0 .7em !important; }
.fpa-pk-text ul { list-style: disc; margin: 0 0 .7em 1.3em !important; }
.fpa-pk-text li { margin: 0 0 .15em; }
.fpa-pk-text small { font-size: .82em; color: var(--leise); }
.fpa-pk-klapp.is-geklappt { max-height: 236px; overflow: hidden; -webkit-mask: linear-gradient(#000 65%, transparent); mask: linear-gradient(#000 65%, transparent); }
.fpa-pk-klapp-knopf { margin-top: 4px; padding: 0; border: 0; background: none; color: var(--akzent); font-weight: 700; }

/* Mini-Kacheln Attraktionen */
.fpa-pk-mini { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.fpa-pk-mini a { display: flex; flex-direction: column; gap: 2px; text-decoration: none; }
.fpa-pk-mini__bild { display: block; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: #eceef1; margin-bottom: 4px; }
.fpa-pk-mini__bild img { width: 100%; height: 100% !important; object-fit: cover; display: block; transition: transform .2s; }
.fpa-pk-mini a:hover img { transform: scale(1.04); }
.fpa-pk-mini b { font-size: .86rem; line-height: 1.25; }
.fpa-pk-mini small { font-size: .74rem; color: var(--leise); }

/* Attraktionsliste */
.fpa-pk-attrliste { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 8px; }
.fpa-pk-attrliste a { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 7px; border: 1px solid var(--rand); border-radius: 12px; background: #fff; text-decoration: none; }
.fpa-pk-attrliste a:hover { border-color: var(--akzent); }
.fpa-pk-attrliste__bild { width: 64px; height: 48px; border-radius: 8px; overflow: hidden; background: #eceef1; }
.fpa-pk-attrliste__bild img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.fpa-pk-attrliste__text { display: flex; flex-direction: column; min-width: 0; }
.fpa-pk-attrliste__text b { font-size: .9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fpa-pk-attrliste__text small, .fpa-pk-attrliste__werte small { font-size: .74rem; color: var(--leise); }
.fpa-pk-attrliste__werte { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.fpa-pk-attrliste li[data-ehemalig] a { opacity: .7; }

/* Heute / Andrang / Wartezeiten */
.fpa-pk-heute__zeit { display: flex; align-items: center; gap: 8px; font-weight: 800; font-size: 1.05rem; }
.fpa-pk-heute__preis { margin-top: 4px !important; color: var(--leise); font-size: .88rem; }
.fpa-pk-ampel { width: 11px; height: 11px; border-radius: 50%; background: #c62828; box-shadow: 0 0 0 3px rgba(198, 40, 40, .15); }
.fpa-pk-ampel.is-offen { background: #2e9d5b; box-shadow: 0 0 0 3px rgba(46, 157, 91, .18); }
.fpa-pk-andrang__heute { display: flex; gap: 8px; align-items: center; font-size: .88rem; font-weight: 600; margin-bottom: 8px !important; }
.fpa-pk-andrang__heute i { flex: none; width: 14px; height: 14px; border-radius: 4px; }
.fpa-pk-kal__kopf, .fpa-pk-kal__tage { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
.fpa-pk-kal__kopf span { text-align: center; font-size: .7rem; font-weight: 700; color: var(--leise); }
.fpa-pk-kal__tage span { position: relative; height: 34px; border-radius: 7px; display: flex; align-items: center; justify-content: center; font-size: .8rem; color: #fff; }
.fpa-pk-kal__tage span.is-leer { background: none; }
.fpa-pk-kal__tage b { font-weight: 800; line-height: 1; text-align: center; }
.fpa-pk-kal__tage b small { display: block; font-size: .54rem; text-transform: uppercase; opacity: .9; }
.fpa-pk-kal__tage i { position: absolute; top: 1px; right: 3px; font-size: .58rem; font-style: normal; }
.fpa-pk .stufe-1 { background: #2e9d5b; } .fpa-pk .stufe-2 { background: #8cbf3f; } .fpa-pk .stufe-3 { background: #f2b600; color: #2b2100; } .fpa-pk .stufe-4 { background: #f67a1c; } .fpa-pk .stufe-5 { background: #c62828; }
.fpa-pk .is-zu { background: #e9eaed; color: #9aa0a6; }
.fpa-pk-kal__legende { display: flex; flex-wrap: wrap; gap: 3px 10px; margin-top: 8px; font-size: .74rem; color: var(--leise); }
.fpa-pk-kal__legende span { display: inline-flex; align-items: center; gap: 4px; }
.fpa-pk-kal__legende i { width: 12px; height: 12px; border-radius: 3px; }
.fpa-pk-wz__liste li, .fpa-pk-balken li { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(50px, 1fr) auto; gap: 8px; align-items: center; font-size: .86rem; padding: 3px 0; }
.fpa-pk-wz__liste a { text-decoration: none; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fpa-pk-wz__liste i, .fpa-pk-balken i { height: 8px; border-radius: 4px; background: #f0f1f3; overflow: hidden; }
.fpa-pk-wz__liste b, .fpa-pk-balken b { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, var(--akzent2), var(--akzent)); }
.fpa-pk-wz__liste em, .fpa-pk-balken em { font-style: normal; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fpa-pk-live { display: inline-block; padding: 1px 8px; border-radius: 999px; background: #c62828; color: #fff; font-size: .7rem; text-transform: uppercase; }
.fpa-pk-mini-kpi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.fpa-pk-mini-kpi div { display: flex; flex-direction: column-reverse; padding: 8px 10px; border-radius: 10px; background: var(--flaeche); }
.fpa-pk-mini-kpi dt { font-size: .72rem; color: var(--leise); }
.fpa-pk-mini-kpi dd { font-size: 1.2rem; font-weight: 800; }

/* Tabellen, Daten, Tags, Links */
.fpa-pk-tabelle th, .fpa-pk-tabelle td { padding: 6px 0 !important; border-bottom: 1px solid #f0f1f3 !important; font-size: .88rem; }
.fpa-pk-tabelle th { font-weight: 600; padding-right: 10px !important; }
.fpa-pk-tabelle th small { display: block; font-weight: 400; color: var(--leise); font-size: .74rem; }
.fpa-pk-tabelle td.is-zahl { text-align: right !important; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fpa-pk-daten { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.fpa-pk-daten div { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px solid #f0f1f3; font-size: .87rem; }
.fpa-pk-daten dt { color: var(--leise); }
.fpa-pk-daten dd { font-weight: 700; text-align: right; }
.fpa-pk-daten a { color: var(--akzent); }
.fpa-pk-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.fpa-pk-tags span { padding: 3px 10px; border-radius: 999px; background: var(--flaeche); border: 1px solid var(--rand); font-size: .82rem; }
.fpa-pk-links li { padding: 5px 0; border-bottom: 1px solid #f0f1f3; font-size: .9rem; }
.fpa-pk-links a { text-decoration: none; font-weight: 600; }
.fpa-pk-links a:hover { color: var(--akzent); }
.fpa-pk-app { color: var(--akzent) !important; }
.fpa-pk-liste-kurz li { display: flex; justify-content: space-between; gap: 8px; padding: 5px 0; border-bottom: 1px solid #f0f1f3; font-size: .88rem; }
.fpa-pk-liste-kurz a { text-decoration: none; font-weight: 600; }

/* Chronik */
.fpa-pk-chronik li { position: relative; padding: 6px 0 8px 18px; border-left: 2px solid #f3c8b3; margin-left: 4px; font-size: .88rem; }
.fpa-pk-chronik li::before { content: ""; position: absolute; left: -6px; top: 11px; width: 10px; height: 10px; border-radius: 50%; background: var(--akzent); }
.fpa-pk-chronik time { display: inline-block; min-width: 92px; color: var(--leise); font-variant-numeric: tabular-nums; font-size: .8rem; }
.fpa-pk-chronik a { color: var(--text); }
.fpa-pk-chronik__text { color: var(--leise); font-size: .84rem; }
.fpa-pk-chronik__text p { margin: 0 !important; }

/* Slideshow */
.fpa-pk-show__buehne { position: relative; aspect-ratio: 16 / 7.5; border-radius: 14px; overflow: hidden; background: #111; }
.fpa-pk-show__bild { position: absolute; inset: 0; opacity: 0; transition: opacity .35s; }
.fpa-pk-show__bild.is-aktiv { opacity: 1; z-index: 1; }
.fpa-pk-show__bild img { width: 100%; height: 100% !important; object-fit: contain; display: block; background: #111; }
.fpa-pk-show__bild figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 16px 10px; color: #fff; background: linear-gradient(transparent, rgba(0, 0, 0, .72)); font-size: .9rem; display: flex; gap: 8px; align-items: baseline; }
.fpa-pk-show__bild figcaption small { opacity: .8; font-size: .74rem; }
.fpa-pk-show__nr { margin-left: auto; font-size: .78rem; opacity: .85; font-variant-numeric: tabular-nums; }
.fpa-pk-show__pfeil { position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(0, 0, 0, .45); color: #fff; font-size: 1.8rem; line-height: 1; }
.fpa-pk-show__pfeil:hover { background: var(--akzent); }
.fpa-pk-show__pfeil.is-zurueck { left: 10px; } .fpa-pk-show__pfeil.is-vor { right: 10px; }
.fpa-pk-show__leiste { display: flex; gap: 6px; margin-top: 8px !important; overflow-x: auto; scrollbar-width: thin; padding-bottom: 4px; }
.fpa-pk-show__leiste button { flex: none; width: 92px; height: 60px; padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden; background: #ddd; opacity: .7; }
.fpa-pk-show__leiste button[aria-current="true"] { border-color: var(--akzent); opacity: 1; }
.fpa-pk-show__leiste img { width: 100%; height: 100% !important; object-fit: cover; display: block; }

/* Fuß + Version */
.fpa-pk-fuss { display: flex; justify-content: space-between; gap: 12px; margin-top: 16px; padding-top: 8px; border-top: 1px solid var(--rand); font-size: .72rem; color: #8a9097; }
.fpa-pk-version { font-size: .68rem; color: #b0b5ba; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ---------- Tablet / Handy ---------- */
@media (max-width: 1100px) {
  .fpa-pk-hero.hat-bild { grid-template-columns: 240px minmax(0, 1fr); }
  .fpa-pk-hero.hat-bild .fpa-pk-hero__zahlen { grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .fpa-pk-raster--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fpa-pk-kontinent, .fpa-pk-kontinent--eu { grid-column: span 6; grid-row: auto; }
  .fpa-pk-kontinent--eu { grid-column: 1 / -1; }
}
@media (max-width: 820px) {
  .fpa-pk-raster--2-1, .fpa-pk-raster--2 { grid-template-columns: minmax(0, 1fr); }
  .fpa-pk-hero { grid-template-columns: minmax(0, 1fr); padding: 16px; }
  .fpa-pk-hero__zahlen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .fpa-pk { font-size: 14.5px; }
  .fpa-pk-hero.hat-bild { grid-template-columns: minmax(0, 1fr); padding: 0 0 14px; }
  .fpa-pk-hero.hat-bild > :not(.fpa-pk-hero__bild) { margin-left: 14px; margin-right: 14px; }
  /* Breite fest → aspect-ratio setzt die Höhe (Safari: sonst schrumpft die Logo-Kachel und lässt rechts die Hero-Farbe frei). */
  .fpa-pk-hero__bild { min-height: 0; width: 100%; max-width: 100%; min-width: 0; justify-self: stretch; align-self: start; aspect-ratio: 16 / 8; border-radius: 0; }
  .fpa-pk-hero__bild.is-logo { align-self: start; }
  .fpa-pk-hero.hat-bild .fpa-pk-hero__zahlen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fpa-pk-hero__zahlen div { padding: 7px 10px; }
  .fpa-pk-hero__zahlen dd { font-size: 1.15rem; }
  .fpa-pk-raster--3 { grid-template-columns: minmax(0, 1fr); }
  .fpa-pk-kontinent, .fpa-pk-kontinent--eu { grid-column: 1 / -1; }
  .fpa-pk-laender { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fpa-pk-karten { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .fpa-pk-karte a { flex-direction: row; }
  .fpa-pk-karte__bild { flex: 0 0 112px; aspect-ratio: auto; min-height: 84px; }
  .fpa-pk-karte__bild .fpa-pk-badge { font-size: .58rem; left: 4px; top: 4px; padding: 1px 5px; }
  .fpa-pk-werkzeug { gap: 8px; }
  .fpa-pk-suche { flex-basis: 100%; max-width: none; }
  .fpa-pk-auswahl { flex: 1 1 45%; } .fpa-pk-auswahl select { width: 100%; }
  .fpa-pk-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -14px; padding: 0 14px 2px; }
  .fpa-pk-mini { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fpa-pk-attrliste { grid-template-columns: minmax(0, 1fr); }
  .fpa-pk-daten { grid-template-columns: minmax(0, 1fr); }
  .fpa-pk-show__buehne { aspect-ratio: 4 / 3; }
  .fpa-pk-show__pfeil { width: 38px; height: 38px; }
  .fpa-pk-fuss { flex-direction: column; gap: 2px; }
  .fpa-pk-version { align-self: flex-end; }
  .fpa-pk-treffer { flex-basis: 100%; margin-left: 0 !important; }
}

/* Handy: Heute + „Wie voll wird es?“ direkt nach dem Text, Top-Attraktionen danach */
@media (max-width: 820px) {
  #ueberblick > .fpa-pk-raster { display: flex; flex-direction: column; }
  #ueberblick .fpa-pk-spalte { display: contents; }
  #ueberblick .fpa-pk-spalte:first-child > :nth-child(2) { order: 5; }
}
@media (max-width: 600px) {
  #ueberblick .fpa-pk-mini > li:nth-child(n+5) { display: none; }
}
@media (max-width: 600px) {
  .fpa-pk-show__bild figcaption { flex-direction: column; gap: 2px; padding: 22px 12px 8px; font-size: .84rem; }
}
.fpa-pk-land__name { white-space: normal; line-height: 1.2; }
@media (max-width: 600px) {
  .fpa-pk-laender { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 6px; }
  .fpa-pk-laender .fpa-pk-cc { display: none; }
  .fpa-pk-laender a { padding: 5px 4px; font-size: .86rem; }
}

/* ---------- Startseiten-Slider: zufällige Attraktionen (nur mit eigenem Bild) */
.fpa-pk-slider { position: relative; margin: 0 0 14px; border-radius: 18px; overflow: hidden; background: var(--dunkel); box-shadow: 0 10px 28px rgba(0, 0, 0, .14); }
.fpa-pk-slider__buehne { position: relative; aspect-ratio: 21 / 8; }
.fpa-pk-slider__folie { position: absolute; inset: 0; opacity: 0; transition: opacity .6s ease; text-decoration: none !important; color: #fff !important; }
.fpa-pk-slider__folie.is-aktiv { opacity: 1; z-index: 1; }
.fpa-pk-slider__folie img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fpa-pk-slider__folie::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 12, 16, .78) 0%, rgba(10, 12, 16, .35) 45%, transparent 70%), linear-gradient(0deg, rgba(10, 12, 16, .55), transparent 40%); }
.fpa-pk-slider__text { position: absolute; z-index: 2; left: 28px; bottom: 34px; max-width: 46%; display: flex; flex-direction: column; gap: 6px; }
.fpa-pk-slider__kicker { color: #ffb68a; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; font-size: .72rem; }
.fpa-pk-slider__text strong { font-size: clamp(1.4rem, 1rem + 1.6vw, 2.3rem); line-height: 1.08; font-weight: 800; color: #fff; }
.fpa-pk-slider__park { font-size: .95rem; opacity: .92; display: flex; align-items: center; gap: 7px; }
.fpa-pk-slider__park .fpa-pk-cc { font-style: normal; background: var(--akzent); }
.fpa-pk-slider__knopf { align-self: flex-start; margin-top: 6px; padding: 8px 16px; border-radius: 999px; background: var(--akzent); font-weight: 700; font-size: .88rem; }
.fpa-pk-slider .fpa-pk-show__pfeil { z-index: 3; }
.fpa-pk-slider__punkte { position: absolute; z-index: 3; right: 18px; bottom: 14px; display: flex; gap: 6px; }
.fpa-pk-slider__punkte button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .45); cursor: pointer; }
.fpa-pk-slider__punkte button.is-aktiv { background: #fff; width: 22px; border-radius: 6px; }
@media (max-width: 600px) {
  .fpa-pk-slider__buehne { aspect-ratio: 4 / 3.4; }
  .fpa-pk-slider__folie::after { background: linear-gradient(0deg, rgba(10, 12, 16, .85) 0%, rgba(10, 12, 16, .35) 55%, transparent 80%); }
  .fpa-pk-slider__text { left: 16px; right: 16px; bottom: 30px; max-width: none; }
  .fpa-pk-slider .fpa-pk-show__pfeil { display: none; }
  .fpa-pk-slider__punkte { left: 16px; right: auto; bottom: 12px; }
}

/* ---------- App-Fotos: zwei Bereiche */
.fpa-pk-appfotos { margin-top: 12px; }
.fpa-pk-appfotos h4 { display: flex; align-items: center; gap: 8px; font-size: .98rem; font-weight: 800; margin: 14px 0 2px !important; }
.fpa-pk-appfotos__bereich.is-b { margin-top: 18px; padding-top: 4px; border-top: 1px dashed var(--rand); }
.fpa-pk-appfotos__bereich.is-b .fpa-pk-fotoraster img { filter: saturate(.92); }
.fpa-pk-fotoraster { list-style: none; margin: 10px 0 0 !important; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.fpa-pk-fotoraster li { margin: 0; }
.fpa-pk-fotoraster a { display: block; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: #eee; }
.fpa-pk-fotoraster img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s; }
.fpa-pk-fotoraster a:hover img { transform: scale(1.04); }
.fpa-pk-fotoraster small { display: block; margin-top: 3px; font-size: .74rem; color: var(--leise); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fpa-pk-vorschau-hinweis { margin: 4px 0 6px !important; padding: 7px 10px; border-radius: 8px; background: #fff4ee; border: 1px solid #ffd7c2; font-size: .8rem; color: #8a3a12; }
.fpa-pk-lightbox { border: 0; padding: 0; background: transparent; max-width: 96vw; max-height: 92vh; }
.fpa-pk-lightbox::backdrop { background: rgba(0, 0, 0, .82); }
.fpa-pk-lightbox img { display: block; max-width: 96vw; max-height: 88vh; border-radius: 10px; }
.fpa-pk-lightbox button { position: absolute; top: 8px; right: 8px; width: 34px; height: 34px; border-radius: 50%; border: 0; background: rgba(0, 0, 0, .6); color: #fff; font-size: 1.2rem; cursor: pointer; }
@media (max-width: 600px) {
  .fpa-pk-fotoraster { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
}
.fpa-pk-slider { container-type: inline-size; }
@container (max-width: 760px) {
  .fpa-pk-slider__buehne { aspect-ratio: 16 / 8.5; }
  .fpa-pk-slider__text { max-width: 72%; left: 20px; bottom: 30px; }
  .fpa-pk-slider__text strong { font-size: 1.6rem; }
}
@container (max-width: 520px) {
  .fpa-pk-slider__buehne { aspect-ratio: 4 / 3.4; }
  .fpa-pk-slider__text { max-width: none; left: 16px; right: 16px; }
  .fpa-pk-slider .fpa-pk-show__pfeil { display: none; }
}
.fpa-pk-suche input { padding: 0 14px 0 38px !important; }
/* Slider-Pfeile unten rechts (überdecken den Text nicht) */
.fpa-pk .fpa-pk-slider .fpa-pk-show__pfeil { top: auto; bottom: 12px; transform: none; width: 34px; height: 34px; font-size: 1.4rem; }
.fpa-pk .fpa-pk-slider .fpa-pk-show__pfeil.is-zurueck { left: auto; right: 56px; }
.fpa-pk .fpa-pk-slider .fpa-pk-show__pfeil.is-vor { right: 16px; }
.fpa-pk-slider__punkte { right: 102px; bottom: 25px; }
@container (max-width: 520px) { .fpa-pk .fpa-pk-slider .fpa-pk-show__pfeil { display: none; } .fpa-pk-slider__punkte { left: 16px; right: auto; bottom: 12px; } }

/* 0.3.0 Park-Logos: Transparenz bleibt erhalten (Vorschaubilder als WebP MIT Alpha), Logo wird ganz gezeigt (contain + Innenabstand).
   Kachelfarbe kommt pro Logo aus der Analyse (--fpa-logo-bg): transparent → hell/weiß, eingebrannter Hintergrund → genau dessen Randfarbe
   (Logo und Kachel verschmelzen, kein harter Kasten), überwiegend weißes Logo → neutrales Schiefergrau. */
.fpa-pk-karte__bild.is-logo { background: var(--fpa-logo-bg, #fff); box-shadow: inset 0 -1px 0 var(--rand); }
.fpa-pk-karte__bild.is-logo img { object-fit: contain; padding: 14px 22px; }
.fpa-pk-karte__bild.is-logo:has(.fpa-pk-badge) img { padding-top: 26px; }
.fpa-pk-karte__bild.is-logo-transparent:not(.hat-weiss) { background: radial-gradient(120% 90% at 50% 40%, #fff 55%, #f3f4f6 100%); }
.fpa-pk .is-logo.hat-weiss img { filter: drop-shadow(0 0 1px rgba(0, 0, 0, .55)) drop-shadow(0 1px 2px rgba(0, 0, 0, .16)); }
.fpa-pk-karte a:hover .fpa-pk-karte__bild.is-logo img { transform: scale(1.03); transition: transform .2s; }
.fpa-pk-hero__bild.is-logo { display: flex; align-items: center; justify-content: center; background: var(--fpa-logo-bg, #fff); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); min-width: 0; }
.fpa-pk-hero__bild.is-logo-transparent:not(.hat-weiss) { background: radial-gradient(120% 90% at 50% 40%, #fff 55%, #eef0f3 100%); }
.fpa-pk-hero__bild.is-logo img { object-fit: contain; object-position: center; padding: 18px 22px; max-height: 240px; width: 100%; height: 100% !important; flex: 1 1 auto; min-width: 0; min-height: 0; }
.fpa-pk-show__bild.is-logo { background: var(--fpa-logo-bg, #fff); }
.fpa-pk-show__bild.is-logo img { background: transparent; padding: 5% 10% 9%; }
.fpa-pk-show__leiste button.is-logo { background: var(--fpa-logo-bg, #fff); }
.fpa-pk-show__leiste button.is-logo img { object-fit: contain; padding: 4px 6px; }
@media (max-width: 600px) {
  .fpa-pk-karte__bild.is-logo img { padding: 8px 10px; }
  .fpa-pk-karte__bild.is-logo:has(.fpa-pk-badge) img { padding-top: 18px; }
  /* nach den Desktop-Logo-Regeln: max-height/padding sonst gewinnen die späteren Basisregeln */
  .fpa-pk-hero__bild.is-logo img { max-height: none; width: 100%; height: 100% !important; align-self: stretch; padding: 12px 16px; }
}

/* 0.3.1 Länder im Aufbau (live zunächst nur Deutschland voll) */
.fpa-pk-laender li.is-aufbau a { opacity: .78; }
.fpa-pk-land__aufbau { display: block; font-size: .68rem; font-weight: 600; letter-spacing: .02em; color: #8a5a12; text-transform: none; line-height: 1.2; }
.fpa-pk-aufbau { margin-top: 18px; border-left: 4px solid #f2a33a; }
.fpa-pk-aufbau h3 { margin-top: 0; }
.fpa-pk-aufbau .fpa-pk-knopf { margin: 6px 6px 0 0; }

/* ===================================================================== Attraktionsfilter /attraktionen/ (0.4.0) */
.fpa-filter-patron { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; padding: 12px 16px; border-radius: 14px; background: #fff4ee; border: 1px solid #ffd2b8; }
.fpa-filter-patron__icon { flex: 0 0 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--akzent); color: #fff; font-size: 1.05rem; }
.fpa-filter-patron__text { flex: 1 1 auto; font-size: .92rem; line-height: 1.4; }
.fpa-filter-patron__text strong { color: #b33a00; }
.fpa-filter-patron .fpa-pk-knopf { flex: 0 0 auto; }
.fpa-filter { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 18px; align-items: start; }
.fpa-filter__panel { background: #fff; border: 1px solid var(--rand); border-radius: 16px; padding: 16px; box-shadow: 0 6px 18px rgba(0, 0, 0, .05); }
.fpa-filter__panel fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.fpa-filter__gruppe { margin: 0 0 14px; }
.fpa-filter__gruppe .fpa-pk-chips { gap: 5px; }
.fpa-filter__titel { display: block; margin: 0 0 6px; font-size: .74rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--leise); }
.fpa-filter__titel small { font-weight: 600; text-transform: none; letter-spacing: 0; color: #8a9097; }
.fpa-pk .fpa-filter__eingabe { display: block; width: 100%; height: 40px !important; margin: 0; padding: 0 12px !important; border: 1px solid var(--rand) !important; border-radius: 10px !important; background-color: #fff; color: var(--text); font-size: 15px; line-height: 1.2; font-family: inherit; box-shadow: none; }
.fpa-pk select.fpa-filter__eingabe { padding-right: 28px !important; }
.fpa-pk .fpa-filter__eingabe:focus { outline: 2px solid rgba(246, 80, 2, .35); border-color: var(--akzent) !important; }
.fpa-filter__zwei { display: grid; grid-template-columns: 1fr; gap: 14px; }
.fpa-filter__bereich { display: flex; align-items: center; gap: 6px; }
.fpa-filter__bereich span { color: var(--leise); }
.fpa-filter__combo { position: relative; }
.fpa-filter__wahl { display: flex; flex-wrap: wrap; gap: 5px; }
.fpa-filter__wahl:not(:empty) { margin-bottom: 6px; }
.fpa-filter__vorschlaege { position: absolute; z-index: 40; left: 0; right: 0; top: calc(100% + 4px); max-height: 320px; overflow: auto; background: #fff; border: 1px solid var(--rand); border-radius: 12px; box-shadow: 0 12px 28px rgba(0, 0, 0, .16); }
.fpa-filter__vorschlaege li { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 8px; padding: 7px 12px; border-bottom: 1px solid #f0f1f3; cursor: pointer; font-size: .92rem; }
.fpa-filter__vorschlaege li em { grid-column: 2; grid-row: 1; font-style: normal; color: var(--leise); font-size: .82rem; }
.fpa-filter__vorschlaege li small { grid-column: 1; color: var(--leise); font-size: .76rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fpa-filter__vorschlaege li[aria-selected="true"], .fpa-filter__vorschlaege li:hover { background: #fff4ee; }
.fpa-filter__vorschlaege li.is-null { opacity: .5; }
.fpa-filter__vorschlaege li.is-leer { cursor: default; color: var(--leise); }
.fpa-filter .fpa-pk-chip.is-null { opacity: .45; }
.fpa-filter .fpa-pk-chip span[aria-hidden] { font-weight: 800; margin-left: 2px; }
.fpa-filter__optionen label { display: flex; align-items: center; gap: 8px; margin: 4px 0; font-size: .9rem; cursor: pointer; }
.fpa-filter__optionen input { width: 17px; height: 17px; margin: 0; accent-color: var(--akzent); }
.fpa-filter__fuss { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; padding-top: 4px; }
.fpa-filter__zeigen { display: none !important; }
.fpa-filter__panel fieldset[disabled] { opacity: .6; }
.fpa-filter__panel fieldset[disabled] * { cursor: not-allowed !important; }
.fpa-filter.is-gesperrt .fpa-filter__panel { background: repeating-linear-gradient(135deg, #fff, #fff 14px, #fafafa 14px, #fafafa 28px); }
.fpa-filter__kopf { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin: 0 0 8px; }
.fpa-pk .fpa-filter__anzahl { font-size: 1.25rem; font-weight: 800; }
.fpa-filter__sort .fpa-filter__eingabe { width: auto; min-width: 190px; }
.fpa-filter__aktiv { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.fpa-filter__liste { display: grid; gap: 10px; }
.fpa-filter__zeile { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 12px; align-items: start; padding: 10px; background: #fff; border: 1px solid var(--rand); border-radius: 14px; }
.fpa-filter__zeile.is-zu { background: #fbfbfc; }
.fpa-filter__zeile.is-zu .fpa-filter__bild img { filter: grayscale(1); opacity: .8; }
.fpa-filter__bild { display: flex; align-items: center; justify-content: center; width: 116px; height: 86px; border-radius: 10px; overflow: hidden; background: linear-gradient(135deg, #3a3a3a, #232323); text-decoration: none; }
.fpa-filter__bild img { display: block; width: 100%; height: 100% !important; object-fit: cover; }
.fpa-filter__buchst { color: #ffb48a; font-size: 1.7rem; font-weight: 800; }
.fpa-filter__info { min-width: 0; }
.fpa-pk .fpa-filter__name { display: inline; color: var(--text); font-size: 1.03rem; font-weight: 800; line-height: 1.25; text-decoration: none; }
.fpa-pk .fpa-filter__name:hover { color: var(--akzent); text-decoration: underline; }
.fpa-filter__park { margin-top: 2px; color: var(--leise); font-size: .86rem; }
.fpa-filter__park .fpa-pk-cc { margin-right: 3px; }
.fpa-filter__meta { margin-top: 3px; font-size: .86rem; }
.fpa-pk .fpa-filter__hlink { display: inline; padding: 0; margin: 0; border: 0; background: none; color: var(--akzent); font-weight: 650; font-size: inherit; text-decoration: underline dotted; text-underline-offset: 2px; }
.fpa-filter__marken { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.fpa-filter__marke { padding: 2px 8px; border-radius: 999px; background: var(--flaeche); border: 1px solid var(--rand); font-size: .7rem; font-weight: 700; line-height: 1.4; }
.fpa-filter__marke.is-holz { background: #8a5a2b; border-color: #8a5a2b; color: #fff; }
.fpa-filter__marke.is-hybrid { background: #5b4a8a; border-color: #5b4a8a; color: #fff; }
.fpa-filter__marke.is-stahl { background: #4f5b66; border-color: #4f5b66; color: #fff; }
.fpa-filter__marke.is-zu { background: #fde8e8; border-color: #f6c9c9; color: #b42318; }
.fpa-filter__zahlen { display: flex; flex-wrap: wrap; gap: 3px 12px; margin-top: 6px; color: var(--leise); font-size: .82rem; }
.fpa-filter__zahlen span { white-space: nowrap; }
.fpa-filter__leer { padding: 18px; border-radius: 12px; background: var(--flaeche); color: var(--leise); }
.fpa-filter__zeile.is-platzhalter .fpa-filter__bild { background: #eceef1; }
.fpa-filter__zeile.is-platzhalter i { display: block; height: 12px; margin: 8px 0; border-radius: 6px; background: #eceef1; width: 62%; }
.fpa-filter__zeile.is-platzhalter i:nth-child(2) { width: 38%; } .fpa-filter__zeile.is-platzhalter i:nth-child(3) { width: 76%; }
.fpa-filter__sperre { position: relative; z-index: 2; margin-top: -170px; padding: 70px 16px 18px; text-align: center; background: linear-gradient(rgba(255, 255, 255, 0), #fff 45%); }
.fpa-filter__sperre p { margin: 0 0 10px !important; color: var(--leise); }
.fpa-filter__sperre strong { color: var(--text); font-size: 1.05rem; }
.fpa-filter__mehr { margin-top: 12px !important; text-align: center; }
.fpa-filter__hinweis { margin-top: 12px !important; color: #8a9097; font-size: .75rem; }
@media (min-width: 601px) and (max-width: 900px) { .fpa-filter__zwei { grid-template-columns: 1fr 1fr; } }
@media (max-width: 900px) {
  .fpa-filter { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .fpa-filter__zeigen { display: inline-flex !important; }
}
@media (max-width: 600px) {
  .fpa-filter-patron { flex-wrap: wrap; padding: 12px; }
  .fpa-filter-patron__text { flex-basis: calc(100% - 50px); }
  .fpa-filter-patron .fpa-pk-knopf { width: 100%; justify-content: center; }
  .fpa-filter__panel { padding: 13px; border-radius: 14px; }
  .fpa-pk .fpa-filter__eingabe { font-size: 16px; }   /* iOS: kein Zoom beim Antippen */
  .fpa-filter__zwei { grid-template-columns: 1fr 1fr; gap: 10px; }
  .fpa-filter__zwei .fpa-filter__bereich .fpa-filter__eingabe { padding: 0 6px !important; }
  .fpa-filter__sort, .fpa-filter__sort .fpa-filter__eingabe { width: 100%; }
  .fpa-filter__zeile { grid-template-columns: 84px minmax(0, 1fr); gap: 10px; padding: 8px; }
  .fpa-filter__bild { width: 84px; height: 66px; }
  .fpa-pk .fpa-filter__name { font-size: .98rem; }
}
@media (max-width: 380px) { .fpa-filter__zwei { grid-template-columns: 1fr; } }
.fpa-pk .fpa-filter .fpa-pk-chips { flex-wrap: wrap; overflow: visible; white-space: normal; margin-left: 0; margin-right: 0; padding: 0; mask-image: none; -webkit-mask-image: none; }

/* Patron-Aktion / Preise (0.4.3) */
.fpa-patron-aktion { display: inline-block; margin-top: 6px; padding: 4px 11px; border-radius: 999px; background: #2b1a10; color: #ffb27a !important; font-weight: 700; font-size: .88rem; line-height: 1.35; text-decoration: none !important; border: 1px solid #f65002; }
.fpa-patron-aktion:hover, .fpa-patron-aktion:focus { background: #f65002; color: #fff !important; }
.fpa-patron-preise { display: inline-block; margin-top: 4px; font-size: .85rem; color: var(--leise, #666); }
.fpa-filter-patron__text .fpa-patron-aktion, .fpa-filter-patron__text .fpa-patron-preise { display: table; }
.fpa-filter__sperre .fpa-filter__aktion { margin: 0 0 12px !important; }

/* ===== 0.5.0: Kopfzahlen – ungerade Anzahl: letzte Kachel über die ganze Breite (2er-Raster) */
.fpa-pk-hero--kompakt .fpa-pk-hero__zahlen > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
/* 0.6.2: Seitenleisten-Boxen in der rechten Spalte der Attraktionsseite (gleiche Optik wie die Karten) */
.fpa-pk-rechts-wg .fpa-wg { margin: 0 0 14px; padding: 14px 16px; border: 1px solid var(--rand); border-radius: 14px; background: #fff; }
.fpa-pk-rechts-wg .fpa-wg .widget-title { margin: 0 0 8px; font-size: 1.02rem; }
.fpa-pk-rechts-wg .fpa-wg__liste { margin: 0; padding: 0; list-style: none; }
