:root{
  --bg:#08090a;--panel:#101213;--panel2:#151718;--text:#f0eee9;--muted:#a5a29b;
  --line:#292b2c;--gold:#d7b778;--gold2:#ead6aa;--cream:#eeeae2;--dark:#121212;
  --max:1180px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
.site-header{position:fixed;z-index:40;top:0;left:0;right:0;height:88px;padding:0 4vw;display:flex;align-items:center;gap:34px;background:linear-gradient(180deg,rgba(5,6,7,.94),rgba(5,6,7,.58));backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.07)}
.brand{display:flex;align-items:center;width:255px;height:72px;flex:0 0 auto;overflow:hidden}.brand img{display:block;width:100%;height:100%;object-fit:contain}
.site-header nav{display:flex;align-items:center;gap:25px;margin-left:auto}
.site-header nav a{font-family:"Avenir Next","Segoe UI",Arial,Helvetica,sans-serif;font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#d2d0ca;transition:color .2s;white-space:nowrap}
.site-header nav a:hover{color:var(--gold)}
.btn{border:1px solid transparent;padding:13px 19px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:700;transition:.2s}
.btn-gold{background:var(--gold);color:#16130e}.btn-gold:hover{background:var(--gold2);transform:translateY(-1px)}
.btn-ghost{border-color:#5b5a56;color:#eee;background:rgba(0,0,0,.2)}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.menu{display:none;background:none;border:0;color:#fff;font-size:25px}
.hero{position:relative;min-height:900px;display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-bg{position:absolute;inset:0;background-image:url("assets/v19-1464822759023-fed622ff2c3b.jpg");background-size:cover;background-position:center 58%;transform:scale(1.03)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,5,6,.86) 0%,rgba(4,5,6,.45) 48%,rgba(4,5,6,.2) 100%),linear-gradient(0deg,rgba(5,6,7,.95),rgba(5,6,7,0) 58%)}
.hero-content{position:relative;z-index:2;width:min(var(--max),90vw);margin:0 auto;padding:155px 0 110px}
.hero-brand{margin:0 0 18px}.hero-brand img{display:block;width:min(600px,78vw);max-width:100%;height:auto;filter:drop-shadow(0 14px 32px rgba(0,0,0,.45))}
.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin:0 0 18px}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(58px,7vw,102px);line-height:.93;letter-spacing:-.045em;margin:0 0 30px;font-weight:500}
.hero h1 span{font-style:italic;color:#d6d2c9}
.lead{max-width:610px;color:#d0cdc5;font-size:18px;margin:0 0 38px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.hero-scroll{position:absolute;z-index:2;right:4vw;bottom:38px;font-size:9px;letter-spacing:.18em;color:#8f8b84;writing-mode:vertical-rl}.hero-scroll span{display:block;width:1px;height:45px;background:var(--gold);margin-top:12px}
.section{max-width:var(--max);margin:auto;padding:120px 30px}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(43px,5vw,70px);line-height:1.02;letter-spacing:-.035em;font-weight:500;margin:0}
h2 em{font-style:italic;color:#aaa69e}
.copy{padding-top:38px}.copy p{color:var(--muted);font-size:16px;margin:0 0 24px}.copy .large{font-size:22px;line-height:1.55;color:#d8d4cc}
.section-head{display:grid;grid-template-columns:1fr .55fr;gap:70px;align-items:end;margin-bottom:52px}.section-head>p{color:var(--muted);margin:0}
.products{border-top:1px solid var(--line)}
.product-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}
.product-card{background:var(--panel);border:1px solid var(--line);overflow:hidden}.product-card:hover{border-color:#55514a}
.product-image{display:block;height:360px;position:relative;background-size:cover;background-position:center}.product-image:after,.feature-image:after,.g:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.62))}
.image-1{background-image:url("assets/v19-1503736334956-4c8f8e92946d.jpg")}
.image-2{background-image:url("assets/v19-1511919884226-fd3cad34687c.jpg")}
.product-image>span{position:absolute;z-index:2;left:24px;bottom:22px;border:1px solid rgba(255,255,255,.5);padding:7px 10px;font-size:9px;letter-spacing:.14em}
.product-body{padding:30px}.tag{font-size:9px;letter-spacing:.17em;color:var(--gold);text-transform:uppercase}.product-body h3{font:600 32px Georgia,serif;margin:10px 0}.product-body p{color:var(--muted);font-size:14px}.specs{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.specs span,.pill-row span{border:1px solid #343638;padding:7px 10px;color:#aaa69f;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.card-bottom{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:25px}.card-bottom strong{font:600 23px Georgia,serif}.card-bottom small{display:block;color:#77736d;font-size:9px;margin-top:4px}.arrow{width:45px;height:45px;border:1px solid #55514a;background:transparent;color:var(--gold);font-size:20px;cursor:pointer}.arrow:hover{background:var(--gold);color:#111}
.route{display:grid;grid-template-columns:.72fr 1.28fr;gap:100px;background:#0b0c0d;max-width:none;padding-left:max(30px,calc((100vw - var(--max))/2 + 30px));padding-right:max(30px,calc((100vw - var(--max))/2 + 30px))}
.route-copy{padding-top:8px}.route-copy>p:last-child{color:var(--muted);max-width:430px;margin-top:30px}
.days{border-top:1px solid var(--line)}.day{display:grid;grid-template-columns:80px 1fr;gap:25px;padding:36px 0;border-bottom:1px solid var(--line)}.day>b{font:500 36px Georgia,serif;color:#55524c}.day span{font-size:9px;letter-spacing:.18em;color:var(--gold)}.day h3{font:600 27px Georgia,serif;margin:7px 0 12px}.day p{color:var(--muted);margin:0;font-size:15px;max-width:720px}.day strong{color:#ddd2bb}
.allinclusive{border-top:1px solid var(--line);background:#0d0f10}
.included-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.included-card,.excluded-card{background:#111415;padding:30px;min-height:195px}.included-card span,.excluded-card span{font-size:24px;color:var(--gold)}.included-card h3,.excluded-card h3{font:600 21px Georgia,serif;margin:10px 0 6px}.included-card p,.excluded-card p{color:var(--muted);font-size:14px;margin:0}.excluded-card{background:#181411}
.premium{max-width:none;background:var(--cream);color:#151515;padding:0}.premium-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:600px}.feature-image{position:relative;background-image:url("assets/v19-1505693416388-ac5ce068fe85.jpg");background-size:cover;background-position:center}.feature-copy{padding:85px 70px;display:flex;flex-direction:column;justify-content:center}.feature-copy .eyebrow{color:#8b6e38}.feature-copy h2{color:#171717}.feature-copy h2 em{color:#77716a}.feature-copy>p:not(.eyebrow){color:#5f5b55;font-size:16px}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.pill-row span{border-color:#c8c1b5;color:#655f57}
.requirements{border-top:1px solid var(--line)}.requirements-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.requirement-card{position:relative;background:var(--panel);border:1px solid var(--line);padding:38px;overflow:hidden}.requirement-number{position:absolute;right:27px;top:20px;color:#3c3d3e;font:600 36px Georgia,serif}.requirement-card h3{font:600 32px Georgia,serif;margin:7px 0 24px}.requirement-card ul{margin:0;padding-left:20px;color:#bbb7af}.requirement-card li{margin:12px 0}.requirement-warning{margin-top:28px;padding:15px 17px;border-left:2px solid var(--gold);background:#191613;color:#bdb7ad;font-size:13px}.requirement-warning strong{color:#e0c58f}
.numbers{max-width:var(--max);margin:auto;padding:70px 30px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.numbers div{display:flex;flex-direction:column}.numbers strong{font:500 50px Georgia,serif}.numbers span{color:#77746d;text-transform:uppercase;font-size:9px;letter-spacing:.16em}.numbers small{grid-column:1/-1;color:#66635d;font-size:10px}
.references{padding-bottom:80px}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:250px 250px;gap:10px}.g{position:relative;background-size:cover;background-position:center}.image-g1{grid-row:span 2;background-image:url("assets/v19-1501785888041-af3ef285b470.jpg")}.image-g2{background-image:url("assets/v19-1464278533981-50106e6176b1.jpg")}.image-g3{background-image:url("assets/v19-1470770841072-f978cf4d019e.jpg")}.image-g4{background-image:url("assets/v19-1530789253388-582c481c54b0.jpg")}
.reviews{border-top:1px solid var(--line)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:48px}.review-grid blockquote{margin:0;padding:30px;background:var(--panel);border:1px solid var(--line);font:500 18px Georgia,serif;color:#ddd}.review-grid cite{display:block;color:var(--gold);font:normal 10px Arial,sans-serif;margin-top:28px;letter-spacing:.06em}
.documents{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;border-top:1px solid var(--line)}.documents-copy>p:not(.eyebrow){color:var(--muted);font-size:16px}.timeline{border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:30px 0;border-bottom:1px solid var(--line)}.timeline-item>b{font:500 30px Georgia,serif;color:var(--gold)}.timeline-item span{font-size:9px;letter-spacing:.16em;color:var(--gold)}.timeline-item h3{font:600 23px Georgia,serif;margin:5px 0}.timeline-item p{color:var(--muted);margin:0;font-size:14px}
.booking-banner{padding:85px max(30px,calc((100vw - var(--max))/2 + 30px));display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(90deg,#15120d,#282117);border-block:1px solid #4a3d2b}.booking-banner h2{color:#eee6d6}
.newsletter{display:grid;grid-template-columns:1fr 1fr;gap:80px}.newsletter p:not(.eyebrow){color:var(--muted)}#newsletterForm{display:flex;gap:8px;align-items:start;flex-wrap:wrap}input,select{width:100%;background:#111314;border:1px solid #343638;color:#eee;padding:14px;outline:none}input:focus,select:focus{border-color:var(--gold)}#newsletterForm input{flex:1;min-width:220px}.newsletter small{width:100%;color:#666;font-size:10px}
.faq{border-top:1px solid var(--line)}.faq details{border-top:1px solid var(--line);padding:23px 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font:600 19px Georgia,serif}.faq details p{color:var(--muted);max-width:850px}
footer{padding:55px max(30px,4vw);border-top:1px solid var(--line);display:flex;align-items:center;gap:45px;flex-wrap:wrap}footer img{width:190px}footer div{display:flex;gap:25px;font-size:11px;margin-left:auto;color:#aaa}.site-header .btn{white-space:nowrap;font-family:"Avenir Next","Segoe UI",Arial,Helvetica,sans-serif;font-weight:600}footer span{width:100%;color:#5f5c56;font-size:10px}
.modal{display:none;position:fixed;z-index:100;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(10px);align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-panel{background:#111314;border:1px solid #3b3c3d;width:min(650px,100%);max-height:90vh;overflow:auto;padding:40px;position:relative}.modal-panel h2{font-size:42px}.close{position:absolute;right:18px;top:10px;background:none;border:0;color:#aaa;font-size:32px;cursor:pointer}.modal-panel label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#aaa;margin:14px 0}.modal-panel input,.modal-panel select{margin-top:7px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex!important;gap:10px;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-size:12px!important}.check input{width:auto;margin:0}.check a{color:var(--gold)}.full{width:100%;margin-top:10px}.muted{color:var(--muted)}.success{border:1px solid #665333;padding:20px;color:#e4d2aa;margin-top:20px}
@media(max-width:950px){.site-header nav{display:none}.header-book{display:none}.menu{display:block;margin-left:auto}.brand{width:210px;height:64px}.hero{min-height:780px}.hero-content{padding:140px 25px 90px}.intro,.route,.documents,.newsletter,.premium-grid{grid-template-columns:1fr;gap:40px}.section{padding:90px 22px}.route{padding-left:22px;padding-right:22px}.section-head{display:block}.section-head>p{margin-top:25px}.product-grid,.review-grid,.requirements-grid{grid-template-columns:1fr}.product-image{height:300px}.feature-copy{padding:65px 25px}.numbers{grid-template-columns:1fr 1fr;padding:60px 22px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px}.image-g1{grid-row:auto}.booking-banner{padding:65px 25px;display:block}.booking-banner .btn{margin-top:25px}.two{grid-template-columns:1fr}footer div{margin-left:0}.hero-scroll{display:none}}
@media(max-width:560px){.site-header{height:70px;padding:0 18px}.brand{width:180px;height:60px}.hero{min-height:720px}.hero h1{font-size:54px}.lead{font-size:16px}.hero-meta{gap:10px;line-height:1.6}.hero-meta i{display:none}.section{padding:72px 18px}.product-body{padding:24px}.day{grid-template-columns:48px 1fr;gap:14px}.day>b{font-size:28px}.day h3{font-size:23px}.gallery{grid-template-columns:1fr;grid-template-rows:260px 180px 180px 180px}.numbers{gap:30px 15px}.numbers strong{font-size:40px}.modal-panel{padding:28px 20px}}


/* V12 overrides */
.hero-bg{
  background-image:url("assets/v19-1464822759023-fed622ff2c3b.jpg");
  background-position:center 60%;
}
.hero-content{
  padding-top:145px;
}
.hero-brand{
  margin:0 0 30px;
  display:flex;
  justify-content:center;
  width:100%;
}
.hero-brand img{
  width:min(620px,82vw);
  max-width:100%;
  height:auto;
}
.hero h1{
  line-height:1.03;
  margin-bottom:24px;
}
.lead{
  color:#cdbd95;
  font-size:19px;
}
.product-title-link{
  color:inherit;
}
.product-title-link:hover{
  color:var(--gold);
}
.image-1{
  background-image:url("assets/v19-1503376780353-7e6692767b70.jpg");
  background-position:center;
}
.image-2{
  background-image:url("assets/v19-1500530855697-b586d89ba3ee.jpg");
  background-position:center;
}
.non-product:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.5));
}
.coming-copy{
  margin-top:-8px;
}
.idea-form{
  display:flex;
  gap:8px;
  align-items:flex-start;
  margin-top:18px;
  flex-wrap:wrap;
}
.idea-form input{
  flex:1;
  min-width:200px;
}
.btn-small{
  padding:12px 14px;
  font-size:10px;
}
.product-cta-row{
  align-items:center;
  gap:16px;
}
.price-box small{
  display:block;
  color:var(--muted);
  font-size:10px;
  margin-top:6px;
}
.product-cta-buttons{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-left:auto;
}
.product-detail{
  border-top:1px solid var(--line);
}
.detail-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:16px;
}
.detail-panel{
  background:var(--panel);
  border:1px solid var(--line);
  padding:34px;
}
.detail-panel h3{
  margin:0 0 22px;
  font:600 32px Georgia,serif;
}
.mini-day{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:16px;
  padding:16px 0;
  border-top:1px solid var(--line);
}
.mini-day:last-child{
  border-bottom:1px solid var(--line);
}
.mini-day b{
  font:500 26px Georgia,serif;
  color:#5a5650;
}
.mini-day span{
  display:block;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:6px;
}
.mini-day strong{
  display:block;
  font-size:17px;
  color:var(--text);
  margin-bottom:7px;
}
.mini-day p{
  margin:0;
  color:var(--muted);
  font-size:14px;
}
.detail-list{
  margin:0;
  padding-left:20px;
  color:#cdc9c1;
}
.detail-list li{
  margin:12px 0;
}
.detail-note{
  margin-top:20px;
  padding:14px 16px;
  background:#181411;
  border-left:2px solid var(--gold);
  color:#bbb4a7;
  font-size:13px;
}
.detail-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:22px;
}
@media(max-width:950px){
  .detail-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .hero-brand img{
    width:min(520px,88vw);
  }
  .lead{
    font-size:17px;
  }
  .product-cta-row{
    flex-direction:column;
    align-items:flex-start;
  }
  .product-cta-buttons{
    margin-left:0;
  }
  .idea-form{
    flex-direction:column;
  }
}


/* V14 – Produktbild Alpentour */
.image-1{
  background-image:url("assets/alpentour-rs3.png") !important;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}


/* V15 – Anfrage, Preisangabe & Safetycar */
.safety-card{
  border-top:1px solid rgba(215,183,120,.35);
}
.safety-card h3{
  color:#e4d0a3;
}
.price-box strong{
  line-height:1.25;
}


/* V16 – Bildergalerie im Bereich "Leistungen der Alpentour" */
.detail-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:28px;
}
.detail-gallery-item{
  margin:0;
  background:#111314;
  border:1px solid var(--line);
  overflow:hidden;
}
.detail-gallery-item img{
  display:block;
  width:100%;
  height:180px;
  object-fit:cover;
}
.detail-gallery-item figcaption{
  padding:14px 14px 16px;
}
.detail-gallery-item figcaption strong{
  display:block;
  font-size:15px;
  color:var(--text);
  margin-bottom:6px;
}
.detail-gallery-item figcaption span{
  display:block;
  font-size:12px;
  line-height:1.55;
  color:var(--muted);
}

@media(max-width:950px){
  .detail-gallery{
    grid-template-columns:1fr;
  }
  .detail-gallery-item img{
    height:220px;
  }
}


/* V17 – Bilder am Ende des All-Inclusive-Leistungsbereichs */
.allinclusive-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:28px;
}
@media(max-width:950px){
  .allinclusive-gallery{
    grid-template-columns:1fr;
  }
}


/* V19 – Unterbringung & Verpflegung als 2x2-Bildergalerie */
.premium-gallery{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  grid-template-rows:repeat(2,1fr);
  gap:8px;
  min-height:600px;
  padding:8px;
  background:#d9d4cb;
}
.premium-gallery img{
  display:block;
  width:100%;
  height:100%;
  min-height:290px;
  object-fit:cover;
}
.feature-copy strong{
  color:#2f281e;
  font-weight:700;
}
@media(max-width:950px){
  .premium-gallery{
    min-height:auto;
  }
  .premium-gallery img{
    min-height:220px;
  }
}
@media(max-width:560px){
  .premium-gallery{
    grid-template-columns:1fr;
    grid-template-rows:none;
  }
  .premium-gallery img{
    min-height:240px;
  }
}


/* V24 – Unternehmens-Startseite, eigene Produktseiten, Team und Impressum. */
section[id], .legal-document { scroll-margin-top: 112px; }
.skip-link { position:fixed; z-index:200; left:18px; top:0; padding:12px 18px; background:var(--gold); color:#16130e; transform:translateY(-150%); }
.skip-link:focus { transform:translateY(8px); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
.site-header { gap:22px; }
.site-header nav { gap:18px; }
.site-header .header-book { flex-shrink:0; }
.about { border-top:1px solid var(--line); }
.team-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.team-card { background:var(--panel); border:1px solid var(--line); overflow:hidden; }
.team-photo { display:block; width:100%; height:auto; aspect-ratio:5 / 4; object-fit:cover; }
.team-copy { padding:34px; }
.team-copy h3 { font:600 32px Georgia,serif; margin:0 0 12px; }
.team-copy .eyebrow { margin-bottom:10px; }
.team-copy p:not(.eyebrow) { color:var(--muted); font-size:15px; }
.team-copy .sample-label { font-size:10px !important; letter-spacing:.12em; text-transform:uppercase; color:var(--gold) !important; }
.tour-hero { position:relative; overflow:hidden; min-height:750px; border-bottom:1px solid var(--line); }
.tour-hero-bg { position:absolute; inset:0; background:url("assets/alpentour-rs3.png") center / cover; }
.tour-hero-content { position:relative; z-index:2; max-width:var(--max); margin:auto; padding:155px 30px 85px; }
.tour-hero h1, .legal-page h1 { font:500 clamp(48px,6vw,84px) / 1.05 Georgia,"Times New Roman",serif; letter-spacing:-.035em; margin:0 0 28px; }
.tour-hero h1 em { color:#d6d2c9; font-weight:500; }
.tour-hero .specs span { background:rgba(8,9,10,.65); color:#d8d4cc; }
.tour-price { font:600 28px Georgia,serif; color:var(--gold2); margin:28px 0; }
.tour-price small { display:block; margin-top:9px; color:#ccc5b7; font:12px Arial,sans-serif; }
.back-link { display:inline-block; color:var(--gold); font-size:12px; margin-bottom:38px; }
.back-link:hover { color:var(--gold2); }
.legal-page { max-width:1000px; padding-top:160px; min-height:70vh; }
.legal-page h2 { font:600 27px / 1.3 Georgia,serif; letter-spacing:0; margin:45px 0 20px; overflow-wrap:anywhere; }
.legal-page h2 small { display:block; color:var(--muted); font:13px Arial,sans-serif; margin-top:8px; }
.legal-status { display:inline-block; border:1px solid #665333; background:#191613; padding:12px 18px; color:var(--gold2); }
.legal-data { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border-top:1px solid var(--line); margin:0; }
.legal-data dt, .legal-data dd { padding:16px 0; margin:0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.legal-data dt { color:var(--muted); padding-right:24px; }
.legal-data dd { color:var(--text); }
.legal-document { margin-top:55px; padding-top:10px; border-top:1px solid var(--line); }
.form-note { display:block; color:var(--muted); font-size:11px; flex-basis:100%; }
.form-feedback { flex-basis:100%; margin:10px 0 0; padding:12px; border-left:2px solid var(--gold); color:var(--gold2); font-size:13px; }
.newsletter small { color:var(--muted); line-height:1.6; }
.newsletter small a { color:var(--gold); }
.btn:disabled { opacity:.5; cursor:default; transform:none; }
.menu { cursor:pointer; }
body.modal-open { overflow:hidden; }
.modal-panel h2 { padding-right:18px; }
.check span { min-width:0; flex:1; }
@media(min-width:951px) and (max-width:1200px) {
  .site-header { padding-inline:24px; gap:16px; }
  .site-header .brand { width:210px; }
  .site-header nav { gap:13px; }
  .site-header nav a { font-size:9px; letter-spacing:.09em; }
  .site-header .header-book { padding-inline:13px; font-size:10px; }
}
@media(max-width:950px) {
  .site-header nav.is-open { display:flex; position:absolute; top:100%; left:0; right:0; padding:20px 24px; background:#090a0b; flex-direction:column; align-items:flex-start; gap:20px; border-bottom:1px solid var(--line); max-height:calc(100dvh - 88px); overflow-y:auto; }
  .team-grid { grid-template-columns:1fr; }
  .tour-hero-content { padding:140px 22px 70px; }
  .included-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .feature-copy { padding:65px 25px; }
}
@media(max-width:560px) {
  section[id], .legal-document { scroll-margin-top:90px; }
  .team-copy { padding:26px; }
  .tour-hero { min-height:720px; }
  .tour-hero-content { padding:110px 18px 65px; }
  .tour-hero h1 { font-size:48px; }
  .tour-price { font-size:25px; }
  .detail-panel { padding:25px 20px; }
  .mini-day { grid-template-columns:34px minmax(0,1fr); gap:12px; }
  .included-grid { grid-template-columns:1fr; }
  .requirement-card { padding:30px 24px; }
  .requirement-card .eyebrow { max-width:80%; }
  .legal-page { padding-top:120px; }
  .legal-page h1 { font-size:46px; overflow-wrap:anywhere; }
  .legal-data { grid-template-columns:1fr; }
  .legal-data dt { padding-bottom:5px; border-bottom:0; }
  .legal-data dd { padding-top:0; padding-bottom:18px; }
  footer div { flex-wrap:wrap; }
  .site-header nav.is-open { max-height:calc(100dvh - 70px); }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; }
}

/* Eigenständiger V25-Dialog, abgestimmt auf die bestehende dunkle/goldene Gestaltung. */
.booking-dialog{width:min(920px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #554a38;background:#101213;color:var(--text,#f0eee9);box-shadow:0 24px 100px #000b;overflow:auto;margin:auto}
.booking-dialog::backdrop{background:#000c;backdrop-filter:blur(8px)}
.booking-shell{padding:34px 40px 30px}.booking-head{display:flex;gap:22px;align-items:flex-start;justify-content:space-between;position:relative}.booking-head h2{font-size:clamp(30px,4.5vw,47px);line-height:1.12}.booking-head .eyebrow{margin-bottom:12px}.booking-close{flex:none;background:transparent;color:#e1ded5;border:1px solid #4b4c49;width:42px;height:42px;font-size:27px;line-height:1;cursor:pointer}.booking-close:hover{color:var(--gold);border-color:var(--gold)}
.booking-notice{background:#201c15;border:1px solid #5a4b30;padding:15px 18px;color:#e4d2aa;font-size:13px;line-height:1.6;margin:23px 0}.booking-progress{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);padding:0;margin:27px 0 32px;border-bottom:1px solid var(--line,#292b2c)}.booking-progress li{font-size:11px;color:#98958e;padding:0 10px 17px 0;position:relative;line-height:1.4}.booking-progress li span{display:block;font-size:10px;letter-spacing:.14em;color:#686761;margin-bottom:6px}.booking-progress li[aria-current=step]{color:var(--gold,#d7b778)}.booking-progress li[aria-current=step]::after{content:"";position:absolute;bottom:-1px;height:2px;left:0;right:12px;background:var(--gold)}.booking-progress li[aria-current=step] span{color:var(--gold)}
.booking-dialog [hidden]{display:none!important}.booking-step h3{font:500 28px/1.2 Georgia,"Times New Roman",serif;margin:0 0 18px;color:#ede8df}.booking-step h3:focus{outline:none}.booking-dialog label:not(.booking-check){display:block;font-size:12px;font-weight:500;margin:18px 0 7px;color:#cfc9bd;letter-spacing:.02em}.booking-dialog input:not([type=checkbox]):not([type=radio]),.booking-dialog select{display:block;min-height:48px;width:100%;background:#080a0b;border:1px solid #41433f;color:#f0eee9;border-radius:0;padding:12px 13px;font-size:15px;line-height:1.4;margin:0;color-scheme:dark}.booking-dialog select{cursor:pointer}.booking-dialog select option{background:#101213;color:#f0eee9}.booking-dialog input::placeholder{color:#7c7a73}.booking-dialog input:focus-visible,.booking-dialog select:focus-visible{outline:2px solid var(--gold,#d7b778);outline-offset:2px}.booking-dialog input[aria-invalid=true],.booking-dialog select[aria-invalid=true]{border-color:#f0a190}
.booking-dialog fieldset{border:1px solid var(--line,#292b2c);padding:15px 20px 23px;margin:25px 0 0;min-width:0}.booking-dialog legend{font:500 18px Georgia,serif;padding:0 9px;color:#dacaa8}.booking-two{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.booking-muted{color:#aca79e;font-size:14px}.booking-field-note{color:#b9b1a2;font-size:12px;line-height:1.55;margin:12px 0}.booking-product-note{margin-top:26px;border-left:2px solid var(--gold);padding:12px 0 12px 18px;font-size:13px;color:#ada89e}.booking-product-note strong{color:#e5dac5}.booking-product-note p{margin:8px 0}.booking-product-note a,.booking-dialog .booking-check a,.booking-contract-note a{color:var(--gold,#d7b778);text-decoration:underline;text-underline-offset:3px}.booking-check{display:flex;align-items:flex-start;gap:12px;font-size:13px;color:#d2cec4;line-height:1.55;margin:22px 0;cursor:pointer}.booking-check input{appearance:auto;accent-color:var(--gold,#d7b778);width:19px;height:19px;min-width:19px;margin:2px 0 0;padding:0}.booking-check small{display:block;color:#a59e90;line-height:1.5;margin-top:7px;font-size:12px}.booking-doclinks{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}.booking-doclinks .btn{font-size:10px;padding:12px 14px}.booking-newsletter{border:1px solid #514631;padding:20px 23px;margin-top:30px;background:linear-gradient(100deg,#17140e,#151717)}.booking-newsletter h4{font:500 23px Georgia,serif;margin:10px 0 15px}.booking-newsletter .booking-check{margin:0}.booking-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line,#292b2c)}.booking-actions #bookingNext{margin-left:auto}.booking-dialog .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.booking-dialog .btn:focus-visible,.booking-dialog a:focus-visible,.booking-close:focus-visible,.booking-check input:focus-visible{outline:2px solid var(--gold,#d7b778);outline-offset:4px}
.booking-review-block{border-bottom:1px solid var(--line);padding:19px 0}.booking-review-heading{display:flex;gap:16px;align-items:center;justify-content:space-between}.booking-review-heading h4{font:500 20px Georgia,serif;margin:0 0 12px;color:#e2d5ba}.booking-edit{background:none;border:0;padding:7px;color:var(--gold);font-size:12px;text-decoration:underline;cursor:pointer}.booking-review-block dl{margin:0;display:grid;grid-template-columns:minmax(120px,.45fr) 1fr;gap:8px 15px;font-size:13px}.booking-review-block dt{color:#aaa49a}.booking-review-block dd{margin:0;color:#e3dfd6;overflow-wrap:anywhere}.booking-review-block dd small{color:#c5b080}.booking-payment .booking-check{margin:10px 0}.booking-payment .booking-check small{margin-top:2px}.booking-total{border:1px solid #655335;padding:20px;margin:22px 0;background:#19160f}.booking-total p{margin:0;font-size:14px}.booking-total strong{display:block;color:var(--gold);font:500 30px Georgia,serif;margin-top:6px}.booking-total small{display:block;color:#b4ab98;font-size:12px;margin-top:8px}.booking-contract-note{font-size:12px;color:#aaa69d;margin-top:25px}.booking-confirm{width:100%;margin-top:12px}.booking-error{border-left:2px solid #edb3a5;color:#ffc8ba;background:#2d1915;font-size:13px;padding:14px 16px;margin:20px 0}.booking-dialog button:disabled{pointer-events:auto}.booking-dialog input[type=date]{min-width:0}.booking-dialog :is(input,select):disabled{opacity:.6}
body.booking-open{overflow:hidden}
@media(max-width:650px){.booking-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.booking-shell{padding:24px 20px}.booking-progress{gap:4px;margin-bottom:26px}.booking-progress li{font-size:9px;padding-right:2px}.booking-progress li span{font-size:9px}.booking-head h2{font-size:33px}.booking-close{width:36px;height:36px}.booking-two{grid-template-columns:1fr}.booking-dialog fieldset{padding:12px 14px 20px}.booking-review-block dl{grid-template-columns:1fr;gap:3px}.booking-review-block dd{margin-bottom:10px}.booking-actions .btn{padding:13px 12px;font-size:10px}.booking-doclinks .btn{font-size:9px}.booking-check{font-size:12px}.booking-notice{padding:12px;font-size:12px}.booking-newsletter{padding:17px}}
@media(prefers-reduced-motion:reduce){.booking-dialog *{scroll-behavior:auto;transition:none}}

/* V25 – individuelle Firmenausfahrten, vorhandenes Logo und Anfragefenster. */
.corporate-card-art {
  background:radial-gradient(ellipse at 85% 0%,#352a18 0,transparent 62%),linear-gradient(135deg,#17191a,#090a0b);
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
}
.corporate-card-art::after { display:none; }
.corporate-card-art img { display:block; width:160px; height:105px; object-fit:contain; align-self:flex-end; opacity:.95; }
.corporate-art-copy { position:relative; z-index:1; }
.corporate-art-copy small { display:block; color:var(--gold); font-size:9px; line-height:1.6; letter-spacing:.16em; margin-bottom:14px; }
.corporate-art-copy strong { display:block; color:#f0ebe0; font:500 clamp(25px,2.25vw,34px)/1.1 Georgia,serif; letter-spacing:-.02em; }
.corporate-art-copy strong em { color:#d5be8c; font-weight:500; }
.corporate-card-bottom { display:block; }
.corporate-card .product-body h3 { font-size:clamp(20px,2.3vw,29px); line-height:1.2; overflow-wrap:normal; word-break:normal; hyphens:none; }
.corporate-card .product-title-link > span { display:block; white-space:nowrap; }
.corporate-card-bottom > p { color:#c9b78e; margin:0 0 16px; font-size:12px; }
.corporate-card-bottom .product-cta-buttons { margin-left:0; }
.corporate-hero {
  position:relative; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:45px; align-items:center;
  min-height:680px; overflow:hidden;
  padding:145px max(30px,calc((100vw - var(--max))/2 + 30px)) 85px;
  background:radial-gradient(ellipse at 85% 30%,rgba(96,73,34,.23),transparent 65%),linear-gradient(110deg,#090a0b,#171612);
  border-bottom:1px solid var(--line);
}
.corporate-hero-content { position:relative; z-index:1; }
.corporate-hero h1 { font:500 clamp(43px,4.9vw,71px)/1.07 Georgia,serif; letter-spacing:-.035em; margin:0 0 30px; }
.corporate-hero h1 em { color:#c4b28b; font-weight:500; }
.corporate-hero .lead { max-width:690px; font-size:18px; }
.corporate-hero-mark { position:relative; }
.corporate-hero-mark img { display:block; width:100%; height:auto; filter:drop-shadow(0 18px 35px #000); }
.corporate-intro { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.corporate-intro .copy { padding-top:15px; }
.corporate-framework, .corporate-process { border-top:1px solid var(--line); }
.corporate-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.corporate-feature-grid article { background:var(--panel); border:1px solid var(--line); padding:32px; }
.corporate-feature-grid article > span { font:500 30px Georgia,serif; color:var(--gold); }
.corporate-feature-grid h3 { font:600 26px Georgia,serif; margin:18px 0 12px; }
.corporate-feature-grid p, .corporate-banner > div > p:not(.eyebrow) { color:var(--muted); margin:0; font-size:15px; }
.corporate-banner > div > p:not(.eyebrow) { margin-top:24px; max-width:680px; }
.corporate-process .timeline { max-width:890px; }
.corporate-dialog {
  margin:auto; padding:0; width:min(790px,calc(100vw - 40px)); max-height:min(92vh,92dvh);
  overflow-y:auto; background:#111314; color:var(--text); border:1px solid #575044;
  box-shadow:0 25px 100px rgba(0,0,0,.65);
}
.corporate-dialog::backdrop { background:rgba(0,0,0,.8); backdrop-filter:blur(8px); }
.corporate-dialog-inner { padding:42px; position:relative; }
.corporate-close { position:absolute; top:14px; right:18px; border:0; background:none; color:#d9d2c5; font:32px/1 Arial,sans-serif; padding:5px 9px; cursor:pointer; }
.corporate-dialog h2 { font-size:42px; padding-right:16px; }
.corporate-dialog h2 + p { color:#b8b2a6; font-size:14px; line-height:1.65; margin:24px 0 12px; }
.corporate-required-note { color:#928b7e; font-size:11px; margin:0 0 22px; }
.corporate-dialog fieldset { min-width:0; border:0; padding:0; margin:24px 0 0; }
.corporate-dialog legend { display:block; width:100%; padding:0 0 13px; margin-bottom:3px; border-bottom:1px solid var(--line); color:#dacba8; font:600 20px Georgia,serif; }
.corporate-dialog label { display:block; color:#bfb8ac; font-size:12px; margin:16px 0; }
.corporate-dialog label > span { color:#938c80; font-size:11px; }
.corporate-dialog input, .corporate-dialog textarea { display:block; width:100%; margin-top:7px; border:1px solid #414243; padding:12px 13px; border-radius:0; background:#0b0d0e; color:#efece6; font:inherit; }
.corporate-dialog input:focus, .corporate-dialog textarea:focus { outline:2px solid var(--gold); outline-offset:2px; }
.corporate-dialog textarea { resize:vertical; min-height:110px; line-height:1.65; }
.corporate-dialog input[type="date"] { color-scheme:dark; min-width:0; }
.corporate-form-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.corporate-form-two label { min-width:0; }
.corporate-privacy { display:flex !important; align-items:flex-start; gap:11px; font-size:12px; line-height:1.6; padding-top:10px; }
.corporate-dialog .corporate-privacy input { margin:3px 0 0; padding:0; width:17px; height:17px; flex-shrink:0; accent-color:var(--gold); }
.corporate-dialog .corporate-privacy span { font-size:12px; color:#bbb3a5; }
.corporate-dialog a { color:var(--gold); text-decoration:underline; text-underline-offset:3px; }
.corporate-delivery-note { background:#1a1712; border-left:2px solid var(--gold); padding:15px 17px; margin:23px 0; }
.corporate-delivery-note strong { font-size:13px; font-weight:600; color:#decca2; }
.corporate-delivery-note p { color:#b7b0a3; font-size:12px; line-height:1.7; margin:7px 0 0; }
.corporate-submit { width:100%; white-space:normal; }
.corporate-form-status { margin:18px 0 0; padding:13px 15px; border-left:2px solid var(--gold); background:#1a1712; color:#d9c89e; font-size:13px; }
.corporate-mail-fallback { margin-top:24px; padding-top:10px; border-top:1px solid var(--line); }
.corporate-mail-fallback p { color:#b7b0a3; font-size:12px; }
.corporate-mail-fallback textarea { color:#cbc5b8; font-size:12px; }
body.corporate-modal-open { overflow:hidden; }
@media(max-width:950px) {
  .corporate-hero { grid-template-columns:1fr; gap:40px; min-height:auto; padding:135px 22px 70px; }
  .corporate-hero-mark { max-width:350px; margin:0 auto; }
  .corporate-hero h1 { font-size:clamp(43px,7vw,65px); }
  .corporate-intro { grid-template-columns:1fr; gap:36px; }
  .corporate-intro .copy { padding-top:0; }
  .corporate-art-copy strong { font-size:32px; }
}
@media(max-width:560px) {
  .corporate-hero { padding:110px 18px 55px; }
  .corporate-hero h1 { font-size:42px; }
  .corporate-hero .lead { font-size:16px; }
  .corporate-hero-mark { max-width:280px; }
  .corporate-feature-grid, .corporate-form-two { grid-template-columns:1fr; }
  .corporate-feature-grid article { padding:26px; }
  .corporate-form-two { gap:0; }
  .corporate-dialog { width:calc(100vw - 24px); max-height:94dvh; }
  .corporate-dialog-inner { padding:32px 20px; }
  .corporate-dialog h2 { font-size:34px; }
  .corporate-card-art { padding:22px; }
  .corporate-art-copy strong { font-size:29px; }
}

/* V25: Drei Tourprodukte. Bestehende Motive, Schriften und Farben bleiben erhalten. */
.product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
.product-card { display:flex; flex-direction:column; min-width:0; }
.product-body { display:flex; flex-direction:column; flex:1; min-width:0; }
.product-body .card-bottom { margin-top:auto; }
.product-image { height:280px; flex-shrink:0; }
.product-cta-row { flex-direction:column; align-items:flex-start; padding-top:22px; }
.product-cta-buttons { margin:16px 0 0; }
.price-box strong { font-size:22px; }
.corporate-card-art img { height:80px; }
.legal-page a:not(.back-link) { color:var(--gold); text-decoration:underline; text-underline-offset:3px; }
.travel-info-list { padding-left:20px; color:var(--muted); }
.travel-info-list li { margin:12px 0; }
.travel-notice { border-left:2px solid var(--gold); background:#181411; color:#d5c9b6; padding:20px; margin:30px 0; }
.travel-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:28px; }
.travel-info-card { border:1px solid var(--line); padding:24px; }
.travel-info-card h2 { margin-top:0; }
.travel-info-card p { color:var(--muted); }
.hidden-honeypot { display:none; }
@media(max-width:1100px) {
  .product-body { padding:25px; }
  .product-body h3 { font-size:29px; }
  .price-box strong { font-size:20px; }
}
@media(max-width:950px) {
  .product-grid { grid-template-columns:1fr; }
  .product-image { height:300px; }
  .product-cta-row { flex-direction:row; align-items:center; flex-wrap:wrap; }
  .product-cta-buttons { margin:0 0 0 auto; }
  .travel-info-grid { grid-template-columns:1fr; }
}
@media(max-width:560px) {
  .product-cta-row { flex-direction:column; align-items:flex-start; }
  .product-cta-buttons { margin:15px 0 0; }
}

/* V27 privacy information links */
.booking-field-note a,.idea-form .form-note a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}

/* V30: business email available in footers and dialog contact notes. */
.footer-links { flex-wrap:wrap; align-items:center; row-gap:12px; }
.footer-links .footer-email { color:var(--gold); white-space:nowrap; }
.corporate-direct-contact { font-size:13px; line-height:1.65; color:var(--muted); }
