/* =========================================================
   GOLD richtig – Master Stylesheet
   Datei: /css/formate.css
   Zweck: Einheitliche Typo, Abstände, Layout, Navigation + Angebote
======================================================== */

/* === DESIGN-VARIABLEN (global, für alle Seiten identisch) === */
:root{
  --btnSize:60px; --btnBorder:2px; --iconSize:44px; --gapMax:20px;
  --arrowW:24px; --framePad:8px; --frameToArrow:6px; --arrowToBtn:0px;
  --glowPad:15px; --blackFill:rgba(17,17,17,.7); --navClipW:auto; --railW:1120px;
  --navLabelH:14px; --navRowH:calc(var(--btnSize) + 8px + var(--navLabelH));
  --navFrameH:calc(var(--navRowH) + (2 * var(--glowPad)) + 2px); --navReserveExtra:4px;
  --gr-bg:#000000; --gr-panel:rgba(0,0,0,.55); --gr-card:rgba(0,0,0,.45); --gr-pill:rgba(0,0,0,.45);
  --gr-text:#e5e5e5; --gr-accent:#d4af37; --gr-accent-strong:#ffd96a;
  --gr-link:#3b82f6; --gr-link-hover:#2563eb; --gr-nav-active-border:#ffd96a; --gr-nav-active-glow:#d4af37; --gr-nav-active-glow-rgb:212,175,55; --gr-overlay-color:#1e3a8a; --gr-overlay-opacity:.75; --gr-overlay-blur:6px;
  --gr-menu-glow-color:#2956c7; --gr-menu-glow-rgb:41,86,199; --gr-menu-glow-opacity:.82; --gr-menu-glow-blur:22px; --gr-menu-glow-width:84%; --gr-menu-glow-height:54%;
  --gr-font-family:Arial,Helvetica,sans-serif; --gr-font-size-base:16px; --gr-line-height-base:1.55;
  --gr-font-size-nav:12px; --gr-font-weight-nav:600; --gr-letterspacing-nav:1.1px;
  --gr-font-size-box-title:1.05rem; --gr-font-weight-box-title:600; --gr-letterspacing-box-title:1.6px;
  --gr-font-size-lead:1rem; --gr-line-height-lead:1.55; --gr-font-size-card-title:.92rem; --gr-font-weight-card-title:600; --gr-letterspacing-card-title:1.3px;
  --gr-font-size-card-text:.92rem; --gr-line-height-card-text:1.55; --gr-font-size-meta:.82rem; --gr-font-size-footer:.8rem; --gr-font-size-brand-gold:1.25em; --gr-font-size-brand-script:1.45em; --gr-font-size-brand-tag:.82rem; --gr-letterspacing-brand-gold:1px; --gr-letterspacing-brand-script:0px; --gr-letterspacing-brand-tag:var(--gr-letterspacing-nav); --gr-font-size-brand-tag-compact:calc(var(--gr-font-size-brand-tag, .82rem) * .92); --gr-brand-responsive-cutoff:405px; --gr-brand-responsive-soft:460px
}

/* Robust: alles mit hidden ist wirklich weg */
[hidden]{display:none !important}

/* === GRUNDLAYOUT / HINTERGRUND === */
html{scrollbar-gutter:stable both-edges;}
@supports not (scrollbar-gutter: stable){html{overflow-y:scroll;}}

