/* VOYAGER_DESKTOP_HOME_V1 (admin request 2026-09-27, Vueling-inspired):
   desktop homepage only (linked with media="(min-width:761px)" from
   home.html, scoped to body.voy-page-home) - the photo is a hero band of
   roughly one screen instead of the whole page; a transparent top bar on
   the photo (Menü left, logo centre, language/currency + Anmelden right);
   white module pills with the active one in the brand blue; one white
   horizontal search bar. Other pages keep the normal header. */
body.voy-page-home{--voy-dh-h:clamp(600px,82vh,780px)}
body.voy-page-home .voy-header{display:none!important}
body.voy-page-home main.voy-photo-bg>.voy-bg-layer{bottom:auto!important;height:var(--voy-dh-h)!important}
body.voy-page-home main.voy-photo-bg>.voy-bg-layer::before{content:"";position:absolute;inset:0 0 auto 0;height:220px;z-index:1;
  background:linear-gradient(180deg,rgba(6,20,36,.42),rgba(6,20,36,0))}
body.voy-page-home .voy-hero{position:relative;min-height:var(--voy-dh-h);padding:0 0 48px!important;background:transparent!important}
body.voy-page-home main:not(.voy-photo-bg) .voy-hero{background:linear-gradient(160deg,var(--voy-color-primary),#0d2a44)!important}

/* ---- top bar on the photo ---- */
body.voy-page-home .voy-dh-top{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:26px clamp(24px,4vw,64px) 0;position:relative;z-index:5}
body.voy-page-home .voy-dh-menu,body.voy-page-home .voy-dh-lang-btn{display:inline-flex;align-items:center;gap:10px;background:none;border:0;
  color:#fff;font:800 14px/1 var(--voy-font-body);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;padding:8px 0;
  text-shadow:0 1px 3px rgba(0,0,0,.35)}
body.voy-page-home .voy-dh-menu{justify-self:start}
body.voy-page-home .voy-dh-menu svg,body.voy-page-home .voy-dh-lang-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}
body.voy-page-home .voy-dh-lang-btn svg{width:22px;height:22px}
body.voy-page-home .voy-dh-logo{display:block;line-height:0}
body.voy-page-home .voy-dh-logo img{height:clamp(40px,4vw,54px);width:auto;display:block}
/* DUA_REISEN_AGENCY_BRANDING_V1: a brand WITHOUT a logo image (e.g. an agency) is shown as white text on the hero photo, never dark-on-dark. */
body.voy-page-home .voy-dh-logo-text{display:block;line-height:1.1;font-weight:700;font-size:clamp(20px,2vw,28px);color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.35);letter-spacing:.2px}
body.voy-page-home .voy-dh-right{justify-self:end;display:flex;align-items:center;gap:clamp(14px,2vw,26px)}
body.voy-page-home .voy-dh-login{display:inline-flex;align-items:center;height:42px;padding:0 28px;border-radius:999px;
  background:var(--voy-color-primary);color:#fff;font:800 13px/1 var(--voy-font-body);letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.18)}
body.voy-page-home .voy-dh-login:hover{filter:brightness(1.08)}

/* ---- search: module pills + one white bar ---- */
body.voy-page-home .voy-hero .voy-container{max-width:1240px!important;margin:0 auto!important;padding:0 clamp(24px,4vw,48px)!important}
body.voy-page-home .voy-search-panel{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;
  max-width:none!important;width:100%;margin:clamp(64px,13vh,130px) 0 0!important;backdrop-filter:none!important}
body.voy-page-home .voy-m-tabs{display:flex!important;justify-content:center;flex-wrap:wrap;gap:16px;margin:0 0 30px}
body.voy-page-home .voy-m-tab{display:inline-flex;align-items:center;gap:10px;height:36px;padding:0 22px;border-radius:999px;background:#fff;
  color:#172033;text-decoration:none;font:800 13px/1 var(--voy-font-body);letter-spacing:.05em;text-transform:uppercase;
  box-shadow:0 2px 10px rgba(6,20,36,.14);transition:background .15s,color .15s}
body.voy-page-home .voy-m-tab:hover{background:#f1f5f9}
body.voy-page-home .voy-m-tab[aria-current="page"]{background:var(--voy-color-primary);color:#fff}
body.voy-page-home .voy-m-tab::after{content:"";width:17px;height:17px;flex:0 0 auto;background:currentColor;
  -webkit-mask:var(--voy-dh-ic) no-repeat center/contain;mask:var(--voy-dh-ic) no-repeat center/contain}
body.voy-page-home .voy-m-tab:nth-child(1){--voy-dh-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z'/%3E%3C/svg%3E")}
body.voy-page-home .voy-m-tab:nth-child(2){--voy-dh-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 22v-6.57'/%3E%3Cpath d='M12 11h.01'/%3E%3Cpath d='M12 7h.01'/%3E%3Cpath d='M14 15.43V22'/%3E%3Cpath d='M15 16a5 5 0 0 0-6 0'/%3E%3Cpath d='M16 11h.01'/%3E%3Cpath d='M16 7h.01'/%3E%3Cpath d='M8 11h.01'/%3E%3Cpath d='M8 7h.01'/%3E%3Crect x='4' y='2' width='16' height='20' rx='2'/%3E%3C/svg%3E")}
body.voy-page-home .voy-m-tab:nth-child(3){--voy-dh-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 20a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2'/%3E%3Cpath d='M8 18V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v14'/%3E%3Cpath d='M10 20h4'/%3E%3Ccircle cx='16' cy='20' r='2'/%3E%3Ccircle cx='8' cy='20' r='2'/%3E%3C/svg%3E")}
body.voy-page-home .voy-m-tab:nth-child(4){--voy-dh-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6v6'/%3E%3Cpath d='M15 6v6'/%3E%3Cpath d='M2 12h19.6'/%3E%3Cpath d='M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Cpath d='M9 18h5'/%3E%3Ccircle cx='16' cy='18' r='2'/%3E%3C/svg%3E")}

body.voy-page-home .voy-trip-type{display:inline-flex!important;gap:2px!important;margin:0 0 12px!important;background:rgba(255,255,255,.94)!important;
  border-radius:999px!important;padding:4px!important;box-shadow:0 2px 10px rgba(6,20,36,.14)}
body.voy-page-home .voy-trip-type label{flex:0 0 auto!important;padding:7px 16px!important;font-size:13px!important}

body.voy-page-home .voy-search-fields{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:stretch;gap:0!important;
  background:#fff;border-radius:34px;padding:8px 8px 8px 14px;box-shadow:0 14px 40px rgba(6,20,36,.24)}
body.voy-page-home .voy-od-row{order:1;flex:2 1 0;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:0!important}
body.voy-page-home .voy-date-row{order:2;flex:1.9 1 0;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:0!important;position:relative}
body.voy-page-home .voy-pax-cta-row{order:3;flex:1.8 1 0;min-width:0;display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;align-items:center!important}
body.voy-page-home .voy-multicity-row{order:4;flex:1 0 100%;border-top:1px solid #e6eaf0;margin-top:6px;padding-top:6px}
body.voy-page-home .voy-search-fields .voy-field{position:relative;border:0!important;border-radius:18px!important;background:transparent!important;
  box-shadow:none!important;padding:10px 20px!important;justify-content:center;min-height:62px;min-width:0}
body.voy-page-home .voy-search-fields .voy-field::after{content:"";position:absolute;right:0;top:20%;bottom:20%;width:1px;background:#e3e8ef}
body.voy-page-home .voy-search-fields #passenger-trigger::after{display:none}
body.voy-page-home .voy-search-fields .voy-field:hover{background:#f5f7fa!important}
body.voy-page-home .voy-search-fields .voy-field[data-open="true"]{background:#eef3f8!important}
body.voy-page-home .voy-search-fields .voy-field-label{font-size:12px!important;font-weight:500!important;text-transform:none!important;
  letter-spacing:0!important;color:#6b7686!important}
body.voy-page-home .voy-search-fields .voy-field-value{font-size:16px!important;font-weight:600!important;color:#172033!important;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.voy-page-home .voy-search-fields .voy-field-value[data-empty="true"]{color:#8a94a3!important;font-weight:500!important}
body.voy-page-home .voy-swap-btn{width:30px!important;height:30px!important;background:#fff!important;border:1px solid #e3e8ef!important;color:#172033!important}
body.voy-page-home .voy-search-cta{height:54px;padding:0 36px!important;border-radius:999px!important;background:var(--voy-color-primary)!important;
  color:#fff!important;border:0!important;font-size:14px!important;font-weight:800!important;letter-spacing:.06em;text-transform:uppercase}
body.voy-page-home .voy-search-cta:hover{filter:brightness(1.08)}

/* smaller laptops: same composition, compacted */
@media (max-width:1100px){
  body.voy-page-home .voy-search-fields .voy-field{padding:8px 12px!important}
  body.voy-page-home .voy-search-fields .voy-field-value{font-size:14px!important}
  body.voy-page-home .voy-search-cta{padding:0 20px!important}
  body.voy-page-home .voy-m-tab{padding:0 16px;gap:8px}
}

/* ---- Menü: the existing menu sheet, sliding in from the left here ---- */
body.voy-page-home .voy-mobile-sheet-panel{left:0;right:auto;transform:translateX(-100%)}
body.voy-page-home .voy-mobile-sheet[data-open="true"] .voy-mobile-sheet-panel{transform:none}

/* ---- Sprache und Währung panel (right) ---- */
body.voy-page-home .voy-dh-lang{display:block!important;position:fixed;inset:0;z-index:80;visibility:hidden;pointer-events:none;transition:visibility 0s linear .3s}
body.voy-page-home .voy-dh-lang[data-open="true"]{visibility:visible;pointer-events:auto;transition-delay:0s}
body.voy-page-home .voy-dh-lang-backdrop{position:absolute;inset:0;background:rgba(6,20,36,.55);opacity:0;transition:opacity .25s ease}
body.voy-page-home .voy-dh-lang[data-open="true"] .voy-dh-lang-backdrop{opacity:1}
body.voy-page-home .voy-dh-lang-panel{position:absolute;top:0;right:0;bottom:0;width:min(560px,92vw);background:#fff;display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.78,.25,1);box-shadow:-10px 0 40px rgba(6,20,36,.2);overflow-y:auto}
body.voy-page-home .voy-dh-lang[data-open="true"] .voy-dh-lang-panel{transform:none}
body.voy-page-home .voy-dh-lang-head{display:flex;align-items:center;justify-content:space-between;padding:22px 32px;border-bottom:1px solid #e8ecf1}
body.voy-page-home .voy-dh-lang-head h2{margin:0;font:800 20px/1.2 var(--voy-font-body);letter-spacing:.02em;text-transform:uppercase;color:#172033}
body.voy-page-home .voy-dh-lang-x{width:38px;height:38px;border:0;background:none;color:#172033;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
body.voy-page-home .voy-dh-lang-x svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
body.voy-page-home .voy-dh-lang-cols{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:30px 32px}
body.voy-page-home .voy-dh-lang-cols h3{margin:0 0 14px;font:800 22px/1.2 var(--voy-font-body);text-transform:uppercase;color:#172033}
body.voy-page-home .voy-dh-lang-cols ul{list-style:none;margin:0;padding:0}
body.voy-page-home .voy-dh-lang-opt{display:flex;justify-content:space-between;align-items:center;padding:13px 0;color:#172033;text-decoration:none;
  font-size:15px;border-bottom:2px solid transparent}
body.voy-page-home .voy-dh-lang-opt b{font-weight:700}
body.voy-page-home .voy-dh-lang-opt[aria-current="true"]{font-weight:800;border-bottom-color:var(--voy-color-primary)}
body.voy-page-home a.voy-dh-lang-opt:hover{color:var(--voy-color-primary)}
body.voy-page-home .voy-dh-lang-ok{align-self:center;margin:10px 0 32px;height:48px;padding:0 56px;border:0;border-radius:999px;
  background:var(--voy-color-primary);color:#fff;font:800 14px/1 var(--voy-font-body);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}

/* date picker centred under the two date fields so it never runs off-screen on smaller laptops */
body.voy-page-home .voy-date-row .voy-calendar-pop{left:50%!important;right:auto!important;margin-left:calc(min(680px,92vw) / -2)}
body.voy-page-home .voy-search-fields .voy-field-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ===================================================================
   VOYAGER_DESKTOP_HOME_V2 (admin video 2026-09-27): Vueling-style flow,
   driven by js/desktop-home.js.
   =================================================================== */
/* page behind the search bar blurs while a step is open */
body.voy-page-home main.voy-photo-bg>.voy-bg-layer .voy-bg-photo{transition:opacity 1.4s ease,filter .35s ease,transform .35s ease}
body.voy-page-home.voy-dh-focus main.voy-photo-bg>.voy-bg-layer .voy-bg-photo{filter:blur(14px) brightness(.92);transform:scale(1.06)}
body.voy-page-home .voy-hero~section,body.voy-page-home .voy-footer{transition:filter .35s ease}
body.voy-page-home.voy-dh-focus .voy-hero~section,body.voy-page-home.voy-dh-focus .voy-footer{filter:blur(8px)}

/* field shows "MUC München" */
body.voy-page-home .voy-search-fields .voy-field-value b{font-weight:800;font-size:18px;letter-spacing:.02em;margin-right:3px}

/* ---- Von / Bis drop-down with photos ---- */
body.voy-page-home .voy-od-row{position:relative}
body.voy-page-home .voy-dh-typing .voy-field-value{visibility:hidden}
body.voy-page-home .voy-dh-pick-input{position:absolute;left:20px;right:14px;bottom:13px;border:0;outline:0;background:transparent;padding:0;
  font:600 16px/1.2 var(--voy-font-body);color:#172033}
body.voy-page-home .voy-dh-pick-input::placeholder{color:#8a94a3;font-weight:500}
body.voy-page-home .voy-dh-pick{position:absolute;top:calc(100% + 16px);z-index:60;width:390px;background:#fff;border-radius:22px;
  box-shadow:0 18px 50px rgba(6,20,36,.28);overflow:hidden;opacity:0;transform:translate3d(0,-8px,0);
  transition:opacity .2s ease,transform .25s cubic-bezier(.22,.8,.22,1)}
body.voy-page-home .voy-dh-pick[data-open="true"]{opacity:1;transform:none}
body.voy-page-home .voy-dh-pick-list{max-height:min(430px,56vh);overflow-y:auto;padding:8px;overscroll-behavior:contain}
body.voy-page-home .voy-dh-pick-row{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:14px;width:100%;padding:8px 12px 8px 8px;
  border:0;background:none;border-radius:14px;cursor:pointer;text-align:left;font:inherit}
body.voy-page-home .voy-dh-pick-row:hover{background:#f1f5f9}
body.voy-page-home .voy-dh-pick-row[aria-selected="true"]{background:color-mix(in srgb,var(--voy-color-primary) 10%,#fff)}
body.voy-page-home .voy-dh-pick-photo{width:54px;height:54px;border-radius:12px;overflow:hidden;background:#e8eef5;display:flex;align-items:center;justify-content:center}
body.voy-page-home .voy-dh-pick-photo img{width:100%;height:100%;object-fit:cover;display:block}
body.voy-page-home .voy-dh-pick-photo svg{width:22px;height:22px;fill:var(--voy-color-primary)}
body.voy-page-home .voy-dh-pick-text{min-width:0;line-height:1.2}
body.voy-page-home .voy-dh-pick-text small{display:block;font-size:12px;color:#6b7686;margin-bottom:2px}
body.voy-page-home .voy-dh-pick-text strong{display:block;font-size:16px;font-weight:700;color:#172033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.voy-page-home .voy-dh-pick-code{font-size:15px;font-weight:800;color:var(--voy-color-primary);letter-spacing:.04em}
body.voy-page-home .voy-dh-pick-empty{padding:22px;color:#6b7686;font-size:15px}

/* ---- calendar: wide card under the bar ---- */
body.voy-page-home .voy-search-fields{position:relative}
body.voy-page-home .voy-date-row{position:static!important}
body.voy-page-home .voy-date-row .voy-calendar-pop{top:calc(100% + 16px)!important;left:50%!important;right:auto!important;
  width:min(960px,100%)!important;margin-left:calc(min(960px,100%) / -2)!important;border-radius:26px!important;border:0!important;
  box-shadow:0 18px 50px rgba(6,20,36,.28)!important;padding:0!important;background:#fff!important}
body.voy-page-home .voy-calendar-pop[data-open="true"]{padding:0 0 22px!important}
body.voy-page-home .voy-calendar-pop .voy-calendar-foot{display:none!important}
body.voy-page-home .voy-dh-calhead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;min-height:64px;padding:12px 28px;
  background:#f4f7fb;border-bottom:1px solid #e6ebf1}
body.voy-page-home .voy-dh-calhint{font-size:16px;font-weight:700;color:#172033}
body.voy-page-home .voy-dh-callegend{justify-self:end;display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:#172033}
body.voy-page-home .voy-dh-callegend i{width:12px;height:12px;border-radius:50%;background:#16a34a}
/* Reiseart as dots, larger and clear */
body.voy-page-home .voy-dh-caltrip .voy-trip-type{display:flex!important;gap:26px!important;background:none!important;box-shadow:none!important;
  padding:0!important;margin:0!important;border-radius:0!important}
body.voy-page-home .voy-dh-caltrip .voy-trip-type label{position:relative;display:inline-flex!important;align-items:center;gap:10px;flex:0 0 auto!important;
  padding:6px 0!important;background:none!important;border:0!important;font-size:16px!important;font-weight:700!important;color:#4b5563!important;cursor:pointer}
body.voy-page-home .voy-dh-caltrip .voy-trip-type label span{color:inherit!important}
body.voy-page-home .voy-dh-caltrip .voy-trip-type label::before{content:"";width:22px;height:22px;border-radius:50%;border:2px solid #aeb8c5;
  box-sizing:border-box;background:#fff;flex:0 0 auto;transition:border .15s ease}
body.voy-page-home .voy-dh-caltrip .voy-trip-type label:has(input:checked){color:var(--voy-color-primary)!important}
body.voy-page-home .voy-dh-caltrip .voy-trip-type label:has(input:checked)::before{border:7px solid var(--voy-color-primary)}
/* month arrows sit beside the month titles */
body.voy-page-home .voy-calendar-pop .voy-calendar-head{position:absolute;left:18px;right:18px;top:80px;display:flex;justify-content:space-between;
  pointer-events:none;z-index:2;margin:0!important;padding:0!important;border:0!important}
body.voy-page-home .voy-calendar-pop .voy-calendar-head strong{visibility:hidden}
body.voy-page-home .voy-calendar-pop .voy-calendar-nav-btn{pointer-events:auto;width:38px;height:38px;border:0!important;background:none!important;
  color:#172033;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
body.voy-page-home .voy-calendar-pop .voy-calendar-nav-btn:hover{background:#eef3f8!important}
body.voy-page-home .voy-calendar-pop .voy-calendar-nav-btn svg{width:20px;height:20px}
body.voy-page-home .voy-calendar-months{gap:0!important;padding:22px 28px 0}
body.voy-page-home .voy-calendar-month{padding:0 22px}
body.voy-page-home .voy-calendar-month+.voy-calendar-month{border-left:1px solid #e6ebf1}
body.voy-page-home .voy-calendar-month h3{font-size:16px!important;font-weight:800!important;margin:0 0 18px!important;color:#172033}
body.voy-page-home .voy-calendar-weekdays{margin-bottom:8px!important}
body.voy-page-home .voy-calendar-weekdays span{font-size:11px!important;letter-spacing:.06em;text-transform:uppercase;color:#6b7686!important}
body.voy-page-home .voy-calendar-grid{gap:4px 0!important}
body.voy-page-home .voy-calendar-day{position:relative;z-index:0;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  min-height:58px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;
  font-size:16px!important;font-weight:700!important;color:#172033!important;cursor:pointer}
body.voy-page-home .voy-calendar-day::before{content:"";position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;
  z-index:-1;background:transparent;transition:background .12s ease}
body.voy-page-home .voy-calendar-day:not([data-disabled="true"]):not([data-empty="true"]):hover::before{background:#e6eef7}
body.voy-page-home .voy-calendar-day[data-disabled="true"]{color:#c3cad3!important;cursor:default}
body.voy-page-home .voy-calendar-day .voy-day-price{font-size:11px!important;font-weight:500!important;color:#4b5563!important;line-height:1}
body.voy-page-home .voy-calendar-day.is-cheap .voy-day-price{color:#15803d!important;font-weight:700!important}
body.voy-page-home .voy-calendar-day.is-cheap .voy-day-price::after{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;
  background:#16a34a;margin-left:2px;vertical-align:4px}
/* VOYAGER_CALENDAR_RANGE_V2 (owner 2026-10-25): the range is an orange band that runs INTO the departure and return circles (round ends), a hovered day gets a clearly blue circle and lifts until it is clicked */
body.voy-page-home{--voy-range:#e3eef8;--voy-hover:color-mix(in srgb,var(--voy-color-primary) 38%,#fff)}
body.voy-page-home .voy-calendar-day[data-state="in-range"],body.voy-page-home .voy-calendar-day.is-hover-range{background:transparent!important}
body.voy-page-home .voy-calendar-day[data-state="in-range"]::after,body.voy-page-home .voy-calendar-day.is-hover-range::after,
body.voy-page-home .voy-calendar-day.is-hover-end::after,body.voy-page-home .voy-calendar-day[data-state="return"]::after,
body.voy-page-home .voy-calendar-day.is-hover-from::after,
body.voy-page-home .voy-calendar-months:has([data-state="return"]) .voy-calendar-day[data-state="outbound"]::after{
  content:"";position:absolute;top:50%;left:0;right:0;height:54px;margin-top:-27px;background:var(--voy-range);z-index:-2;pointer-events:none;transition:transform .12s ease}
/* the band starts/ends in the middle of the two circles, so the circles sit on top of its round ends */
body.voy-page-home .voy-calendar-day[data-state="return"]::after,body.voy-page-home .voy-calendar-day.is-hover-end::after{right:50%}
body.voy-page-home .voy-calendar-day.is-hover-from::after,body.voy-page-home .voy-calendar-months:has([data-state="return"]) .voy-calendar-day[data-state="outbound"]::after{left:50%}
/* a week is a row: the band is round where the row starts/ends */
body.voy-page-home .voy-calendar-grid > .voy-calendar-day:nth-child(7n+1)::after{border-radius:27px 0 0 27px}
body.voy-page-home .voy-calendar-grid > .voy-calendar-day:nth-child(7n)::after{border-radius:0 27px 27px 0}
body.voy-page-home .voy-calendar-grid > .voy-calendar-day:nth-child(7n+1):nth-child(7n)::after{border-radius:27px}
/* hover: a stronger blue circle and the day lifts a little - until it is clicked (then it stays still) */
body.voy-page-home .voy-calendar-day:not([data-disabled="true"]):not([data-empty="true"]):hover::before{background:var(--voy-hover)!important;box-shadow:0 4px 10px rgba(16,24,40,.18)}
body.voy-page-home .voy-calendar-day:not([data-disabled="true"]):not([data-empty="true"]):not([data-state="outbound"]):not([data-state="return"]){transition:transform .12s ease}
body.voy-page-home .voy-calendar-day:not([data-disabled="true"]):not([data-empty="true"]):not([data-state="outbound"]):not([data-state="return"]):hover{transform:translateY(-3px)}
body.voy-page-home .voy-calendar-day:not([data-disabled="true"]):hover::after{transform:translateY(3px)}
body.voy-page-home .voy-calendar-day.is-hover-end::before{background:color-mix(in srgb,var(--voy-color-primary) 62%,#fff)!important}
body.voy-page-home .voy-calendar-day.is-hover-end{color:#fff!important}
body.voy-page-home .voy-calendar-day.is-hover-end .voy-day-price{color:#fff!important}
body.voy-page-home .voy-calendar-day[data-state="outbound"],body.voy-page-home .voy-calendar-day[data-state="return"]{color:#fff!important}
body.voy-page-home .voy-calendar-day[data-state="outbound"]::before,body.voy-page-home .voy-calendar-day[data-state="return"]::before{background:var(--voy-color-primary)!important}
body.voy-page-home .voy-calendar-day[data-state="outbound"] .voy-day-price,body.voy-page-home .voy-calendar-day[data-state="return"] .voy-day-price{color:#fff!important}
body.voy-page-home .voy-calendar-day[data-state="outbound"] .voy-day-price::after,body.voy-page-home .voy-calendar-day[data-state="return"] .voy-day-price::after{background:#fff}

/* ---- passengers ---- */
body.voy-page-home .voy-pax-pop{top:calc(100% + 16px)!important;left:auto!important;right:-8px!important;width:360px!important;border:0!important;
  border-radius:22px!important;box-shadow:0 18px 50px rgba(6,20,36,.28)!important;background:#fff!important}
body.voy-page-home .voy-pax-pop[data-open="true"]{padding:10px 22px!important}
body.voy-page-home .voy-pax-pop .voy-pax-row{padding:14px 0!important}
body.voy-page-home .voy-pax-pop .voy-pax-row+.voy-pax-row{border-top:1px solid #eef1f5}
body.voy-page-home .voy-pax-pop .voy-pax-row-label{font-size:15px!important;font-weight:700!important;color:#172033}
body.voy-page-home .voy-pax-pop .voy-pax-row-sub{font-size:12px!important;color:#6b7686!important}
body.voy-page-home .voy-pax-pop .voy-pax-stepper{gap:12px!important;align-items:center}
body.voy-page-home .voy-pax-pop .voy-pax-stepper button{width:34px!important;height:34px!important;border-radius:50%!important;border:1.5px solid #9aa6b4!important;
  background:#fff!important;color:#172033!important;font-size:18px!important;line-height:1!important;padding:0!important;cursor:pointer}
body.voy-page-home .voy-pax-pop .voy-pax-stepper button:hover{border-color:var(--voy-color-primary)!important;color:var(--voy-color-primary)!important}
body.voy-page-home .voy-pax-pop .voy-pax-stepper output{min-width:18px;text-align:center;font-size:16px;font-weight:700}
body.voy-page-home .voy-pax-pop .voy-pax-pop-foot{display:none!important}
body.voy-page-home .voy-dh-calhead{grid-template-columns:max-content 1fr max-content!important}
body.voy-page-home .voy-dh-calhint{font-size:15px;white-space:nowrap}
body.voy-page-home .voy-dh-caltrip{justify-self:center}
body.voy-page-home .voy-dh-pick-input{right:30px!important;text-overflow:ellipsis}
@media (max-width:1100px){body.voy-page-home .voy-dh-pick-input{left:12px}body.voy-page-home .voy-dh-caltrip .voy-trip-type{gap:16px!important}body.voy-page-home .voy-dh-caltrip .voy-trip-type label{font-size:14px!important}}

/* ===================================================================
   VOYAGER_DESKTOP_HOTEL_V1 (admin request 2026-09-28): /hotels/ on desktop
   = the flights homepage with Hotel active; only the search bar differs
   (Unterkünfte finden in | Anreise | Abreise | Gäste | Suchen).
   =================================================================== */
body.voy-page-home .voy-dh-hotel-stage{margin-top:clamp(64px,13vh,130px)}
body.voy-page-home #voyager-hotel-search-panel{margin-top:0!important}
body.voy-page-home [data-dh-label]{display:block!important}
body.voy-page-home .voy-dh-orig-label{display:none!important}
body.voy-page-home #voyager-hotel-search-panel .voy-search-fields>.voy-field{order:1;flex:2.3 1 0}
body.voy-page-home #voyager-hotel-search-panel .voy-date-row{order:2;flex:1.8 1 0}
body.voy-page-home #voyager-hotel-search-panel .voy-pax-cta-row{order:3;flex:1.9 1 0}
body.voy-page-home #voyager-hotel-search-panel .voy-search-fields>div:not(.voy-field):not(.voy-date-row):not(.voy-pax-cta-row){order:4;flex:1 0 100%;padding:4px 20px}
body.voy-page-home #voyager-hotel-search-panel .voy-field input{border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;
  padding:0!important;margin:0!important;min-height:0!important;height:auto!important;width:100%;font:600 16px/1.25 var(--voy-font-body)!important;color:#172033!important}
body.voy-page-home #voyager-hotel-search-panel .voy-field input::placeholder{color:#8a94a3;font-weight:500}
@media (max-width:1100px){body.voy-page-home #voyager-hotel-search-panel .voy-field input{font-size:14px!important}}

/* hotel bar: the "required" hint that the unsubmitted form prints on load is
   not shown here (the date inputs are required - the browser still stops an
   empty search); wider dates */
body.voy-page-home #voyager-hotel-search-panel .voy-search-fields>div:not(.voy-field):not(.voy-date-row):not(.voy-pax-cta-row){display:none!important}
body.voy-page-home #voyager-hotel-search-panel .voy-search-fields>.voy-field{flex:2 1 0}
body.voy-page-home #voyager-hotel-search-panel .voy-date-row{flex:2.3 1 0}
body.voy-page-home #voyager-hotel-search-panel .voy-date-row .voy-field{padding-right:12px!important}
body.voy-page-home #voyager-hotel-search-panel .voy-search-fields>.voy-field{flex:1.7 1 0}
body.voy-page-home #voyager-hotel-search-panel .voy-pax-cta-row{flex:2.3 1 0}

/* VOYAGER_HOTEL_PLACES_V1: destination / hotel suggestion list */
body.voy-page-home #voyager-hotel-search-panel .voy-field[data-open="true"]{background:#eef3f8!important}
body.voy-page-home .voy-hp-clear{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;border:0;
  background:#172033;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}
body.voy-page-home .voy-hp-clear[hidden]{display:none}
body.voy-page-home .voy-hp-clear svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
body.voy-page-home .voy-hp-drop{position:absolute;left:0;top:calc(100% + 16px);z-index:70;width:470px;max-height:min(460px,60vh);overflow-y:auto;
  background:#fff;border-radius:20px;padding:8px;box-shadow:0 18px 50px rgba(6,20,36,.28);overscroll-behavior:contain;cursor:default}
body.voy-page-home .voy-hp-drop[hidden]{display:none}
body.voy-page-home .voy-hp-head{padding:10px 12px 6px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6b7686}
body.voy-page-home .voy-hp-row{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:14px;width:100%;padding:8px 12px 8px 8px;border:0;
  background:none;border-radius:12px;cursor:pointer;text-align:left;font:inherit;color:#172033}
body.voy-page-home .voy-hp-row:hover,body.voy-page-home .voy-hp-row.is-active{background:#f1f5f9}
body.voy-page-home .voy-hp-ic{width:46px;height:46px;border-radius:10px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;overflow:hidden}
body.voy-page-home .voy-hp-ic svg{width:22px;height:22px;fill:none;stroke:#172033;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.voy-page-home .voy-hp-photo img{width:100%;height:100%;object-fit:cover}
body.voy-page-home .voy-hp-txt{min-width:0;line-height:1.25}
body.voy-page-home .voy-hp-txt strong{display:block;font-size:15.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.voy-page-home .voy-hp-txt strong b{font-weight:800}
body.voy-page-home .voy-hp-txt small{display:block;font-size:13px;color:#6b7686;margin-top:2px}
body.voy-page-home .voy-hp-stars{font-style:normal;color:#f5a623;letter-spacing:1px}
body.voy-page-home .voy-hp-none{padding:16px;font-size:14px;color:#6b7686}
