/* ==========================================================================
   Advent Makarska Riviera — Küstenlinie (Bordeaux)
   Wird NACH main.css geladen. Alles ist auf .adv begrenzt, damit Header,
   Footer, Wetter-Element und andere globale Regeln unberührt bleiben.
   Farben: Bordeaux #851B2F (dunkel #6B1425), Gold #BE9440 (hell #D9BE82),
   Creme #F6EFE3, Sand #E8DCC0, Text #2A2024, Preise #2D5A3D.
   ========================================================================== */

.adv{
  --bd:#851B2F; --bd-d:#6B1425; --gold:#BE9440; --gold-l:#D9BE82; --gold-d:#8A6A28;
  --creme:#F6EFE3; --sand:#E8DCC0; --txt:#2A2024; --muted:#6E6066; --price:#2D5A3D;
  --r:12px;
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--txt); background:#fff; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.adv *,.adv *::before,.adv *::after{box-sizing:border-box}
.adv h1,.adv h2,.adv h3,.adv h4,.adv p,.adv button,.adv a,.adv small,.adv strong,.adv span,.adv div{font-family:'Poppins',system-ui,sans-serif}
.adv [hidden]{display:none!important}
.adv .arrow-down{display:none}

/* Icons (SVG-Sprite) */
.adv-sprite{position:absolute;width:0;height:0;overflow:hidden}
.adv-ico{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em}

.adv-wrap{max-width:1200px;margin:0 auto;padding:0 16px 56px}

/* ==========================================================================
   HERO
   ========================================================================== */
.adv-hero{position:relative;overflow:hidden;background:var(--creme);isolation:isolate}
.adv-hero__sky{position:relative;z-index:1;padding:84px 20px 150px;text-align:center}

