/* ==========================================================================
   DBZ v2 – Stadtseiten (alle drei Generationen: dbz-city*, dbz-citya, dbz-cityv …)
   Ersetzt das bisher eingebettete CSS dieser Familien vollständig.
   ========================================================================== */

/* Abschnitte & Innenrahmen ----------------------------------------------------- */
.dbz-city,.dbz-city__section,.dbz-city__hero-section,.dbz-cityv,.dbz-citysl,.dbz-citya,.dbz-cityfaq,.dbz-cityrev,.dbz-citycta{position:relative;display:block;padding:var(--sec) 0;background:var(--bg);color:var(--text);overflow:hidden}
.dbz-cityv,.dbz-citya,.dbz-cityrev,.dbz-city--alt,.dbz-city__section--dark2{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dbz-city__inner,.dbz-cityv__inner,.dbz-citysl__inner,.dbz-citya__inner,.dbz-cityfaq__inner,.dbz-cityrev__inner,.dbz-citycta__inner{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.dbz-city__inner--centered{text-align:center}
.dbz-city__inner--centered>*{margin-left:auto;margin-right:auto}

/* Kopfzeilen: Label (Mono, Gold) + zweizeilige Überschrift mit goldener zweiter Zeile */
.dbz-city__label,.dbz-city__tag,.dbz-cityv__badge,.dbz-citysl__badge,.dbz-citya__badge,.dbz-cityfaq__badge,.dbz-cityrev__badge,.dbz-city__cta-tag{display:block;margin:0 0 18px;padding:0;border:0;background:none;color:var(--gold);font:500 12px/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase}
.dbz-city__tag-dot{display:none}
.dbz-city__h2,.dbz-cityv__h2,.dbz-citysl__h2,.dbz-citya__h2,.dbz-cityfaq__h2,.dbz-cityrev__h2,.dbz-city__cta-h2,.dbz-citycta__h2{margin:0 0 18px;max-width:1000px;text-wrap:pretty;font:800 clamp(36px,4.6vw,68px)/1 var(--f-sans);letter-spacing:-.04em;color:var(--text)}
.dbz-city__h2 br,.dbz-cityv__h2 br,.dbz-citysl__h2 br,.dbz-citya__h2 br,.dbz-cityfaq__h2 br,.dbz-cityrev__h2 br{display:none}
.dbz-city__h2-accent,.dbz-cityv__h2-accent,.dbz-citysl__h2-accent,.dbz-citya__h2-accent,.dbz-cityfaq__h2-accent,.dbz-cityrev__h2-accent{display:block;color:var(--gold)}
.dbz-cityv__header,.dbz-citysl__header,.dbz-citya__header,.dbz-cityfaq__header,.dbz-cityrev__header,.dbz-city__section-head{margin-bottom:44px}
.dbz-city__h2+:is(.dbz-city__products,.dbz-city__cards-text,.dbz-city__grid,.dbz-citya__grid){margin-top:44px}
.dbz-city__section-copy,.dbz-cityrev__sub{max-width:640px;margin:0 0 32px;color:var(--muted);font-size:18px}
.dbz-city__inner--centered .dbz-city__section-copy{margin-left:auto;margin-right:auto}

/* Brotkrumen */
.dbz-bc{background:var(--bg);padding:18px 0 0}
.dbz-bc__inner{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.dbz-bc__list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;font:400 12px/1.4 var(--f-mono);color:var(--dim)}
.dbz-bc__link,.dbz-bc__item a{color:var(--dim)}
.dbz-bc__link:hover{color:var(--gold)}
.dbz-bc__item--active,.dbz-bc__cur{color:var(--muted)}
.dbz-bc__sep{opacity:.6}

/* Hero ---------------------------------------------------------------------------- */
.dbz-city:has(.dbz-city__hero),.dbz-city__hero-section{padding-top:clamp(32px,5vw,64px);border-bottom:1px solid var(--line)}
.dbz-city__hero,.dbz-city__inner--hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);column-gap:56px;align-items:end;text-align:left}
.dbz-city__hero>*,.dbz-city__inner--hero>*{grid-column:1/-1;margin-left:0;margin-right:0}
.dbz-city__hero>.dbz-city__copy,.dbz-city__inner--hero>.dbz-city__copy,.dbz-city__hero>.dbz-city__buttons,.dbz-city__inner--hero>.dbz-city__buttons{grid-column:1}
.dbz-city__hero>.dbz-city__route,.dbz-city__inner--hero>.dbz-city__routestrip{grid-column:2;grid-row:span 2;align-self:end}
.dbz-city__h1{display:flex;flex-direction:column;gap:14px;margin:0 0 28px}
.dbz-city__h1-city{display:block;margin:0 0 0 -.05em;font:800 clamp(64px,calc((min(100vw,1320px) - 2 * var(--pad)) / (var(--n,5) * .64)),380px)/.8 var(--f-sans);letter-spacing:-.065em;color:var(--gold);overflow-wrap:normal;word-break:keep-all}
h1.dbz-city__h1-city{margin-bottom:14px}
.dbz-city__h1-sub{display:block;margin:0 0 28px;max-width:900px;font:800 clamp(28px,3.6vw,54px)/1.05 var(--f-sans);letter-spacing:-.035em;color:var(--text)}
.dbz-city__h1 .dbz-city__h1-sub{margin:0}
.dbz-city__h1-accent{color:var(--gold)}
.dbz-city__copy,.dbz-city__cta-copy{margin:0 0 24px;max-width:640px;color:var(--text-2);font-size:19px;line-height:1.6}
.dbz-city__copy strong{color:var(--text);font-weight:600}
.dbz-city__copy--center{margin-left:auto;margin-right:auto;text-align:center}