body{
  margin:0; min-height:100vh; background:var(--gr-bg); color:var(--gr-text);
  font-family:var(--gr-font-family); font-size:var(--gr-font-size-base); line-height:var(--gr-line-height-base); position:relative; overflow-x:hidden
}
body:before{
  content:""; position:fixed; inset:0; z-index:-2;
  background:
    radial-gradient(900px 520px at 50% 0%,color-mix(in srgb, var(--gr-accent) 14%, transparent),rgba(0,0,0,0) 62%),
    radial-gradient(700px 420px at 12% 18%,color-mix(in srgb, var(--gr-accent) 6%, transparent),rgba(0,0,0,0) 62%),
    radial-gradient(700px 420px at 88% 22%,color-mix(in srgb, var(--gr-accent) 4.5%, transparent),rgba(0,0,0,0) 62%),
    linear-gradient(180deg,color-mix(in srgb, var(--gr-bg) 86%, #070707) 0%,var(--gr-bg) 55%,var(--gr-bg) 100%)
}
body:after{
  content:""; position:fixed; inset:-20%; z-index:-1; pointer-events:none;
  background:radial-gradient(closest-side at 50% 50%,rgba(0,0,0,0) 55%,rgba(0,0,0,.55) 100%);
  opacity:.9
}
a{color:inherit}
.page{min-height:100vh;display:flex;flex-direction:column}

/* =========================================================
   Standard-Textlinks (verbindlich im Content)
   Nutzung: <a class="textlink" ...>…</a>
======================================================== */
.textlink{
  color: var(--gr-link);      /* Blau */
  text-decoration: none;
}

.textlink:visited{
  color: var(--gr-link);
}

.textlink:hover{
  color: var(--gr-accent-strong);       /* Goldgelb */
  text-decoration: none;
}

.textlink:focus-visible{
  outline: 2px solid color-mix(in srgb, var(--gr-link-hover) 85%, transparent);
  outline-offset: 3px;
  border-radius: 4px;
}

/* === HEADER / TOPBAR === */
.topbar{
  position:sticky; top:0; z-index:50;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  background:transparent; border-bottom:none
}
.brandline{
  width:min(var(--railW,1120px),calc(100vw - 24px));
  margin:0 auto; padding:0 22px; box-sizing:border-box;
  display:grid; grid-template-columns:1fr auto; align-items:end;
  column-gap:16px; row-gap:6px
}
.brand{display:flex;align-items:baseline;gap:10px;user-select:none}
.brand .name{display:flex;align-items:baseline;gap:2px;line-height:1.05}
.brand-gold{
  font-family:"Montserrat","Arial Black",Arial,Helvetica,sans-serif;
  font-weight:800; letter-spacing:var(--gr-letterspacing-brand-gold, 1px); font-size:var(--gr-font-size-brand-gold, 1.25em); color:var(--gr-accent-strong)
}
.brand-script{
  font-family:"Allura","Brush Script MT","Segoe Script","Snell Roundhand",cursive;
  font-style:italic; font-weight:400; font-size:var(--gr-font-size-brand-script, 1.45em);
  letter-spacing:var(--gr-letterspacing-brand-script, 0px);
  color:var(--gr-accent-strong); transform:none; line-height:1; margin-left:0
}
.brand .tag{letter-spacing:var(--gr-letterspacing-brand-tag, var(--gr-letterspacing-nav));font-size:var(--gr-font-size-brand-tag, var(--gr-font-size-meta));opacity:.85;color:color-mix(in srgb, var(--gr-accent) 95%, transparent);white-space:nowrap;transition:font-size .18s ease, letter-spacing .18s ease, opacity .18s ease}
.top-actions{display:flex;align-items:center;gap:6px;transform:translateY(2px);align-self:end}

/* Social / Stickys */
.social{
  position:relative;
  width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;text-decoration:none;color:var(--gr-link);
  transition:color .18s ease
}
.social svg{width:18px;height:18px}
.social svg *{
  fill:none;stroke:currentColor;stroke-width:1.6px;
  stroke-linecap:round;stroke-linejoin:round
}
.social:hover,.social:focus-visible{color:var(--gr-accent-strong);box-shadow:none;transform:none;outline:none}
.social.is-copy-label{
  width:auto;max-width:none;white-space:nowrap;
  border-radius:0;color:var(--gr-accent-strong);
  font-size:14px;line-height:1.25;font-weight:700;letter-spacing:0
}
.social.is-copied{color:var(--gr-accent-strong)}

/* Pills */
.pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;
  border:1px solid color-mix(in srgb, var(--gr-accent) 35%, transparent);
  background:var(--gr-pill);color:var(--gr-accent);
  letter-spacing:var(--gr-letterspacing-nav);font-size:var(--gr-font-size-nav);font-weight:var(--gr-font-weight-nav);text-decoration:none;
  transition:box-shadow .25s ease,border-color .25s ease,color .25s ease
}
.pill:hover{border-color:color-mix(in srgb, var(--gr-accent-strong) 75%, transparent);color:var(--gr-accent-strong);box-shadow:0 0 14px color-mix(in srgb, var(--gr-accent) 35%, transparent)}
.pill:focus-visible{outline:2px solid var(--gr-accent-strong);outline-offset:3px}

/* === MAIN / HERO / PANEL === */
.main{
  width:min(var(--railW,1120px),calc(100vw - 24px));
  margin:0 auto; padding:24px 0 32px; box-sizing:border-box
}
.main-pad{padding:0}
.hero{display:grid;grid-template-columns:1fr;gap:18px;align-items:stretch;margin-top:2px}
.panel{
  border-radius:22px; border:1px solid rgba(212,175,55,.28);
  background:var(--gr-panel); box-shadow:0 10px 40px rgba(0,0,0,.55);
  overflow:hidden
}
.panel .inner{padding:22px}

.box-title{margin:0 0 10px;letter-spacing:var(--gr-letterspacing-box-title);color:#fff;font-size:var(--gr-font-size-box-title);font-weight:var(--gr-font-weight-box-title)}
.lead{margin:12px 0 0;line-height:var(--gr-line-height-lead);font-size:var(--gr-font-size-lead);color:color-mix(in srgb, var(--gr-text) 86%, transparent);max-width:60ch}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

/* Zusatz: zentrierte CTA-Reihen (ohne bestehende Layouts zu verändern) */
.cta-row-center{justify-content:center}

/* === CONTENT-RASTER / BOXEN === */
.section{margin-top:26px}
.grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:16px;margin-bottom:14px}
/* Box↔Box Abstand = 14 + 12 = 26px gesamt */
.grid > .card + .card{margin-top:12px}

.card{
  border-radius:18px;border:1px solid rgba(212,175,55,.22);
  background:var(--gr-card);padding:16px;box-sizing:border-box;
  transition:box-shadow .25s ease,border-color .25s ease,transform .12s ease
}
.card:hover{border-color:rgba(255,217,106,.55);box-shadow:0 0 18px rgba(212,175,55,.18)}
.card .t{margin:0;color:var(--gr-accent-strong);letter-spacing:var(--gr-letterspacing-card-title);font-size:var(--gr-font-size-card-title);font-weight:var(--gr-font-weight-card-title)}
.card .p{margin:10px 0 0;color:color-mix(in srgb, var(--gr-text) 84%, transparent);line-height:var(--gr-line-height-card-text);font-size:var(--gr-font-size-card-text)}
.card .p:last-child{margin-bottom:0}

/* =========================================================
   GALERIE: Angebote (nur Optik, Toggle-Logik per JS via hidden)
======================================================== */
.offer{position:relative}

.offer-thumb{
  width:100%;
  height:auto;
  display:block;
  margin-top:12px;
  border-radius:14px;
  border:1px solid rgba(212,175,55,.18);
  background:rgba(0,0,0,.35);
}

.offer-body{margin-top:10px}

/* Toggle als reiner Text-Link (über .textlink vereinheitlicht) */
.offer-toggle{
  display:inline-block;
  margin-top:10px;
  font-size:.82rem;
  letter-spacing:1.1px;
  cursor:pointer;
  user-select:none
}

.offer-photos{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:12px;
}
.offer-photos img{
  width:100%;
  height:auto;
  display:block;
  border-radius:12px;
  border:1px solid rgba(212,175,55,.14);
  background:rgba(0,0,0,.35);
}

/* === FOOTER === */
.footer{background:rgba(0,0,0,.65);padding:22px 0}
.footer .wrap{
  width:min(var(--railW,1120px),calc(100vw - 24px));
  margin:0 auto;border-top:1px solid rgba(212,175,55,.25);
  padding-top:16px;display:flex;flex-wrap:wrap;
  justify-content:space-between;gap:12px;color:rgba(229,229,229,.75);
  font-size:.9rem;box-sizing:border-box
}
.footer a{text-decoration:none;color:var(--gr-link);letter-spacing:1.2px;font-size:.82rem}
.footer a:visited{color:var(--gr-link)}
.footer a:hover{color:var(--gr-accent-strong);text-decoration:none}
.footer-links{display:flex;gap:14px;flex-wrap:wrap}

/* === HAUPTNAVIGATION (Icon-Leiste mit Scroll-Logik) === */
.nav-shell{display:flex;justify-content:center;align-items:flex-start;min-height:calc(var(--navFrameH) + var(--navReserveExtra));padding:6px 12px 20px}
.nav-frame{
  position:relative;
  display:inline-block;width:fit-content;max-width:calc(100vw - 24px);min-height:var(--navFrameH);
  box-sizing:border-box;overflow:hidden;border:1px solid rgba(212,175,55,.55);
  border-radius:22px;background:rgba(0,0,0,.55)
}
.nav-frame::before{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:
    radial-gradient(ellipse var(--gr-menu-glow-width) var(--gr-menu-glow-height) at 50% 42%,
      rgba(var(--gr-menu-glow-rgb), calc(var(--gr-menu-glow-opacity) * 1)) 0%,
      rgba(var(--gr-menu-glow-rgb), calc(var(--gr-menu-glow-opacity) * .96)) 16%,
      rgba(var(--gr-menu-glow-rgb), calc(var(--gr-menu-glow-opacity) * .78)) 31%,
      rgba(var(--gr-menu-glow-rgb), calc(var(--gr-menu-glow-opacity) * .46)) 48%,
      rgba(var(--gr-menu-glow-rgb), calc(var(--gr-menu-glow-opacity) * .18)) 64%,
      rgba(var(--gr-menu-glow-rgb), 0) 78%);
  filter:blur(var(--gr-menu-glow-blur));
  transform:translateY(2px) scale(1.01);
}
.nav-grid{
  position:relative; z-index:1;
  width:100%;display:grid;
  grid-template-columns:var(--arrowW) minmax(0,max-content) var(--arrowW);
  align-items:center;column-gap:var(--frameToArrow);
  padding:0 var(--framePad);box-sizing:border-box
}
.arrow-col{display:flex;justify-content:center;position:relative;z-index:5}
.nav-arrow{
  box-sizing:border-box;font-variant-numeric:tabular-nums;
  width:24px;height:24px;border:1px solid rgba(212,175,55,.6);
  color:#d4af37;background:transparent;border-radius:4px;cursor:pointer;
  user-select:none;display:flex;align-items:center;justify-content:center;
  gap:1px;line-height:1;font-size:.75rem;
  visibility:hidden;pointer-events:none;
  transition:box-shadow .25s ease,border-color .25s ease
}
html.nav-ready .nav-arrow{visibility:visible;pointer-events:auto}
.nav-arrow .sym{font-size:.95rem;line-height:1;transform:translateY(-1px)}
.nav-arrow .num{font-size:.75rem;line-height:1}
.nav-arrow.is-hidden,
html.nav-ready .nav-arrow.is-hidden{visibility:hidden;pointer-events:none}

.row-clip{
  position:relative;z-index:1;overflow:hidden;max-width:100%;width:var(--navClipW,auto);
  min-height:calc(var(--navRowH) + (2 * var(--glowPad)));
  box-sizing:border-box;padding:var(--glowPad);
  padding-left:calc(var(--glowPad) + var(--arrowToBtn));
  padding-right:calc(var(--glowPad) + var(--arrowToBtn));
  touch-action:pan-y
}
.nav-row{display:flex;justify-content:center;align-items:flex-start;gap:16px;white-space:nowrap;min-height:var(--navRowH)}
.nav-row:empty::before{content:"";display:block;width:0;min-width:0;height:var(--navRowH);pointer-events:none}
.btn-wrap{width:var(--btnSize);min-height:var(--navRowH);display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto}

.gold-btn{
  width:var(--btnSize);height:var(--btnSize);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 30% 30%,#111,#000);
  border:var(--btnBorder) solid rgba(212,175,55,.85);
  transition:box-shadow .25s ease,border-color .25s ease,transform .12s ease;
  -webkit-tap-highlight-color:transparent
}
.btn-wrap:hover .gold-btn{border-color:#ffd96a;box-shadow:0 0 7px rgba(212,175,55,.8),0 0 14px rgba(212,175,55,.5)}
.gold-btn:focus-visible,.nav-arrow:focus-visible{outline:2px solid #ffd96a;outline-offset:4px;box-shadow:0 0 0 4px rgba(212,175,55,.35)}
.gold-btn:active{transform:scale(.98)}
.btn-wrap.is-active .gold-btn{border-color:var(--gr-nav-active-border,#ffd96a);box-shadow:0 0 9px rgba(var(--gr-nav-active-glow-rgb,212,175,55),.85),0 0 16px rgba(var(--gr-nav-active-glow-rgb,212,175,55),.55)}

 .btn-label{
  font-size:var(--gr-font-size-nav);
  letter-spacing:var(--gr-letterspacing-nav);
  min-height:var(--navLabelH);line-height:var(--navLabelH);
  font-size:.75rem;letter-spacing:1.4px;color:#d4af37;
  transition:color .25s ease,text-shadow .25s ease;
  text-decoration:none;display:inline-block
}
.btn-wrap:hover  .btn-label{
  font-size:var(--gr-font-size-nav);
  letter-spacing:var(--gr-letterspacing-nav);color:#ffd96a;text-shadow:0 0 6px rgba(212,175,55,.6),0 0 14px rgba(212,175,55,.45)}
.btn-wrap.is-active  .btn-label{
  font-size:var(--gr-font-size-nav);
  letter-spacing:var(--gr-letterspacing-nav);color:#d4af37;cursor:pointer;user-select:none}

.gold-btn svg{width:var(--iconSize);height:var(--iconSize);transform:scale(1.1);transition:transform .25s ease}
.btn-wrap:hover .gold-btn svg{transform:scale(1.2)}
.gold-btn svg *{
  fill:url(#goldGradient);stroke:#000;stroke-width:1px;
  stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke
}
.gold-btn svg .fill-dark{fill:var(--blackFill)!important;stroke:none!important}
.gold-btn svg text{
  fill:#000;stroke:#000;stroke-width:.35;font-weight:200;
  paint-order:stroke fill;vector-effect:non-scaling-stroke;opacity:1
}

/* HOME: Claim-Text bleibt verfügbar */
.btn-wrap[data-id="bid001"] svg .home-claim-gold{
  fill:url(#goldGradient)!important;stroke:none!important;font-weight:700;letter-spacing:1.5px;opacity:1;transform:none
}
.btn-wrap[data-id="bid001"] svg .home-claim-script{
  fill:url(#goldGradient)!important;stroke:rgba(0,0,0,.55)!important;stroke-width:.25!important;
  font-family:"Brush Script MT","Segoe Script","Snell Roundhand",cursive;
  font-style:italic;font-weight:400;letter-spacing:.5px;opacity:1;transform:none
}
.btn-wrap[data-id="bid001"] svg .home-body,
.btn-wrap[data-id="bid001"] svg .home-crown,
.btn-wrap[data-id="bid001"] svg .home-group{
  transform-origin:center;will-change:opacity,transform;
  transition:opacity .45s cubic-bezier(.25,.1,.25,1),transform .6s cubic-bezier(.25,.1,.25,1)
}
.btn-wrap[data-id="bid001"] svg .home-body{opacity:1;transform:translateY(0)}
.btn-wrap[data-id="bid001"] svg .home-crown{pointer-events:none;opacity:0;transition-delay:90ms}
.btn-wrap[data-id="bid001"]:hover svg .home-body{opacity:0;transform:translateY(-1px);transition-delay:0ms}
.btn-wrap[data-id="bid001"]:hover svg .home-crown{opacity:1;transition-delay:90ms}

/* Kleine Icon-Interaktionen */
.btn-wrap[data-id="bid006"] svg .pin-dot{fill:none;stroke:#000;stroke-width:1px;transition:fill .25s ease}
.btn-wrap[data-id="bid006"]:hover svg .pin-dot{fill:var(--blackFill)}
.btn-wrap[data-id="bid005"] svg .wa-bubble{opacity:0;transition:opacity .25s ease}
.btn-wrap[data-id="bid005"] svg .wa-bubble .bubble-shape{
  transform-origin:center;transform-box:fill-box;transform:scale(.55);transition:transform .25s ease
}
.btn-wrap[data-id="bid005"]:hover svg .wa-bubble{opacity:1}
.btn-wrap[data-id="bid005"]:hover svg .wa-bubble .bubble-shape{transform:scale(.65)}
.btn-wrap[data-id="bid007"] svg .info{
  transform-box:fill-box;transform-origin:center;transform:translate(0,8px);
  transition:transform .35s cubic-bezier(.25,.8,.25,1)
}
.btn-wrap[data-id="bid007"]:hover svg .info{transform:translate(11px,16px) scale(1.1)}
.btn-wrap[data-id="bid002"] svg .chev path,
.btn-wrap[data-id="bid003"] svg .chev path{opacity:0;transition:opacity .25s ease, transform .35s ease}
.btn-wrap[data-id="bid002"] svg .chev path:first-child,
.btn-wrap[data-id="bid003"] svg .chev path:first-child{
  opacity:1;transform:scale(4.5);transform-origin:center;transform-box:fill-box
}
.btn-wrap[data-id="bid002"] svg .chev path:first-child{transform:scale(4.5) translateY(-1px)}
.btn-wrap[data-id="bid003"] svg .chev path:first-child{transform:scale(4.5) translateY(1px)}
.btn-wrap[data-id="bid002"] svg .chev path:last-child,
.btn-wrap[data-id="bid003"] svg .chev path:last-child{
  opacity:1;fill:none!important;stroke:#000!important;stroke-width:1.15px;
  transform:none;transform-origin:center;transform-box:fill-box
}
.btn-wrap[data-id="bid002"] svg .chev{transform:translateY(3px)}
.btn-wrap[data-id="bid003"] svg .chev{transform:translateY(-3px)}
.btn-wrap[data-id="bid002"]:hover svg .chev,
.btn-wrap[data-id="bid003"]:hover svg .chev{transform:translateY(0)}
.btn-wrap[data-id="bid002"]:hover svg .chev path,
.btn-wrap[data-id="bid003"]:hover svg .chev path{opacity:1}
.btn-wrap[data-id="bid002"]:hover svg .chev path:first-child,
.btn-wrap[data-id="bid003"]:hover svg .chev path:first-child{transform:scale(1) translateY(0)}
.btn-wrap[data-id="bid002"]:hover svg .chev path:last-child,
.btn-wrap[data-id="bid003"]:hover svg .chev path:last-child{fill:url(#goldGradient)!important;stroke:#000!important;stroke-width:1px}
.btn-wrap[data-id="bid004"] svg .photo{transform-box:fill-box;transform-origin:center;transition:transform .35s cubic-bezier(.25,.8,.25,1)}
.btn-wrap[data-id="bid004"] svg .photo.back{transform:scale(1.14) translate(0,1px)}
.btn-wrap[data-id="bid004"] svg .photo.front{transform:scale(1.14) translate(8px,5px)}
.btn-wrap[data-id="bid004"]:hover svg .photo.back{transform:scale(1.19) translate(-2px,-1px)}
.btn-wrap[data-id="bid004"]:hover svg .photo.front{transform:scale(1.19) translate(10px,7px)}

/* === RESPONSIVE === */
.offer-photos{grid-template-columns:repeat(2,1fr)}
}
.social{width:26px;height:26px}
  .social svg{width:17px;height:17px}
  .brand{min-width:0;flex-wrap:nowrap}
  .brand .name{min-width:0;flex:0 1 auto}
  .brand .tag{
    display:inline-flex!important;
    flex:0 1 auto;
    min-width:0;
    max-width:none;
    white-space:nowrap;
    font-size:var(--gr-font-size-brand-tag-compact, calc(var(--gr-font-size-brand-tag, var(--gr-font-size-meta)) * .92));
    letter-spacing:var(--gr-letterspacing-brand-tag, var(--gr-letterspacing-nav));
    opacity:.88
  }
}
.top-actions{gap:4px}
  .brand .tag{
    font-size:var(--gr-font-size-brand-tag-compact, calc(var(--gr-font-size-brand-tag, var(--gr-font-size-meta)) * .94));
    letter-spacing:calc(var(--gr-letterspacing-brand-tag, var(--gr-letterspacing-nav)) * .67);
    opacity:.9
  }
}
.top-actions{gap:3px}
  .brand .tag{
    font-size:calc(var(--gr-font-size-brand-tag-compact, var(--gr-font-size-brand-tag, var(--gr-font-size-meta))) * .96);
    letter-spacing:calc(var(--gr-letterspacing-brand-tag, var(--gr-letterspacing-nav)) * .5);
    opacity:.75
  }
}
.brand .tag{display:none!important}
  .offer-photos{grid-template-columns:1fr}
}

/* =========================================================
   GALERIE: Suche / Kategorien (zentral)
======================================================== */
.tools-grid{display:grid;grid-template-columns:1fr;gap:0;width:100%}
.tool-block{display:flex;flex-direction:column;gap:10px;width:100%}
.search-subsection{margin-top:0}
.search-subsection .t{margin:0 0 10px}
.searchbox{display:block;width:100%;margin:0}
.searchbox input{
  width:100%;box-sizing:border-box;display:block;
  background:rgba(255,255,255,.04);color:#f5e7b6;
  border:1px solid rgba(212,175,55,.18);border-radius:12px;
  padding:12px 14px;font:inherit
}
.searchbox input::placeholder{color:#c7b78b}
.search-meta{font-size:.92rem;opacity:.92}
.search-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid rgba(212,175,55,.35)}
.filterchips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:14px;margin-bottom:18px}
.filterchip{
  appearance:none;display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;
  border:1px solid color-mix(in srgb, var(--gr-accent) 35%, transparent);
  background:var(--gr-pill);color:var(--gr-accent);
  letter-spacing:1.2px;font-size:.72rem;line-height:1;
  text-decoration:none;cursor:pointer;font-family:inherit;
  transition:box-shadow .25s ease,border-color .25s ease,color .25s ease,background .25s ease;
  box-sizing:border-box
}
.filterchip:hover{border-color:rgba(255,217,106,.75);color:#ffd96a;box-shadow:0 0 14px rgba(212,175,55,.35)}
.filterchip:focus-visible{outline:2px solid #ffd96a;outline-offset:3px}
.filterchip .count{font-size:.82em;opacity:.78}
.search-divider{
  width:100%;
  height:1px;
  margin:0 0 18px 0;
  background:linear-gradient(90deg,rgba(212,175,55,.02) 0%,rgba(212,175,55,.42) 12%,rgba(212,175,55,.62) 50%,rgba(212,175,55,.42) 88%,rgba(212,175,55,.02) 100%)
}
.search-subsection .searchbox,
.search-subsection .search-actions{width:100%}
.filterchip.is-active{
  border-color:rgba(255,217,106,.85);color:#ffd96a;
  background:rgba(212,175,55,.12);
  box-shadow:0 0 14px rgba(212,175,55,.35), inset 0 0 0 1px rgba(255,217,106,.16)
}
.filterchip .count{font-size:.82em;opacity:.76;letter-spacing:.4px;transform:translateY(1px)}
.search-empty{display:none}
.search-empty.is-visible{display:block}


/* === Angebote CTA / aktiver Filter === */
.offer-cta-box{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(212,175,55,.18);
}
.offer-cta-note{
  margin-bottom:10px;
}
.offer-cta-row{
  gap:10px;
}
.filterchip .chip-clear{
  display:inline-block;
  margin-left:6px;
  font-size:.92em;
  line-height:1;
  opacity:.92;
}
.filterchip.is-active .chip-clear{
  color:inherit;
}

/* =========================================================
   GALERIE / ANGEBOTSBOX: Medien, Share-Bar, Lightbox (zentral)
========================================================= */
.offer-thumb[data-offer-main]{
  width:100%;
  aspect-ratio:1 / 1;
  height:auto;
  object-fit:cover;
  display:block;
  margin-bottom:7px;
}
.offer-main-media{margin-bottom:7px}

.video-wrap{position:relative}
.play-overlay{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:48px; line-height:1; color:rgba(255,217,106,.95);
  text-shadow:0 2px 10px rgba(0,0,0,.65);
  pointer-events:none; opacity:.92
}
.play-overlay.small{font-size:22px; opacity:.9}
.video-wrap.is-playing .play-overlay{opacity:0}

[data-offer-strip] .nav-grid{align-items:center}
[data-offer-strip] .row-clip{
  display:flex;
  align-items:center;
  overflow-x:auto; overflow-y:hidden;
  scrollbar-width:none; -ms-overflow-style:none
}
[data-offer-strip] .row-clip::-webkit-scrollbar{width:0;height:0}
[data-offer-strip] .nav-row,
[data-offer-strip] [data-offer-strip-row]{align-items:center;min-height:auto}
[data-offer-strip] .thumb-item{
  position:relative;
  height:70px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(212,175,55,.14);
  background:rgba(0,0,0,.35);
  flex:0 0 auto;
  cursor:pointer
}
[data-offer-strip] .thumb-item img,
[data-offer-strip] .thumb-item video{
  height:70px;
  width:auto;
  display:block;
  object-fit:cover
}
[data-offer-strip] .thumb-item[data-active]{
  outline:2px solid rgba(255,217,106,.65);
  outline-offset:2px
}

.offer-head{
  display:flex; align-items:baseline; justify-content:flex-end;
  gap:12px; margin:0 0 7px
}
.offer-head .t{margin:0}
.offer-share{
  display:flex; align-items:center; gap:6px; flex-wrap:wrap;
  justify-content:flex-end; margin-left:auto
}
.share-stickybar .share-social{
  flex:0 0 auto
}
/* =========================================================
   Share-Zeilen: Seite teilen / Artikel teilen
   Zentral fuer Angebote + generierte Angebote
========================================================= */
.share-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 8px;
}
.share-label{
  flex:0 0 auto;
  font-size:.92rem;
  line-height:1.25;
  color:var(--gr-text);
  word-break:break-word;
}
.share-row .offer-share{
  margin-left:0;
  justify-content:flex-start;
}
.offer-head.share-row{
  align-items:center;
  justify-content:flex-start;
  margin:0 0 7px;
}

/* Angebote: optische Trennlinie vor "Seite teilen" wie bei Schnellsuche */
.card > .share-row:not(.offer-head){
  border-top:1px solid rgba(212,175,55,.35);
  padding-top:12px;
  margin-top:12px;
}


.offer-titleline{margin:0;padding-top:0}
.offer-body{margin-top:6px}

.offer-thumb[data-offer-main]:not(video){cursor:zoom-in}
.lightbox{
  position:fixed; inset:0; z-index:9999; display:none;
  background:rgba(5,7,10,.94);
  padding:18px
}
.lightbox.is-open{display:block}
.lightbox-dialog{
  width:min(1400px,100%);
  height:min(94vh,100%);
  margin:0 auto;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center
}
.lightbox-media-wrap{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center
}
.lightbox-media-wrap img,
.lightbox-media-wrap video{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  display:block;
  object-fit:contain;
  border-radius:16px;
  box-shadow:0 18px 50px rgba(0,0,0,.38)
}
.lightbox-close{
  position:absolute; top:0; right:0;
  appearance:none; border:1px solid rgba(212,175,55,.25);
  background:rgba(17,24,39,.78);
  color:#f5e7b6; border-radius:12px; padding:10px 14px;
  cursor:pointer; font:inherit; letter-spacing:.04em; z-index:2
}
.lightbox-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  appearance:none; width:56px; height:56px; border-radius:999px;
  cursor:pointer; border:1px solid rgba(212,175,55,.25);
  background:rgba(17,24,39,.78); color:#f5e7b6; font-size:30px;
  z-index:2
}
.lightbox-arrow.prev{left:6px}
.lightbox-arrow.next{right:6px}
.lightbox-arrow[hidden]{display:none}
.lightbox-counter{
  position:absolute; left:0; top:0; z-index:2;
  display:flex; align-items:center; gap:8px;
  min-height:44px; padding:8px 12px;
  border:1px solid rgba(212,175,55,.22);
  border-radius:999px;
  background:rgba(17,24,39,.78);
  color:#f5e7b6;
  font-size:.92rem; letter-spacing:.04em
}
}

/* === Aktive Filterstatus-Chips unter Schnellsuche === */
.filterstate-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:4px;
}
.filterstate-chip{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.35);
  background:rgba(212,175,55,.10);
  color:#ffd96a;
  letter-spacing:1.1px;
  font-size:.72rem;
  line-height:1;
  cursor:pointer;
  font-family:inherit;
  box-sizing:border-box;
  transition:box-shadow .25s ease,border-color .25s ease,color .25s ease,background .25s ease;
}
.filterstate-chip:hover{
  border-color:rgba(255,217,106,.75);
  box-shadow:0 0 14px rgba(212,175,55,.25);
}
.filterstate-chip:focus-visible{
  outline:2px solid #ffd96a;
  outline-offset:3px;
}
.filterstate-chip .chip-clear{
  display:inline-block;
  font-size:.92em;
  line-height:1;
  opacity:.92;
}

/* SEO heading normalization */
h1.box-title,h2.box-title,h3.box-title{margin:0 0 10px;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}
h1.t,h2.t,h3.t{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}

/* Toggle + Seitenanfang sauber ausrichten */
.offer-toggle-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  column-gap:14px;
  width:100%;
  margin-top:10px;
}

.offer-toggle-row .offer-toggle{
  justify-self:start;
  display:inline-block;
  white-space:nowrap;
  font-size:.82rem;
  letter-spacing:1.1px;
  margin-top:0;
  text-align:left;
  line-height:1.2;
}

.offer-toplink{
  justify-self:end;
  display:inline-flex;
  align-items:baseline;
  gap:6px;
  white-space:nowrap;
  font-size:.82rem;
  letter-spacing:1.1px;
  margin-top:0;
  text-align:right;
  line-height:1.2;
}

.offer-toplink-label{
  display:inline-block;
  line-height:1.2;
}

.offer-toplink .chevron-up{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  flex:0 0 auto;
  line-height:1;
  transform:translateY(1px);
}

.offer-toplink .chevron-up svg{
  width:16px;
  height:16px;
  display:block;
  stroke:currentColor;
  stroke-width:2.2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Angebote-Raster Toggle oben */
.offer-index-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:14px;
  margin:0 0 12px;
}

.offer-index-head .t{margin:0}

.offer-index-toggle{
  padding:0;
  border:0;
  background:none;
  color:var(--gr-accent-strong);
  font:inherit;
  font-size:.92rem;
  letter-spacing:1.3px;
  text-align:right;
  white-space:nowrap;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.offer-index-toggle:hover{
  color:var(--gr-accent-strong);
  text-decoration:underline;
}

.offer-index-toggle:visited{color:var(--gr-accent-strong)}

.offer-index-toggle:focus-visible{
  outline:2px solid rgba(212,175,55,.65);
  outline-offset:4px;
  border-radius:8px;
}

.offer-index-panel{
  margin:0 0 16px;
  padding:14px 0 0;
  border-top:1px solid rgba(212,175,55,.35);
}

.offer-index-viewport{
  overflow:hidden;
  transition:max-height .22s ease;
}

.offer-index-panel[data-expanded="true"] .offer-index-viewport{
  max-height:none;
}

.offer-index-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, 72px);
  gap:10px;
  justify-content:center;
}

.offer-index-link{
  display:block;
  width:72px;
  text-decoration:none;
  color:inherit;
}

.offer-index-thumb{
  position:relative;
  width:72px;
  height:72px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(212,175,55,.26);
  background:rgba(255,255,255,.7);
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

.offer-index-thumb img,
.offer-index-thumb video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}


.offer-reserved-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border:1px solid rgba(212,175,55,.62);
  background:rgba(20,28,39,.88);
  color:#ffd96a;
  border-radius:999px;
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.07em;
  line-height:1;
  text-transform:uppercase;
  padding:4px 8px;
  box-shadow:0 4px 14px rgba(0,0,0,.22),0 0 10px rgba(212,175,55,.18);
  pointer-events:none;
}

.offer-reserved-badge-index{
  position:absolute;
  z-index:2;
  top:5px;
  right:5px;
  max-width:calc(100% - 10px);
  font-size:.44rem;
  letter-spacing:.02em;
  padding:3px 5px;
  white-space:nowrap;
}

.offer-main-media-frame{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  margin-top:12px;
  margin-bottom:7px;
  border-radius:16px;
  overflow:hidden;
  background:rgba(0,0,0,.28);
}

.offer-main-media-frame .offer-thumb[data-offer-main]{
  height:100%;
  margin-top:0;
  margin-bottom:0;
  border:0;
  border-radius:0;
}

.video-wrap.offer-main-media{
  margin-top:12px;
}

.video-wrap.offer-main-media .offer-thumb[data-offer-main]{
  margin-top:0;
}

.offer-main-media-frame .offer-thumb[data-offer-main]:not(video){
  cursor:zoom-in;
}

.offer-status-row{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin:0 0 8px;
}

.offer-reserved-badge-card{
  position:absolute;
  z-index:3;
  top:10px;
  left:50%;
  transform:translateX(-50%);
  max-width:calc(100% - 24px);
  font-size:1.08rem;
  padding:8px 15px;
  white-space:nowrap;
}

.video-wrap.offer-main-media .offer-reserved-badge-card,
.offer-main-stage .offer-reserved-badge-card{
  top:10px;
}

@media (max-width:430px){
  .offer-reserved-badge-index{
    top:4px;
    right:4px;
    font-size:.40rem;
    letter-spacing:.01em;
    padding:3px 4px;
  }
  .offer-reserved-badge-card{
    top:8px;
    font-size:.99rem;
    padding:7px 14px;
  }
}

.offer-index-code{
  margin-top:6px;
  font-size:12px;
  line-height:1.25;
  color:#5b5135;
  word-break:break-word;
  text-align:center;
}

.offer-index-toggle.offer-toggle{
  margin-top:0;
}

.offer-index-toggle .chevron{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  transition:transform .18s ease;
  transform:translateY(1px);
}

.offer-index-toggle .chevron svg{
  width:16px;
  height:16px;
  display:block;
  stroke:currentColor;
  stroke-width:2.2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.offer-index-toggle[aria-expanded="true"] .chevron{
  transform:rotate(180deg);
}


/* =========================
   Tagline dynamisches Verhalten (fein abgestimmt)
========================= */

.brand .tag{
  transition: font-size .2s ease, letter-spacing .2s ease, opacity .2s ease;
}

@media (max-width: 435px){
  .brand .tag{
    font-size: 0.96em;
    letter-spacing: 0.10em;
    opacity: 0.95;
  }
}

@media (max-width: 410px){
  .brand .tag{
    font-size: 0.92em;
    letter-spacing: 0.08em;
    opacity: 0.82;
  }
}

@media (max-width: 390px){
  .brand .tag{
    display:none;
  }
}


/* =========================================================
   V4.82 Topline-Scaling an Button-Bar gekoppelt
   Nullpunkt: bis Umschaltpunkt 5->4 Buttons unverändert.
   Zwischen 4 und 3 Buttons schrumpft die obere Zeile proportional,
   damit sie bei 3 sichtbaren Buttons vollständig einzeilig bleibt.
========================================================= */
:root{
  --gr-topline-scale:1;
  --gr-topline-min-scale:.70;
}

.topbar .brandline{
  align-items:end;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:calc(16px * var(--gr-topline-scale));
  row-gap:calc(6px * var(--gr-topline-scale));
  padding-left:calc(22px * var(--gr-topline-scale));
  padding-right:calc(22px * var(--gr-topline-scale));
  min-width:0;
}
.topbar .brand{
  min-width:0;
  flex-wrap:nowrap;
  gap:calc(10px * var(--gr-topline-scale));
}
.topbar .brand .name{
  flex:0 0 auto;
  min-width:0;
  gap:calc(2px * var(--gr-topline-scale));
}
.topbar .brand-gold{
  font-size:calc(var(--gr-font-size-brand-gold, 1.25em) * var(--gr-topline-scale));
  letter-spacing:calc(var(--gr-letterspacing-brand-gold, 1px) * var(--gr-topline-scale));
}
.topbar .brand-script{
  font-size:calc(var(--gr-font-size-brand-script, 1.45em) * var(--gr-topline-scale));
  letter-spacing:calc(var(--gr-letterspacing-brand-script, 0px) * var(--gr-topline-scale));
  transform:none;
  line-height:1;
}
.topbar .brand .tag{
  display:inline-flex !important;
  flex:0 1 auto;
  min-width:0;
  max-width:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
  font-size:calc(var(--gr-font-size-brand-tag, var(--gr-font-size-meta)) * var(--gr-topline-scale));
  letter-spacing:calc(var(--gr-letterspacing-brand-tag, var(--gr-letterspacing-nav)) * var(--gr-topline-scale));
  opacity:calc(.66 + (.19 * var(--gr-topline-scale)));
}
.topbar .top-actions{
  flex:0 0 auto;
  gap:calc(6px * var(--gr-topline-scale));
  transform:none;
  line-height:1;
}
.topbar .social{
  width:calc(28px * var(--gr-topline-scale));
  height:calc(28px * var(--gr-topline-scale));
}
.topbar .social svg{
  width:calc(18px * var(--gr-topline-scale));
  height:calc(18px * var(--gr-topline-scale));
}

/* Facebook-Sticky: 18px + 3px, proportional und ohne Verschiebungs-/Hover-Effekt */
.social[aria-label^="Facebook"] svg{
  width:21px;
  height:21px;
}
.topbar .social[aria-label^="Facebook"] svg{
  width:calc(21px * var(--gr-topline-scale));
  height:calc(21px * var(--gr-topline-scale));
}

/* Dauerhafte Swipe-/Touch-Bedienung für Angebots-Bildleisten */
[data-offer-strip] .row-clip{
  touch-action:pan-y pinch-zoom;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
  cursor:grab;
}
[data-offer-strip] .row-clip.is-gr-swiping{
  cursor:grabbing;
  scroll-behavior:auto;
  scroll-snap-type:none;
}
[data-offer-strip] [data-offer-strip-row]{
  flex-wrap:nowrap;
}
[data-offer-strip] .thumb-item{
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
  scroll-snap-align:start;
}
[data-offer-strip] .thumb-item img,
[data-offer-strip] .thumb-item video{
  pointer-events:none;
}