/* Lichterkette */
.adv-garland{position:absolute;left:0;right:0;top:0;height:46px;z-index:2;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 46' preserveAspectRatio='none'%3E%3Cpath d='M0 6 Q45 34 90 6 Q135 34 180 6' fill='none' stroke='%23D9BE82' stroke-width='1.6'/%3E%3C/svg%3E") repeat-x 0 0/180px 46px}
.adv-garland::before,.adv-garland::after{content:"";position:absolute;inset:0;background-repeat:repeat-x;background-size:180px 46px}
.adv-garland::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 46' preserveAspectRatio='none'%3E%3Crect x='43.5' y='19' width='3' height='5' rx='1' fill='%23D9BE82'/%3E%3Ccircle cx='45' cy='29' r='4.4' fill='%23BE9440'/%3E%3C/svg%3E")}
.adv-garland::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 46' preserveAspectRatio='none'%3E%3Crect x='133.5' y='19' width='3' height='5' rx='1' fill='%23D9BE82'/%3E%3Ccircle cx='135' cy='29' r='4.4' fill='%23D9BE82'/%3E%3C/svg%3E");opacity:.55}

/* Sonne: Gold mit zwei Ringen */
.adv-sun{position:absolute;z-index:1;left:7%;top:62px;width:108px;height:108px;border-radius:50%;
  border:2px solid rgba(217,190,130,.55);background:rgba(255,255,255,.35)}
.adv-sun::before{content:"";position:absolute;inset:14px;border-radius:50%;border:2px solid var(--gold-l);background:var(--creme)}
.adv-sun::after{content:"";position:absolute;inset:36px;border-radius:50%;background:var(--gold)}

/* Biokovo-Silhouette */
.adv-ridge{position:absolute;left:0;right:0;bottom:0;width:100%;height:150px;z-index:0;display:block}

.adv-logo{display:block;width:132px;height:132px;margin:0 auto 16px;filter:drop-shadow(0 10px 22px rgba(133,27,47,.16))}
.adv-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:999px;background:#fff;border:1px solid var(--sand);
  color:var(--bd);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.adv-eyebrow .adv-ico{color:var(--gold)}
.adv .adv-hero__title{margin:16px auto 12px;max-width:780px;font-size:clamp(1.8rem,4.4vw,3.1rem);line-height:1.14;font-weight:600;color:var(--bd-d);letter-spacing:-.015em;text-wrap:balance}
.adv .adv-hero__lead{margin:0 auto;max-width:640px;color:var(--muted);font-size:clamp(.9rem,1.6vw,1.05rem);font-weight:400;text-wrap:balance}

/* Wellen */
.adv-waves{position:relative;z-index:2;height:calc(var(--wh) * 1.3);margin-top:calc(var(--wh) * -.62);--wh:100px}
.adv-wave{position:absolute;left:0;right:0;height:var(--wh);background-repeat:repeat-x;background-position:0 0;background-size:var(--tile) 100%}
.adv-wave--back{top:0;--tile:calc(var(--wh) * 12);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'%3E%3Cpath d='M0 42 C200 12 400 12 600 42 S1000 72 1200 42 V100 H0Z' fill='%23D9BE82' fill-opacity='.66'/%3E%3C/svg%3E")}
.adv-wave--mid{top:calc(var(--wh) * .14);--tile:calc(var(--wh) * 8.2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 820 100' preserveAspectRatio='none'%3E%3Cpath d='M0 48 C135 20 275 20 410 48 S685 76 820 48 V100 H0Z' fill='%23A8445A'/%3E%3C/svg%3E")}
.adv-wave--front{top:calc(var(--wh) * .3);--tile:calc(var(--wh) * 10);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath d='M0 52 C170 24 330 24 500 52 S830 80 1000 52 V100 H0Z' fill='%23851B2F'/%3E%3Cpath d='M0 52 C170 24 330 24 500 52 S830 80 1000 52' fill='none' stroke='%23BE9440' stroke-width='4'/%3E%3C/svg%3E")}

/* Meer */
.adv-sea{position:relative;z-index:2;margin-top:-1px;padding:10px 20px 62px;background:linear-gradient(#851B2F,#6B1425);color:#fff;text-align:center}
.adv-sea__row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:1000px;margin:0 auto}
.adv-sea__row+.adv-sea__row{margin-top:16px}
.adv-chip{display:inline-flex;align-items:center;gap:9px;padding:8px 16px;border-radius:999px;border:1px solid rgba(217,190,130,.5);
  background:rgba(255,255,255,.08);color:#fff;font-size:.86rem;font-weight:500;text-decoration:none;line-height:1.3;white-space:nowrap}
.adv-chip .adv-count{display:inline-block;min-width:1.9em;padding:1px .6em;border-radius:999px;background:var(--gold);color:var(--txt);
  font-size:.78rem;font-weight:600;text-align:center;line-height:1.55}
.adv-chip--nav{font-size:.82rem;padding:7px 15px;border-color:rgba(255,255,255,.28)}
a.adv-chip:hover,a.adv-chip:focus-visible{border-color:var(--gold);background:rgba(255,255,255,.16);outline:none}
.adv-btn{display:inline-flex;align-items:center;gap:9px;padding:12px 26px;border-radius:999px;background:var(--gold);color:var(--txt);
  font-size:.92rem;font-weight:600;text-decoration:none;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.adv-btn:hover,.adv-btn:focus-visible{background:var(--gold-l);outline:none}
.adv-foam{position:absolute;left:0;right:0;bottom:-1px;height:34px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 960 34' preserveAspectRatio='none'%3E%3Cpath d='M0 18 C160 6 320 6 480 18 S800 30 960 18 V34 H0Z' fill='%23fff'/%3E%3Cpath d='M0 18 C160 6 320 6 480 18 S800 30 960 18' fill='none' stroke='%23D9BE82' stroke-width='2'/%3E%3C/svg%3E") repeat-x 0 0/960px 100%;z-index:3}

/* ==========================================================================
   Abschnittstitel mit Wellen-Glyphe
   ========================================================================== */
.adv h2.adv-title,.adv .compact-opening-hours .section-title{
  margin:68px 0 26px;text-align:center;font-size:clamp(1.5rem,3vw,2.15rem);font-weight:600;line-height:1.2;color:var(--bd-d);letter-spacing:-.01em}
.adv .adv-title::before,.adv .compact-opening-hours .section-title::before{
  content:"";display:block;width:48px;height:10px;margin:0 auto 14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 10' preserveAspectRatio='none'%3E%3Cpath d='M0 5 Q6 0 12 5 T24 5' fill='none' stroke='%23BE9440' stroke-width='2'/%3E%3C/svg%3E") repeat-x 0 0/24px 10px}
.adv .compact-opening-hours .section-title{margin-top:56px}

/* ==========================================================================
   Tabs = Pills
   ========================================================================== */
.adv .tab-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 30px;padding:0;overflow:visible}
.adv .tab-button{display:inline-flex;align-items:center;gap:9px;margin:0;padding:9px 18px;border-radius:999px;border:1px solid var(--sand);background:var(--creme);
  color:var(--txt);font-size:.9rem;font-weight:500;line-height:1.3;cursor:pointer;white-space:nowrap;box-shadow:none;transform:none}
.adv .tab-button:hover{background:#fff;border-color:var(--gold);color:var(--bd-d);transform:none}
.adv .tab-button.active,.adv .tab-button.active:hover{background:var(--bd);border-color:var(--bd);color:#fff;box-shadow:0 8px 20px rgba(133,27,47,.22)}
.adv .tab-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.adv .tab-button .adv-count{display:inline-block;min-width:1.7em;padding:0 .55em;border-radius:999px;background:var(--gold);color:var(--txt);
  font-size:.74rem;font-weight:600;text-align:center;line-height:1.65}

/* Sichtbarkeit der Tab-Inhalte (Funktion, unverändert) */
.adv .tab-content{display:none}
.adv .tab-content.active{display:block;animation:none}
.adv .grid-container .tab-content{display:none}
.adv .grid-container .tab-content.active{display:block}
.adv .gallery-container .tab-content{display:none}
.adv .gallery-container .tab-content.active{display:block}
.adv .tab-content-program-grid:not(.active){display:none!important}
.adv .tab-content-program-grid.active{display:grid!important}

/* ==========================================================================
   Öffnungszeiten
   ========================================================================== */
.adv .compact-opening-hours{max-width:none;margin:0;padding:0}
.adv .compact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0;background:none;border:0;box-shadow:none;border-radius:0}
.adv .compact-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:150px;padding:26px 20px;text-align:center;
  background:#fff;border:1px solid var(--sand);border-radius:var(--r);box-shadow:none;transform:none}
.adv .compact-item:hover{background:#fff;border-color:var(--gold);box-shadow:0 16px 34px rgba(133,27,47,.1)}
.adv .compact-icon{display:grid;place-items:center;width:54px;height:54px;margin:0;border-radius:50%;background:var(--creme);border:1px solid var(--sand);color:var(--bd);font-size:1.5rem;min-width:0}
.adv .compact-text{font-size:.95rem;font-weight:500;line-height:1.5;color:var(--txt)}
.adv .no-hours{grid-column:1/-1;padding:28px;text-align:center;color:var(--muted);background:var(--creme);border-radius:var(--r)}

/* ==========================================================================
   Programm-Karten
   ========================================================================== */
.adv .program-grid-new{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0;min-height:220px}
.adv .program-card-new{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;background:#fff;border:1px solid var(--sand);border-radius:var(--r);box-shadow:none}
.adv .program-image-container{position:relative;height:200px;flex:none;overflow:hidden;background:var(--creme)}
.adv .program-image-container::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(107,20,37,.82) 0,rgba(107,20,37,.28) 34%,rgba(107,20,37,0) 62%)}
.adv .program-image-new{display:block;width:100%;height:100%;object-fit:cover}
.adv .program-image-container.is-fallback{background:linear-gradient(135deg,#851B2F,#6B1425)}
.adv .program-image-container.is-fallback::before{content:attr(data-fallback);position:absolute;inset:0;z-index:0;display:grid;place-items:center;padding-bottom:30px;
  color:#fff;font-size:1.15rem;font-weight:600;letter-spacing:.02em}
.adv .date-badge-new{position:absolute;z-index:2;top:14px;left:14px;min-width:54px;padding:7px 11px 6px;border-radius:10px;background:#fff;text-align:center;
  color:var(--bd);box-shadow:0 8px 20px rgba(42,32,36,.18)}
.adv .date-day-new{display:block;font-size:1.4rem;font-weight:700;line-height:1}
.adv .date-month-new{display:block;margin-top:3px;font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d)}
.adv .city-badge-new{position:absolute;z-index:2;top:14px;right:14px;padding:5px 13px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--bd);
  font-size:.74rem;font-weight:600;backdrop-filter:none}
.adv .event-expired-badge-new,.adv .highlight-badge{position:absolute;z-index:2;left:14px;bottom:14px;top:auto;right:auto;display:inline-flex;align-items:center;gap:6px;
  padding:5px 13px;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border:0;box-shadow:none;background-image:none}
.adv .event-expired-badge-new{background:var(--bd-d);color:#fff}
.adv .highlight-badge{background:var(--gold);color:var(--txt)}
.adv .program-content-new{display:flex;flex-direction:column;flex:1;height:auto;padding:20px 22px 20px}
.adv .time-badge-new{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;margin:0 0 12px;padding:4px 13px;border-radius:999px;
  background:var(--creme);border:1px solid var(--sand);color:var(--bd);font-size:.8rem;font-weight:600}
.adv .program-title-new{min-height:0;margin:0 0 8px;font-size:1.08rem;font-weight:600;line-height:1.35;color:var(--txt)}
.adv .program-description-new{flex:1;margin:0 0 16px;font-size:.88rem;line-height:1.6;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.adv .program-footer-new{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--sand)}
.adv .location-new{display:flex;align-items:center;gap:6px;flex:1 1 130px;min-width:0;font-size:.82rem;color:var(--muted)}
.adv .location-new .adv-ico{color:var(--gold)}
.adv .share-container-new{display:flex;align-items:center;gap:7px}
.adv .share-button-new{display:grid;place-items:center;width:34px;height:34px;padding:0;border-radius:999px;border:1px solid var(--sand);background:var(--creme);color:var(--bd);cursor:pointer;font-size:1rem}
.adv .share-button-new:hover,.adv .share-button-new.facebook:hover,.adv .share-button-new.instagram:hover,.adv .share-button-new.whatsapp:hover{background:var(--bd);border-color:var(--bd);color:#fff;transform:none}
.adv .share-button-new:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.adv .price-badge-new{padding:4px 13px;border-radius:999px;background:var(--price);color:#fff;font-size:.8rem;font-weight:600}
.adv .program-card-new.highlighted{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 18px 40px rgba(190,148,64,.2);animation:none;z-index:auto;overflow:hidden}
.adv .program-card-new.highlighted .program-image-container::after{background:linear-gradient(to top,rgba(107,20,37,.82) 0,rgba(107,20,37,.28) 34%,rgba(107,20,37,0) 62%)}
.adv .program-card-new.highlighted .city-badge-new{top:14px;right:14px}
.adv .program-card-new.past-event{filter:grayscale(1);opacity:.62}
.adv .no-programs{grid-column:1/-1;padding:44px 20px;text-align:center;color:var(--muted);background:var(--creme);border:1px dashed var(--sand);border-radius:var(--r)}
.adv .no-programs p{margin:0}

/* ==========================================================================
   News
   ========================================================================== */
.adv .grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;max-width:none;margin:0;padding:0}
.adv .news-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--sand);border-radius:var(--r);box-shadow:none}
.adv .news-card a{position:relative;display:block;color:inherit;text-decoration:none}
.adv .news-card a::after{content:"";position:absolute;left:0;right:0;top:0;height:210px;pointer-events:none;
  background:linear-gradient(to top,rgba(107,20,37,.72) 0,rgba(107,20,37,.2) 36%,rgba(107,20,37,0) 62%)}
.adv .news-card img{display:block;width:100%;height:210px;object-fit:cover}
.adv .news-card h3{margin:0;padding:18px 20px 8px;font-size:1.02rem;font-weight:600;line-height:1.4;color:var(--txt)}
.adv .city-tag{display:inline-block;margin:0 20px 20px;padding:3px 13px;border-radius:999px;background:var(--creme);border:1px solid var(--sand);color:var(--bd);font-size:.74rem;font-weight:600}

/* ==========================================================================
   Galerie
   ========================================================================== */
.adv .gallery-container{max-width:none;margin:0;padding:0}
.adv .gal-item{margin:0 0 20px;padding:24px;background:#fff;border:1px solid var(--sand);border-radius:var(--r);box-shadow:none}
.adv .gal-item h4{margin:0 0 16px;font-size:1.05rem;font-weight:600;color:var(--bd-d)}
.adv .gal-imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin:0}
.adv .gallery-image{display:block;width:100%;height:180px;object-fit:cover;border-radius:10px;border:1px solid var(--sand);box-shadow:none;cursor:pointer}
.adv .gallery-image:hover{border-color:var(--gold);box-shadow:0 12px 26px rgba(133,27,47,.14)}

/* ==========================================================================
   Preise
   ========================================================================== */
.adv .adv-prices{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
.adv .adv-price-card{flex:1 1 340px;max-width:580px;margin:0;padding:0;overflow:hidden;background:#fff;border:1px solid var(--sand);border-radius:var(--r);box-shadow:none}
.adv .adv-price-card a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.adv .adv-price-card__media{position:relative;height:230px;overflow:hidden;background:var(--creme)}
.adv .adv-price-card__media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(107,20,37,.7) 0,rgba(107,20,37,.16) 38%,rgba(107,20,37,0) 64%)}
.adv .adv-price-card__media img{display:block;width:100%;height:100%;object-fit:cover}
.adv .adv-price-card__body{display:flex;flex-direction:column;flex:1;gap:10px;padding:22px 24px 24px}
.adv .adv-price-card h3{margin:0;font-size:1.18rem;font-weight:600;color:var(--bd-d);line-height:1.3}
.adv .adv-price-card p{margin:0 0 6px;font-size:.92rem;line-height:1.65;color:var(--muted)}
.adv .adv-more{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:auto;padding:8px 18px;border-radius:999px;border:1px solid var(--sand);background:var(--creme);color:var(--bd);font-size:.85rem;font-weight:600}
.adv .adv-price-card a:hover .adv-more{background:var(--bd);border-color:var(--bd);color:#fff}

/* ==========================================================================
   Panels (Parken + Karte)
   ========================================================================== */
.adv .adv-panel{padding:30px;background:#fff;border:1px solid var(--sand);border-radius:16px}
.adv .adv-panel__head{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 24px;font-size:1.2rem;font-weight:600;color:var(--bd-d);text-align:center}
.adv .adv-medal{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:50%;background:var(--creme);border:1px solid var(--sand);color:var(--bd);font-size:1.2rem}

/* Parken */
.adv .parking-zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px;margin:0 0 24px}
.adv .parking-zone-card{--zc:var(--bd);position:relative;padding:22px;background:#fff;border:1px solid var(--sand);border-left:4px solid var(--zc);border-radius:var(--r);box-shadow:none}
.adv .parking-zone-card:nth-child(3n+2){--zc:var(--gold)}
.adv .parking-zone-card:nth-child(3n){--zc:var(--bd-d)}
.adv .parking-zone-card:hover{border-color:var(--gold);border-left-color:var(--zc);box-shadow:0 16px 34px rgba(133,27,47,.1)}
.adv .adv-zone__head{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.adv .adv-zone__dot{width:12px;height:12px;flex:none;border-radius:50%;background:var(--zc)}
.adv .adv-zone__head h4{margin:0;font-size:1.05rem;font-weight:600;color:var(--txt)}
.adv .adv-zone__desc{margin:0 0 16px;font-size:.88rem;color:var(--muted);line-height:1.55}
.adv .adv-zone__prices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px}
.adv .adv-zone__price{padding:10px 8px;text-align:center;background:var(--creme);border:1px solid var(--sand);border-radius:10px}
.adv .adv-zone__price span{display:block;font-size:.74rem;font-weight:500;color:var(--muted)}
.adv .adv-zone__price strong{display:block;font-size:1.25rem;font-weight:700;color:var(--price);line-height:1.35}
.adv .adv-zone__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 14px;font-size:.84rem;color:var(--muted)}
.adv .adv-zone__meta span{display:inline-flex;align-items:center;gap:7px}
.adv .adv-zone__meta .adv-ico{color:var(--gold)}
.adv .adv-info{padding:22px 24px;background:var(--creme);border:1px solid var(--sand);border-left:4px solid var(--gold);border-radius:var(--r)}
.adv .adv-info h4{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:1rem;font-weight:600;color:var(--bd-d)}
.adv .adv-info h4 .adv-ico{color:var(--gold)}
.adv .adv-info__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.adv .adv-info__item{display:flex;align-items:flex-start;gap:12px;font-size:.9rem;line-height:1.5}
.adv .adv-info__item .adv-ico{margin-top:2px;font-size:1.25rem;color:var(--bd)}
.adv .adv-info__item strong{font-weight:600}
.adv .adv-info__item span{color:var(--muted)}

/* Karte */
.adv #map{height:540px;width:100%;margin:0 0 22px;overflow:hidden;border-radius:var(--r);border:1px solid var(--sand);box-shadow:none;background:var(--creme);z-index:0}
.adv .leaflet-container{font-family:'Poppins',system-ui,sans-serif}
.adv .leaflet-tile-pane{filter:sepia(.18) saturate(.82) hue-rotate(-12deg) brightness(1.02)}
.adv .leaflet-popup-content-wrapper{padding:2px;border-radius:12px;box-shadow:0 14px 34px rgba(107,20,37,.22);color:var(--txt)}
.adv .leaflet-popup-content{margin:12px 14px;font-size:.85rem;line-height:1.5}
.adv .leaflet-popup-tip{box-shadow:0 8px 18px rgba(107,20,37,.12)}
.adv .leaflet-bar{border:1px solid var(--sand);border-radius:10px;box-shadow:none;overflow:hidden}
.adv .leaflet-bar a{color:var(--bd);border-bottom-color:var(--sand)}
.adv .leaflet-bar a:hover{background:var(--creme);color:var(--bd-d)}
.adv .leaflet-control-attribution{font-size:10px;background:rgba(255,255,255,.8)}
.adv .adv-marker{background:none;border:0}
.adv .adv-pin{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:3px solid #fff;color:#fff;font-size:15px;font-weight:600;line-height:1;box-shadow:0 6px 16px rgba(107,20,37,.35)}
.adv .adv-pin .adv-ico{width:16px;height:16px;vertical-align:0}
.adv .adv-pop-ico{display:inline-grid;place-items:center;width:38px;height:38px;margin-bottom:6px;border-radius:50%;background:var(--creme);border:1px solid var(--sand);color:var(--bd);font-size:1.15rem}
.adv .adv-legend,.adv .adv-legend-static{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 22px}
.adv .adv-legend__item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border:1px solid var(--sand);border-radius:10px}
.adv .adv-legend__dot{width:12px;height:12px;flex:none;border-radius:50%;background:var(--c,var(--bd))}
.adv .adv-legend__item strong{display:block;font-size:.86rem;font-weight:600;line-height:1.3}
.adv .adv-legend__item small{display:block;font-size:.76rem;color:var(--muted);line-height:1.3}
.adv .adv-key{padding:22px 24px;background:var(--creme);border:1px solid var(--sand);border-left:4px solid var(--gold);border-radius:var(--r)}
.adv .adv-key h4{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:1rem;font-weight:600;color:var(--bd-d)}
.adv .adv-key h4 .adv-ico{color:var(--gold)}
.adv .adv-key__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.adv .adv-key__item{display:flex;align-items:flex-start;gap:12px}
.adv .adv-key__item .adv-ico{margin-top:3px;font-size:1.25rem;color:var(--bd)}
.adv .adv-key__item strong{display:block;font-size:.92rem;font-weight:600}
.adv .adv-key__item small{display:block;font-size:.8rem;color:var(--muted)}

/* Werbung */
.adv .gad{margin:36px 0 0}

/* ==========================================================================
   Tablet / Mobil
   ========================================================================== */
@media (max-width:1000px){
  .adv .program-grid-new{grid-template-columns:repeat(2,1fr)}
  .adv .compact-grid{grid-template-columns:repeat(2,1fr)}
  .adv-sun{left:4%}
}
@media (max-width:680px){
  .adv-wrap{padding:0 14px 44px}
  .adv-hero__sky{padding:74px 16px 120px}
  .adv-sun{left:14px;top:58px;width:62px;height:62px}
  .adv-sun::before{inset:9px}
  .adv-sun::after{inset:21px}
  .adv-ridge{height:104px}
  .adv-garland,.adv-garland::before,.adv-garland::after{background-size:120px 31px}
  .adv-garland{height:31px;background-size:120px 31px}
  .adv-logo{width:92px;height:92px;margin-bottom:12px}
  .adv-eyebrow{font-size:.64rem;padding:5px 13px;letter-spacing:.13em}
  .adv-waves{--wh:72px}
  .adv-sea{padding:6px 14px 52px}
  .adv-sea__row{gap:8px}
  .adv-chip{padding:6px 12px;font-size:.78rem}
  .adv-chip--nav{padding:6px 12px;font-size:.76rem}
  .adv-btn{padding:11px 22px;font-size:.88rem}
  .adv-foam{height:24px}
  .adv h2.adv-title,.adv .compact-opening-hours .section-title{margin:52px 0 20px}
  .adv .tab-nav{gap:6px;margin-bottom:22px}
  .adv .tab-button{padding:7px 14px;font-size:.82rem}
  .adv .program-grid-new{grid-template-columns:1fr;gap:18px}
  .adv .program-image-container{height:190px}
  .adv .compact-grid{grid-template-columns:1fr;gap:12px}
  .adv .compact-item{flex-direction:row;justify-content:flex-start;gap:16px;min-height:0;padding:16px 18px;text-align:left}
  .adv .compact-icon{width:46px;height:46px}
  .adv .grid-container{grid-template-columns:1fr;gap:18px}
  .adv .gal-item{padding:16px}
  .adv .gal-imgs{grid-template-columns:repeat(2,1fr);gap:10px}
  .adv .gallery-image{height:128px}
  .adv .adv-price-card__media{height:190px}
  .adv .adv-panel{padding:18px 16px;border-radius:14px}
  .adv .adv-panel__head{font-size:1.05rem;margin-bottom:18px}
  .adv #map{height:400px}
  .adv .adv-zone__prices{grid-template-columns:1fr 1fr}
}

/* main.css-Hover-Bewegung neutralisieren (Bewegung nur oben in no-preference) */
.adv .news-card:hover,.adv .adv-price-card:hover,.adv .program-card-new:hover,.adv .gal-item:hover,.adv .parking-zone-card:hover,.adv .compact-item:hover,.adv .gallery-image:hover{transform:none}

/* ==========================================================================
   Animationen — nur wenn der Nutzer Bewegung zulässt
   ========================================================================== */
@media (prefers-reduced-motion:no-preference){
  @keyframes adv-wave{to{background-position-x:var(--tile)}}
  @keyframes adv-glyph{to{background-position-x:24px}}
  @keyframes adv-twinkle{0%,100%{opacity:1}50%{opacity:.25}}
  @keyframes adv-twinkle-b{0%,100%{opacity:.25}50%{opacity:1}}
  @keyframes adv-ring{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
  @keyframes adv-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  @keyframes adv-foam{to{background-position-x:-960px}}

  .adv-wave--back{animation:adv-wave 46s linear infinite}
  .adv-wave--mid{animation:adv-wave 30s linear infinite reverse}
  .adv-wave--front{animation:adv-wave 22s linear infinite}
  .adv-foam{animation:adv-foam 34s linear infinite}
  .adv .adv-title::before,.adv .compact-opening-hours .section-title::before{animation:adv-glyph 3.2s linear infinite}
  .adv-garland::before{animation:adv-twinkle 3.6s ease-in-out infinite}
  .adv-garland::after{animation:adv-twinkle-b 3.6s ease-in-out infinite}
  .adv-sun{animation:adv-ring 7s ease-in-out infinite}
  .adv-logo,.adv-eyebrow,.adv .adv-hero__title,.adv .adv-hero__lead{animation:adv-in .8s ease backwards}
  .adv-eyebrow{animation-delay:.08s}
  .adv .adv-hero__title{animation-delay:.16s}
  .adv .adv-hero__lead{animation-delay:.24s}

  .adv .tab-content.active{animation:adv-in .45s ease}
  .adv .tab-content-program-grid.active .program-card-new{animation:adv-in .5s ease backwards}

  .adv .tab-button,.adv .compact-item,.adv .program-card-new,.adv .news-card,.adv .gal-item,.adv .gallery-image,.adv .adv-price-card,.adv .parking-zone-card,
  .adv .share-button-new,.adv .adv-chip,.adv .adv-btn,.adv .adv-more{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background-color .2s ease,color .2s ease}
  .adv .program-image-new,.adv .news-card img,.adv .adv-price-card__media img{transition:transform .6s ease}

  .adv .program-card-new:not(.past-event):hover,.adv .news-card:hover,.adv .gal-item:hover,.adv .adv-price-card:hover,.adv .parking-zone-card:hover,.adv .compact-item:hover{transform:translateY(-6px)}
  .adv .gallery-image:hover{transform:translateY(-3px)}
  .adv .tab-button:hover{transform:translateY(-1px)}
  a.adv-chip:hover{transform:translateY(-2px)}
  .adv .adv-btn:hover{transform:translateY(-2px)}
  .adv .program-card-new:hover .program-image-new,.adv .news-card:hover img,.adv .adv-price-card:hover .adv-price-card__media img{transform:scale(1.05)}
}

/* Hover-Rahmen (ohne Bewegung) */
.adv .program-card-new:not(.past-event):hover,.adv .news-card:hover,.adv .gal-item:hover,.adv .adv-price-card:hover{border-color:var(--gold);box-shadow:0 18px 40px rgba(133,27,47,.14)}
.adv .program-card-new.highlighted:hover{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 22px 46px rgba(190,148,64,.28)}