/* Autobahn-Wegweiser aus Fahrzeit · Autobahn · Kaution · Preis */
.dbz-city__route,.dbz-city__routestrip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:6px 6px 24px;padding:20px 22px;border:3px solid #fff;outline:6px solid var(--blue);border-radius:10px;background:var(--blue);color:#fff;box-shadow:0 30px 80px rgba(29,93,170,.28)}
.dbz-city__route-divider,.dbz-city__routestrip-div{display:none}
.dbz-city__route-item,.dbz-city__routestrip-item{display:flex;flex-direction:column;gap:4px;padding:12px 4px;border-bottom:2px solid rgba(255,255,255,.85)}
.dbz-city__route-item:nth-child(n+5),.dbz-city__routestrip-item:nth-child(n+5){border-bottom:0}
.dbz-city__route>.dbz-city__route-item:nth-last-of-type(-n+2),.dbz-city__routestrip>.dbz-city__routestrip-item:nth-last-of-type(-n+2){border-bottom:0}
.dbz-city__route-item:nth-of-type(even),.dbz-city__routestrip-item:nth-of-type(even){padding-left:16px;border-left:2px solid rgba(255,255,255,.85)}
.dbz-city__route-value,.dbz-city__routestrip-value{font:700 clamp(24px,2.4vw,34px)/1 var(--f-sans);letter-spacing:-.03em;color:#fff}
.dbz-city__route-label,.dbz-city__routestrip-label{font:500 11px/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.8)}

