:root{--yellow:#ffc400;--yellow2:#ffda46;--black:#111;--anth:#1a1a1a;--graph:#303236;--gray:#6e7177;--soft:#f4f5f6;--line:#e1e3e5;--white:#fff;--max:1380px;--r:16px;--shadow:0 16px 42px rgba(17,17,17,.1);--font:"Montserrat","Arial",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--black);background:#fff;line-height:1.5}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(calc(100% - 34px),var(--max));margin:auto}.topbar{background:var(--anth);color:#fff;font-size:.82rem}.topbar__inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar__links{display:flex;gap:18px;align-items:center;color:#ddd}.topbar a:hover{color:var(--yellow)}.header{position:sticky;top:0;background:rgba(255,255,255,.98);z-index:50;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.header__main{min-height:96px;display:grid;grid-template-columns:minmax(300px,1fr) auto auto;gap:28px;align-items:center}.logo{max-width:430px}.header__phone{text-align:right;display:grid}.header__phone strong{font-size:1.55rem}.header__phone span{font-size:.82rem;color:var(--gray)}.nav{border-top:1px solid var(--line)}.nav__inner{min-height:56px;display:flex;justify-content:space-between;align-items:center;gap:18px}.nav__links{display:flex;gap:4px;flex-wrap:wrap}.nav__links a{font-size:.91rem;font-weight:750;padding:10px 12px;border-radius:8px}.nav__links a:hover,.nav__links a.is-active{background:var(--yellow)}.nav__menu-button{display:none;width:44px;height:44px;border:0;background:var(--anth);color:#fff;border-radius:8px}.btn{min-height:48px;padding:0 22px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;border:1px solid transparent;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--yellow);color:#090909;box-shadow:0 7px 18px rgba(255,196,0,.22)}.btn--dark{background:var(--anth);color:#fff}.btn--light{background:#fff;color:#111;border-color:#d7d7d7}.btn--xl{min-height:58px;font-size:1.08rem;padding-inline:28px}.kicker{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;font-weight:900}.kicker:before{content:"";width:30px;height:4px;background:var(--yellow);border-radius:999px}.hero--home{position:relative;overflow:hidden;background:radial-gradient(circle at 75% 30%,rgba(255,196,0,.22),transparent 30%),linear-gradient(135deg,#fff 0,#f1f2f3 58%,#fff 100%);border-bottom:5px solid var(--yellow)}.hero--home:after{content:"";position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.06));pointer-events:none}.hero__grid--home{min-height:540px;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;padding:52px 0}.hero__content{position:relative;z-index:2}.hero h1{font-size:clamp(2.8rem,5.8vw,5.7rem);line-height:.96;letter-spacing:-.055em;margin:14px 0 18px;max-width:850px}.hero h1 span{color:#292929}.hero__lead{font-size:1.15rem;color:var(--gray);max-width:720px}.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.trustline{display:flex;gap:22px;flex-wrap:wrap;margin-top:20px;font-size:.88rem;font-weight:800;color:#3d3d3d}.trustline span:before{content:"✓";color:#000;background:var(--yellow);width:22px;height:22px;display:inline-grid;place-items:center;border-radius:999px;margin-right:7px}.hero__visual{position:relative;min-height:400px;display:grid;place-items:center}.hero__visual img{width:min(100%,690px);position:relative;z-index:2;filter:drop-shadow(0 22px 25px rgba(0,0,0,.16))}.hero__skyline{position:absolute;inset:auto 0 60px;height:160px;background:linear-gradient(90deg,transparent 2%,#202124 8% 12%,transparent 12% 16%,#202124 16% 21%,transparent 21% 25%,#202124 25% 29%,transparent 29% 33%,#202124 33% 41%,transparent 41% 47%,#202124 47% 55%,transparent 55% 61%,#202124 61% 70%,transparent 70% 75%,#202124 75% 82%,transparent 82% 88%,#202124 88% 96%,transparent 96%);opacity:.08;clip-path:polygon(0 100%,0 67%,7% 67%,7% 48%,10% 48%,10% 36%,13% 36%,13% 62%,20% 62%,20% 28%,23% 28%,23% 12%,26% 28%,26% 60%,34% 60%,34% 43%,38% 43%,38% 22%,41% 43%,41% 57%,50% 57%,50% 35%,54% 35%,54% 18%,58% 35%,58% 58%,67% 58%,67% 47%,74% 47%,74% 32%,79% 32%,79% 61%,88% 61%,88% 38%,92% 38%,92% 52%,100% 52%,100% 100%)}.hero__badge{position:absolute;right:6%;bottom:3%;background:#111;color:#fff;padding:12px 16px;border-left:6px solid var(--yellow);font-size:.76rem;font-weight:900;letter-spacing:.12em}.quick-services{background:#fff;position:relative;z-index:3}.quick-services__grid{display:grid;grid-template-columns:repeat(9,1fr);gap:10px;padding:18px 0}.service-tile{border:1px solid var(--line);border-radius:13px;padding:15px 14px;min-height:144px;display:grid;grid-template-rows:auto auto auto;align-content:start;position:relative;background:#fff;transition:.2s}.service-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#c9c9c9}.service-tile__icon{width:44px;height:44px;background:var(--yellow);border-radius:12px;display:grid;place-items:center;font-size:1.25rem;margin-bottom:12px}.service-tile strong{font-size:.92rem}.service-tile small{color:var(--gray);font-size:.78rem;margin-top:3px}.service-tile__arrow{position:absolute;right:12px;top:12px;font-size:1.5rem}.section{padding:68px 0}.section--soft{background:var(--soft)}.booking-row{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.booking-card,.fare-card{border-radius:var(--r);padding:26px;border:1px solid var(--line);box-shadow:0 10px 26px rgba(0,0,0,.05)}.booking-card h2,.fare-card h2,.feature h2,.partner-grid h2,.ad-showcase h2{margin:.3rem 0 .6rem;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.08}.booking-card__fields{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.booking-card__fields div{border:1px solid var(--line);background:#fafafa;border-radius:9px;padding:13px;color:#777;font-size:.88rem}.fare-card{background:#151515;color:#fff}.fare-card p{color:#d3d3d3}.fare-card small{display:block;color:#a9a9a9;margin-top:15px}.feature-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.feature{min-height:320px;border-radius:18px;padding:28px;position:relative;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow)}.feature:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.85));z-index:0}.feature>*{position:relative;z-index:1}.feature--airport{background:linear-gradient(135deg,#586778,#101923)}.feature--airport:after{content:"✈";position:absolute;right:25px;top:8px;font-size:9rem;color:rgba(255,255,255,.12)}.feature--trips{background:linear-gradient(135deg,#8a6a3f,#3b2b19)}.feature--trips:after{content:"🗺";position:absolute;right:25px;top:20px;font-size:7rem;opacity:.14}.feature--city{background:linear-gradient(135deg,#36475a,#171d24)}.feature--city:after{content:"🏙";position:absolute;right:25px;top:20px;font-size:7rem;opacity:.15}.feature__eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--yellow);font-weight:900}.price-chips{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 15px}.price-chips span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);padding:7px 9px;border-radius:999px;font-size:.78rem}.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.partner-card,.ad-partner{border:1px solid var(--line);border-radius:18px;padding:24px;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center}.partner-card__mark{width:70px;height:70px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#37a15c,#b6e66f);color:#fff;font-weight:1000;font-size:1.4rem}.ad-partner{background:linear-gradient(90deg,#fff4b5,#fff);grid-template-columns:1fr auto}.ad-showcase{display:grid;grid-template-columns:.85fr 1.15fr;gap:26px;align-items:center}.ad-showcase__copy p{color:var(--gray)}.ad-slots{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ad-slot{height:190px;border-radius:16px;background:linear-gradient(135deg,#222,#494949);color:#fff;padding:22px;display:flex;flex-direction:column;justify-content:end}.ad-slot strong{color:var(--yellow);font-size:1.2rem}.ad-slot--premium{background:linear-gradient(135deg,#ffc400,#ffdf67);color:#111}.ad-slot--premium strong{color:#111}.footer{background:#111;color:#eee}.footer__grid{padding:52px 0 34px;display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:34px}.footer h3{font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--yellow)}.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.footer a{color:#d6d6d6}.footer a:hover{color:#fff}.footer__brand img{width:330px;filter:brightness(2.8)}.footer__brand p{color:#aaa;max-width:400px}.footer__bottom{border-top:1px solid #2d2d2d;padding:17px 0;color:#919191;font-size:.82rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.mobile-cta{display:none}
@media(max-width:1180px){.quick-services__grid{grid-template-columns:repeat(5,1fr)}.header__main{grid-template-columns:1fr auto}.header__phone{display:none}.hero__grid--home{grid-template-columns:1fr}.hero__visual{min-height:320px}.feature-grid{grid-template-columns:1fr 1fr}.feature:last-child{grid-column:1/-1}.footer__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.nav__menu-button{display:grid;place-items:center}.nav__links{display:none;position:absolute;left:17px;right:17px;top:100%;background:#fff;padding:12px;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px}.nav__links.is-open{display:grid}.nav__inner{position:relative}.quick-services__grid{grid-template-columns:repeat(3,1fr)}.booking-row,.partner-grid,.ad-showcase{grid-template-columns:1fr}.booking-card__fields{grid-template-columns:1fr 1fr}.partner-card{grid-template-columns:auto 1fr}.partner-card .btn{grid-column:1/-1}.feature-grid{grid-template-columns:1fr}.feature:last-child{grid-column:auto}.header__main>.btn{display:none}.logo{max-width:350px}}
@media(max-width:640px){body{padding-bottom:64px}.topbar__links{display:none}.topbar__inner{justify-content:center}.header__main{min-height:76px}.logo{max-width:270px}.hero__grid--home{padding:38px 0}.hero h1{font-size:2.7rem}.hero__visual{min-height:230px}.hero__badge{display:none}.quick-services__grid{grid-template-columns:repeat(2,1fr)}.booking-card__fields,.ad-slots,.footer__grid{grid-template-columns:1fr}.feature{min-height:280px}.partner-card,.ad-partner{grid-template-columns:1fr}.footer__brand img{width:280px}.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:80;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 -5px 18px rgba(0,0,0,.18)}.mobile-cta a{min-height:60px;display:grid;place-items:center;font-weight:900}.mobile-cta a:first-child{background:var(--yellow);color:#111}.mobile-cta a:last-child{background:#111;color:#fff}}

/* Phase 3: Leistungsseiten */
.service-hero{position:relative;overflow:hidden;border-bottom:5px solid var(--yellow);background:linear-gradient(135deg,#fff,#f3f4f5)}
.service-hero__grid{min-height:440px;display:grid;grid-template-columns:1.35fr .65fr;gap:40px;align-items:center;padding:58px 0}
.service-hero h1{font-size:clamp(2.6rem,5vw,5rem);line-height:.98;letter-spacing:-.045em;margin:14px 0 18px;max-width:900px}
.service-hero p{font-size:1.12rem;color:var(--gray);max-width:760px}
.service-hero__symbol{width:260px;height:260px;display:grid;place-items:center;margin-left:auto;border-radius:40px;background:var(--yellow);font-size:8rem;box-shadow:var(--shadow);transform:rotate(-3deg)}
.service-hero--baby{background:linear-gradient(135deg,#fff9f6,#f5d8dc)}.service-hero--baby{border-bottom-color:#b86575}.theme-baby{--yellow:#b86575;--yellow2:#dba6b0}.theme-baby .service-hero__symbol{background:#ead0d5}.theme-baby .btn--primary{color:#fff;background:#9f5364;box-shadow:0 7px 18px rgba(159,83,100,.22)}.theme-baby .kicker:before{background:#b86575}.theme-baby .nav__links a:hover,.theme-baby .nav__links a.is-active{background:#ead0d5}.theme-baby .footer h3{color:#e1a8b3}
.service-hero--wheel{background:linear-gradient(135deg,#fff,#edf3f6)}
.service-hero--medical{background:linear-gradient(135deg,#fff,#eef5f0)}
.service-hero--travel{background:linear-gradient(135deg,#fff,#f5f1e7)}
.service-hero--airport{background:linear-gradient(135deg,#fff,#eef2f6)}
.service-hero--trips{background:linear-gradient(135deg,#fff,#f7f0e4)}
.service-hero--key{background:linear-gradient(135deg,#fff,#f7f5ed)}
.content-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:start}.content-grid h2,.two-col h2,.split-cta h2{font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.08;margin:.2rem 0 1rem}.content-grid p,.two-col p,.split-cta p{color:var(--gray);font-size:1rem}
.notice{padding:24px;border-radius:16px;background:#fff7d6;border:1px solid #f1d56b;border-left:6px solid var(--yellow);box-shadow:0 10px 24px rgba(0,0,0,.04)}.notice strong{display:block;font-size:1.05rem;margin-bottom:6px}.notice p{margin:0}.notice--baby{background:#fff3f5;border-color:#e2aab5}.notice--strong{background:#171717;color:#fff;border-color:#171717;border-left-color:var(--yellow)}.notice--strong p{color:#d7d7d7}
.section-title{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:0 0 28px}.info-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.info-card-grid--3{grid-template-columns:repeat(3,1fr)}.info-card{padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.04)}.info-card>span{font-size:2rem}.info-card h3{margin:10px 0 6px}.info-card p{color:var(--gray);margin:0}
.scenario-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.scenario-grid article,.trip-example{padding:24px;border-radius:16px;background:var(--anth);color:#fff}.scenario-grid p,.trip-example p{color:#d0d0d0}.section--accent-soft{background:linear-gradient(135deg,#fff8d9,#fff)}.theme-baby .section--accent-soft{background:linear-gradient(135deg,#fff5f6,#fff)}
.split-cta{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.info-panel{padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.04)}
.airport-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.airport-price-grid article{display:flex;justify-content:space-between;align-items:center;padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff}.airport-price-grid strong{font-size:1.1rem}.airport-price-grid span{font-size:1.6rem;font-weight:1000;color:#111;background:var(--yellow);padding:6px 10px;border-radius:10px}.fineprint{color:var(--gray);font-size:.88rem;margin-top:16px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.steps article{padding:24px;background:#fff;border:1px solid var(--line);border-radius:16px}.steps b{width:38px;height:38px;border-radius:999px;background:var(--yellow);display:grid;place-items:center;font-size:1.1rem}.steps h3{margin:14px 0 6px}.steps p{color:var(--gray);margin:0}
.trip-example{min-height:220px}.trip-example__icon{font-size:2.5rem}.lead-form{padding:26px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);display:grid;gap:14px}.lead-form h3{margin:0}.lead-form label{display:grid;gap:6px;font-weight:800;font-size:.88rem}.lead-form input,.lead-form select,.lead-form textarea{width:100%;padding:13px;border:1px solid #cfd2d5;border-radius:9px;font:inherit;background:#fff}.lead-form .check{grid-template-columns:auto 1fr;align-items:start;font-weight:600}.lead-form .check input{width:auto;margin-top:4px}.lead-form small{color:var(--gray)}
@media(max-width:1050px){.service-hero__grid{grid-template-columns:1fr}.service-hero__symbol{margin:0;width:190px;height:190px;font-size:5rem}.info-card-grid,.scenario-grid,.steps{grid-template-columns:repeat(2,1fr)}.airport-price-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.service-hero__grid{padding:40px 0;min-height:auto}.service-hero h1{font-size:2.6rem}.content-grid,.two-col,.split-cta{grid-template-columns:1fr}.info-card-grid,.info-card-grid--3,.scenario-grid,.steps,.airport-price-grid{grid-template-columns:1fr}.service-hero__symbol{width:140px;height:140px;font-size:4rem;border-radius:28px}.section{padding:48px 0}}
/* Phase 4: Chemnitz entdecken */
.service-hero--city{background:radial-gradient(circle at 80% 30%,rgba(255,196,0,.24),transparent 28%),linear-gradient(135deg,#f7f7f7,#e8ebee)}
.service-hero--history{background:linear-gradient(135deg,#20252b,#111);color:#fff}.service-hero--history p{color:#ddd}.service-hero--history .service-hero__symbol{background:var(--yellow);color:#111}
.section-title{font-size:clamp(2rem,4vw,3.4rem);margin:.5rem 0 1.8rem;letter-spacing:-.04em}.tour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tour-card{border:1px solid var(--line);border-radius:18px;padding:26px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.05)}.tour-card__icon{font-size:2.4rem;margin-bottom:12px}.tour-card>span{font-size:.78rem;font-weight:900;color:#777;text-transform:uppercase;letter-spacing:.07em}.tour-card h3{font-size:1.45rem;margin:.4rem 0}.tour-card a{font-weight:900;border-bottom:3px solid var(--yellow)}.city-story{display:grid;grid-template-columns:1.35fr .65fr;gap:30px;align-items:start}.city-story h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;margin:.5rem 0 1rem}.city-fact{background:#161616;color:#fff;border-radius:18px;padding:28px;display:grid;grid-template-columns:auto 1fr;gap:10px 18px}.city-fact strong{color:var(--yellow);font-size:1.5rem}.city-fact span{align-self:center;color:#ddd}.tour-detail-grid{display:grid;gap:22px}.tour-detail{border:1px solid var(--line);border-radius:20px;padding:30px;background:#fff;box-shadow:0 12px 32px rgba(0,0,0,.05)}.tour-detail__head{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.tour-no{font-size:2.3rem;font-weight:950;color:#c5c5c5}.tour-detail h2{font-size:clamp(1.7rem,3vw,2.6rem);margin:.25rem 0}.tour-price{text-align:right;font-size:2rem;font-weight:950;background:var(--yellow);padding:12px 16px;border-radius:14px;line-height:1}.tour-price small{display:block;font-size:.68rem;margin-top:5px}.route-line{background:#f5f5f5;border-left:5px solid var(--yellow);padding:16px;margin:18px 0;border-radius:0 10px 10px 0}.tour-meta{display:flex;gap:10px;flex-wrap:wrap}.tour-meta span{background:#111;color:#fff;padding:7px 10px;border-radius:999px;font-size:.78rem}.notice-box{border:1px solid #ddd;border-radius:18px;background:#fff;padding:28px}.timeline{position:relative;display:grid;gap:0}.timeline:before{content:"";position:absolute;left:96px;top:0;bottom:0;width:3px;background:var(--yellow)}.timeline article{display:grid;grid-template-columns:80px 1fr;gap:38px;padding:0 0 34px;position:relative}.timeline article>span{font-weight:950;font-size:1.05rem;text-align:right;padding-top:5px}.timeline article>div:before{content:"";position:absolute;left:89px;top:8px;width:17px;height:17px;background:#111;border:4px solid var(--yellow);border-radius:50%}.timeline h2{margin:0 0 7px}.timeline p{margin:0;color:#555}.cta-box{background:#151515;color:#fff;border-radius:18px;padding:26px}.cta-box p{color:#ccc}.split-cta{display:grid;grid-template-columns:1fr .65fr;gap:26px;align-items:start}
@media(max-width:900px){.tour-grid,.city-story,.tour-detail__head{grid-template-columns:1fr}.tour-price{text-align:left;width:max-content}.timeline:before{left:14px}.timeline article{grid-template-columns:1fr;padding-left:42px}.timeline article>span{text-align:left}.timeline article>div:before{left:6px}.split-cta{grid-template-columns:1fr}}
/* Phase 5: Buchung + Tarifrechner */
.calc-layout,.booking-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:24px;align-items:start}.calculator-card,.master-booking-form,.booking-side,.tariff-facts,.booking-success{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 12px 34px rgba(0,0,0,.06)}.calculator-card h2,.master-booking-form h2,.tariff-facts h2,.booking-side h2{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid label,.master-booking-form>label,.dynamic-fields>label{display:grid;gap:7px;font-weight:850;font-size:.9rem}.form-grid input,.form-grid select,.master-booking-form textarea,.dynamic-fields input,.dynamic-fields select{width:100%;min-height:48px;border:1px solid #cfd3d6;border-radius:10px;padding:11px 12px;background:#fff;font:inherit}.master-booking-form textarea{min-height:110px}.check-row{display:flex!important;align-items:flex-start;gap:10px;margin:16px 0;font-weight:700!important}.check-row input{width:auto!important;margin-top:3px}.form-alert{padding:14px 16px;border-radius:10px;margin-bottom:14px}.form-alert--error{background:#fff0f0;border:1px solid #e5a7a7;color:#8a1f1f}.calc-result{margin-top:26px;background:#151515;color:#fff;border-radius:22px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.calc-result p{color:#ccc}.calc-price{display:block;font-size:clamp(3.2rem,8vw,6rem);line-height:.95;color:var(--yellow)}.calc-breakdown{display:grid;gap:8px}.calc-breakdown span{display:flex;justify-content:space-between;border-bottom:1px solid #3d3d3d;padding:10px 0}.tariff-facts ul{padding-left:20px;color:#555}.service-choice{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.service-choice label{border:1px solid var(--line);border-radius:12px;padding:11px;display:flex;gap:7px;align-items:center;font-weight:850;background:#fafafa}.form-section{padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid var(--line)}.form-section:last-child{border-bottom:0;margin-bottom:0}.dynamic-fields{display:none;background:#f6f6f6;border-left:5px solid var(--yellow);padding:20px;border-radius:0 14px 14px 0;margin-bottom:22px}.dynamic-fields.is-active{display:block}.dynamic-fields h3{margin-top:0}.field-note{font-size:.88rem;color:#555;margin-bottom:0}.booking-side{position:sticky;top:125px}.booking-side hr{border:0;border-top:1px solid var(--line);margin:24px 0}.booking-success{text-align:center}.booking-success>span{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:var(--yellow);font-size:2.2rem;font-weight:950;margin:0 auto 16px}.booking-success h2{font-size:2.2rem}.booking-success p{color:#555}.booking-success strong{color:#111}.tariff-source{font-size:.82rem;color:#666}
@media(max-width:900px){.calc-layout,.booking-layout,.calc-result{grid-template-columns:1fr}.booking-side{position:static}.service-choice{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.form-grid,.service-choice{grid-template-columns:1fr}.calculator-card,.master-booking-form,.booking-side,.tariff-facts{padding:20px}}
/* Phase 6: Flughafen-Automatisierung + Kundenkonto */
.auth-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:start}.auth-grid .master-booking-form{display:grid;gap:16px}.auth-grid .master-booking-form>label{display:grid;gap:7px;font-weight:850;font-size:.9rem}.auth-grid .master-booking-form input,.auth-grid .master-booking-form textarea{width:100%;min-height:48px;border:1px solid #cfd3d6;border-radius:10px;padding:11px 12px;background:#fff;font:inherit}.account-types{grid-template-columns:repeat(2,1fr)}.account-head{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:28px;border-radius:20px;background:linear-gradient(135deg,#fff8cf,#fff);border:1px solid #eadb92;margin-bottom:24px}.account-head h2{font-size:clamp(2rem,4vw,3.2rem);margin:.45rem 0}.account-head p{margin:.25rem 0;color:#555}.account-actions{display:flex;gap:10px;flex-wrap:wrap}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.account-title{margin-top:42px}.booking-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}.booking-table{width:100%;border-collapse:collapse;min-width:860px}.booking-table th,.booking-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}.booking-table th{background:#151515;color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.booking-table tr:last-child td{border-bottom:0}.booking-table a{font-weight:850;border-bottom:2px solid var(--yellow)}.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fff4be;font-size:.76rem;font-weight:900;text-transform:uppercase}.side-price{display:flex;justify-content:space-between;gap:12px;margin:0;padding:10px 0;border-bottom:1px solid var(--line)}.side-price strong{background:var(--yellow);padding:3px 7px;border-radius:8px}.review-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 14px 36px rgba(0,0,0,.07)}.review-card h2{font-size:clamp(2rem,4vw,3rem);margin:.5rem 0 1rem}.review-warning{padding:16px 18px;border-radius:12px;background:#fff4be;border-left:5px solid var(--yellow);margin-bottom:22px}.review-list{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:0 0 24px}.review-list>div{display:grid;grid-template-columns:160px 1fr;gap:14px;padding:15px 16px;border-bottom:1px solid var(--line)}.review-list>div:nth-child(odd){border-right:1px solid var(--line)}.review-list>div:nth-last-child(-n+2){border-bottom:0}.review-list dt{font-size:.78rem;font-weight:900;text-transform:uppercase;color:#777}.review-list dd{margin:0;font-weight:750}.final-check{padding:16px;background:#f7f7f7;border-radius:12px}.review-actions{display:flex;gap:12px;flex-wrap:wrap}.confirmation-sheet{max-width:900px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 16px 42px rgba(0,0,0,.08)}.confirmation-head{display:flex;justify-content:space-between;gap:30px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:22px}.confirmation-head h1{font-size:clamp(2.4rem,6vw,4.5rem);margin:.4rem 0 0}.confirmation-head img{width:300px;max-width:40%}.confirmation-price{font-size:clamp(2.4rem,6vw,4.5rem);font-weight:950;background:var(--yellow);padding:18px 22px;border-radius:16px;margin-bottom:24px;line-height:1}.confirmation-price small{display:block;font-size:.85rem;margin-top:8px;font-weight:800}.print-button{margin-top:18px}
@media(max-width:900px){.auth-grid,.account-grid{grid-template-columns:1fr}.account-head{align-items:flex-start;flex-direction:column}.review-list{grid-template-columns:1fr}.review-list>div:nth-child(odd){border-right:0}.review-list>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.review-list>div:last-child{border-bottom:0}.confirmation-head{flex-direction:column}.confirmation-head img{max-width:100%}}
@media(max-width:620px){.review-list>div{grid-template-columns:1fr}.review-card,.confirmation-sheet{padding:20px}.account-actions{width:100%}.account-actions .btn{flex:1}}
@media print{.topbar,.header,.footer,.mobile-cta,.print-button{display:none!important}.section{padding:0}.confirmation-sheet{box-shadow:none;border:0;max-width:none}.container{width:100%}}
/* Phase 7: Werbung & Partnerverwaltung */
.ad-rotation{min-width:0}.ad-card{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 12px 32px rgba(0,0,0,.08);min-height:116px}.ad-card img,.ad-card__placeholder{width:84px;height:84px;border-radius:12px;object-fit:cover;background:linear-gradient(135deg,var(--yellow),#fff3a4);display:grid;place-items:center;font-size:1.7rem;font-weight:950}.ad-card strong{display:block;font-size:1rem}.ad-card p{margin:.3rem 0;color:#666;font-size:.8rem}.ad-card a{font-size:.8rem;font-weight:900;border-bottom:2px solid var(--yellow)}.ad-label{display:inline-block;font-size:.63rem;text-transform:uppercase;letter-spacing:.08em;color:#777;margin-bottom:3px}.ad-card--empty{border-style:dashed;box-shadow:none;background:#fafafa}.ad-rail{position:fixed;top:240px;width:190px;z-index:20}.ad-rail .ad-card{grid-template-columns:1fr;text-align:center}.ad-rail .ad-card img,.ad-rail .ad-card__placeholder{width:100%;height:90px}.ad-rail--left{left:12px}.ad-rail--right{right:12px}.section--partner{background:#fbfbfb;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.premium-pair{max-width:760px}.premium-pair .ad-card{grid-template-columns:120px 1fr;min-height:150px;border:2px solid #e7d163}.premium-pair .ad-card img,.premium-pair .ad-card__placeholder{width:120px;height:120px}.admin-login{max-width:620px}.admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.admin-head h1{font-size:clamp(2.4rem,5vw,4rem);margin:.3rem 0}.admin-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:start}.admin-grid--werbung{grid-template-columns:minmax(560px,.95fr) minmax(0,1.35fr)}.admin-ad-form{min-width:0}.admin-ad-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-ad-form label{min-width:0}.admin-ad-form input,.admin-ad-form select,.admin-ad-form textarea{min-width:0;box-sizing:border-box}.admin-grid select,.master-booking-form select{width:100%;min-height:48px;border:1px solid #cfd3d6;border-radius:10px;padding:11px 12px;background:#fff;font:inherit}.inline-form{display:inline-flex;margin:8px 0 0}.inline-form .btn{min-height:36px;padding:0 10px;font-size:.75rem}.form-alert:not(.form-alert--error){background:#effbe9;border:1px solid #aed69e;color:#295c1c;padding:14px 16px;border-radius:10px;margin-bottom:14px}code{background:#eee;padding:2px 5px;border-radius:5px}
@media(max-width:1760px){.ad-rail{display:none}}
@media(max-width:1250px){.admin-grid--werbung{grid-template-columns:1fr}.admin-grid--werbung .booking-table-wrap{margin-top:0}}
@media(max-width:1000px){.admin-grid{grid-template-columns:1fr}.premium-pair .ad-card{grid-template-columns:90px 1fr}.premium-pair .ad-card img,.premium-pair .ad-card__placeholder{width:90px;height:90px}}
.notice--error{border-left-color:#b42318;background:#fff4f2}.form-card{background:#fff;border:1px solid var(--line,#ddd);border-radius:18px;padding:24px;box-shadow:0 12px 30px rgba(0,0,0,.06)}.form-card h3{margin-top:28px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.form-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700}.form-grid input,.form-grid select{width:100%;padding:12px 14px;border:1px solid #cfcfcf;border-radius:10px;font:inherit;background:#fff}.span-2{grid-column:span 2}.check{display:block;margin:14px 0;font-weight:600}@media(max-width:720px){.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}}

/* Phase 8: accessibility, legal pages and consent */
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:9999;background:#111;color:#fff;padding:.8rem 1rem;border-radius:.5rem}.skip-link:focus{top:1rem}
.content-narrow{max-width:860px}.legal-copy h2{margin-top:2rem}.legal-copy p{line-height:1.75}.notice{margin:2rem 0;padding:1rem 1.2rem;border-radius:.8rem;background:#f4f4f4;border-left:4px solid #FFC400}.notice--warning{background:#fff8df}
.link-button{background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.button-row{display:flex;gap:.75rem;flex-wrap:wrap}.muted{opacity:.72}
.consent[hidden]{display:none}.consent{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.55);display:grid;place-items:end center;padding:1rem}.consent__dialog{width:min(760px,100%);background:#fff;border-radius:1rem;padding:1.4rem;box-shadow:0 18px 60px rgba(0,0,0,.3)}.consent__dialog h2{margin-top:0}.consent__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.consent__legal{font-size:.9rem;margin-bottom:0}
:focus-visible{outline:3px solid #FFC400;outline-offset:3px}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Phase 10: responsive photo system */
.service-hero__photo{display:block;width:100%;max-width:560px;margin-left:auto;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);background:#ddd;aspect-ratio:3/2}.service-hero__photo img{width:100%;height:100%;object-fit:cover}.hero__visual--photo{min-height:420px}.hero-photo{display:block;width:100%;border-radius:24px;overflow:hidden;box-shadow:0 22px 44px rgba(0,0,0,.18)}.hero-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.content-photo{margin:0;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);background:#eee}.content-photo--wide{max-width:1180px;margin-inline:auto}.content-photo__picture{display:block}.content-photo img{width:100%;height:auto;display:block}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.feature--airport,.feature--trips,.feature--city{background-size:cover;background-position:center}.feature--airport{background-image:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.82)),url('../img/web/06-flughafen-1200.webp')}.feature--trips{background-image:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.82)),url('../img/web/09-tagesfahrten-1200.webp')}.feature--city{background-image:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.82)),url('../img/web/10-stadtrundfahrt-1200.webp')}.feature--airport:after,.feature--trips:after,.feature--city:after{display:none}@media(max-width:1050px){.service-hero__photo{margin:0;max-width:760px}.image-pair{grid-template-columns:1fr}.hero__visual--photo{min-height:auto}}@media(max-width:760px){.service-hero__photo{border-radius:16px}.hero-photo{border-radius:16px}.content-photo{border-radius:14px}}

/* Phase 14: einheitliche Icons, Formularbedienung und Partnerhinweis */
.ui-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}.service-tile__icon .ui-icon{width:26px;height:26px}.info-card__icon{width:46px;height:46px;border-radius:13px;background:var(--yellow);display:grid;place-items:center;margin-bottom:12px}.info-card__icon .ui-icon{width:25px;height:25px}.btn-icon{width:19px;height:19px;margin-right:8px}.topbar__location{display:inline-flex;align-items:center;gap:7px}.topbar-icon{width:16px;height:16px}.choice-fieldset{border:0;padding:0;margin:20px 0}.choice-fieldset legend{font-weight:800;margin-bottom:10px}.weekday-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.weekday-choice{position:relative}.weekday-choice input{position:absolute;opacity:0;pointer-events:none}.weekday-choice span{display:flex;min-height:46px;align-items:center;justify-content:center;border:1px solid #cfd3d6;border-radius:10px;background:#fff;font-weight:800;cursor:pointer;transition:.15s}.weekday-choice input:checked+span{background:var(--yellow);border-color:#d6a400}.weekday-choice input:focus-visible+span{outline:3px solid var(--yellow2);outline-offset:2px}.partner-strip{border-top:1px solid var(--line);background:#fff;padding:18px 0}.partner-strip__inner{display:flex;align-items:center;justify-content:center;gap:20px}.partner-strip__inner>span{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gray);font-weight:800}.partner-strip img{width:220px;max-height:52px}.notice--success{border-left-color:#2d7a37;background:#f0faef}.form-card input[type=date],.form-card input[type=time]{min-height:48px}.form-card [hidden]{display:none!important}
@media(max-width:820px){.weekday-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-strip__inner{flex-direction:column;gap:8px}.partner-strip img{width:190px}}


/* Phase 15 repair: clear hierarchy, reliable icons, compact calls */
.header__main{grid-template-columns:minmax(280px,1fr) auto auto;min-height:88px}.logo{max-width:380px}.header-call{min-height:42px;padding:0 18px;min-width:112px;font-size:.88rem}.header__phone strong{font-size:1.28rem}.header__phone span{font-size:.74rem}
.ui-icon,.btn-icon,.topbar-icon{object-fit:contain;display:block}.ui-icon{width:28px;height:28px}.btn-icon{width:18px;height:18px}.topbar-icon{width:16px;height:16px}.service-tile__icon{width:48px;height:48px;border-radius:50%;background:#fff7cf;border:2px solid var(--yellow);display:grid;place-items:center;margin-bottom:12px}.service-tile__icon .ui-icon{width:28px;height:28px}.service-tile__arrow{font-size:1.1rem;color:#7a7a7a}.quick-services__grid{gap:12px}.service-tile{min-height:152px;padding:16px}.info-card__icon{background:#fff7cf;border:2px solid var(--yellow);border-radius:50%}.info-card__icon .ui-icon{width:26px;height:26px}
.services-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-overview-card{display:grid;grid-template-columns:64px 1fr;gap:18px;border:1px solid var(--line);border-radius:18px;padding:24px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.05)}.service-overview-card:hover{border-color:#c7c7c7;transform:translateY(-2px)}.service-overview-card__icon{width:58px;height:58px;border-radius:50%;background:#fff7cf;border:2px solid var(--yellow);display:grid;place-items:center}.service-overview-card__icon .ui-icon{width:31px;height:31px}.service-overview-card h2{margin:0 0 6px;font-size:1.25rem}.service-overview-card p{margin:0 0 8px;color:var(--gray)}.text-link{font-weight:850;border-bottom:2px solid var(--yellow)}
.selected-service{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-left:5px solid var(--yellow);border-radius:12px;margin-bottom:22px;background:#fafafa}.selected-service__icon{width:44px;height:44px;border-radius:50%;background:#fff7cf;border:1px solid #e2c458;display:grid;place-items:center}.selected-service__icon .ui-icon{width:25px;height:25px}.selected-service>div{display:grid}.selected-service>div span{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gray);font-weight:800}.selected-service>div strong{font-size:1.05rem}.selected-service>a{margin-left:auto;font-size:.82rem;font-weight:850;border-bottom:2px solid var(--yellow)}
.footer__brand img{width:250px;filter:brightness(2.4)}.footer__phone-link{display:inline-flex;margin-top:8px;padding:9px 13px;border:1px solid #5a5a5a;border-radius:8px;color:#fff!important;font-weight:850;font-size:.9rem}.footer__partner{border-top:1px solid #2d2d2d;padding:18px 0;display:flex;align-items:center;gap:14px}.footer__partner>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#8f8f8f;font-weight:800}.footer__partner img{width:150px;max-height:42px;object-fit:contain}.mobile-cta a{font-size:.95rem;font-weight:850}.partner-strip{display:none!important}
@media(max-width:1180px){.header__main{grid-template-columns:1fr auto}.header__phone{display:none}.header-call{min-width:100px}.services-overview{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.header__main{min-height:78px;gap:12px}.logo{max-width:260px}.header-call{display:none}.services-overview{grid-template-columns:1fr}.service-overview-card{grid-template-columns:52px 1fr;padding:18px}.service-overview-card__icon{width:48px;height:48px}.footer__partner{justify-content:center;flex-wrap:wrap}.footer__partner img{width:135px}.selected-service{align-items:flex-start}.selected-service>a{margin-left:0}.selected-service{flex-wrap:wrap}}
.footer__partner a{display:inline-flex;align-items:center;background:#fff;border-radius:8px;padding:6px 10px}.footer__partner a:hover{background:#f5f5f5}.footer__partner img{filter:none!important}

/* Phase 16: kompakter Desktop + echte Plakatwerbung */
@media (min-width: 901px){
  :root{--max:1280px}
  .topbar__inner{min-height:28px}.topbar{font-size:.75rem}
  .header__main{min-height:72px;gap:18px}.logo{max-width:330px}.header__phone strong{font-size:1.2rem}.header__phone span{font-size:.72rem}
  .nav__inner{min-height:44px}.nav__links a{font-size:.84rem;padding:7px 9px}.nav .btn{min-height:36px;padding-inline:16px;font-size:.84rem}
  .header-call{min-height:38px;padding-inline:16px;font-size:.86rem}
  .service-hero__grid{min-height:250px;grid-template-columns:1.45fr .55fr;gap:28px;padding:24px 0}
  .service-hero h1{font-size:clamp(2.25rem,3.5vw,3.6rem);margin:8px 0 10px;line-height:1}
  .service-hero p{font-size:.98rem;line-height:1.45;margin:.45rem 0}
  .service-hero__photo{max-width:340px;border-radius:16px;aspect-ratio:16/10}
  .kicker{font-size:.68rem}.kicker:before{width:24px;height:3px}
  .section{padding:34px 0}
  .calc-layout,.booking-layout{gap:16px;grid-template-columns:1.5fr .5fr}
  .calculator-card,.master-booking-form,.booking-side,.tariff-facts,.booking-success{padding:20px;border-radius:14px}
  .calculator-card h2,.master-booking-form h2,.tariff-facts h2,.booking-side h2{font-size:1.35rem;margin-bottom:12px}
  .form-grid{gap:10px}.form-grid label,.master-booking-form>label,.dynamic-fields>label{gap:5px;font-size:.82rem}
  .form-grid input,.form-grid select,.master-booking-form textarea,.dynamic-fields input,.dynamic-fields select{min-height:42px;padding:8px 10px;border-radius:8px;font-size:.9rem}
  .check-row{margin:11px 0;font-size:.85rem}.calculator-card .btn--xl{min-height:44px;font-size:.92rem;padding-inline:20px}
  .form-hint{font-size:.76rem;margin:.55rem 0 0}.tariff-facts p,.tariff-facts li{font-size:.86rem}
  .calc-result{margin-top:14px;border-radius:14px;padding:20px;gap:18px}.calc-result h2{font-size:1.35rem;margin:.25rem 0}.calc-result p{font-size:.84rem;margin:.45rem 0}.calc-price{font-size:clamp(2.6rem,4vw,3.9rem)}.calc-breakdown span{padding:7px 0;font-size:.86rem}
  .notice{padding:14px 16px;border-radius:10px}.notice strong{font-size:.92rem}.notice p{font-size:.82rem}
  .footer__grid{padding:30px 0 20px;gap:24px}.footer__brand img{width:250px}.footer__brand p,.footer li{font-size:.82rem}.footer__bottom{padding:12px 0}.footer__partner{padding:12px 0}
}

/* Seitenwerbung: Plakatformat 2:3, ohne zusätzliche Textboxen. */
.ad-rail{top:162px;width:210px;z-index:18}
.ad-rail--left{left:10px}.ad-rail--right{right:10px}
.ad-rail .ad-card{display:block;padding:0;min-height:0;overflow:hidden;border-radius:12px;border:1px solid #d9d9d9;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.ad-rail .ad-card__image-link{display:block}
.ad-rail .ad-card img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:0;background:#fff}
.ad-rail .ad-card__copy{display:none}
.ad-rail .ad-card--empty{padding:12px;text-align:center}
.ad-rail .ad-card--empty .ad-card__copy{display:block}
.ad-rail .ad-card--empty .ad-card__placeholder{width:100%;height:76px;border-radius:8px;margin-bottom:8px}
.ad-rotation .ad-card{transition:opacity .22s ease}
@media(max-width:1740px){.ad-rail{display:none}}

/* Phase 17: Desktop-Dichte nach Zielentwurf */
@media (min-width: 1181px){
  :root{--max:1120px}
  .topbar{font-size:.7rem}.topbar__inner{min-height:24px}
  .header__main{min-height:58px;gap:14px}.logo{max-width:275px}.header__phone strong{font-size:1rem}.header__phone span{font-size:.66rem}.header-call{min-height:34px;padding-inline:14px;font-size:.8rem}
  .nav__inner{min-height:38px}.nav__links a{font-size:.76rem;padding:6px 8px}.nav .btn{min-height:32px;padding-inline:13px;font-size:.78rem}
  .header{box-shadow:0 3px 12px rgba(0,0,0,.05)}
  .footer__grid{padding:22px 0 14px;gap:18px}.footer__brand img{width:190px}.footer__brand p,.footer li{font-size:.74rem}.footer__phone-link{font-size:.76rem;padding:6px 9px}.footer h3{font-size:.7rem}.footer__partner{padding:8px 0}.footer__partner img{width:120px}.footer__bottom{padding:8px 0;font-size:.7rem}
}

/* Seitenplakate: deutlich sichtbar, aber außerhalb des Inhalts. */
@media (min-width: 1600px){
  .ad-rail{display:block!important;position:fixed;top:132px;width:238px;z-index:18}
  .ad-rail--left{left:max(10px,calc((100vw - 1650px)/2))}.ad-rail--right{right:max(10px,calc((100vw - 1650px)/2))}
  .ad-rail .ad-card{border-radius:9px;box-shadow:0 8px 24px rgba(0,0,0,.16)}
  .ad-rail .ad-card img{aspect-ratio:2/3;width:100%;height:auto;object-fit:cover}
}
@media (min-width: 1600px) and (max-height: 850px){.ad-rail{top:112px;width:205px}}
@media (max-width:1599px){.ad-rail{display:none!important}}

/* Startseite: keine riesige Hero-Fläche mehr. */
@media (min-width: 901px){
  .home-page .hero__grid--home{min-height:285px;grid-template-columns:1.12fr .88fr;gap:22px;padding:22px 0}
  .home-page .hero h1{font-size:clamp(2.35rem,3.3vw,3.5rem);line-height:.98;margin:8px 0 10px;letter-spacing:-.04em}
  .home-page .hero__lead{font-size:.88rem;line-height:1.42;max-width:620px;margin:.35rem 0}
  .home-page .hero__actions{margin-top:12px;gap:8px}.home-page .hero__actions .btn--xl{min-height:40px;font-size:.86rem;padding-inline:17px}
  .home-page .trustline{margin-top:10px;gap:12px;font-size:.76rem}.home-page .trustline span:before{width:18px;height:18px}
  .home-page .hero__visual--photo{min-height:245px}.home-page .hero-photo{border-radius:14px}.home-page .hero-photo img{aspect-ratio:16/10}
  .home-page .quick-services__grid{padding:10px 0;gap:7px}.home-page .service-tile{min-height:108px;padding:10px}.home-page .service-tile__icon{width:34px;height:34px;margin-bottom:6px}.home-page .service-tile strong{font-size:.78rem}.home-page .service-tile small{font-size:.67rem}.home-page .service-tile__arrow{font-size:1.1rem}
  .home-page .section{padding:25px 0}.home-page .booking-card,.home-page .fare-card{padding:18px}.home-page .booking-card h2,.home-page .fare-card h2{font-size:1.35rem}.home-page .booking-card__fields{margin:11px 0;gap:7px}.home-page .booking-card__fields div{padding:9px;font-size:.76rem}
  .home-page .info-card-grid{gap:10px}.home-page .info-card{padding:16px;min-height:0}.home-page .info-card h3{font-size:1rem;margin:.35rem 0}.home-page .info-card p{font-size:.78rem;line-height:1.42}
  .home-page .feature-grid{gap:10px}.home-page .feature{min-height:230px;padding:18px}.home-page .feature h2{font-size:1.35rem}.home-page .feature p{font-size:.78rem;line-height:1.4}
  .home-page .content-photo--wide{max-width:760px}.home-page .info-panel{padding:18px}.home-page .info-panel h2{font-size:1.3rem}.home-page .info-panel p{font-size:.8rem}
  .home-page .ad-showcase{gap:14px}.home-page .ad-showcase h2{font-size:1.35rem}.home-page .ad-showcase p{font-size:.8rem}.home-page .ad-slots{gap:10px}.home-page .ad-slot{height:120px;padding:14px}
}

/* Tarifrechner: kompakte Arbeitsfläche statt langer Service-Seite. */
.page-tariff .footer{margin-top:0}.tariff-main{background:#f4f5f6}.tariff-compact-section{padding:18px 0 22px}.tariff-titlebar{background:#fff;border:1px solid var(--line);border-radius:14px 14px 0 0;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.tariff-titlebar h1{font-size:1.75rem;line-height:1.05;margin:4px 0}.tariff-titlebar p{font-size:.82rem;color:var(--gray);margin:0}.tariff-titlebar__badges{display:flex;gap:8px;flex-wrap:wrap}.tariff-titlebar__badges span{background:#fff4bd;border:1px solid #f1d460;border-radius:8px;padding:8px 10px;font-size:.72rem;font-weight:800}.tariff-workspace{display:grid;grid-template-columns:1.45fr .55fr;gap:10px;background:#fff;border:1px solid var(--line);border-top:0;padding:12px 14px 14px;border-radius:0 0 14px 14px}.calculator-card--compact{box-shadow:none;border:0;padding:0;border-radius:0}.tariff-form-grid{grid-template-columns:1fr 1fr 1fr 1fr;gap:8px}.tariff-form-grid label:first-child,.tariff-form-grid label:nth-child(2){grid-column:span 2}.tariff-form-grid .tariff-wait{grid-column:span 1}.tariff-form-grid label{font-size:.74rem!important;gap:4px!important}.tariff-form-grid input{min-height:38px!important;padding:7px 9px!important;font-size:.82rem!important}.tariff-actions-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.tariff-actions-row .check-row{margin:0;font-size:.74rem}.tariff-submit{min-height:40px;padding:0 18px;font-size:.82rem}.calculator-card--compact .form-hint{font-size:.66rem;margin:6px 0 0}.tariff-visual-card{position:relative;border-radius:10px;overflow:hidden;min-height:180px;background:#222}.tariff-visual-card picture,.tariff-visual-card img{display:block;width:100%;height:100%}.tariff-visual-card img{object-fit:cover}.tariff-visual-card__copy{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.8));display:grid}.tariff-visual-card__copy strong{font-size:.82rem}.tariff-visual-card__copy span{font-size:.68rem}.calc-result--compact{margin-top:10px;padding:14px 16px;border-radius:12px;grid-template-columns:1.25fr .75fr .9fr;gap:14px;min-height:0}.calc-result--compact .kicker{font-size:.6rem}.calc-result__price-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.calc-result__price-row small{display:block;color:#ccc;font-size:.68rem}.calc-result--compact .calc-price{font-size:2.55rem;line-height:.95}.calc-route-summary{display:grid;text-align:right}.calc-route-summary b{font-size:1.1rem;color:#fff}.calc-route-summary span{font-size:.68rem;color:#bbb}.calc-route-label{font-size:.66rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:7px 0 0!important}.calc-breakdown--compact{gap:0}.calc-breakdown--compact span{padding:5px 0;font-size:.72rem}.calc-disclaimer{align-self:stretch;background:#2a2a2a;border-radius:9px;padding:10px 12px;display:grid;align-content:center;gap:4px}.calc-disclaimer strong{font-size:.78rem;color:var(--yellow)}.calc-disclaimer span{font-size:.67rem;color:#ccc;line-height:1.35}
@media (min-width:1181px){.page-tariff .header{position:sticky}.page-tariff .tariff-compact-section{min-height:calc(100vh - 120px)}}
@media (max-width:900px){.tariff-titlebar{align-items:flex-start;flex-direction:column}.tariff-titlebar__badges{display:none}.tariff-workspace{grid-template-columns:1fr}.tariff-visual-card{display:none}.tariff-form-grid{grid-template-columns:1fr 1fr}.tariff-form-grid label:first-child,.tariff-form-grid label:nth-child(2){grid-column:span 2}.tariff-actions-row{align-items:stretch;flex-direction:column}.calc-result--compact{grid-template-columns:1fr}.calc-route-label{white-space:normal}}

/* Phase 18: Symmetrie, vollstaendige Seitenplakate und sauberer Footer. */
@media (min-width:1181px){
  :root{--max:1080px}
  .topbar__inner{min-height:22px}
  .header__main{min-height:52px;grid-template-columns:minmax(250px,1fr) auto auto;gap:12px}
  .logo{max-width:245px}
  .header__phone strong{font-size:.92rem}.header__phone span{font-size:.61rem}
  .header-call{min-height:31px;padding-inline:13px;font-size:.74rem;border-radius:7px}
  .nav__inner{min-height:34px}.nav__links a{font-size:.71rem;padding:5px 7px}.nav .btn{min-height:29px;padding-inline:12px;font-size:.72rem;border-radius:7px}
}

/* Die Plakate bleiben immer komplett sichtbar. Kein Beschneiden, kein Cover-Zoom. */
@media (min-width:1600px){
  .ad-rail{
    display:block!important;
    position:fixed;
    top:116px;
    width:clamp(168px,10.9vw,210px);
    z-index:42;
  }
  .ad-rail--left{left:16px}.ad-rail--right{right:16px}
  .ad-rail .ad-card{width:100%;aspect-ratio:2/3;overflow:hidden;border-radius:10px;background:#fff;border:1px solid #d7d7d7;box-shadow:0 8px 22px rgba(0,0,0,.14)}
  .ad-rail .ad-card__image-link{display:block;width:100%;height:100%;aspect-ratio:2/3;background:#fff}
  .ad-rail .ad-card img{display:block;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;background:#fff;border-radius:0}
}
@media (min-width:1600px) and (max-height:760px){
  .ad-rail{top:108px;width:min(184px,calc((100vh - 126px) * .6667))}
}
@media (min-width:1600px) and (max-height:650px){
  .ad-rail{top:104px;width:min(162px,calc((100vh - 116px) * .6667))}
}

/* Footer-Logo: Original-Proportion, keine Helligkeits-/Streckfilter. */
.footer__logo-box{width:210px;max-width:100%;background:#fff;border-radius:10px;padding:7px 9px;display:inline-block}
.footer__brand .footer__logo-box img{display:block;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;filter:none!important}
@media (min-width:1181px){.footer__logo-box{width:178px;padding:6px 8px}}

/* Tarifrechner noch flacher, Ergebnis in derselben Arbeitszone. */
@media (min-width:901px){
  .tariff-compact-section{padding:11px 0 16px}
  .tariff-titlebar{padding:10px 13px;border-radius:11px 11px 0 0}
  .tariff-titlebar h1{font-size:1.52rem;margin:2px 0 3px}
  .tariff-titlebar p{font-size:.73rem}
  .tariff-titlebar__badges span{padding:6px 8px;font-size:.66rem}
  .tariff-workspace{padding:9px 11px 10px;gap:9px;border-radius:0 0 11px 11px;grid-template-columns:1.52fr .48fr}
  .tariff-form-grid{gap:6px}.tariff-form-grid label{font-size:.69rem!important}.tariff-form-grid input{min-height:34px!important;padding:5px 8px!important;font-size:.76rem!important}
  .tariff-actions-row{margin-top:6px}.tariff-actions-row .check-row{font-size:.68rem}.tariff-submit{min-height:35px;font-size:.76rem;padding-inline:15px}
  .calculator-card--compact .form-hint{font-size:.61rem;margin-top:4px}
  .tariff-visual-card{min-height:148px}
  .calc-result--compact{margin-top:7px;padding:10px 13px;gap:11px;border-radius:10px}
  .calc-result--compact .calc-price{font-size:2.18rem}.calc-route-summary b{font-size:.95rem}.calc-breakdown--compact span{font-size:.67rem;padding:4px 0}.calc-disclaimer{padding:8px 10px}.calc-disclaimer strong{font-size:.71rem}.calc-disclaimer span{font-size:.61rem}
}

/* Phase 19: konsequent kompakte Typografie und kurze Seiten */
@media (min-width: 901px){
  /* Allgemeine Überschriften deutlich weniger dominant */
  .service-hero__grid{min-height:190px;grid-template-columns:1.55fr .45fr;gap:22px;padding:16px 0}
  .service-hero h1{font-size:clamp(1.75rem,2.25vw,2.45rem);line-height:1.04;letter-spacing:-.028em;margin:5px 0 7px;max-width:760px}
  .service-hero p{font-size:.84rem;line-height:1.38;margin:.25rem 0;max-width:740px}
  .service-hero__photo{max-width:270px;aspect-ratio:16/10;border-radius:12px}
  .service-hero .hero__actions{margin-top:9px;gap:7px}
  .service-hero .btn--xl{min-height:36px;padding-inline:14px;font-size:.78rem;border-radius:8px}

  /* Startseite: kompakter, aber weiterhin als Startseite erkennbar */
  .home-page .hero__grid--home{min-height:230px;padding:15px 0;gap:18px}
  .home-page .hero h1{font-size:clamp(2rem,2.7vw,2.8rem);line-height:1.01;margin:5px 0 7px;letter-spacing:-.032em;max-width:650px}
  .home-page .hero__lead{font-size:.8rem;line-height:1.36;margin:.2rem 0;max-width:610px}
  .home-page .hero__actions{margin-top:8px}
  .home-page .hero__visual--photo{min-height:205px}
  .home-page .trustline{margin-top:7px;font-size:.7rem}

  /* Inhaltsseiten / Standardbereiche */
  .section{padding:24px 0}
  .section h2,
  .booking-card h2,.fare-card h2,.feature h2,.partner-grid h2,.ad-showcase h2,
  .info-panel h2,.split-cta h2,.info-card-grid + h2{font-size:clamp(1.2rem,1.7vw,1.55rem);line-height:1.12;margin:.22rem 0 .42rem}
  .section h3,.info-card h3,.cta-box h3{font-size:1rem;line-height:1.18;margin:.25rem 0 .35rem}
  .section p,.info-panel p,.info-card p,.cta-box p{font-size:.8rem;line-height:1.42}
  .kicker{font-size:.62rem;letter-spacing:.09em}
  .kicker:before{width:20px;height:3px}

  /* Karten insgesamt flacher */
  .info-panel,.info-card,.cta-box,.booking-card,.fare-card,.partner-card,.ad-partner{padding:15px 16px;border-radius:12px}
  .info-card-grid,.two-col,.feature-grid,.partner-grid,.booking-row{gap:10px}
  .info-card{min-height:0}
  .feature{min-height:190px;padding:15px}

  /* Buchungsseite */
  .master-booking-form,.booking-side{padding:16px}
  .master-booking-form h2,.booking-side h2{font-size:1.18rem;margin:.2rem 0 .5rem}
  .booking-layout{gap:10px}
  .booking-side h3{font-size:.95rem;margin:.2rem 0}
  .booking-side p{font-size:.76rem;line-height:1.35}

  /* Leistungsübersicht */
  .services-page .section,.page-services .section{padding:20px 0}
  .services-page h1,.page-services h1{font-size:1.85rem!important}

  /* Tagesfahrten / Flughafen etc. */
  .service-hero + .section{padding-top:20px}

  /* Tarifrechner nochmals kleiner */
  .tariff-compact-section{padding:10px 0 14px}
  .tariff-titlebar{padding:9px 12px;border-radius:10px 10px 0 0}
  .tariff-titlebar h1{font-size:1.38rem;line-height:1.08;margin:2px 0}
  .tariff-titlebar p{font-size:.72rem}
  .tariff-titlebar__badges span{padding:5px 7px;font-size:.64rem}
  .tariff-workspace{padding:9px 10px 10px;gap:8px;border-radius:0 0 10px 10px}
  .tariff-form-grid input{min-height:34px!important;font-size:.76rem!important;padding:5px 7px!important}
  .tariff-form-grid label{font-size:.68rem!important}
  .tariff-submit{min-height:35px;font-size:.75rem;padding:0 14px}
  .tariff-visual-card{min-height:145px}
  .calc-result{margin-top:8px;padding:11px 13px;gap:10px;border-radius:10px}
  .calc-result h2{font-size:1.02rem}
  .calc-price{font-size:2.15rem}
  .calc-result p,.calc-breakdown span{font-size:.72rem}
  .notice{padding:9px 11px}
  .notice strong{font-size:.8rem}.notice p{font-size:.7rem}
}

@media (min-width: 1181px){
  /* Noch etwas weniger Höhe auf Full-HD/Laptop */
  .header__main{min-height:54px}
  .logo{max-width:255px}
  .nav__inner{min-height:34px}
  .nav__links a{font-size:.72rem;padding:5px 7px}
  .nav .btn{min-height:29px;font-size:.72rem}
}

/* Phase 21: Seitenwerbung auch auf normalen Laptop-Desktops sichtbar.
   Die vorherigen Media Queries versteckten die Rails unter 1600 px. */
@media (min-width:1320px){
  .ad-rail{
    display:block!important;
    position:fixed!important;
    top:108px!important;
    width:clamp(118px,calc((100vw - 1090px)/2 - 12px),190px)!important;
    z-index:42!important;
  }
  .ad-rail--left{left:10px!important;right:auto!important}
  .ad-rail--right{right:10px!important;left:auto!important}
  .ad-rail .ad-card{
    display:block!important;
    width:100%!important;
    aspect-ratio:2/3!important;
    min-height:0!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:10px!important;
    background:#fff!important;
    border:1px solid #d7d7d7!important;
    box-shadow:0 8px 22px rgba(0,0,0,.14)!important;
  }
  .ad-rail .ad-card__image-link{
    display:block!important;
    width:100%!important;
    height:100%!important;
    aspect-ratio:2/3!important;
    background:#fff!important;
  }
  .ad-rail .ad-card img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:0!important;
    background:#fff!important;
  }
  .ad-rail .ad-card__copy{display:none!important}
}
@media (min-width:1320px) and (max-height:760px){
  .ad-rail{top:102px!important;width:clamp(110px,9.5vw,158px)!important}
}
@media (max-width:1319px){
  .ad-rail{display:none!important}
}

/* Phase 22: echte Seitenrails wie im Desktop-Mockup.
   Der Inhaltsbereich war bei 1320-1599 px noch zu breit. Dadurch blieb fuer
   die 2:3-Werbeplakate zu wenig Rand und sie wirkten angeschnitten/ueberlagert. */
@media (min-width:1320px){
  :root{--max:960px}

  /* Header bleibt ruhig und symmetrisch, aber nicht breiter als die Content-Achse. */
  .topbar .container,
  .header .container,
  main .container,
  .footer .container{width:min(calc(100% - 28px),var(--max))}

  /* Vollstaendige Hochformat-Plakate in den freien Seitenrinnen. */
  .ad-rail{
    display:block!important;
    position:fixed!important;
    top:118px!important;
    width:clamp(150px,calc((100vw - 960px)/2 - 16px),205px)!important;
    z-index:24!important;
    pointer-events:auto;
  }
  .ad-rail--left{left:10px!important;right:auto!important}
  .ad-rail--right{right:10px!important;left:auto!important}
  .ad-rail .ad-card{
    width:100%!important;
    height:auto!important;
    aspect-ratio:2/3!important;
    overflow:hidden!important;
    border-radius:10px!important;
    background:#fff!important;
    border:1px solid #d7d7d7!important;
    box-shadow:0 10px 26px rgba(0,0,0,.15)!important;
  }
  .ad-rail .ad-card__image-link{
    display:block!important;
    width:100%!important;
    height:100%!important;
  }
  .ad-rail .ad-card img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
  }

  /* Hero/Head-Bereiche etwas schmaler und kuerzer, damit die Seitenrails optisch
     wirklich neben der Seite stehen und nicht wie ueber den Inhalt gelegt wirken. */
  .home-page .hero__grid--home{min-height:210px;padding:12px 0;gap:14px}
  .service-hero__grid{min-height:174px;padding:12px 0;gap:16px}
}

@media (min-width:1320px) and (max-height:760px){
  .ad-rail{top:112px!important;width:clamp(145px,calc((100vw - 960px)/2 - 16px),190px)!important}
}

@media (min-width:1600px){
  .ad-rail{width:205px!important}
}

/* Phase 23: gut lesbarer Hinweis bei Fahrten ausserhalb des Pflichtfahrgebiets */
.calc-result--compact .calc-outside-note{
  grid-column:1 / -1;
  margin:0;
  padding:9px 12px;
  border:1px solid #e2bd32;
  border-left:4px solid var(--yellow);
  border-radius:8px;
  background:#fff7cf;
  color:#171717;
  display:flex;
  align-items:center;
  gap:8px;
  line-height:1.35;
}
.calc-result--compact .calc-outside-note strong{
  color:#171717;
  font-size:.74rem;
  white-space:nowrap;
}
.calc-result--compact .calc-outside-note span{
  color:#292929;
  font-size:.72rem;
  font-weight:650;
}
@media (max-width:900px){
  .calc-result--compact .calc-outside-note{align-items:flex-start;flex-direction:column;gap:2px}
}

/* Phase 24: Seitenwerbung als echte, gut lesbare Plakat-Rails.
   Auf 1366/1440px-Laptops war der Mittelbereich noch zu breit; dadurch waren
   die Plakate zwar technisch komplett, aber praktisch zu klein zum Lesen. */
@media (min-width:1320px){
  /* Hauptinhalt bewusst schmaler; Header/Footer bleiben etwas breiter. */
  main .container{width:min(calc(100% - 24px),820px)!important}
  .topbar .container,.header .container,.footer .container{width:min(calc(100% - 28px),960px)!important}

  /* Die Plakate stehen komplett ausserhalb der Content-Achse und bleiben
     in Originalproportion 2:3. Auf 1366px ca. 235-240px breit = gut lesbar. */
  .ad-rail{
    display:block!important;
    position:fixed!important;
    top:138px!important;
    width:min(240px,calc((100vw - 820px)/2 - 18px))!important;
    min-width:210px!important;
    z-index:22!important;
  }
  .ad-rail--left{left:10px!important;right:auto!important}
  .ad-rail--right{right:10px!important;left:auto!important}
  .ad-rail .ad-card,
  .ad-rail .ad-card__image-link{
    width:100%!important;
    height:auto!important;
    aspect-ratio:2/3!important;
  }
  .ad-rail .ad-card{overflow:hidden!important;border-radius:9px!important;background:#fff!important}
  .ad-rail .ad-card img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#fff!important;
  }

  /* Hero-/Kopfbereiche nicht bis in die Werbeschienen ziehen. */
  .hero--home,.service-hero,.section{overflow:visible}
  .home-page .hero__grid--home{min-height:190px!important;padding:10px 0!important}
  .service-hero__grid{min-height:158px!important;padding:10px 0!important}
}

@media (min-width:1320px) and (max-width:1399px){
  main .container{width:min(calc(100% - 20px),800px)!important}
  .ad-rail{width:min(235px,calc((100vw - 800px)/2 - 16px))!important;min-width:218px!important}
}

@media (min-width:1400px) and (max-width:1599px){
  main .container{width:min(calc(100% - 22px),850px)!important}
  .ad-rail{width:min(250px,calc((100vw - 850px)/2 - 18px))!important;min-width:225px!important}
}

@media (min-width:1600px){
  main .container{width:min(calc(100% - 24px),920px)!important}
  .ad-rail{width:min(275px,calc((100vw - 920px)/2 - 22px))!important;min-width:240px!important}
}

@media (min-width:1320px) and (max-height:760px){
  .ad-rail{top:126px!important;max-width:230px!important}
}

/* Phase 25: Werbeplakate duerfen in den seitlichen Head-Bereich hineinragen.
   Der Header-Inhalt bleibt in einer schmaleren Mittelachse, damit die Plakate
   nicht mehr vom Header ueberdeckt werden. Footer-Kollision wird per JS begrenzt. */
@media (min-width:1320px){
  .topbar .container,.header .container{width:min(calc(100% - 24px),820px)!important}

  .ad-rail{
    display:block!important;
    position:fixed!important;
    top:78px!important;
    width:min(252px,calc((100vw - 820px)/2 - 14px))!important;
    min-width:232px!important;
    z-index:58!important; /* bewusst ueber dem weissen Header-Hintergrund */
    transition:none!important;
  }
  .ad-rail--left{left:10px!important;right:auto!important}
  .ad-rail--right{right:10px!important;left:auto!important}
  .ad-rail .ad-card,
  .ad-rail .ad-card__image-link{
    width:100%!important;
    height:auto!important;
    aspect-ratio:2/3!important;
  }
  .ad-rail .ad-card{overflow:hidden!important;border-radius:9px!important;background:#fff!important;box-shadow:0 10px 28px rgba(0,0,0,.17)!important}
  .ad-rail .ad-card img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center top!important;
    background:#fff!important;
  }
}

@media (min-width:1320px) and (max-width:1399px){
  main .container{width:min(calc(100% - 18px),790px)!important}
  .topbar .container,.header .container{width:min(calc(100% - 20px),800px)!important}
  .ad-rail{width:min(258px,calc((100vw - 800px)/2 - 12px))!important;min-width:238px!important}
}

@media (min-width:1400px) and (max-width:1599px){
  main .container{width:min(calc(100% - 20px),825px)!important}
  .topbar .container,.header .container{width:min(calc(100% - 22px),835px)!important}
  .ad-rail{width:min(266px,calc((100vw - 835px)/2 - 14px))!important;min-width:244px!important}
}

@media (min-width:1600px){
  main .container{width:min(calc(100% - 22px),900px)!important}
  .topbar .container,.header .container{width:min(calc(100% - 24px),930px)!important}
  .ad-rail{top:82px!important;width:min(286px,calc((100vw - 930px)/2 - 18px))!important;min-width:255px!important}
}

@media (min-width:1320px) and (max-height:760px){
  .ad-rail{top:68px!important;width:min(242px,calc((100vw - 800px)/2 - 12px))!important;min-width:224px!important;max-width:none!important}
}

@media (max-width:1319px){.ad-rail{display:none!important}}

/* Phase 26: Admin, Sprachwahl, mobiler Werbeplatz und Partnerbanner */
.language-switch{display:flex;gap:4px;align-items:center;margin-left:4px}.language-switch a{display:inline-grid;place-items:center;min-width:30px;height:30px;border:1px solid #d4d4d4;border-radius:7px;background:#fff;font-size:.72rem;font-weight:900;color:#222}.language-switch a:hover{background:var(--yellow)}
.footer__partner--featured{justify-content:center;gap:22px;padding:20px 0 22px!important}.footer__partner--featured>span{font-size:.78rem}.footer__partner--featured a{padding:9px 16px!important}.footer__partner--featured img{width:min(440px,42vw)!important;max-height:78px!important;height:auto!important}
.mobile-ad-slot{display:none}.admin-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.optional{font-weight:500;color:#777;font-size:.82em}.compact-form{display:grid;gap:12px}.compact-form label{display:grid;gap:5px;font-weight:700}.compact-form input{min-height:42px;border:1px solid #cfcfcf;border-radius:8px;padding:9px 11px;font:inherit}.language-note{margin-top:22px}
[dir="rtl"] body{text-align:right}[dir="rtl"] .nav__links,[dir="rtl"] .hero__actions,[dir="rtl"] .footer__grid,[dir="rtl"] .info-card-grid{direction:rtl}
@media(max-width:1319px){.language-switch{margin-left:auto}}
@media(max-width:760px){
  .language-switch{order:4;width:100%;justify-content:center;padding:4px 0 2px}.language-switch a{min-width:34px;height:28px}
  .mobile-ad-slot{display:block!important;width:min(92vw,340px);margin:12px auto 18px}.mobile-ad-slot .ad-card{border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.12)}.mobile-ad-slot .ad-card__image-link{display:block;aspect-ratio:2/3}.mobile-ad-slot .ad-card img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}.mobile-ad-slot .ad-card__copy{display:none}
  .footer__partner--featured{display:grid!important;justify-items:center;text-align:center;gap:8px}.footer__partner--featured img{width:min(76vw,360px)!important;max-height:72px!important}
}

/* Phase 28: compact flag language selector */
.language-switch--flags{display:flex;align-items:center;gap:7px;white-space:nowrap}
.language-switch--flags a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;border:1px solid rgba(26,26,26,.12);border-radius:7px;background:#fff;text-decoration:none;font-size:19px;line-height:1;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.language-switch--flags a:hover,.language-switch--flags a:focus-visible{border-color:#d6a900;transform:translateY(-1px)}
.language-switch--flags a.is-active{border-color:#1a1a1a;box-shadow:0 0 0 2px #ffc400}
@media (max-width:760px){.language-switch--flags{gap:5px}.language-switch--flags a{width:30px;height:27px;font-size:18px}}

/* Phase 29: echte SVG-Flaggen statt Emoji-Regionalbuchstaben */
.language-switch--flags a{overflow:hidden;padding:0}
.language-switch--flags a img{display:block;width:24px;height:16px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
@media(max-width:760px){.language-switch--flags a img{width:23px;height:15px}}

/* Phase 30: FahrkostenCheck-Verknuepfung */
.fahrkostencheck-section{padding-top:18px!important;padding-bottom:18px!important}
.fahrkostencheck-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:20px 22px;border:1px solid #dce4f4;border-radius:16px;background:linear-gradient(135deg,#f7faff 0%,#fff 72%);box-shadow:0 8px 24px rgba(20,54,110,.07)}
.fahrkostencheck-brand{display:flex;align-items:center;gap:10px;min-width:max-content;font-size:1.22rem;color:#101828}.fahrkostencheck-check{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#2467d8;color:#fff;font-weight:900;font-size:1.7rem;line-height:1}.fahrkostencheck-copy h2{margin:.18rem 0 .35rem;font-size:clamp(1.2rem,1.8vw,1.65rem)}.fahrkostencheck-copy p{margin:0;color:#555;max-width:760px}.fahrkostencheck-btn{background:#0b63e5!important;color:#fff!important;border-color:#0b63e5!important;white-space:nowrap}.fahrkostencheck-btn:hover{background:#084fb8!important;border-color:#084fb8!important}
@media(max-width:900px){.fahrkostencheck-card{grid-template-columns:1fr;gap:13px}.fahrkostencheck-brand{font-size:1.08rem}.fahrkostencheck-btn{justify-self:start}}
@media(max-width:560px){.fahrkostencheck-section{padding-top:12px!important;padding-bottom:12px!important}.fahrkostencheck-card{padding:16px}.fahrkostencheck-check{width:36px;height:36px;font-size:1.4rem}}

/* Phase 31: Stadtrundfahrten-Karten sauber ausrichten */
.tour-grid .tour-card{display:flex;flex-direction:column;min-width:0;height:100%;padding:22px;overflow:hidden}
.tour-grid .tour-card p{margin:.35rem 0 .7rem;color:#555}
.tour-grid .tour-card ul{margin:.45rem 0 1rem;padding-left:1.15rem;flex:1}
.tour-grid .tour-card li{margin:.2rem 0}
.tour-grid .tour-card a{border-bottom:0}
.tour-card__footer{margin-top:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;padding-top:10px;border-top:1px solid var(--line)}
.tour-card__price{display:flex;flex-direction:column;justify-content:center;min-width:0;background:#fff4bd;border:1px solid #f0d15d;border-radius:10px;padding:9px 12px;line-height:1.05}
.tour-card__price strong{font-size:1.45rem;white-space:nowrap}
.tour-card__price span{font-size:.72rem;font-weight:800;color:#4f4f4f;margin-top:3px}
.tour-card__cta{min-height:50px;padding-inline:16px;white-space:nowrap;align-self:stretch}
@media(max-width:1180px){.tour-card__footer{grid-template-columns:1fr}.tour-card__cta{width:100%}}
@media(max-width:900px){.tour-grid .tour-card{padding:20px}.tour-card__footer{grid-template-columns:1fr auto}.tour-card__cta{width:auto}}
@media(max-width:520px){.tour-card__footer{grid-template-columns:1fr}.tour-card__cta{width:100%}}
/* Phase 32: zusätzlicher B2B-Footerbereich */
@media(min-width:1181px){.footer__grid{grid-template-columns:1.35fr repeat(4,1fr)}}

@media(max-width:700px){.admin-ad-form .form-grid{grid-template-columns:1fr}}
