/* v12: Farsi-only special routes; existing visa services remain unchanged. */
.fa-only-routes{display:none;}
html[data-site-language="fa"] .fa-only-routes{display:block;}

/* Keep all navigation entries accessible without crowding the header. */
.logo-svg{flex-shrink:0;}
.nav-links .nav-link-partner{color:var(--gold-l);font-weight:700;}
.nav-links .nav-link-partner:hover{color:#fff;}
.nav-links .nav-link-core{color:#fff;font-weight:700;}
.nav-links .nav-link-core:hover{color:var(--gold-l);}
/* Keep physical header order, including the logo on the left, in every language. */
html[dir="rtl"] nav{direction:ltr;}
html[dir="rtl"] nav .nav-links,html[dir="rtl"] nav .site-lang{direction:rtl;}
.mobile-menu{display:none;}
@media(min-width:1441px){
  nav{padding-inline:28px;gap:10px;}
  .nav-links{min-width:0;gap:0;}
  .nav-links .nav-link{padding-inline:7px;font-size:11px;letter-spacing:.045em;}
  nav>.site-lang{gap:0;}
  nav>.site-lang .site-lang-btn{padding-inline:5px;}
}
@media(min-width:1281px) and (max-width:1440px){
  nav{padding-inline:18px;gap:8px;}
  .nav-links{gap:0;}
  .nav-links .nav-link{padding-inline:5px;font-size:9.5px;letter-spacing:.035em;}
  nav>.site-lang{gap:0;}
  nav>.site-lang .site-lang-btn{padding-inline:5px;}
}
@media(max-width:1280px){
  nav{gap:16px;}
  .nav-links,nav>.site-lang{display:none;}
  .hamburger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:12px;background:none;border:none;min-width:44px;min-height:44px;justify-content:center;}
  .hamburger span{width:22px;height:2px;background:var(--cream);border-radius:2px;transition:all .3s;}
  .mobile-menu{position:fixed;top:68px;inset-inline:0;bottom:0;background:rgba(8,9,10,.98);z-index:150;display:flex;flex-direction:column;padding:24px 24px calc(24px + env(safe-area-inset-bottom));gap:4px;transform:translateX(-100%);visibility:hidden;transition:transform .3s,visibility .3s;overflow-y:auto;overscroll-behavior:contain;}
  .mobile-menu.open{transform:translateX(0);visibility:visible;}
  .mobile-menu .nav-link{font-size:16px;padding:14px 0;min-height:48px;border-bottom:.5px solid rgba(255,255,255,.08);text-align:start;width:100%;color:var(--cream);}
  .mobile-menu .nav-link-partner{color:var(--gold-l);font-weight:700;}
  .mobile-cta{background:var(--teal);color:#fff;border:none;padding:14px;font-size:14px;font-family:inherit;font-weight:600;border-radius:6px;margin-top:16px;cursor:pointer;}
}
@media(max-width:768px){.mobile-menu{top:60px;}}

/* The provider component is responsive: no desktop-width iframe or scaling. */
#tab-mietwagen,.sunny-cars{min-width:0;max-width:100%;}
.sunny-cars{width:100%;max-width:1200px;margin-inline:auto;}
.sunny-heading{display:flex;align-items:center;gap:16px;}
.sunny-heading>div{min-width:0;}
.sunny-icon{font-size:32px;flex-shrink:0;}
.sunny-heading h2{font-size:clamp(18px,2.2vw,24px);font-weight:600;color:var(--white);margin:0 0 7px;}
.sunny-heading p,.sunny-notice,.sunny-status,.sunny-language-note{font-size:14px;line-height:1.65;color:var(--cream-m);}
.sunny-notice{margin:18px 0;max-width:850px;}
.sunny-actions{display:flex;flex-wrap:wrap;gap:12px;position:sticky;top:68px;z-index:90;background:var(--dark2);padding-block:6px;}
@media(max-width:768px){.sunny-actions{top:60px;}}
.sunny-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:5px;border:1px solid var(--teal-l);font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;text-align:center;text-decoration:none;cursor:pointer;white-space:normal;overflow-wrap:anywhere;}
.sunny-load{background:var(--teal);color:#fff;}
.sunny-load:hover{background:var(--teal-l);}
.sunny-close{background:transparent;color:var(--cream);border-color:rgba(201,169,110,.6);}
.sunny-close:hover{background:rgba(201,169,110,.1);}
.sunny-button:focus-visible,.hamburger:focus-visible{outline:3px solid var(--gold-l);outline-offset:4px;}
.sunny-button:disabled{opacity:.65;cursor:wait;}
.sunny-cars [hidden]{display:none!important;}
.sunny-status:empty{display:none;}
.sunny-status,.sunny-language-note{margin:14px 0 0;}
.sunny-widget-host{direction:ltr;text-align:left;min-width:0;width:100%;max-width:100%;margin-top:20px;padding:20px;background:#fff;color:#172b35;border-radius:8px;isolation:isolate;color-scheme:light;}
.sunny-widget-host sc-widget{display:block;width:100%;max-width:100%;min-width:0;direction:ltr;text-align:left;}
html[dir="rtl"] .sunny-widget-host :is(input,textarea,select){text-align:left;}
@media(max-width:600px){
  .sunny-heading{gap:10px;align-items:flex-start;}
  .sunny-actions{flex-direction:column;}
  .sunny-button{width:100%;}
  .sunny-widget-host{padding:10px 8px;border-radius:6px;}
}

/* v19: responsive ZenHotels affiliate widget replaces only the former Schmetterling hotel IBE. */
.hotel-widget-host{width:100%;min-width:0;min-height:190px;padding:18px;background:#fff;color:#0d1519;direction:ltr;text-align:left;overflow:auto;color-scheme:light;}
.hotel-widget-host[hidden]{display:none!important;}
.hotel-widget-slot[hidden]{display:none!important;}
#ibe-frame[hidden]{display:none!important;}
.hotel-widget-status{margin:0;padding:24px;text-align:center;color:#425661;font-size:14px;}
.hotel-widget-fallback{display:flex;align-items:center;justify-content:center;width:max-content;max-width:100%;min-height:48px;margin:0 auto 24px;padding:12px 18px;border-radius:6px;background:var(--teal);color:#fff;text-decoration:none;font-size:14px;font-weight:700;text-align:center;}
.hotel-widget-host iframe,.hotel-widget-host form,.hotel-widget-host>div{max-width:100%;}
.hotel-widget-host>div{width:100%!important;}
html[dir="rtl"] .hotel-widget-host :is(input,textarea,select){text-align:left;direction:ltr;}
@media(max-width:768px){
  #ibe-section[data-ibe-type="hotel"] .ibe-frame-wrap{overflow:auto!important;background:#fff;}
  #ibe-section[data-ibe-type="hotel"] .hotel-widget-host{flex:1 1 auto;min-height:100%;padding:8px 4px calc(14px + env(safe-area-inset-bottom));overflow:auto;}
  #ibe-section[data-ibe-type="hotel"] .hotel-widget-host iframe{width:100%!important;min-width:0!important;}
}

/* v26: two-step travel insurance guide with ERGO embedded and LTA as an alternative. */
.insurance-choice-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.insurance-choice-heading>div:first-child{font-size:34px;}
.insurance-choice-heading strong,.insurance-choice-heading span{display:block;}
.insurance-choice-heading strong{color:var(--white);font-size:16px;}
.insurance-choice-heading span{margin-top:3px;color:var(--muted);font-size:13px;}
.insurance-advisor{margin:0 0 16px;padding:16px;border:1px solid rgba(201,169,110,.35);border-radius:10px;background:rgba(255,255,255,.045);}
.insurance-advisor>strong{display:block;margin-bottom:12px;color:var(--gold-l);font-size:15px;}
.insurance-advisor-step+ .insurance-advisor-step{margin-top:14px;}
.insurance-advisor-step[hidden]{display:none!important;}
.insurance-advisor-step>span{display:block;margin-bottom:8px;color:var(--cream);font-size:13px;font-weight:700;}
.insurance-advisor-options{display:flex;flex-wrap:wrap;gap:8px;}
.insurance-advisor-options button,.insurance-alt-btn{min-height:44px;padding:10px 14px;border:1px solid rgba(201,169,110,.55);border-radius:6px;background:transparent;color:var(--cream);font:700 13px/1.25 inherit;cursor:pointer;}
.insurance-advisor-options button:hover,.insurance-advisor-options button.is-selected,.insurance-alt-btn:hover{border-color:var(--gold-l);background:rgba(201,169,110,.15);color:#fff;}
#insurance-advisor-result{margin:12px 0 0;color:var(--cream-m);font-size:12px;line-height:1.55;}
.insurance-advisor-disclaimer{display:block;margin-top:7px;color:var(--muted);font-size:10px;line-height:1.45;}
.insurance-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.insurance-provider-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px 14px;padding:14px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(0,0,0,.12);transition:border-color .2s,box-shadow .2s;}
.insurance-provider-card.is-recommended{border-color:var(--gold-l);box-shadow:0 0 0 2px rgba(201,169,110,.18);}
.insurance-provider-card>div strong,.insurance-provider-card>div span{display:block;}
.insurance-provider-card>div strong{color:var(--white);font-size:14px;}
.insurance-provider-card>div span{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.45;}
.insurance-provider-card button{grid-column:1/-1;width:100%;min-height:44px;padding:11px 14px;font-size:13px;}
.ergo-inline-logo{width:86px;height:48px;object-fit:contain;padding:4px;background:#fff;border-radius:5px;}
.insurance-provider-name{display:flex!important;align-items:center;justify-content:center;width:86px;height:48px;border-radius:5px;background:#fff;color:#143b66!important;font-size:25px;font-weight:900;letter-spacing:.04em;}
.ergo-widget-host{width:100%;min-width:0;min-height:720px;padding:16px;background:#fff;color:#151515;direction:ltr;text-align:left;overflow:auto;color-scheme:light;}
.ergo-widget-host[hidden]{display:none!important;}
.ergo-widget-status{margin:0;padding:28px 16px;text-align:center;color:#425661;font-size:14px;}
.ergo-widget-fallback{display:flex;align-items:center;justify-content:center;width:max-content;max-width:100%;min-height:48px;margin:0 auto 24px;padding:12px 18px;border-radius:6px;background:var(--teal);color:#fff;text-decoration:none;font-size:14px;font-weight:700;text-align:center;}
@media(max-width:768px){
  .insurance-provider-grid{grid-template-columns:1fr;}
  .insurance-advisor-options{display:grid;grid-template-columns:1fr;}
  .insurance-advisor-options button{width:100%;}
  #ibe-section[data-ibe-type="versicherung"] .ibe-frame-wrap{overflow:auto!important;background:#fff;}
  #ibe-section[data-ibe-type="versicherung"] .ergo-widget-host{flex:1 1 auto;min-height:100%;padding:6px 2px calc(12px + env(safe-area-inset-bottom));}
}

/* v20: consent-first Google Analytics controls. */
.cookie-consent[hidden]{display:none!important;}
.cookie-consent{position:fixed;z-index:1200;inset:auto 18px 18px;display:flex;justify-content:center;pointer-events:none;}
.cookie-consent-inner{width:min(920px,100%);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;border:1px solid rgba(201,169,110,.5);border-radius:12px;background:#10232c;color:var(--cream);box-shadow:0 16px 50px rgba(0,0,0,.48);pointer-events:auto;}
.cookie-consent-copy{max-width:620px;}
.cookie-consent-copy h2{margin:0 0 5px;font:400 21px/1.3 Georgia,'Times New Roman',serif;color:#fff;}
.cookie-consent-copy p{margin:0;color:var(--cream-m);font-size:14px;line-height:1.55;}
.cookie-privacy-link{margin:7px 0 0;padding:0;border:0;background:transparent;color:var(--gold-l);font:600 13px/1.4 inherit;text-decoration:underline;cursor:pointer;}
.cookie-consent-actions{display:flex;gap:10px;flex:0 0 auto;}
.cookie-btn{min-height:46px;padding:11px 17px;border-radius:7px;font:700 13px/1.2 inherit;cursor:pointer;}
.cookie-btn-primary{border:1px solid var(--teal-l);background:var(--teal-l);color:#fff;}
.cookie-btn-secondary{border:1px solid rgba(201,169,110,.65);background:transparent;color:var(--cream);}
.cookie-btn:focus-visible,.cookie-privacy-link:focus-visible{outline:3px solid var(--gold-l);outline-offset:3px;}
@media(max-width:700px){
  .cookie-consent{inset:auto 10px calc(10px + env(safe-area-inset-bottom));}
  .cookie-consent-inner{display:block;padding:18px 16px;}
  .cookie-consent-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:15px;}
  .cookie-btn{padding-inline:10px;}
}

/* Shared mobile shell for all embedded booking providers. */
.ibe-heading,.ibe-heading>div{min-width:0;}
.ibe-close-btn{min-height:48px;flex-shrink:0;}
.ibe-frame-wrap{width:100%;min-width:0;}
#ibe-frame{width:100%;border:0;}
@media(max-width:768px),(max-width:1024px) and (max-height:500px){
  body.ibe-mobile-open{position:fixed;inset:0;width:100%;overflow:hidden;overscroll-behavior:none;}
  #ibe-section.mobile-fullscreen-ibe{position:fixed;inset:0;z-index:500;height:100vh;height:var(--ibe-viewport-height,100dvh);background:#f0f2f5;overflow:hidden;padding:0!important;}
  #ibe-section.mobile-fullscreen-ibe>div:first-child,#ibe-section.mobile-fullscreen-ibe>div:last-child{display:none;}
  #ibe-section.mobile-fullscreen-ibe .ibe-surface{height:100%;padding:0!important;}
  #ibe-section.mobile-fullscreen-ibe .ibe-layout{height:100%;width:100%;max-width:none!important;padding:0!important;display:flex;flex-direction:column;overflow:hidden;}
  #ibe-section.mobile-fullscreen-ibe .ibe-toolbar{position:relative;top:0;flex:0 0 auto;gap:8px;padding:calc(8px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left));background:#f0f2f5;}
  #ibe-section.mobile-fullscreen-ibe .ibe-heading{gap:8px!important;}
  #ibe-section.mobile-fullscreen-ibe h3{font-size:15px!important;line-height:1.25;overflow-wrap:anywhere;}
  #ibe-section.mobile-fullscreen-ibe .ibe-close-btn{padding:10px;font-size:13px;white-space:nowrap;}
  #ibe-section.mobile-fullscreen-ibe .ibe-frame-wrap{flex:1 1 0;min-height:0;border-radius:0!important;border:0!important;box-shadow:none!important;}
  #ibe-section.mobile-fullscreen-ibe #ibe-frame{display:block;width:100%!important;height:100%!important;min-width:0;min-height:0;transform:none;margin:0;}
  #ibe-section.mobile-fullscreen-ibe .ibe-layout>p{flex:0 0 auto;margin:0!important;padding:6px 12px calc(6px + env(safe-area-inset-bottom));background:#f0f2f5;line-height:1.35;}
  #ibe-section.mobile-fullscreen-ibe #ibe-footer-text{display:none;}
  #ibe-section.mobile-fullscreen-ibe #ibe-newtab-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;}
}

/* v15: compact mobile intro and accessible enquiry actions. */
.map-search-price{width:100%;font-family:inherit;color:var(--cream);background:transparent;border:0;text-align:start;cursor:pointer;min-height:48px;gap:12px;}
.map-search-price b{font-size:13px;text-align:end;}
.map-search-price:hover{background:rgba(201,169,110,.1);}
.map-search-price:focus-visible,.contact-email-button:focus-visible{outline:3px solid var(--gold-l);outline-offset:3px;}
.cform .contact-email-button{background:transparent;color:var(--cream);border:1px solid var(--gold);min-height:48px;}
.contact-email-note{font-size:12px;color:var(--cream-m);line-height:1.6;}
@media(max-width:768px){
  .hero{height:auto;min-height:0;padding:42px 0 34px;}
  .hero-content{width:100%;padding-inline:20px;}
  .hero h1{font-size:clamp(32px,8vw,46px);}
  .hero-sub{margin-bottom:20px;}
  .cform input,.cform select,.cform textarea{font-size:16px;}
}

/* v17: direct, Expedia-style mobile booking entry in the PARS Travel design. */
.mobile-booking-home,.mobile-rental-toolbar,.mobile-insurance-toolbar,.mobile-nav-whatsapp{display:none;}
@media(max-width:768px){
  nav{gap:9px;}
  .logo-svg{height:38px;min-width:0;margin-right:auto;}
  .mobile-nav-whatsapp{
    display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;
    border-radius:50%;background:#25D366;color:#fff;text-decoration:none;box-shadow:0 3px 12px rgba(37,211,102,.28);
    -webkit-tap-highlight-color:transparent;transition:background .15s,transform .15s;
  }
  .mobile-nav-whatsapp svg{width:22px;height:22px;fill:currentColor;}
  .mobile-nav-whatsapp:active{transform:scale(.96);}
  .mobile-nav-whatsapp:focus-visible{outline:3px solid var(--gold-l);outline-offset:3px;}
  .mobile-booking-home{
    display:block;
    min-height:calc(100dvh - 60px);
    padding:28px 16px calc(24px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,#102833 0,#0d1519 100%);
    color:var(--cream);
  }
  .mobile-booking-intro{margin-bottom:20px;}
  .mobile-booking-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;}
  .mobile-booking-eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0;}
  .mobile-quick-languages{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid rgba(201,169,110,.28);border-radius:7px;background:rgba(255,255,255,.055);direction:ltr;flex-shrink:0;}
  .mobile-quick-languages .site-lang-btn{min-width:30px;min-height:28px;padding:5px 7px;font-size:10px;color:var(--cream-m);}
  .mobile-quick-languages .site-lang-btn:last-child{min-width:42px;}
  .mobile-quick-languages .site-lang-btn.active{background:var(--teal);color:#fff;}
  .mobile-quick-languages .site-lang-btn:focus-visible{outline:2px solid var(--gold-l);outline-offset:2px;}
  .mobile-booking-intro h1{font:400 clamp(28px,8vw,38px)/1.12 Georgia,'Times New Roman',serif;color:#fff;letter-spacing:-.02em;}
  .mobile-booking-intro p{margin-top:7px;color:var(--cream-m);font-size:14px;line-height:1.5;}
  .mobile-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .mobile-booking-type{
    min-width:0;min-height:78px;padding:12px 10px;border:1px solid rgba(201,169,110,.24);border-radius:10px;
    background:rgba(255,255,255,.055);color:var(--cream);font:inherit;cursor:pointer;
    display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:7px;text-align:start;
    -webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s,transform .15s;
  }
  .mobile-booking-type span{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:rgba(42,102,120,.4);color:var(--gold-l);font-size:18px;line-height:1;}
  .mobile-booking-type b{font-size:14px;font-weight:650;line-height:1.2;overflow-wrap:anywhere;}
  .mobile-booking-type:active{transform:scale(.98);}
  .mobile-booking-type.active{background:var(--teal);border-color:var(--gold);color:#fff;}
  .mobile-booking-wide{grid-column:1/-1;min-height:62px;flex-direction:row;align-items:center;justify-content:flex-start;}
  .mobile-booking-type:focus-visible,.mobile-service-list button:focus-visible,.mobile-rental-toolbar button:focus-visible,.mobile-insurance-toolbar button:focus-visible{outline:3px solid var(--gold-l);outline-offset:2px;}
  .mobile-service-list{margin-top:18px;border:1px solid rgba(255,255,255,.1);border-radius:10px;overflow:hidden;background:rgba(0,0,0,.12);}
  .mobile-service-list button{width:100%;min-height:49px;padding:11px 14px;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:transparent;color:var(--cream);font:600 14px/1.3 inherit;display:flex;align-items:center;justify-content:space-between;text-align:start;cursor:pointer;}
  .mobile-service-list button:last-child{border-bottom:0;}
  .mobile-service-list b{font-size:23px;font-weight:300;color:var(--gold);line-height:1;}
  .mobile-booking-trust{margin:15px 2px 0;color:var(--muted);font-size:11px;text-align:center;line-height:1.5;}
  .floating-btns{display:none;}
  .mobile-farsi-notice{display:none;margin:0 0 16px;padding:13px 14px;border:1px solid rgba(201,169,110,.45);border-radius:9px;background:rgba(201,169,110,.09);direction:rtl;text-align:right;}
  html[data-site-language="fa"] .mobile-farsi-notice{display:flex;flex-direction:column;gap:4px;}
  .mobile-farsi-notice strong{color:#fff;font-size:15px;}
  .mobile-farsi-notice span{color:var(--cream-m);font-size:12px;line-height:1.7;}
  .mobile-farsi-notice a{color:var(--gold-l);font-size:13px;font-weight:700;text-decoration:none;margin-top:3px;}
  html[dir="rtl"] .mobile-booking-type,html[dir="rtl"] .mobile-service-list button{text-align:right;}

  /* The desktop introduction and duplicate tab bar are replaced on phones. */
  .hero,.fa-iran-alert{display:none!important;}
  .search-bar{display:none;}

  /* Sunny Cars receives the same dedicated full-screen shell as the other IBEs. */
  body.mobile-rental-active{overflow:hidden;overscroll-behavior:none;}
  .search-bar.mobile-rental-open{display:block;position:fixed;inset:0;z-index:510;height:100dvh;overflow:auto;background:#f3f5f6;border:0;padding:0;color:#172b35;}
  .search-bar.mobile-rental-open .search-tabs{display:none;}
  .search-bar.mobile-rental-open .tab-panel{display:none;padding:0;}
  .search-bar.mobile-rental-open #tab-mietwagen.active{display:block;}
  .mobile-rental-toolbar{display:flex;position:sticky;top:0;z-index:520;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;background:#102833;color:#fff;border-bottom:1px solid rgba(201,169,110,.35);}
  .mobile-rental-toolbar strong{font-size:15px;}
  .mobile-rental-toolbar button{min-height:44px;padding:8px 11px;border:1px solid rgba(201,169,110,.55);border-radius:7px;background:transparent;color:#fff;font:600 13px/1 inherit;}
  .search-bar.mobile-rental-open .sunny-cars{padding:12px 10px calc(16px + env(safe-area-inset-bottom));}
  .search-bar.mobile-rental-open .sunny-heading,.search-bar.mobile-rental-open .sunny-notice,.search-bar.mobile-rental-open .sunny-actions{display:none!important;}
  .search-bar.mobile-rental-open .sunny-status{color:#425661;text-align:center;font-size:13px;margin:10px;}
  .search-bar.mobile-rental-open .sunny-language-note{color:#425661;margin:8px 4px;font-size:12px;}
  .search-bar.mobile-rental-open .sunny-widget-host{margin:0;padding:8px 4px;border-radius:8px;}

  /* The insurance guide needs its own visible mobile shell because the desktop search bar is hidden. */
  body.mobile-insurance-active{overflow:hidden;overscroll-behavior:none;}
  .search-bar.mobile-insurance-open{display:block;position:fixed;inset:0;z-index:510;height:100dvh;overflow:auto;background:#102833;border:0;padding:0;color:var(--cream);}
  .search-bar.mobile-insurance-open .search-tabs{display:none;}
  .search-bar.mobile-insurance-open .tab-panel{display:none;padding:0;}
  .search-bar.mobile-insurance-open #tab-versicherung.active{display:block;padding:0 12px calc(20px + env(safe-area-inset-bottom));}
  .search-bar.mobile-insurance-open .mobile-rental-toolbar{display:none;}
  .mobile-insurance-toolbar{display:none;}
  .search-bar.mobile-insurance-open .mobile-insurance-toolbar{display:flex;position:sticky;top:0;z-index:520;align-items:center;justify-content:space-between;gap:12px;margin:0 -12px 16px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;background:#0d2029;color:#fff;border-bottom:1px solid rgba(201,169,110,.35);}
  .mobile-insurance-toolbar strong{font-size:15px;}
  .mobile-insurance-toolbar button{min-height:44px;padding:8px 11px;border:1px solid rgba(201,169,110,.55);border-radius:7px;background:transparent;color:#fff;font:600 13px/1 inherit;}
}

@media(max-width:370px){
  .mobile-booking-home{padding-inline:12px;}
  .mobile-booking-topline{gap:6px;}
  .mobile-booking-eyebrow{font-size:9px;letter-spacing:.1em;}
  .mobile-quick-languages .site-lang-btn{min-width:27px;padding-inline:5px;}
  .mobile-quick-languages .site-lang-btn:last-child{min-width:38px;}
}

/* v29: useful destination finder and reliable map detail panel. */
.destination-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;}
.destination-filter{min-height:42px;padding:9px 14px;border:1px solid rgba(201,169,110,.34);border-radius:999px;background:transparent;color:var(--cream-m);font:700 13px/1.2 inherit;cursor:pointer;transition:background .18s,border-color .18s,color .18s;}
.destination-filter:hover,.destination-filter.active{border-color:var(--gold);background:rgba(201,169,110,.14);color:#fff;}
.destination-filter:focus-visible,.destination-card:focus-visible,.airline-card:focus-visible,.airline-search-row button:focus-visible{outline:3px solid var(--gold-l);outline-offset:3px;}
.destination-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 18px;}
.destination-card{min-width:0;min-height:66px;padding:10px 12px;border:1px solid rgba(94,163,168,.22);border-radius:9px;background:rgba(255,255,255,.035);color:var(--cream);font:inherit;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;text-align:start;cursor:pointer;transition:background .18s,border-color .18s,transform .18s;}
.destination-card:hover{background:rgba(30,77,92,.28);border-color:rgba(94,163,168,.58);transform:translateY(-1px);}
.destination-card>span:first-child{font-size:25px;line-height:1;}
.destination-card strong,.destination-card small{display:block;overflow-wrap:anywhere;}
.destination-card strong{font-size:14px;color:#fff;line-height:1.25;}
.destination-card small{margin-top:3px;font-size:11px;color:var(--muted);line-height:1.25;}
.destination-card>b{font-size:22px;font-weight:300;color:var(--gold);}
.map-sidebar-backdrop{position:fixed;inset:0;z-index:499;border:0;background:rgba(0,0,0,.58);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s;}
.map-sidebar-backdrop.open{opacity:1;visibility:visible;pointer-events:auto;}
.map-sidebar .ms-close{z-index:6;width:42px;height:42px;background:rgba(8,9,10,.82);border:1px solid rgba(255,255,255,.22);}
body.map-sidebar-active{overflow:hidden;}

/* v29: privacy-friendly links to official airline check-in pages. */
.checkin-wrap{background:linear-gradient(135deg,#0d2029,#111a20);border-top:1px solid rgba(201,169,110,.18);border-bottom:1px solid rgba(201,169,110,.18);}
.checkin-inner{max-width:1200px;margin:0 auto;padding:72px 48px;display:grid;grid-template-columns:.75fr 1.25fr;gap:46px;align-items:start;}
.checkin-copy>p{font-size:15px;line-height:1.7;color:var(--cream-m);}
.checkin-privacy{display:flex;align-items:flex-start;gap:9px;margin-top:18px;padding:13px 14px;border:1px solid rgba(94,163,168,.3);border-radius:8px;background:rgba(94,163,168,.08);color:var(--cream-m);font-size:13px;line-height:1.55;}
.checkin-tool{padding:20px;border:1px solid rgba(201,169,110,.26);border-radius:12px;background:rgba(0,0,0,.18);}
.checkin-tool>label{display:block;margin-bottom:9px;color:#fff;font-size:14px;font-weight:700;}
.airline-search-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:14px;}
.airline-search-row input{min-width:0;min-height:48px;padding:11px 14px;border:1px solid rgba(94,163,168,.45);border-radius:7px;background:rgba(255,255,255,.06);color:#fff;font:16px/1.3 inherit;outline:none;}
.airline-search-row input:focus{border-color:var(--gold);}
.airline-search-row input::placeholder{color:rgba(240,237,230,.5);}
.airline-search-row button{min-height:48px;padding:11px 14px;border:1px solid rgba(201,169,110,.5);border-radius:7px;background:transparent;color:var(--cream);font:700 13px/1.2 inherit;cursor:pointer;}
.airline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.airline-card{min-width:0;min-height:64px;padding:9px 11px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.035);color:inherit;text-decoration:none;display:flex;align-items:center;gap:10px;transition:background .18s,border-color .18s,transform .18s;}
.airline-card:hover{background:rgba(30,77,92,.28);border-color:rgba(94,163,168,.55);transform:translateY(-1px);}
.airline-code{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:8px;background:var(--teal);color:#fff;font-size:13px;font-weight:800;letter-spacing:.06em;}
.airline-card strong,.airline-card small{display:block;overflow-wrap:anywhere;}
.airline-card strong{font-size:14px;color:#fff;line-height:1.25;}
.airline-card small{margin-top:3px;color:var(--gold-l);font-size:11px;line-height:1.25;}
.airline-empty{grid-column:1/-1;margin:0;padding:18px;color:var(--cream-m);font-size:14px;line-height:1.55;text-align:center;}
.checkin-note{margin:13px 1px 0;color:var(--muted);font-size:12px;line-height:1.55;}
html[dir="rtl"] .destination-card,html[dir="rtl"] .checkin-copy,html[dir="rtl"] .checkin-tool{text-align:right;}

@media(max-width:900px){
  .destination-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .checkin-inner{grid-template-columns:1fr;gap:24px;padding:58px 28px;}
}
@media(max-width:600px){
  .destination-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .destination-filter{width:100%;padding-inline:8px;}
  .destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .destination-card{min-height:72px;padding:9px;gap:8px;}
  .destination-card>span:first-child{font-size:22px;}
  .map-sidebar{z-index:700!important;}
  .map-sidebar-backdrop{z-index:699;}
  .map-sidebar .ms-close{position:sticky;top:8px;float:right;margin:8px 8px -50px 0;}
  html[dir="rtl"] .map-sidebar .ms-close{float:left;margin:8px 0 -50px 8px;}
  .checkin-inner{padding:52px 16px;}
  .checkin-tool{padding:14px;}
  .airline-search-row{grid-template-columns:1fr;}
  .airline-grid{grid-template-columns:1fr;}
  .airline-card{min-height:66px;}
}
/* Version 31: Die neuen SEO-Leistungsseiten bleiben auch im Hauptseiten-Footer
   als echte, crawlbare Links erreichbar. */
.f-links{
  flex-wrap:wrap;
  justify-content:flex-end;
  max-width:760px;
}

/* Version 32: Leistungsbegriffe in der Desktop-Hauptnavigation führen zuerst
   auf die passenden Informations- und SEO-Unterseiten. */
.nav-links a.nav-link{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}

@media(max-width:768px){
  .f-links{justify-content:center;max-width:100%;}
}