/* Buttons: Gold = Buchen, Kontur = Route, WhatsApp bewusst nur als Textlink */
.dbz-city__buttons,.dbz-citya__buttons,.dbz-citycta__buttons{display:flex!important;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:0}
.dbz-city__buttons--centered,.dbz-city__inner--centered .dbz-city__buttons{justify-content:center}
.dbz-city__btn,.dbz-citya__btn,.dbz-citycta__btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border:1px solid transparent;border-radius:var(--r-btn);font:600 16px/1.2 var(--f-sans);text-decoration:none;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.dbz-city__btn svg,.dbz-citya__btn svg,.dbz-citycta__btn svg{width:18px;height:18px;flex:none}
.dbz-city__btn--gold,.dbz-citycta__btn--gold{background:var(--gold);color:var(--paper-ink)}
.dbz-city__btn--gold:hover,.dbz-citycta__btn--gold:hover{background:var(--gold-2);color:var(--paper-ink)}
.dbz-city__btn--gold svg,.dbz-citycta__btn--gold svg{stroke:currentColor;fill:none}
.dbz-city__btn--outline,.dbz-city__btn--maps,.dbz-citya__btn--outline{border-color:var(--line-3);color:var(--text)}
.dbz-city__btn--outline:hover,.dbz-city__btn--maps:hover,.dbz-citya__btn--outline:hover{border-color:var(--gold);color:var(--gold)}
.dbz-city__btn--outline svg,.dbz-city__btn--maps svg,.dbz-citya__btn--outline svg{stroke:currentColor;fill:none}
.dbz-city__btn--wa,.dbz-citya__btn--wa,.dbz-citycta__btn--wa{min-height:44px;padding:0 2px;background:none;color:var(--muted);font-weight:500;font-size:15px;text-decoration:underline;text-decoration-color:rgba(245,243,238,.3);text-underline-offset:4px}
.dbz-city__btn--wa:hover,.dbz-citya__btn--wa:hover,.dbz-citycta__btn--wa:hover{color:var(--text);text-decoration-color:currentColor}
.dbz-city__btn--wa svg,.dbz-citya__btn--wa svg,.dbz-citycta__btn--wa svg{width:16px;height:16px;fill:currentColor;stroke:none}

/* Vorteile als Karten mit Kontur-Wort ------------------------------------------------ */
.dbz-cityv__grid,.dbz-city__cards-text,.dbz-city__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;margin:0}
.dbz-cityv__card,div.dbz-city__card-text,.dbz-city__card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;min-height:300px;margin:0;padding:28px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);text-align:left;overflow:hidden;transition:transform .35s var(--ease),border-color .35s}
.dbz-cityv__card:hover,div.dbz-city__card-text:hover,.dbz-city__card:hover{transform:translateY(-4px);border-color:rgba(232,197,71,.4)}
.dbz-cityv__card:first-child,div.dbz-city__card-text:first-child,.dbz-city__card:first-child{background:var(--gold);border-color:var(--gold);color:var(--paper-ink)}
.dbz-cityv__card:last-child,div.dbz-city__card-text:last-child,.dbz-city__card:last-child{background:var(--paper);border-color:var(--paper);color:var(--paper-ink)}
.dbz-cityv__card-icon,.dbz-city__card-icon{display:none}
.dbz-cityv__card-title,.dbz-city__card-title{margin:0;font:700 23px/1.2 var(--f-sans);letter-spacing:-.025em;color:inherit}
.dbz-cityv__card-text,p.dbz-city__card-text,.dbz-city__card-copy{margin:0;font-size:16px;line-height:1.55;color:var(--muted)}
.dbz-cityv__card:first-child .dbz-cityv__card-text,div.dbz-city__card-text:first-child .dbz-city__card-copy,.dbz-city__card:first-child .dbz-city__card-text{color:rgba(10,10,10,.82)}
.dbz-cityv__card:last-child .dbz-cityv__card-text,div.dbz-city__card-text:last-child .dbz-city__card-copy,.dbz-city__card:last-child .dbz-city__card-text{color:var(--paper-mute)}
.dbz-cityv__card:first-child .dbz-ghost,div.dbz-city__card-text:first-child .dbz-ghost,.dbz-city__card:first-child .dbz-ghost{-webkit-text-stroke-color:rgba(10,10,10,.18)}
.dbz-cityv__card:last-child .dbz-ghost,div.dbz-city__card-text:last-child .dbz-ghost,.dbz-city__card:last-child .dbz-ghost{-webkit-text-stroke-color:rgba(10,10,10,.12)}
.dbz-cityv__card .dbz-ghost,div.dbz-city__card-text .dbz-ghost,.dbz-city__card .dbz-ghost{--gs:100px}

/* Sortiment: Garagentore -------------------------------------------------------------
   Das Produktbild steckt hinter einem halb offenen Rolltor, das beim Darüberfahren hochfährt. */
.dbz-citysl__track,.dbz-city__products{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,186px),1fr));gap:16px;margin:0;overflow:visible}
.dbz-citysl__card,.dbz-city__product-card,.dbz-city__product{position:relative;display:flex;flex-direction:column;min-height:0;margin:0;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);color:var(--text);text-decoration:none;overflow:hidden;transition:border-color .35s}
.dbz-citysl__card:hover,.dbz-city__product-card:hover,.dbz-city__product:hover{border-color:rgba(232,197,71,.45);color:var(--text)}
/* Bildfeld */
.dbz-citysl__card-bg,.dbz-city__product-img-wrap,div.dbz-city__product-img{position:relative;display:block;flex:none;width:100%;height:260px;margin:0;background:var(--paper) center/cover no-repeat;overflow:hidden;box-shadow:inset 0 0 0 10px #0e0e0d}
.dbz-city__product-img-wrap img.dbz-city__product-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease);transform:scale(1.04)}
.dbz-city__product-card:hover img.dbz-city__product-img,.dbz-citysl__card:hover .dbz-citysl__card-bg{transform:scale(1)}
/* Rolltor */
.dbz-citysl__card-overlay,.dbz-city__product-img-wrap::after,div.dbz-city__product-img::after{content:"";position:absolute;left:0;right:0;top:0;height:260px;z-index:2;background:repeating-linear-gradient(180deg,#34332e 0,#2a2925 24px,#151513 24px,#151513 26px);border-bottom:10px solid var(--gold);box-shadow:0 10px 24px rgba(0,0,0,.45);transform:translateY(-58%);transition:transform .9s cubic-bezier(.65,0,.25,1);opacity:1;inset:0 0 auto 0}
.dbz-citysl__card:hover .dbz-citysl__card-overlay,.dbz-citysl__card:focus-visible .dbz-citysl__card-overlay,.dbz-city__product-card:hover .dbz-city__product-img-wrap::after,.dbz-city__product-card:focus-visible .dbz-city__product-img-wrap::after,.dbz-city__product:hover div.dbz-city__product-img::after,.dbz-city__product:focus-visible div.dbz-city__product-img::after{transform:translateY(-104%)}
/* Text unter dem Tor */
.dbz-citysl__card-content,.dbz-city__product-body{position:relative;inset:auto;z-index:3;display:flex;flex-direction:column;gap:6px;padding:20px 22px 22px;background:none;text-align:left}
.dbz-citysl__card-title,.dbz-city__product-name,.dbz-city__product-title{margin:0;font:700 22px/1.2 var(--f-sans);letter-spacing:-.025em;color:var(--text)}
.dbz-citysl__card-desc,.dbz-city__product-desc,.dbz-city__product-sub{margin:0;font:400 13px/1.5 var(--f-mono);color:var(--gold)}
.dbz-city__product-price{margin:0;font:600 15px/1.3 var(--f-sans);color:var(--gold)}
.dbz-city__product-desc{color:var(--muted)}
.dbz-citysl__card-link,.dbz-city__product-link,.dbz-city__product-cta{margin-top:8px;font:600 14px/1.3 var(--f-sans);color:var(--text)}
/* „Alle Preise“ ohne Tor */
.dbz-citysl__card--cta,.dbz-city__product-card--plain,.dbz-city__product--plain{justify-content:flex-end;min-height:260px;background:var(--surface-2)}
.dbz-citysl__card--cta .dbz-citysl__card-title,.dbz-city__product-card--plain .dbz-city__product-name,.dbz-city__product--plain .dbz-city__product-title{color:var(--gold)}
.dbz-city__product-body--centered{text-align:left}

/* Anfahrt: Straße (per JS gezeichnet), Etappen als Karten, Infos + Karte ------------------ */
.dbz-road{margin:0 0 16px;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(180deg,var(--surface) 0%,var(--bg-2) 100%);overflow:hidden}
.dbz-road svg{display:block;width:100%;height:auto}
@keyframes dbz-roll{0%{transform:translate(170px,121px);opacity:0}7%{opacity:1}82%{transform:translate(830px,121px);opacity:1}90%,100%{transform:translate(830px,121px);opacity:0}}
@keyframes dbz-roll-sm{0%{transform:translate(70px,121px);opacity:0}8%{opacity:1}82%{transform:translate(380px,121px);opacity:1}90%,100%{transform:translate(380px,121px);opacity:0}}
.dbz-road__car{animation:dbz-roll 16s cubic-bezier(.45,0,.3,1) infinite}
.dbz-road--sm .dbz-road__car{animation-name:dbz-roll-sm}
@media (prefers-reduced-motion:reduce){.dbz-road__car{animation:none!important;transform:translate(500px,121px);opacity:1}.dbz-road--sm .dbz-road__car{transform:translate(220px,121px)}}

.dbz-citya__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 40px;align-items:start}
.dbz-citya__info,.dbz-citya__left{display:contents}
.dbz-citya__route-box,.dbz-citya__route{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 24px;padding:0;border:0;background:none}
.dbz-citya__route-line,.dbz-citya__route-dot,.dbz-citya__dot,.dbz-citya__line{display:none}
.dbz-citya__route-step,.dbz-citya__stop,.dbz-citya__segment{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-height:200px;margin:0;padding:26px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);overflow:hidden}
.dbz-citya__route-step:last-child,.dbz-citya__stop:last-child{background:var(--gold);border-color:var(--gold);color:var(--paper-ink)}
.dbz-citya__route-step:last-child .dbz-ghost,.dbz-citya__stop:last-child .dbz-ghost{-webkit-text-stroke-color:rgba(10,10,10,.16)}
.dbz-citya__route-text{display:flex;flex-direction:column;gap:6px}
.dbz-citya__route-text strong,.dbz-citya__stop-name,.dbz-citya__segment-label{font:700 24px/1.15 var(--f-sans);letter-spacing:-.025em;color:inherit}
.dbz-citya__route-text span,.dbz-citya__stop-sub,.dbz-citya__segment-sub{display:block;font:400 15px/1.5 var(--f-sans);letter-spacing:0;color:var(--muted)}
.dbz-citya__route-step:last-child .dbz-citya__route-text span,.dbz-citya__stop:last-child .dbz-citya__stop-sub{color:rgba(10,10,10,.75)}
.dbz-citya__segment-sub{margin-top:6px}
.dbz-citya__details,.dbz-citya__infos{grid-column:1;display:grid;gap:10px;margin:0}
.dbz-citya__detail,.dbz-citya__info-row{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);font-size:16px;line-height:1.5}
.dbz-citya__detail svg,.dbz-citya__info-row svg{width:20px;height:20px;flex:none;margin-top:2px;stroke:var(--gold);fill:none}
.dbz-citya__detail strong,.dbz-citya__info-row strong{color:var(--text);font-weight:600}
.dbz-citya__buttons{grid-column:1;margin-top:8px}
.dbz-citya__map{grid-column:2;grid-row:2/span 2;min-height:360px;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;background:var(--surface)}
.dbz-citya__map iframe{display:block;width:100%!important;height:100%!important;min-height:360px;border-radius:0!important;filter:grayscale(.5) contrast(1.05)}
.dbz-city__inner:has(>.dbz-city__faq){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:80px;align-items:start}
.dbz-city__inner:has(>.dbz-city__faq)>.dbz-city__label,.dbz-city__inner:has(>.dbz-city__faq)>.dbz-city__h2,.dbz-city__inner:has(>.dbz-city__faq)>.dbz-city__section-head{grid-column:1}
.dbz-city__inner:has(>.dbz-city__faq)>.dbz-city__h2{font-size:clamp(30px,3.2vw,46px)}
.dbz-city__inner:has(>.dbz-city__faq)>.dbz-city__faq{grid-column:2;grid-row:1/span 3}
.dbz-cityfaq__list,.dbz-city__faq{margin:0;border-top:1px solid var(--line-2)}
.dbz-cityfaq__item,.dbz-city__faq-item{margin:0;padding:0;border:0;border-bottom:1px solid var(--line-2);border-radius:0;background:none}
.dbz-cityfaq__q,.dbz-city__faq-q{position:relative;display:block;padding:24px 56px 24px 0;cursor:pointer;list-style:none;font:600 clamp(17px,1.5vw,20px)/1.35 var(--f-sans);letter-spacing:-.01em;color:var(--text)}
.dbz-cityfaq__q::-webkit-details-marker,.dbz-city__faq-q::-webkit-details-marker{display:none}
.dbz-cityfaq__q::after,.dbz-city__faq-q::after{content:"+";position:absolute;right:0;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:var(--r-btn);background:rgba(245,243,238,.08);font:400 18px/32px var(--f-sans);text-align:center;color:var(--text)}
.dbz-cityfaq__item[open]>.dbz-cityfaq__q::after,.dbz-city__faq-item[open]>.dbz-city__faq-q::after{content:"–";background:var(--gold);color:var(--paper-ink)}
.dbz-cityfaq__q:hover,.dbz-city__faq-q:hover{color:var(--gold)}
.dbz-cityfaq__a,.dbz-city__faq-a{padding:0 56px 24px 0;color:var(--muted);font-size:16px;line-height:1.65}
.dbz-cityfaq__a a,.dbz-city__faq-a a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}

/* Abschluss: Goldfläche mit Stadtname als Kontur ---------------------------------------- */
.dbz-citycta,.dbz-city--cta,.dbz-city__section:has(.dbz-city__cta-tag){background:var(--gold);color:var(--paper-ink);border:0}
.dbz-citycta__card>*:not(.dbz-citycta__city),.dbz-city--cta .dbz-city__inner>*,.dbz-city__section:has(.dbz-city__cta-tag) .dbz-city__inner>*{position:relative;z-index:1}
.dbz-citycta__h2,.dbz-city--cta .dbz-city__cta-h2,.dbz-city__section:has(.dbz-city__cta-tag) .dbz-city__h2{max-width:900px;margin:0;font-size:clamp(40px,6vw,92px);color:var(--paper-ink)}
.dbz-city__section:has(.dbz-city__cta-tag) .dbz-city__h2-accent{color:rgba(10,10,10,.6)}
.dbz-citycta__text,.dbz-city--cta .dbz-city__cta-copy,.dbz-city__section:has(.dbz-city__cta-tag) .dbz-city__copy{max-width:620px;margin:0;color:rgba(10,10,10,.85);font-size:19px}
.dbz-city--cta .dbz-city__label,.dbz-city--cta .dbz-city__cta-tag,.dbz-city__section:has(.dbz-city__cta-tag) .dbz-city__cta-tag{color:rgba(10,10,10,.7)}
.dbz-city__cta-divider{display:flex;align-items:center;gap:14px;max-width:420px;margin:28px auto 18px;font:500 12px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(10,10,10,.6)}
.dbz-city__cta-divider::before,.dbz-city__cta-divider::after{content:"";flex:1;height:1px;background:rgba(10,10,10,.25)}
.dbz-citycta .dbz-citycta__btn--gold,.dbz-city--cta .dbz-city__btn--gold,.dbz-city__section:has(.dbz-city__cta-tag) .dbz-city__btn--gold{background:var(--paper-ink);color:var(--text)}
.dbz-citycta .dbz-citycta__btn--gold:hover,.dbz-city--cta .dbz-city__btn--gold:hover,.dbz-city__section:has(.dbz-city__cta-tag) .dbz-city__btn--gold:hover{background:#000;color:var(--gold)}
.dbz-citycta .dbz-citycta__btn--wa,.dbz-city--cta .dbz-city__btn--wa,.dbz-city__section:has(.dbz-city__cta-tag) .dbz-city__btn--wa{color:rgba(10,10,10,.75);text-decoration-color:rgba(10,10,10,.35)}
.dbz-citycta .dbz-citycta__btn--wa:hover,.dbz-city--cta .dbz-city__btn--wa:hover,.dbz-city__section:has(.dbz-city__cta-tag) .dbz-city__btn--wa:hover{color:var(--paper-ink)}

/* Tablet & Handy ------------------------------------------------------------------------ */
@media (max-width:991px){
  .dbz-city__hero,.dbz-city__inner--hero{grid-template-columns:minmax(0,1fr)}
  .dbz-city__hero>*,.dbz-city__inner--hero>*{grid-column:1!important;grid-row:auto!important}
  .dbz-city__route,.dbz-city__routestrip{max-width:460px}
  .dbz-citya__grid{grid-template-columns:minmax(0,1fr)}
  .dbz-citya__details,.dbz-citya__infos,.dbz-citya__buttons,.dbz-citya__map{grid-column:1;grid-row:auto}
  .dbz-cityfaq__inner,.dbz-city__inner:has(>.dbz-city__faq){display:block}
  .dbz-cityfaq__header,.dbz-city__inner:has(>.dbz-city__faq)>.dbz-city__h2{margin-bottom:28px}
}
@media (max-width:700px){
  .dbz-citysl__track,.dbz-city__products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .dbz-citysl__card-content,.dbz-city__product-body{padding:16px}
  .dbz-citysl__card-title,.dbz-city__product-name,.dbz-city__product-title{font-size:18px}
  .dbz-citya__route-box,.dbz-citya__route{grid-template-columns:minmax(0,1fr)}
  .dbz-citya__route-step,.dbz-citya__stop,.dbz-citya__segment{min-height:160px}
  .dbz-cityv__card,div.dbz-city__card-text,.dbz-city__card{min-height:0;padding:24px}
  .dbz-citysl__card-bg,.dbz-city__product-img-wrap,div.dbz-city__product-img,.dbz-citysl__card-overlay,.dbz-city__product-img-wrap::after,div.dbz-city__product-img::after{height:170px}
  .dbz-city__btn,.dbz-citya__btn,.dbz-citycta__btn{min-height:52px}
  .dbz-cityfaq__q,.dbz-city__faq-q{padding-right:48px}
  .dbz-cityfaq__a,.dbz-city__faq-a{padding-right:0}
}
@media (hover:none){
  /* Auf Touch-Geräten ohne Hover: Tor weiter offen, damit das Produkt sichtbar ist. */
  .dbz-citysl__card-overlay,.dbz-city__product-img-wrap::after,div.dbz-city__product-img::after{transform:translateY(-78%)}
}

/* ==========================================================================
   DBZ v2 – Gemeinsame Bausteine (auf Verleih-, Produkt- und Blogseiten)
   dbz-more (Mehr entdecken), dbz-skwann (Wann lohnt sich …), dbz-skregion (Standort/Region),
   dbz-skblog (Ratgeber-Links), dbz-skprod / dbz-skproducts (Weitere Produkte),
   dbz-skpflicht (Pflicht-/Streckentabellen), dbz-vs (Vergleich), dbz-how (Ablauf), dbz-ph.
   Abschnitts-Varianten (section.…) bekommen Abstand und Innenrahmen. Steckt derselbe Baustein
   als <div> in einem Blogartikel, übernimmt er nur Raster und Karten.
   ========================================================================== */

/* 0 Platzhalter des alten Seitenkopfs */
.dbz-ph{display:none}

/* 10 Brotkrumen (falls hier zugeordnet; gleiche Darstellung wie Stadtseiten) ---------------- */
.dbz-bc{background:none;padding:18px 0 0}
.dbz-bc__inner{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.dbz-heck .dbz-bc__inner{padding:0}
.dbz-bc__list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;font:400 12px/1.4 var(--f-mono);color:var(--dim)}
.dbz-bc__list li{margin:0}
.dbz-bc__list a,.dbz-bc__link{color:var(--dim)}
.dbz-bc__list a:hover,.dbz-bc__link:hover{color:var(--gold)}
.dbz-bc__item--active,.dbz-bc__list li[aria-current]{color:var(--muted)}
.dbz-bc__sep{opacity:.6}