:root{--ink:#12233f;--muted:#54647b;--blue:#0755b7;--blue-dark:#073572;--line:#dce5ee;--bg:#f4f7fb;--white:#fff;--focus:#f28b29}
@font-face {
  font-family: "BXX DM Sans";
  src: url("/kayak/experience-assets/dm-sans-regular.woff") format("woff");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "BXX DM Sans";
  src: url("/kayak/experience-assets/dm-sans-bold.woff") format("woff");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "BXX DM Sans";
  src: url("/kayak/experience-assets/dm-sans-extrabold.woff") format("woff");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}
@font-face {
  font-family: "BXX DM Serif";
  src: url("/kayak/experience-assets/dm-serif-display.woff") format("woff");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@scope (html) to (.home-copy) {
@layer reset, base, layout, components, responsive;
@layer reset { *,*::before,*::after{box-sizing:border-box} html{font-family:"Segoe UI",Arial,sans-serif} body,h1,h2,h3,p{margin:0} button,input,select{font:inherit} a{color:inherit} }
@layer base { .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0} }
@layer base { :root{--ink:#12233f;--muted:#54647b;--blue:#0755b7;--blue-dark:#073572;--line:#dce5ee;--bg:#f4f7fb;--white:#fff;--focus:#f28b29} body{background:var(--bg);color:var(--ink);min-height:100vh;line-height:1.5} :focus-visible{outline:3px solid var(--focus);outline-offset:3px} .shell{width:min(1200px,calc(100% - 40px));margin-inline:auto} .eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)} }
@layer layout { .site-header{background:#fff;border-bottom:1px solid var(--line)} .header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px} .intro{padding:clamp(32px,5vw,60px) 0 24px} .intro h1{font-size:clamp(2rem,4vw,3.45rem);letter-spacing:-.045em;line-height:1.12;margin:10px 0} .intro>p:last-child{color:var(--muted);font-size:1.03rem} .tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px} .search-area,.panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 35px rgba(25,54,86,.06)} .search-area{padding:clamp(20px,3vw,32px)} .search-title,.results-header{display:flex;align-items:center;justify-content:space-between;gap:16px} .search-title{margin-bottom:22px} .search-title h2,.results-header h2{font-size:clamp(1.4rem,2.4vw,1.85rem);letter-spacing:-.03em} .field-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px} body[data-kind=flug] .field-grid{grid-template-columns:repeat(2,minmax(0,1.4fr)) repeat(3,minmax(0,1fr))} body[data-kind=mietwagen] .field-grid{grid-template-columns:2fr 1fr 1fr} .search-footer{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:22px} .results-area{padding:34px 0 64px} .results-header{margin-bottom:18px}.result-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap} .results-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start} .result-list{display:grid;gap:12px} .site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:.82rem;padding:26px 0;margin-top:60px} }
@layer components { .brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--blue-dark);font-size:1.5rem;font-weight:850;letter-spacing:-.055em}.brand-mark{width:35px;height:35px;border-radius:10px;background:var(--blue);color:#fff;text-align:center;line-height:33px;font-size:1.8rem}.brand-light{color:var(--blue)} .header-state,.sandbox-badge,.result-count,.status-tag{display:inline-flex;align-items:center;gap:8px;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap}.header-state{color:var(--muted)}.state-dot{width:8px;height:8px;background:#ed8b2b;border-radius:50%}.sandbox-badge,.status-tag{background:#e7f0fc;color:var(--blue-dark);padding:7px 12px}.tabs a{display:flex;align-items:center;gap:9px;text-decoration:none;padding:11px 17px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink);font-weight:700;box-shadow:0 2px 9px rgba(24,53,81,.035)}.tabs a:hover{border-color:var(--blue)}.tabs a[aria-current=page]{background:var(--blue);border-color:var(--blue);color:#fff}.tab-icon{font-size:1.2rem;line-height:1}.field{position:relative;min-width:0}.field label{display:block;font-size:.83rem;font-weight:750;margin-bottom:7px}.field input:not([type=hidden]),.field select{width:100%;height:48px;border:1px solid #c7d5e3;border-radius:10px;background:#fff;color:var(--ink);padding:0 12px;min-width:0}.field input:hover,.field select:hover{border-color:#839ab4}.field input:focus,.field select:focus{border-color:var(--blue)}.field-help{font-size:.72rem;color:var(--muted);margin-top:5px}.suggestions{position:absolute;top:78px;left:0;right:0;z-index:5;background:#fff;border:1px solid #abc0d7;border-radius:10px;box-shadow:0 15px 35px rgba(18,35,63,.18);max-height:260px;overflow-y:auto}.suggestions[hidden]{display:none}.suggestions button{display:block;width:100%;text-align:left;border:0;background:#fff;color:var(--ink);padding:11px 12px;cursor:pointer}.suggestions button:hover,.suggestions button:focus{background:#e8f1fc}.suggestions p{padding:11px 12px;color:var(--muted);font-size:.88rem}.search-button,.result-action a{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:10px;background:var(--blue);color:#fff;padding:13px 19px;font-weight:750;text-decoration:none;white-space:nowrap;cursor:pointer}.search-button:hover,.result-action a:hover{background:var(--blue-dark)}.search-button:disabled{opacity:.65;cursor:wait}.form-message{color:var(--blue-dark);font-size:.84rem;min-height:1.4em;margin-top:8px}.form-message:empty{display:none}.results-info{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--muted);font-size:.85rem}.results-info h3{color:var(--ink);font-size:.96rem;margin-bottom:8px}.results-info p+p{margin-top:12px}.result-count{background:#e7f0fc;padding:7px 12px;color:var(--blue-dark)}.result-card{display:flex;align-items:center;gap:18px;min-height:128px;padding:17px 20px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(25,54,86,.035)}.result-image{width:102px;height:82px;object-fit:contain;border-radius:8px;background:#f4f7fb;flex:none}.result-main{min-width:0;flex:1}.result-main h3{font-size:1rem;line-height:1.35}.result-main p{font-size:.85rem;color:var(--muted);margin-top:5px}.sample-label{display:inline-block;color:#765b28;background:#fff3df;border-radius:6px;padding:3px 7px;font-size:.7rem;font-weight:700;margin-top:9px}.result-action{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.result-action strong{font-size:1.25rem}.result-action small,.price-unavailable{color:var(--muted);font-size:.75rem}.result-action a{font-size:.78rem;padding:8px 12px;margin-top:8px}.notice{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;color:var(--muted)}.notice.error{border-color:#ebbbb5;background:#fff6f5;color:#8c3025}.unavailable{padding:clamp(24px,5vw,48px);max-width:760px;min-height:250px}.unavailable h2{font-size:1.8rem;margin:15px 0 9px}.unavailable p{color:var(--muted);max-width:600px}.text-link{display:inline-block;color:var(--blue);font-weight:700;margin-top:20px} }
@layer responsive { @media(max-width:950px){.field-grid,body[data-kind=flug] .field-grid,body[data-kind=mietwagen] .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.place-field{grid-column:span 1}.results-layout{grid-template-columns:1fr}.results-info{order:2}} @media(max-width:620px){.shell{width:min(100% - 24px,1200px)}.header-inner{min-height:66px}.header-state{font-size:.68rem}.tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tabs a{justify-content:center;padding:10px 7px;font-size:.85rem}.field-grid,body[data-kind=flug] .field-grid,body[data-kind=mietwagen] .field-grid{grid-template-columns:1fr}.search-footer{align-items:stretch;flex-direction:column}.search-button{width:100%}.result-card{align-items:flex-start;flex-wrap:wrap;padding:15px}.result-main{flex-basis:calc(100% - 120px)}.result-action{width:100%;align-items:flex-start;text-align:left;margin-top:4px}.result-action a{width:100%}.results-header{align-items:flex-start;flex-direction:column}.intro{padding-top:32px}.site-footer{margin-top:40px}} }
@layer components { .options-row{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px;margin-bottom:18px}.more-options{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.more-options summary{color:var(--blue-dark);font-size:.87rem;font-weight:750;cursor:pointer;width:max-content;max-width:100%}.more-options[open] summary{margin-bottom:16px}.more-options>.field{max-width:440px}.extra-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.field[hidden]{display:none} }
@layer responsive { @media(max-width:950px){.extra-grid{grid-template-columns:repeat(2,minmax(0,1fr))}} @media(max-width:620px){.options-row,.extra-grid{grid-template-columns:1fr}.more-options>.field{max-width:none}} }
@layer components { .form-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.secondary-action{border:1px solid var(--blue);border-radius:10px;background:#fff;color:var(--blue-dark);padding:12px 16px;font-weight:750;cursor:pointer}.secondary-action:hover{background:#e7f0fc}.secondary-action:disabled{opacity:.65;cursor:wait}.insights-area>.notice{margin:18px 0}.insights-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.insights-list{display:grid;gap:2px;max-height:540px;overflow:auto}.insight-row{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:12px 0}.insight-row>span{min-width:0}.insight-row strong{color:var(--ink)}.insight-row>strong{white-space:nowrap}.insight-row small{display:block;color:var(--muted);font-size:.75rem} }
@layer responsive { @media(max-width:760px){.insights-columns{grid-template-columns:1fr}} @media(max-width:620px){.form-actions,.form-actions button{width:100%}} }
@layer components { .leg-fields{border:1px solid var(--line);border-radius:12px;margin:18px 0 0;padding:16px}.leg-fields legend{padding:0 6px;font-size:.85rem;font-weight:750;color:var(--blue-dark)}.leg-fields[hidden],.secondary-action[hidden]{display:none} }
@layer components { .flight-sort{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 18px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.flight-sort button{display:grid;gap:3px;text-align:left;border:0;border-bottom:4px solid transparent;border-right:1px solid var(--line);padding:16px 20px;background:#fff;color:var(--muted);cursor:pointer}.flight-sort button:last-child{border-right:0}.flight-sort button[aria-selected=true]{border-bottom-color:var(--blue);color:var(--ink)}.flight-sort button strong{font-size:.95rem}.flight-sort button span{font-size:.83rem}.flight-panels{min-width:0}.flight-panel[hidden]{display:none} }
@layer responsive { @media(max-width:620px){.flight-sort{grid-template-columns:1fr}.flight-sort button{border-right:0;border-bottom:1px solid var(--line);padding:10px 14px}.flight-sort button[aria-selected=true]{border-left:4px solid var(--blue);border-bottom-color:var(--line)}} }
@layer components { .notice.error .secondary-action{margin-top:12px} }
@layer components {
  .diagnostic-panel{display:grid;gap:18px;margin-top:30px;min-width:0}
  .diagnostic-import{display:grid;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:.85rem;max-width:100%}
  .diagnostic-import input{max-width:100%}
  .diagnostic-panel h2{font-size:clamp(1.35rem,3vw,2rem)}
  .diagnostic-cards{display:grid;gap:10px}
  .diagnostic-cards .result-card>strong{flex:none;white-space:nowrap}
  .diagnostic-timeline{white-space:pre-wrap;max-height:220px;overflow:auto;font: .8rem/1.7 ui-monospace,monospace}
  .raw-json{max-height:560px;overflow:auto;min-width:0;font:.78rem/1.6 ui-monospace,monospace;color:var(--ink)}
}
@layer components {
  body[data-kind=flug],body[data-kind=deals],body[data-kind=reiseziele]{font-family:"Segoe UI",Arial,sans-serif;--ink:#12233f;--muted:#54647b;--line:#dce5ee;--bg:#f4f7fb}
  .ui-icon{display:inline-block;flex:none;width:20px;height:20px;vertical-align:middle;color:inherit;fill:currentColor}
  .results-body,.flight-panels{min-width:0}.result-warning{margin-bottom:18px;border-color:#e8c982;background:#fff9e9;color:#684b17}
  body[data-kind=flug] .shell{width:min(1320px,calc(100% - 48px))}
  body[data-kind=flug] .results-layout{grid-template-columns:260px minmax(0,1fr);gap:24px}
  body[data-kind=flug] .results-header h2{font-size:20px;font-weight:650;line-height:1.3}
  body[data-kind=flug] .results-header .eyebrow{display:none}
  .flight-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding:0;background:transparent;border:0;border-radius:0;color:var(--muted);font-size:13px}
  .flight-controls[hidden],.flight-panel[hidden],.flight-card[hidden],.more-results[hidden]{display:none}
  .flight-controls label{display:grid;gap:4px}.flight-controls select{min-height:40px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:7px}
  .more-results{display:block;width:100%;margin-top:16px;background:#fff}
  .raw-details{min-width:0}.raw-details>summary{cursor:pointer;font-weight:700}.raw-details .raw-json{margin-top:10px}
  .result-progress{height:3px;overflow:hidden;margin:0 0 18px;border-radius:3px;background:#dce5e9}.result-progress span{display:block;height:100%;background:var(--blue)}.result-progress.is-running span{width:35%;animation:kayak-loading 3s ease-in-out infinite}.result-progress.is-finished span{width:100%}
  @keyframes kayak-loading{from{transform:translateX(-110%)}to{transform:translateX(290%)}}
  .suggestions{max-height:400px;min-width:min(420px,calc(100vw - 30px));right:auto}.suggestions button{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:1px 10px;align-items:center;min-height:62px;border-bottom:1px solid var(--line)}.suggestions button::before{content:"✈";grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#edf2f6;color:var(--muted)}.suggestion-primary{font-weight:700}.suggestion-code{color:var(--muted);font-size:13px}.suggestion-city{grid-column:2/-1;color:var(--muted);font-size:12px}
  body[data-kind=flug] .tabs a[aria-current=page],body[data-kind=flug] .search-button{background:var(--blue);border-color:var(--blue);color:#fff}
  .flight-sort-wrap{display:grid;grid-template-columns:minmax(0,1fr) 180px;margin:0 0 20px 284px;border:1px solid #e1e6e9;border-radius:12px;background:#fff;box-shadow:0 3px 6px #19202420}
  .flight-sort-wrap .flight-sort{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border:0;border-radius:12px 0 0 12px;overflow:hidden}
  .flight-sort button,.flight-sort-loading>div{display:grid;gap:3px;align-content:center;text-align:left;border:0;border-right:1px solid var(--line);border-top:3px solid transparent;border-bottom:4px solid transparent;padding:17px 20px;background:#fff;color:var(--muted);min-height:92px;cursor:pointer}
  .flight-sort button:last-child,.flight-sort-loading>div:last-child{border-right:0}.flight-sort button strong,.flight-sort-loading strong{font-size:17px;font-weight:700;line-height:1.2}.flight-sort button span{font-size:15px;line-height:1.3}
  .flight-sort button[data-flight-sort=bestValue],.flight-sort-loading>div:first-child{border-top-color:#cbdcf3;background:#f4f8fd}.flight-sort button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--blue)}
  .flight-more-sort{position:relative;border-left:1px solid var(--line)}.flight-more-sort>summary,.flight-more-loading{display:flex;align-items:center;justify-content:center;gap:10px;height:100%;min-height:92px;padding:14px;font-size:14px;cursor:pointer;list-style:none}.flight-more-sort>summary::-webkit-details-marker{display:none}.flight-more-sort>summary:hover,.flight-more-sort[open]>summary{background:#f0f3f4}.flight-more-loading{cursor:default;color:var(--muted)}
  .flight-more-menu{position:absolute;z-index:20;right:0;top:100%;width:240px;max-height:400px;overflow-y:auto;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 22px #19202429}.flight-more-menu p{padding:6px 8px;color:var(--muted);font-size:12px}.flight-more-menu button{display:block;width:100%;border:0;border-radius:5px;background:#fff;padding:10px;text-align:left;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}.flight-more-menu button:hover,.flight-more-menu button[aria-pressed=true]{background:#e5eef0}.flight-more-menu button[hidden]{display:none}
  .flight-panel{container-type:inline-size}.flight-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:stretch;min-width:0;padding:0;border:1px solid #e3e8eb;border-radius:11px;background:#fff;box-shadow:0 3px 6px #19202426;overflow:visible;transition:border-color .18s,box-shadow .18s}
  #results-region:not([aria-busy="true"]) .flight-card:hover{border-color:#8c9fac;box-shadow:0 3px 8px #19202430}.flight-main{padding:8px 20px;min-width:0}
  .flight-topline{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#fafbfd;border-bottom:1px solid var(--line);border-radius:11px 11px 0 0;min-height:46px;grid-row:1}.flight-topline:has(.flight-badges:empty){display:none}
  .flight-icon-actions{display:flex;gap:8px;flex:none;margin-left:auto}.card-icon{display:inline-grid;place-items:center;width:40px;height:40px;padding:9px;border:1px solid #c7d5e3;border-radius:8px;background:#fff;color:var(--blue-dark);cursor:pointer}.card-icon .ui-icon{width:20px;height:20px}.card-icon:hover,.card-icon[aria-pressed=true]{background:#dceafb;color:var(--blue)}
  .flight-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.flight-badges:empty{display:none}.flight-badges span{padding:4px 7px;border:0;border-radius:3px;background:#effaf5;color:#00744a;font-size:12px;font-weight:400;line-height:1.3}
  .flight-leg-heading{display:flex;gap:12px;align-items:baseline;margin:0 0 8px 36px;font-size:13px;color:var(--muted)}.flight-leg-heading strong{color:var(--blue-dark)}.flight-leg+.flight-leg{border-top:1px solid var(--line);margin-top:6px;padding-top:12px}
  .flight-leg{padding:7px 0;position:relative;isolation:isolate}.flight-leg::before{content:"";position:absolute;z-index:-1;left:28px;right:0;top:0;bottom:0;background:transparent;transition:background-color .18s;border-radius:7px}#results-region:not([aria-busy="true"]) .flight-card:hover .flight-leg::before,.flight-leg:focus-within::before{background:#e6ecef}.flight-leg:has(.leg-select:checked)::before{background:#e6ecef}
  .flight-leg-row{display:grid;grid-template-columns:24px 54px minmax(0,1.8fr) minmax(83px,.8fr) minmax(94px,.8fr);gap:12px;align-items:center;min-height:48px}
  .leg-select{appearance:none;width:20px;height:20px;border:1px solid #99adbc;border-radius:4px;background:#fff;margin:0;cursor:pointer}.leg-select:checked::after{content:'✓';display:block;text-align:center;color:var(--blue);font:700 15px/18px Arial}
  .flight-airlines{display:flex;align-items:center;justify-content:center;min-width:0}.brand-chip{display:inline-flex;align-items:center;justify-content:center}.brand-chip img{display:block;width:44px;height:44px;object-fit:contain}.brand-name{display:none}.airline-code{display:inline-grid;place-items:center;min-width:30px;height:30px;color:#334a58;font-size:12px;font-weight:700}
  .flight-schedule,.flight-metrics{display:grid;gap:5px;min-width:0}.flight-schedule strong{font-size:18px;font-weight:700;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}.flight-schedule sup{font-size:10px;vertical-align:super;font-weight:400;margin-left:1px}.flight-schedule small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:12px;line-height:1.25}.flight-schedule small:last-child{display:none}
  .flight-metrics{align-self:center}.flight-metrics strong,.flight-duration{font-size:15px;font-weight:700;line-height:1.2}.flight-metrics small{font-size:12px;color:var(--muted);line-height:1.25}.flight-duration{align-self:start;padding-top:7px;white-space:nowrap;text-align:left}
  .flight-card .flight-booking{display:grid;grid-template-columns:minmax(0,1fr) 240px 148px;grid-template-rows:minmax(56px,auto) auto;align-items:center;gap:16px;width:100%;padding:16px 20px;margin:0;border-top:1px solid var(--line);border-radius:0 0 11px 11px;background:#fff;text-align:left;min-width:0}
  .flight-fare-info,.flight-price-info{display:flex;flex-direction:column;gap:5px;min-width:0}.flight-fare-info{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 12px}.flight-fare-info>small{font-size:12px;line-height:1.4;color:var(--muted)}.flight-fare-info>.entity-logo{display:none}
  .flight-price-info .price-line{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.price-line>strong{font-size:24px;font-weight:750;line-height:1.2}.price-line>span{font-size:12px}.flight-price-info .flight-total{order:-1;font-size:17px;font-weight:750;color:var(--ink)}.flight-price-info:has(.flight-total) .price-line>strong{font-size:18px;font-weight:600;color:var(--muted)}
  .flight-card .result-action a{min-width:148px;min-height:46px;margin:0;padding:12px 20px;border-radius:8px;background:var(--blue);color:#fff;font-size:15px;font-weight:700}#results-region:not([aria-busy="true"]) .flight-card .result-action a:hover{background:var(--blue-dark)}
  .entity-logo{display:inline-block;max-width:88px;width:auto;height:26px;object-fit:contain;vertical-align:middle}.result-action>.entity-logo{display:none}.image-missing{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:12px}
  .baggage-summary{position:relative;display:flex;min-height:30px;margin:0;padding:0;width:max-content}.baggage-trigger{display:flex;gap:5px;border:0;background:none;padding:0;cursor:pointer}.bag-indicator{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:37px;height:28px;padding:3px 5px;border:1px solid var(--line);border-radius:4px;background:#fff;color:#080d10}.bag-indicator.unknown,.bag-indicator.fee{color:#97a5ad}.bag-indicator .ui-icon{width:17px;height:19px}.bag-indicator b{font-size:13px;font-weight:500;color:inherit}
  .baggage-popover{visibility:hidden;opacity:0;pointer-events:none;position:absolute;left:0;bottom:calc(100% + 12px);top:auto;z-index:10;width:325px;border:1px solid #e4e9ec;background:#fff;padding:20px;box-shadow:0 9px 24px #1920242b;text-align:left;transition:opacity .15s} .baggage-trigger[aria-expanded=true]+.baggage-popover{visibility:visible;opacity:1;pointer-events:auto}.baggage-popover h4{font-size:20px;margin:0 0 18px}.baggage-popover p{display:flex;justify-content:space-between;gap:15px;margin:12px 0;font-size:16px}.baggage-popover p strong{font-size:16px;font-weight:400;text-align:right}.baggage-popover p span{display:flex;align-items:center;gap:9px}.baggage-popover .baggage-total{border-top:1px solid var(--line);padding-top:16px;margin-top:18px;font-weight:700}.baggage-popover .baggage-total strong{font-weight:700}.baggage-popover>small{display:block;border-top:1px solid var(--line);padding-top:14px;margin-top:18px;font-size:13px;line-height:1.6;color:var(--muted)}
  .flight-card .flight-details{grid-column:1/-1;padding:0;border:0;background:transparent;min-width:0}.flight-details>summary{display:block;min-height:35px;padding:9px 16px 12px;max-width:100%;list-style:none;font-size:12px;font-weight:650;color:var(--blue);cursor:pointer}.flight-details>summary::-webkit-details-marker{display:none}.flight-details>summary:hover{color:var(--blue)}.flight-detail-content{display:grid;gap:16px;padding:30px;border-top:1px solid var(--line);background:#f7f9fa}.flight-details:not([open])>.flight-detail-content{display:none}
  .segment-group{padding:0;margin:0;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}.segment-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line);font-size:16px;line-height:1.3}.segment-heading strong{font-weight:700}.segment-heading span{font-size:13px;white-space:nowrap}.segment-body{padding:16px 24px}.segment-flight{position:relative;min-height:140px}.segment-flight-head{display:flex;gap:8px;align-items:center;min-height:30px;padding-bottom:12px;color:var(--muted)}.segment-airline{display:inline-flex;justify-content:center;align-items:center;width:30px;flex:none;font-size:10px}.segment-airline img{width:24px;height:24px;object-fit:contain}.segment-flight-head small{font-size:12px}.equipment{border:1px solid #687c8b;border-radius:3px;padding:2px 7px;font-size:12px;white-space:nowrap}
  .segment-timeline{position:relative;display:grid;grid-template-columns:24px 68px minmax(0,1fr);gap:14px 14px;align-items:baseline;padding:0 0 1px}.segment-timeline::before{content:"";position:absolute;left:11px;top:9px;bottom:15px;width:1px;background:#97aab7}.timeline-dot{z-index:1;width:6px;height:6px;border:1px solid #97aab7;border-radius:50%;background:#fff;justify-self:center;align-self:center}.timeline-plane{z-index:1;justify-self:center;align-self:center;background:#fff;line-height:1}.timeline-plane .ui-icon{width:23px;height:23px}.segment-timeline strong{font-size:16px;font-weight:700}.segment-timeline>span:not(.timeline-dot):not(.timeline-plane){font-size:16px;line-height:1.35}.segment-timeline>small{font-size:12px;color:#192024}.segment-timeline span>small{display:block;margin-top:4px;color:#e76800;font-size:12px;font-weight:650}
  .quality-details{position:relative;margin-left:auto;color:#111;z-index:2;flex:none}.quality-details>summary{display:flex;gap:10px;align-items:center;list-style:none;background:#f0f3f4;border-radius:25px;padding:10px 15px;cursor:pointer}.quality-details>summary::-webkit-details-marker{display:none}.quality-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:none}.quality-icon .ui-icon{width:17px;height:17px}.quality-icon.unknown{color:#a1aeb5}.quality-chevron{display:inline-flex;margin-left:2px}.quality-chevron .ui-icon{width:17px;height:17px}.quality-details[open] .quality-chevron{transform:rotate(180deg)}.quality-details>div{position:absolute;right:0;top:100%;width:280px;padding:13px 18px;border-radius:17px;background:#f0f3f4;box-shadow:0 5px 12px #19202415}.quality-details p{display:flex;align-items:center;gap:15px;font-size:14px;line-height:1.4;padding:5px 0}.quality-details p:has(.unknown){color:#71818b}
  .transfer-row{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:16px 0;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}.transfer-row em{font-style:normal;font-size:12px;line-height:1.3;padding:4px 8px;border-radius:3px;background:#fff1dd;color:#8b4306}.offer-list{padding:8px 0;font-size:13px}.offer-list p{margin:8px 0}.offer-list .entity-logo{margin-right:8px}.offer-list>summary{font-weight:600;cursor:pointer;color:var(--muted)}
  .flight-sidebar{position:static;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:14px}.flight-sidebar>h3{font-size:16px}.flight-sidebar>p{font-size:12px;color:var(--muted);line-height:1.45}.filter-toggle{display:none}.flight-facets{display:grid;gap:22px;margin-top:24px}.flight-facets[hidden]{display:none}.flight-facets fieldset{border:0;border-top:1px solid var(--line);margin:0;padding:20px 0 0;min-width:0}.flight-facets legend{font-size:17px;font-weight:700;padding:0 0 5px;width:100%}.flight-facets label{display:flex;align-items:center;gap:10px;margin:10px 0;color:var(--ink);font-size:16px;line-height:1.3}.flight-facets label[hidden]{display:none}.flight-facets input[type=checkbox]{appearance:none;flex:none;width:20px;height:20px;margin:0;border:1px solid #9baeba;border-radius:4px;background:#fff;cursor:pointer}.flight-facets input[type=checkbox]:checked::after{content:'✓';display:block;color:var(--blue);text-align:center;font:700 14px/18px Arial}.facet-price{margin-left:auto;white-space:nowrap;color:var(--muted);font-size:14px}.facet-expand{border:0;padding:8px 0;background:none;color:var(--blue);font:inherit;font-size:16px;font-weight:650;cursor:pointer}.facet-expand:hover{text-decoration:underline}.flight-facets .secondary-action{width:100%;font-size:14px}
  .bag-counter{display:grid;grid-template-columns:minmax(0,1fr) 25px 22px 25px;gap:6px;align-items:center;margin:9px 0;font-size:16px}.bag-counter>span{display:flex;align-items:center;gap:9px;white-space:nowrap}.bag-counter .ui-icon{width:20px;height:20px}.bag-counter button{height:25px;border:1px solid #a4b5c0;border-radius:4px;background:transparent;font:700 17px/1 Arial;cursor:pointer}.bag-counter button:hover{background:#e3e9ed}.bag-counter output{text-align:center;font-weight:650}.bag-calculator>small{display:block;margin-top:10px;font-size:11px;color:var(--muted)}
  .facet-segmented{display:grid;grid-template-columns:1fr 1fr;padding:4px;border:1px solid #9fb0bc;border-radius:9px;margin:4px 0 15px}.facet-segmented button{border:0;background:none;border-radius:6px;padding:7px 5px;font-size:16px;cursor:pointer}.facet-segmented .is-selected{background:#fff;box-shadow:0 1px 5px #19202430;font-weight:650}.time-range{margin:18px 0}.time-range[hidden]{display:none}.time-range strong{font-size:16px;font-weight:400}.range-values,.facet-slider>div{display:flex;justify-content:space-between;gap:8px;margin:7px 0;font-size:14px}.range-pair{position:relative;height:28px;margin:5px 14px 22px;border-top:2px solid var(--blue);top:14px}.flight-facets .range-pair input[type=range]{position:absolute;left:-14px;top:-16px;width:calc(100% + 28px);height:30px;margin:0;appearance:none;background:transparent;pointer-events:none}.range-pair input[type=range]::-webkit-slider-thumb{appearance:none;width:30px;height:30px;border:1px solid #9bafbd;border-radius:50%;background:#fff;pointer-events:auto;cursor:pointer}.range-pair input[type=range]::-moz-range-thumb{width:28px;height:28px;border:1px solid #9bafbd;border-radius:50%;background:#fff;pointer-events:auto;cursor:pointer}
  .facet-actions{display:flex;gap:10px;align-items:center;margin:7px 0 14px}.facet-actions button{padding:0;border:0;background:none;color:var(--blue);font:inherit;font-size:16px;font-weight:650;cursor:pointer}.facet-actions button:last-child{color:var(--muted)}.facet-actions button:hover{text-decoration:underline}.facet-slider{margin:16px 0 22px}.facet-slider>label{display:block;margin:0}.facet-slider input[type=range]{appearance:none;width:100%;height:2px;margin:18px 0;background:var(--blue);cursor:pointer}.facet-slider input[type=range]::-webkit-slider-thumb{appearance:none;width:30px;height:30px;border:1px solid #9bafbd;border-radius:50%;background:#fff}.facet-slider input[type=range]::-moz-range-thumb{width:28px;height:28px;border:1px solid #9bafbd;border-radius:50%;background:#fff}.facet-details{border-top:1px solid var(--line);padding:20px 0 0}.facet-details summary{font-size:17px;font-weight:700;cursor:pointer;list-style:none}.facet-details summary::-webkit-details-marker{display:none}.facet-details summary::after{content:'⌄';float:right}.facet-details[open] summary::after{content:'⌃'}.facet-details [data-facet-layovers]{padding-top:12px}
  .flight-loading{padding-top:18px}.loading-label{font-size:16px;font-weight:650;margin-bottom:12px}.skeleton-sidebar{display:block;background:transparent;border:0;box-shadow:none;padding:0 3px}.skeleton-line{display:block;height:18px;margin:12px 0;border-radius:2px;background:#e2e9ed;animation:skeleton-pulse 2.2s ease-in-out infinite}.skeleton-heading{width:52%;height:20px}.skeleton-wide{width:94%}.skeleton-medium{width:67%}.skeleton-short{width:42%}.skeleton-divider{height:1px;background:#d7e0e6;margin:24px 0}.skeleton-card{display:grid;grid-template-columns:minmax(0,1fr) 24%;gap:24px;align-items:center;min-height:168px;padding:26px;border-radius:11px;background:#fff}.skeleton-card>div{min-width:0}.skeleton-card .skeleton-line{height:19px;margin:13px 0}.skeleton-card .skeleton-price{height:38px;width:100%}.flight-sort-loading .skeleton-line{height:13px;width:55%;margin:4px 0}.flight-sort-loading>div{cursor:default}
  @keyframes skeleton-pulse{0%,100%{opacity:.65}50%{opacity:1}}
}
@layer responsive {
  @container (max-width:800px){.flight-leg-row{grid-template-columns:20px 42px minmax(0,1.6fr) 74px 82px;gap:9px}.flight-schedule strong{font-size:16px}.flight-metrics strong,.flight-duration{font-size:13px}.flight-schedule small,.flight-metrics small{font-size:11px}.brand-chip img{width:36px;height:36px}.flight-badges span{font-size:11px;padding:4px 7px}.card-icon{width:33px;height:26px;padding:4px 6px}.segment-body{padding:16px 22px}.segment-timeline>span:not(.timeline-dot):not(.timeline-plane){font-size:14px}.segment-timeline strong{font-size:14px}.segment-heading{font-size:14px}.segment-flight-head small,.equipment{font-size:11px}.quality-details>summary{gap:9px;padding:10px 14px}.quality-icon,.quality-icon .ui-icon{width:15px;height:15px}.quality-details p{font-size:13px}.flight-detail-content{padding:25px 30px}.segment-timeline{grid-template-columns:24px 64px minmax(0,1fr);gap:14px 14px}.flight-leg-row{min-height:44px}}
  @container (max-width:650px){.flight-leg-row{grid-template-columns:18px 34px minmax(0,1fr) 75px;gap:7px}.flight-duration{grid-column:4;grid-row:1;align-self:end;padding:0 0 2px}.flight-metrics{grid-column:4;grid-row:1;align-self:start;padding:2px 0 16px}.flight-metrics small{display:none}.flight-schedule strong{font-size:14px}.flight-schedule small{font-size:10px}.brand-chip img{width:31px;height:31px}.leg-select{width:18px;height:18px}.price-line>span{font-size:11px}.flight-badges span{font-size:10px}.segment-flight-head{flex-wrap:wrap}.quality-details{margin-left:auto}.flight-detail-content{padding:18px}.segment-body{padding:15px}.equipment{max-width:150px;overflow:hidden;text-overflow:ellipsis}}
  @media(max-width:1050px){body[data-kind=flug] .results-layout{grid-template-columns:220px minmax(0,1fr);gap:18px}.flight-sort-wrap{margin-left:238px;grid-template-columns:minmax(0,1fr) 145px}.flight-sort button,.flight-sort-loading>div{padding:12px;min-height:80px}.flight-sort button strong,.flight-sort-loading strong{font-size:14px}.flight-sort button span{font-size:13px}.flight-more-sort>summary,.flight-more-loading{min-height:80px;font-size:12px;padding:10px}.flight-facets label,.bag-counter,.facet-actions button{font-size:14px}.bag-counter{grid-template-columns:minmax(0,1fr) 23px 20px 23px;gap:3px}.bag-counter>span{gap:6px}.facet-price{font-size:12px}}
  @media(max-width:900px){body[data-kind=flug] .results-layout{grid-template-columns:1fr}.flight-sort-wrap{margin-left:0}.flight-sidebar{order:0}.filter-toggle{display:flex;width:100%;justify-content:center;margin:12px 0}.flight-sidebar .flight-facets{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}.flight-sidebar .flight-facets:not(.is-open){display:none}.flight-sidebar>h3,.flight-sidebar>p{display:none}.skeleton-sidebar{display:none}.flight-facets label,.bag-counter{font-size:16px}}
  @media(max-width:620px){body[data-kind=flug] .shell{width:calc(100% - 24px)}.flight-sort-wrap{grid-template-columns:1fr}.flight-sort-wrap .flight-sort{grid-template-columns:repeat(3,minmax(0,1fr));border-radius:12px 12px 0 0}.flight-sort button,.flight-sort-loading>div{border-left:0;padding:12px 8px;min-height:80px}.flight-sort button strong,.flight-sort-loading strong{font-size:13px}.flight-sort button span{font-size:11px}.flight-sort button[aria-selected=true]{border-left:0;border-bottom:4px solid var(--blue)}.flight-more-sort,.flight-more-loading{border-left:0;border-top:1px solid var(--line)}.flight-more-sort>summary,.flight-more-loading{min-height:43px}.flight-more-menu{width:100%}.flight-sidebar .flight-facets{grid-template-columns:1fr}.suggestions{max-width:calc(100vw - 30px)}.flight-leg-row{grid-template-columns:20px 35px minmax(0,1fr) 80px;gap:9px;min-height:47px}.flight-detail-content{padding:12px}.segment-heading{padding:12px}.segment-body{padding:12px}.segment-timeline{grid-template-columns:18px 48px minmax(0,1fr);gap:13px 10px}.segment-timeline::before{left:8px}.segment-timeline>span:not(.timeline-dot):not(.timeline-plane){font-size:13px}.segment-timeline strong{font-size:13px}.segment-flight-head{gap:5px;flex-wrap:wrap}.segment-airline{width:21px}.segment-flight-head small,.equipment{font-size:10px}.equipment{max-width:130px}.quality-details{margin-left:0;flex-basis:100%;margin-bottom:3px}.quality-details>summary{width:max-content;margin-left:auto;padding:7px 12px}.quality-details>div{max-width:calc(100vw - 75px)}.baggage-popover{right:0;top:34px;width:min(310px,calc(100vw - 50px));padding:16px}.baggage-popover p,.baggage-popover p strong{font-size:14px}.baggage-popover h4{font-size:18px}.skeleton-card{min-height:130px;padding:20px}.results-header{gap:10px}}
  @media(prefers-reduced-motion:reduce){.skeleton-line,.result-progress.is-running span{animation:none}.result-progress.is-running span{width:65%}.flight-card,.flight-leg::before{transition:none}}
}
@layer components {
  body[data-kind=flug] .tabs{margin-top:24px;margin-bottom:22px}
  body[data-kind=flug] .search-area:has(.compact-search){border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}
  .compact-search{position:relative;z-index:10;margin-bottom:0}
  body[data-kind=flug] .results-area{padding-top:24px}
  body[data-kind=flug] .result-progress.is-finished{display:none}
  .compact-search [hidden]{display:none!important}
  .compact-search button,.compact-search select{cursor:pointer}
  .compact-options{display:flex;align-items:center;gap:24px;margin:0 8px 16px;font-size:16px}
  .compact-options>select{padding:8px;border:0;background:transparent;color:var(--ink);max-width:230px}
  .compact-route{display:grid;grid-template-columns:minmax(180px,1fr) 38px minmax(180px,1fr) auto auto 104px;align-items:center;gap:8px;background:#fff;border-radius:12px;padding:10px;box-shadow:0 3px 8px #19202424;min-height:78px}
  .airport-field{position:relative;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:52px;border:1px solid transparent;border-radius:8px;padding:5px 8px}
  .airport-field:focus-within{border-color:#192024;background:#f9fafb}
  .airport-chips{display:contents}
  .airport-chip{display:flex;align-items:center;gap:8px;background:#eff3f5;border:1px solid var(--line);border-radius:4px;max-width:100%;min-width:0;padding:6px 7px;font-size:15px;line-height:1.3}
  .airport-chip>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;min-width:0}
  .nearby-chip{border:1px solid #b6d5dc;background:#eaf7f8;border-radius:4px;color:#086880;padding:5px 7px;font-size:12px}
  .airport-remove{background:transparent;border:0;padding:0 3px;font-size:20px;line-height:20px;color:var(--ink)}
  .airport-entry{border:0;background:transparent;outline-offset:0;width:100%;min-width:0;flex:1 1 75px;height:34px;font-size:17px;color:var(--ink)}
  .has-airports .airport-entry{font-size:13px;height:23px;flex-basis:100%}
  .airport-entry::placeholder{color:#62727f;opacity:1}
  .airport-swap{border:1px solid var(--line);background:#eef2f4;border-radius:8px;font-size:25px;width:38px;height:40px;padding:0;line-height:1;color:var(--ink);z-index:1}
  .airport-panel{position:absolute;top:calc(100% + 12px);left:0;width:520px;max-width:calc(100vw - 40px);max-height:520px;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 8px 24px #19202429;padding:20px;z-index:30}
  .nearby-choice{display:flex!important;flex-direction:row-reverse;justify-content:space-between;gap:14px;font-size:17px!important;font-weight:700;padding:13px 10px;background:#f0f3f4;border-radius:8px}
  .nearby-choice input,.compact-search-tail input{width:21px;height:21px;accent-color:#087b9b;flex:none}
  .airport-panel-hint{font-size:13px;color:var(--muted);margin:8px 10px 12px}
  .airport-choice{display:grid;grid-template-columns:28px minmax(0,1fr) 25px;align-items:center;gap:12px;text-align:left;padding:14px 10px;border:0;border-radius:8px;background:white;width:100%;color:var(--ink)}
  .airport-choice .flight-icon{width:20px;height:20px;display:block;fill:currentColor}
  .airport-choice:hover,.airport-choice:focus-visible{background:#e5ebef}
  .airport-choice strong{font-size:16px;font-weight:600}.airport-choice small{display:block;font-size:14px;color:var(--muted);margin-top:3px}
  .airport-tick{border:1px solid #9eafbb;border-radius:4px;text-align:center;font-size:17px;color:#077b9b}
  .airport-select-all{border:0;background:transparent;color:#007f9d;padding:12px 10px;font-weight:600}
  .search-popover{position:relative;min-width:0}
  .search-popover-trigger{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:#eff3f5;color:var(--ink);padding:14px 12px;min-height:54px;white-space:nowrap;font-size:16px}
  .search-popover-trigger[aria-expanded=true]{border-color:#192024}
  .search-bags .search-popover-trigger{border:0;min-height:0;padding:8px;background:transparent}
  .search-popover-panel{position:absolute;top:calc(100% + 14px);right:0;width:430px;max-width:calc(100vw - 32px);background:#fff;border-radius:12px;padding:24px;box-shadow:0 8px 24px #19202429;z-index:35}
  .search-bags .search-popover-panel{left:0;right:auto;width:350px}
  .traveler-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;font-size:15px;line-height:1.35}
  .search-stepper{display:flex;align-items:center;gap:12px;flex:none}
  .search-stepper button{border:1px solid #9eafbb;background:#fff;border-radius:4px;width:26px;height:26px;line-height:1;font-size:19px;color:var(--ink);padding:0}
  .search-stepper button:disabled{opacity:.35;cursor:default}.search-stepper output{min-width:14px;text-align:center;font-weight:700}
  .child-ages{display:grid;gap:10px;margin-top:12px}.child-ages:empty{display:none}.child-ages label{justify-content:space-between;font-size:14px}.child-ages select{min-width:76px;padding:8px 10px;background:#fff;border:1px solid #9eafbb;border-radius:8px}
  .cabin-heading{display:block;border-top:1px solid var(--line);margin:24px -24px 12px;padding:20px 24px 0}
  .cabin-buttons{display:flex;gap:6px;flex-wrap:wrap}.cabin-buttons button{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 12px;color:var(--ink)}
  .cabin-buttons button[aria-pressed=true]{border-color:#192024;background:#f0f3f5}
  .search-note{display:block;color:var(--muted);font-size:12px;margin-top:15px}
  .compact-route>.search-button{background:var(--blue);border-radius:10px;height:56px;padding:0 20px;font-size:16px}
  .compact-search-tail{display:flex;justify-content:flex-end;align-items:center;gap:22px;margin:18px 4px 0;font-size:15px}
  .search-control-label{display:flex;align-items:center;gap:10px}
  .search-dates .search-popover-panel{width:800px;right:-150px}
  .calendar-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
  .calendar-inputs label{font-size:13px;font-weight:600;justify-content:space-between}
  .calendar-inputs input,.calendar-inputs select,.compact-extra-leg input[type=date],.first-leg-date input{border:1px solid var(--line);padding:8px;border-radius:6px;background:white;color:var(--ink);min-width:0}
  .calendar-inputs input{max-width:160px}.calendar-inputs select{max-width:135px}
  .calendar-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-navigation strong{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .calendar-navigation button{position:relative;z-index:1;border:0;background:white;font-size:30px;padding:0 10px;color:var(--ink)}
  .calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:-30px;pointer-events:none}.calendar-month{min-width:0;pointer-events:auto}
  .calendar-month h3{text-align:center;font-size:18px;margin:0 35px 24px;pointer-events:none}
  .calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
  .calendar-weekday{text-align:center;font-size:13px;font-weight:700;margin-bottom:12px}
  .calendar-day{border:0;border-radius:5px;background:#edf2f4;color:var(--ink);font-size:16px;font-weight:600;min-height:42px;padding:0}
  .calendar-day:disabled{background:#fff;color:#b0b8bf;cursor:default}.calendar-day:hover:not(:disabled){outline:1px solid #192024;outline-offset:0}
  .calendar-day.price-low{background:#83deb1}.calendar-day.price-middle{background:#ffc779}.calendar-day.price-high{background:#fa9da7}
  .calendar-day.date-selected{background:#192024;color:#fff}.calendar-day.date-in-range{background:#374248;color:#fff;border-radius:0}
  .calendar-price-note{font-size:12px;color:var(--muted);margin-top:18px;max-width:570px;min-height:32px}
  .calendar-done{display:block;margin:8px 0 0 auto;border:0;border-radius:6px;background:#192024;color:#fff;padding:10px 18px}
  .compact-extra-legs{display:grid;gap:8px;margin-top:8px}
  .compact-extra-leg{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto auto 32px;gap:16px;align-items:center;background:#fff;border-radius:12px;box-shadow:0 3px 8px #19202424;padding:10px}
  .compact-extra-leg select{border:0;background:white;color:var(--ink);max-width:140px}.compact-extra-leg .search-control-label,.first-leg-date{flex-direction:column;align-items:flex-start;font-size:12px;gap:3px}
  .remove-flight{border:0;background:transparent;font-size:25px;color:var(--ink)}
  .add-flight,.clear-flights{border:0;background:transparent;color:var(--ink);padding:5px}.add-flight{margin-right:auto}
  .is-multi .compact-route{grid-template-columns:minmax(180px,1fr) 38px minmax(180px,1fr) auto auto 104px}
}
@layer responsive {
  @media(max-width:1150px){.compact-route{grid-template-columns:minmax(140px,1fr) 34px minmax(140px,1fr) auto}.compact-route>.search-dates{grid-row:2;grid-column:1/3}.compact-route>.search-travelers{grid-row:2;grid-column:3}.compact-route>.search-button{grid-row:2;grid-column:4}.compact-route>.airport-field:nth-of-type(2){grid-column:3/5}.search-dates .search-popover-panel{left:0;right:auto}.search-popover-trigger{width:100%}.is-multi .compact-route{grid-template-columns:minmax(140px,1fr) 34px minmax(140px,1fr)}.is-multi .compact-route>.airport-field:nth-of-type(2){grid-column:3}.is-multi .first-leg-date{grid-row:2;grid-column:1}.is-multi .search-travelers{grid-row:2;grid-column:2/4}.is-multi .search-button{grid-row:3;grid-column:1/4}.compact-extra-leg{grid-template-columns:1fr 1fr 28px}.compact-extra-leg>.airport-field:nth-child(2){grid-column:2/4}.compact-extra-leg>.remove-flight{grid-row:2;grid-column:3}}
  @media(max-width:620px){.compact-options{gap:8px;font-size:14px;margin-inline:0}.compact-options>select{max-width:195px;font-size:14px;padding:7px 0}.search-bags .search-popover-trigger{font-size:14px}.compact-route,.is-multi .compact-route{grid-template-columns:minmax(0,1fr) 32px;gap:4px;padding:8px}.compact-route>.airport-field:first-child{grid-column:1;grid-row:1}.compact-route>.airport-field:nth-of-type(2),.is-multi .compact-route>.airport-field:nth-of-type(2){grid-column:1;grid-row:2}.airport-swap{grid-column:2;grid-row:1/3;width:32px}.compact-route>.search-dates{grid-row:3;grid-column:1/3}.compact-route>.search-travelers,.is-multi .compact-route>.search-travelers{grid-row:4;grid-column:1/3}.compact-route>.search-button,.is-multi .compact-route>.search-button{grid-row:5;grid-column:1/3}.airport-chip>span{max-width:235px}.compact-search .airport-panel,.compact-search .search-popover-panel{position:fixed;left:12px;right:12px;top:100px;width:auto;max-width:none;max-height:calc(100dvh - 125px);overflow:auto;padding:18px}.calendar-months{grid-template-columns:1fr;gap:24px}.calendar-month h3{margin-bottom:18px}.calendar-day{min-height:38px}.calendar-inputs{gap:8px}.calendar-inputs label{flex-direction:column;align-items:stretch}.calendar-inputs input{max-width:100%;width:100%;font-size:13px}.calendar-inputs select{max-width:100%;font-size:12px}.traveler-row{font-size:14px;gap:10px}.search-stepper{gap:10px}.compact-search-tail{font-size:14px;gap:12px;flex-wrap:wrap}.compact-extra-leg{grid-template-columns:minmax(0,1fr) 28px;gap:6px}.compact-extra-leg>.airport-field:first-child{grid-column:1;grid-row:1}.compact-extra-leg>.airport-field:nth-child(2){grid-column:1;grid-row:2}.compact-extra-leg>.remove-flight{grid-column:2;grid-row:1/3}.compact-extra-leg>.search-control-label{grid-row:3;grid-column:1}.compact-extra-leg>select{grid-row:4;grid-column:1}.is-multi .first-leg-date{grid-row:3;grid-column:1/3}.header-state{font-size:11px}.cabin-heading{margin-inline:-18px;padding-inline:18px}}
}
.flight-heading{font-size:clamp(1.25rem,2.5vw,1.65rem);line-height:1.3;margin:0 0 16px;color:var(--ink)}
/* Destination experiences share the flight-list width without changing flight counts. */
.flight-experiences{background:#fff;border:1px solid #d7e1e6;border-radius:10px;padding:12px;min-width:0;container:experiences / inline-size}
.flight-experiences h3{margin:0 0 10px;font-size:16px;line-height:1.3;color:#192024}
.flight-experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.flight-experience-card{display:grid;grid-template-columns:64px minmax(0,1fr);align-content:start;gap:4px 8px;color:#192024;text-decoration:none;min-width:0}
.flight-experience-card img{grid-column:1;grid-row:1/5;display:block;width:64px;height:64px;object-fit:cover;border-radius:6px}
.flight-experience-card>strong,.flight-experience-card>small,.flight-experience-card>span{grid-column:2}
.flight-experience-card strong{font-size:13px;line-height:1.3;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.flight-experience-card small{font-size:12px;color:#586975}
.flight-experience-card .experience-rating,.flight-experience-card .experience-duration{font-size:11px;line-height:1.3;color:#54647b}
.flight-experience-card:not(:has(img)){grid-template-columns:1fr}
.flight-experience-card:not(:has(img))>*{grid-column:1}
.flight-experience-card:hover strong,.experience-more:hover{text-decoration:underline}
.flight-experience-card:focus-visible,.experience-more:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:4px}
.flight-experience-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.flight-experience-footer small{color:#586975;font-size:11px}
.experience-more{font-size:12px;font-weight:650}
@container experiences (max-width:540px){.flight-experience-grid{grid-template-columns:1fr;gap:10px}.flight-experience-card{grid-template-columns:72px minmax(0,1fr)}.flight-experience-card img{width:72px;height:72px}.flight-experience-card strong{-webkit-line-clamp:2}}


/* Compact traveler groups with explicit, secondary age labels. */
.search-travelers .search-popover-panel{width:430px;padding:20px;max-height:calc(100dvh - 170px);overflow-y:auto}
.search-travelers .traveler-row{margin-top:14px;gap:12px}
.traveler-row>span{display:flex;gap:6px;flex-wrap:wrap;align-items:baseline}
.traveler-age{font-size:13px;color:var(--muted);font-weight:400}
.search-travelers .cabin-heading{margin:18px -20px 12px;padding:16px 20px 0}
.search-travelers .cabin-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.search-travelers .cabin-buttons button{padding:9px 10px;text-align:center}
.search-travelers .search-note{font-size:11px;line-height:1.45;margin-top:12px}
.search-travelers .child-ages{margin-top:10px;padding-left:12px;border-left:2px solid var(--line)}
@media(max-width:620px){.compact-search .search-travelers .search-popover-panel{width:auto;max-width:none;padding:18px;max-height:calc(100dvh - 125px)}.search-travelers .cabin-heading{margin-inline:-18px;padding-inline:18px}.traveler-age{font-size:12px}}

.has-airports .airport-entry{height:34px;flex:1 1 100px;min-width:85px}
.airport-swap{display:flex;align-items:center;justify-content:center;align-self:center;line-height:normal}
.airport-swap .flight-icon{display:block;flex:none;width:22px;height:22px}
@media(max-width:620px){.airport-swap .flight-icon{transform:rotate(90deg)}}

/* Mobile airport selection keeps the search field above a scrollable result list,
   sized to the visible viewport when the software keyboard is open. */
.airport-picker-header{display:none}
@media(max-width:1100px){
  body.airport-picker-active{overflow:hidden}
  .compact-search .airport-field.is-picker-open{position:fixed;inset:auto 0 auto 0;top:var(--picker-top,0px);height:var(--picker-height,100dvh);width:100%;max-width:none;min-height:0;z-index:100;display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:10px;padding:12px 16px;border:0;border-radius:0;background:#fff;box-shadow:0 0 24px #19202426;overflow:hidden}
  .is-picker-open .airport-picker-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;min-height:44px;font-size:17px}
  .airport-picker-done{flex:none;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#eef3f5;color:var(--ink);font-size:16px}
  .is-picker-open .airport-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:78px;overflow-y:auto;flex:0 1 auto;min-height:0}
  .is-picker-open .airport-chips:empty{display:none}
  .compact-search .is-picker-open .airport-entry{flex:none;width:100%;min-width:0;height:48px;font-size:16px;padding:10px 12px;background:#f3f6f7;border:1px solid #62727f;border-radius:8px}
  .compact-search .is-picker-open .airport-panel{position:static;inset:auto;display:block;width:100%;max-width:none;max-height:none;min-height:0;flex:1 1 0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0;border-radius:0;box-shadow:none}
  .is-picker-open .airport-choice{min-height:66px;padding:12px 4px;gap:10px;border-bottom:1px solid var(--line)}
  .is-picker-open .airport-choice strong{font-size:16px;line-height:1.35;overflow-wrap:anywhere}
  .is-picker-open .airport-choice small{font-size:13px;line-height:1.4}
  .is-picker-open .airport-select-all{min-height:44px;padding:12px 4px;text-align:left}
  .is-picker-open .airport-nearby-section{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
  .is-picker-open .nearby-choice{min-height:48px;font-size:15px!important;margin:0}
  .is-picker-open .airport-panel-hint{font-size:12px;margin:8px 0}
}


.route-details,.route-directory{margin:24px 0;padding:clamp(18px,3vw,32px);background:#fff;border:1px solid #d9e2e8;border-radius:12px;line-height:1.6}.route-details h2,.route-directory h1{margin-top:0}.route-endpoints{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.route-endpoints p{margin:4px 0}.route-directory ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px;list-style:none;padding:0}.route-directory a{display:block;padding:12px;border:1px solid #d9e2e8;border-radius:8px}.route-details a,.route-directory a{color:var(--blue)}.route-details a:focus-visible,.route-directory a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}@media(max-width:1100px){.route-endpoints{grid-template-columns:1fr;gap:12px}}

/* Mobile airport fields keep labels, selections and the input on separate rows. */
@media(max-width:620px){
 .compact-route,.is-multi .compact-route{grid-template-columns:minmax(0,1fr) 44px;column-gap:6px;row-gap:8px}
 .compact-search .airport-field:not(.is-picker-open){display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:4px;padding:8px 4px;min-width:0}
 .airport-field-label{display:block;color:var(--muted);font-size:12px;font-weight:650;line-height:1.25}
 .airport-field:not(.is-picker-open) .airport-chips{display:flex;flex-wrap:wrap;gap:4px;min-width:0}
 .airport-field:not(.is-picker-open) .airport-chips:empty{display:none}
 .airport-field:not(.is-picker-open) .airport-chip{font-size:16px;min-height:44px;padding:0 4px 0 8px;gap:4px}
 .airport-field:not(.is-picker-open) .airport-chip>span{white-space:normal;overflow-wrap:anywhere;max-width:none}
 .airport-field:not(.is-picker-open) .airport-remove{flex:0 0 36px;min-height:44px;padding:0}
 .compact-search .airport-field:not(.is-picker-open) .airport-entry{flex:none;width:100%;min-width:0;height:44px;font-size:16px}
 .airport-swap{width:44px;height:44px}
 .compact-options{flex-wrap:wrap}
 .header-inner{gap:12px;flex-wrap:wrap;padding-block:12px}
 .route-details,.route-directory{overflow-wrap:anywhere}
 .is-picker-open .airport-field-label{display:none}
}
@media(min-width:621px){.airport-field-label{display:none}}

/* Shared flight card footer and destination offers adapt to their list width. */
@layer responsive {
  @container (max-width:650px){
    .flight-card{padding:0}.flight-topline{padding:10px 12px;align-items:flex-start}.flight-icon-actions{gap:5px}.flight-badges span{font-size:11px}.card-icon{width:40px;height:40px}
    .flight-main{padding:8px 12px}.flight-leg-heading{margin-left:26px;font-size:12px;gap:8px;flex-wrap:wrap}.flight-leg-row{grid-template-columns:18px 34px minmax(0,1fr) 75px;gap:7px}
    .flight-card .flight-booking{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 12px}.flight-fare-info{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 12px}.flight-price-info .flight-total{font-size:16px}.flight-price-info:has(.flight-total) .price-line>strong{font-size:15px}.flight-card .result-action a{min-width:120px;padding:12px}
    .flight-card .flight-details>summary{padding:10px 12px;min-height:44px}.baggage-popover{left:0;right:auto;top:auto;bottom:calc(100% + 10px);width:min(325px,calc(100vw - 52px))}
  }
  .flight-details>summary::after{content:'⌄';float:right}.flight-details[open]>summary::after{content:'⌃'}.flight-details>summary span{font-weight:400;color:var(--muted);margin-left:10px}
  .compact-route>.search-button:hover,body[data-kind=flug] .search-button:hover{background:var(--blue-dark)}
}

@layer components {
  .quality-icon.is-unavailable{position:relative;color:#66778a}.quality-icon.is-unavailable::after{content:'';position:absolute;inset:50% -2px auto;height:2px;background:currentColor;transform:rotate(-45deg)}.quality-icon.is-partial{border-bottom:2px dotted currentColor}.quality-details p strong{font-weight:650}
}

@layer components {
  .flight-providers{grid-column:1/-1;min-width:0;min-block-size:77px;border-top:1px solid var(--line);padding:8px 20px 16px;margin:0 -20px -16px;background:#fff;border-radius:0 0 11px 11px}.flight-providers.provider-empty{visibility:hidden}
  .provider-label{font-size:12px;font-weight:650;color:var(--blue-dark);white-space:nowrap}
  .provider-count{display:inline-block;font-size:11px;color:var(--muted);margin-left:4px}
  .provider-logos{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;min-width:0;overflow-x:auto;scrollbar-width:thin;padding-block:4px;flex:1}.provider-logos>img,.provider-logos>.provider-logo-fallback{flex:none}
  .provider-details{width:100%;min-width:0}
  .provider-details>summary{display:flex;align-items:center;gap:16px;height:52px;padding:4px 0;font-size:12px;line-height:1.3;cursor:pointer;list-style:none}
  .provider-details>summary::-webkit-details-marker{display:none}
  .provider-logos img{width:58px;height:24px;object-fit:contain}
  .provider-logo-fallback{font-size:11px;color:var(--muted)}
  .provider-chevron{margin-left:auto;color:var(--blue);flex:none}
  .provider-details[open]>summary .provider-chevron{transform:rotate(180deg)}
  .provider-list{padding-top:8px;min-width:0}
  .provider-details:not([open])>.provider-list{display:none}
  .provider-group{min-width:0;border-top:1px solid var(--line)}
  .flight-card .flight-booking .provider-offer{display:grid;grid-template-columns:minmax(130px,1fr) minmax(90px,1fr) auto minmax(110px,auto);align-items:center;gap:18px;min-width:0;width:100%;padding:12px 6px;margin:0;background:transparent;color:var(--ink);border:0;border-radius:0;font-size:13px;font-weight:400;white-space:normal;text-decoration:none;text-align:left}
  #results-region:not([aria-busy="true"]) .flight-card .flight-booking a.provider-offer:hover{background:#e8f0fb}
  .flight-card .flight-booking a.provider-offer:focus-visible{outline-offset:-3px;background:#e8f0fb}
  .flight-card .flight-booking .provider-offer+.provider-offer{border-top:1px solid var(--line)}
  .provider-brand{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:650;overflow-wrap:anywhere}
  .provider-brand img{width:58px;height:28px;object-fit:contain;flex:none}
  .provider-fare{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
  .provider-price{text-align:right;line-height:1.4;font-variant-numeric:tabular-nums}
  .provider-price>strong{font-size:16px}.provider-price>small{display:block;font-size:11px}
  .provider-bags{display:flex;gap:12px;align-items:center;padding-right:3px}
  .provider-bag{display:inline-flex;position:relative;padding:3px 5px 5px 0;color:#465768}
  .provider-bag .ui-icon{width:20px;height:22px}
  .provider-bag b{position:absolute;bottom:0;right:-2px;background:#edf1f6;color:#465768;border:1px solid #fff;border-radius:50%;width:14px;height:14px;text-align:center;font:700 10px/12px system-ui}
  .provider-bag.included b{background:#137649;color:#fff}
}
@layer responsive {
  @container(max-width:850px){.flight-card .flight-booking .provider-offer{gap:12px;grid-template-columns:minmax(120px,1fr) minmax(70px,1fr) auto minmax(90px,auto)}.provider-brand{gap:6px}.provider-brand img{width:46px}}
  @container(max-width:650px){
    .provider-details>summary{flex-wrap:wrap;align-content:center;gap:4px;height:80px}.provider-logos{order:2;flex-basis:100%;gap:12px;min-height:40px}.flight-providers{min-block-size:103px;margin:0 -12px -14px;padding:8px 12px 14px}.provider-logos img{width:48px;height:24px}
    .flight-card .flight-booking .provider-offer{grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:12px 0}
    .provider-brand{grid-column:1;gap:8px}.provider-brand img{width:44px}
    .provider-fare{grid-column:1;grid-row:2}.provider-bags{grid-column:1;grid-row:3}.provider-price{grid-column:2;grid-row:1/4}
  }
}



/* Stable collapsed slots across progressive results; opened details grow naturally. */
@layer components {
  .flight-card{min-block-size:calc(272px + var(--flight-leg-count, 2) * 104px);grid-template-rows:auto minmax(0,1fr) auto auto}
  .flight-main{grid-row:2;display:flex;flex-direction:column;justify-content:center}

  .flight-card>.flight-booking{grid-row:3}
  .flight-select-action{display:flex;align-items:center;justify-content:center;min-height:46px;text-align:center}
}
@layer responsive {
  @container(max-width:650px){
    .flight-card{min-block-size:calc(420px + var(--flight-leg-count, 2) * 110px)}
    .flight-card .flight-booking{grid-template-columns:minmax(0,1fr) 120px;grid-template-rows:minmax(30px,auto) minmax(68px,auto) auto}
    .flight-fare-info{grid-row:1}.flight-price-info{grid-row:2}.flight-booking>.flight-select-action,.flight-booking>a{grid-row:2}.flight-providers{grid-row:3}
    .flight-topline{padding:8px 12px}
  }
}

@layer responsive{@container(max-width:350px){.flight-card{min-block-size:calc(480px + var(--flight-leg-count, 2) * 110px)}}}

@layer components{.selected-provider{display:inline-flex;align-items:center;gap:6px;min-width:0}.selected-provider img{width:58px;height:24px;object-fit:contain}.selected-provider small{font-size:12px;color:var(--muted)}}

@layer components {
 .flight-card .flight-select-action{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:var(--blue);color:#fff;font:inherit;font-size:14px;font-weight:750;min-height:44px;height:44px;width:144px;max-width:100%;align-self:flex-end;justify-self:end;margin:0;padding:10px 18px;white-space:nowrap;text-decoration:none}
 .flight-select-action:disabled{cursor:wait;opacity:1}
 .flight-duration{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:0;align-self:center}
 .flight-duration>strong{font-size:inherit;white-space:nowrap}
 .leg-baggage{display:inline-flex;align-items:center;gap:8px;min-height:28px}
 .leg-baggage .provider-bag{width:26px;height:26px}
 .fare-price-details{font-size:12px;color:var(--blue)}
}
@layer responsive {
 @container(min-width:801px){.flight-leg-row{grid-template-columns:24px 54px minmax(0,1.8fr) minmax(83px,.8fr) minmax(160px,1fr)}}
 @container(max-width:650px){.flight-duration{align-self:end;flex-direction:column;align-items:flex-start;gap:5px;padding-top:20px}.flight-leg-row{min-height:78px}.flight-metrics{padding-top:0}.flight-schedule{align-self:center}}
}

@layer components{#results-region[aria-busy="true"] .flight-card .result-action a:hover{background:var(--blue)}#results-region[aria-busy="true"] .flight-card .provider-offer:hover{background:transparent}}

@layer responsive {
 #results-region:not([aria-busy="true"]) .flight-card:has(.provider-empty){min-block-size:0;grid-template-rows:auto auto auto auto}
 #results-region:not([aria-busy="true"]) .flight-providers.provider-empty{display:none}
 #results-region:not([aria-busy="true"]) .flight-booking:has(.provider-empty){grid-template-rows:none}
}

@layer components{.flight-fare-info>.offer-fare,.selected-provider,.baggage-trigger{display:inline-flex;align-items:center;min-height:30px;line-height:1.4}.baggage-summary{align-items:center}.selected-provider .provider-logo-fallback{font-size:12px}}

@layer components {
 .flight-leg:has(.baggage-trigger[aria-expanded=true]){z-index:3}
 .leg-baggage .baggage-trigger{gap:8px}
 .leg-baggage .baggage-popover{left:auto;right:0;top:calc(100% + 8px);bottom:auto;max-block-size:min(320px,70vh);overflow:auto;white-space:normal;font-size:13px;font-weight:400}
 .leg-baggage .baggage-popover h4{font-size:16px;margin:0 0 12px}
 .leg-baggage .baggage-popover p,.leg-baggage .baggage-popover p strong{font-size:13px}
 .leg-baggage-fare{color:var(--muted);font-size:12px}
}
@layer responsive{@container(max-width:650px){.leg-baggage .baggage-popover{left:auto;right:0;top:calc(100% + 8px);bottom:auto;width:min(300px,calc(100vw - 64px))}}}

/* Fare and booking price form one group; itinerary details expand below it. */
@layer components {
 .flight-card .flight-booking{grid-template-columns:minmax(0,1fr) minmax(240px,auto) 148px;grid-template-rows:auto auto auto}
 .flight-detail-toggle{display:none}
 .flight-ui-ready .flight-detail-toggle{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-height:44px;padding:0;border:0;background:transparent;color:var(--blue);font:inherit;font-size:12px;font-weight:650;text-align:left;cursor:pointer}
 .flight-detail-toggle>span:not(.flight-detail-chevron){font-weight:400;color:var(--muted)}
 .flight-detail-toggle[aria-expanded=true] .flight-detail-chevron{transform:rotate(180deg)}
 .flight-ui-ready .flight-details>summary{display:none}
 .flight-ui-ready .flight-details:not([open]){display:none}
 .flight-booking>.flight-details{grid-column:1/-1;grid-row:2}
 .flight-booking>.flight-providers{grid-row:3}
 .flight-price-info .price-line{order:0}
 .flight-price-info .price-line>strong,.flight-price-info:has(.flight-total) .price-line>strong{font-size:24px;font-weight:750;color:var(--ink)}
 .flight-price-info .flight-total{order:1;border-top:1px solid var(--line);padding-top:5px;font-size:12px;font-weight:400;color:var(--muted)}
 .fare-provider{order:2;display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-height:24px}
 .fare-provider .offer-fare{font-size:12px;color:var(--muted)}
 .fare-provider .selected-provider{min-height:24px}
 .flight-duration{justify-content:space-between;flex-wrap:nowrap;gap:24px}
 .leg-baggage{margin-left:auto;flex:none}
}
@layer responsive {
 @container(max-width:650px){
  .flight-card .flight-booking{grid-template-columns:minmax(0,1fr) 120px;grid-template-rows:auto auto auto auto}
  .flight-booking>.flight-details{grid-row:3}.flight-booking>.flight-providers{grid-row:4}
  .flight-price-info .price-line>strong,.flight-price-info:has(.flight-total) .price-line>strong{font-size:22px}
  .flight-duration{align-items:flex-end;gap:10px}.leg-baggage{margin-left:0}
 }
}

@layer components {
 .flight-journey{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;min-width:0}
 .flight-journey>strong{font-size:12px;font-weight:500;white-space:nowrap}
 .flight-journey>small{font-size:11px;color:var(--muted);line-height:1.35}
 .flight-stop-names{display:block}
 .flight-route-line{position:relative;display:flex;align-items:center;justify-content:space-evenly;width:100%;max-width:150px;height:1px;background:#8b99a5;margin:3px 0}
 .flight-route-line:after{content:"";position:absolute;right:-1px;top:-3px;border-left:6px solid #8b99a5;border-top:3px solid transparent;border-bottom:3px solid transparent}
 .flight-baggage-cell{justify-content:flex-end;min-width:64px;padding-left:18px}
 .flight-leg-row .flight-schedule>small{display:block;white-space:normal;line-height:1.4}
}
@layer responsive {
 @container(min-width:651px){.flight-leg-row{grid-template-columns:24px 54px minmax(0,1fr) minmax(115px,.75fr) minmax(0,1fr) 82px;gap:16px}.flight-departure{grid-column:3}.flight-journey{grid-column:4}.flight-arrival{grid-column:5}.flight-baggage-cell{grid-column:6}}
 @container(max-width:650px){
  .flight-leg-row{grid-template-columns:20px 34px minmax(0,1fr) minmax(0,1fr);gap:10px}
  .flight-departure{grid-column:3;grid-row:1}.flight-arrival{grid-column:4;grid-row:1}
  .flight-journey{grid-column:3;grid-row:2;align-items:flex-start;text-align:left}
  .flight-baggage-cell{grid-column:4;grid-row:2;padding:0;align-self:center}
  .flight-route-line{max-width:110px}.flight-leg-heading{margin-left:64px}
 }
}

@layer components{.flight-route-line>i{display:block;width:7px;height:7px;border:1px solid #8b99a5;background:#fff;border-radius:50%;flex:none}.flight-sort button:disabled{cursor:default;opacity:1}}

@layer components {
 .flight-route-line{height:22px;position:relative;background:linear-gradient(#8b99a5,#8b99a5) center/100% 1px no-repeat;justify-content:center;margin:0}
 .flight-route-line:before,.flight-route-line:after{content:"";position:absolute;top:8px;width:6px;height:6px;border:1px solid #637380;border-radius:50%;background:#fff}
 .flight-route-line:before{left:0}.flight-route-line:after{right:0}
 .journey-stops{position:relative;z-index:1;padding:2px 7px;border:1px solid #c8d2dc;border-radius:3px;background:#fff;color:var(--ink);font-size:11px;line-height:16px;white-space:nowrap}
 .journey-stops.is-direct{background:#00863d;border-color:#00863d;color:#fff}
 .flight-journey{gap:3px}.flight-journey>.journey-duration{color:var(--ink)}
}

/* Price beside the itinerary; disclosures remain full width below. */
@layer components {
 .flight-overview{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) max-content;min-width:0;align-items:stretch}
 .flight-overview>.flight-main{grid-row:auto;grid-column:1;justify-content:center;padding-bottom:14px}
 .flight-price-panel{grid-column:2;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:16px;padding:20px;border-left:1px solid var(--line);min-width:0}
 .flight-price-panel .flight-price-info{text-align:right;align-items:stretch}
 .flight-price-panel .offer-fare{max-width:180px;overflow-wrap:anywhere}
 .flight-price-panel .price-line,.flight-price-panel .fare-provider{justify-content:flex-end}
 .flight-price-panel .flight-total{line-height:1.5}
 .flight-card .flight-booking{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:0;padding:0 20px 0;background:#fff}
 .flight-booking>.flight-fare-info{grid-column:1/-1;grid-row:1;min-height:48px}
 .flight-booking>.flight-details{grid-column:1/-1;grid-row:2}
 .flight-booking>.flight-providers{grid-column:1/-1;grid-row:3;margin:0}
 #results-region:not([aria-busy="true"]) .flight-card{min-block-size:0;grid-template-rows:auto auto auto}
}
@layer responsive {
 @container(max-width:850px){
  .flight-overview{grid-template-columns:minmax(0,1fr)}
  .flight-overview>.flight-main{grid-column:1}
  .flight-price-panel{grid-column:1;display:grid;grid-template-columns:minmax(0,1fr) 144px;align-items:center;border-left:0;border-top:1px solid var(--line);padding:14px 16px;gap:16px}
  .flight-price-panel .flight-price-info{grid-row:auto;text-align:left}.flight-price-panel .price-line,.flight-price-panel .fare-provider{justify-content:flex-start}
 }
 @container(max-width:650px){
  .flight-card .flight-booking{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;padding:0 12px}
  .flight-booking>.flight-fare-info{grid-row:1}.flight-booking>.flight-details{grid-row:2}.flight-booking>.flight-providers{grid-row:3}
  .flight-price-panel{grid-template-columns:minmax(0,1fr) 120px;padding:14px 12px;gap:12px}
 }
}

@layer components {
 .flight-price-panel .flight-price-info{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-items:start}
 .flight-price-panel .price-line{grid-column:1;grid-row:1;justify-content:flex-end}
 .flight-price-panel .flight-total{grid-column:1;grid-row:2;border:0;padding:0;white-space:nowrap}
 .flight-price-panel .fare-provider{grid-column:1;grid-row:3;flex-direction:column;align-items:flex-end;justify-content:flex-start;text-align:right;gap:8px}
 .booking-baggage .baggage-trigger{gap:9px}
 .booking-baggage .baggage-popover{left:auto;right:-100px;top:calc(100% + 8px);bottom:auto;max-height:min(360px,70vh);overflow:auto;font-size:12px}
 .booking-baggage .baggage-popover h4{font-size:14px;margin:0 0 8px}.booking-baggage .baggage-popover p,.booking-baggage .baggage-popover p strong{font-size:12px}
 .booking-baggage .baggage-popover section+section{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}
}
@layer responsive {
 @container(min-width:651px){.flight-leg-row{grid-template-columns:24px 44px minmax(0,1fr) minmax(105px,.9fr) minmax(0,1fr);gap:12px}}
 @container(max-width:850px){.flight-overview{grid-template-columns:minmax(0,1fr)}.flight-price-panel .flight-price-info{grid-template-columns:minmax(0,1fr)}}
 @container(max-width:650px){.flight-price-panel{grid-template-columns:minmax(0,1fr)}.flight-price-panel .flight-select-action{justify-self:end;width:144px}.flight-price-panel .flight-price-info{grid-template-columns:minmax(0,1fr)}.booking-baggage .baggage-popover{left:0;right:auto;width:min(300px,calc(100vw - 52px))}}
}

@layer responsive {
 #results-region:not([aria-busy="true"]) .flight-card{min-block-size:0;grid-template-rows:auto auto auto}
 @container(max-width:650px){#results-region[aria-busy="true"] .flight-card{min-block-size:calc(500px + var(--flight-leg-count,2)*120px)}}
 @container(max-width:350px){#results-region[aria-busy="true"] .flight-card{min-block-size:calc(560px + var(--flight-leg-count,2)*120px)}}
}

@layer components {
 .price-help{position:relative;display:inline-block;margin-left:4px;text-align:left;font-weight:400;vertical-align:middle}
 .price-help>summary{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;font-size:12px;line-height:1;cursor:pointer;list-style:none;color:var(--muted)}
 .price-help>summary::-webkit-details-marker{display:none}
 .price-popover{position:absolute;right:0;top:calc(100% + 10px);z-index:20;width:320px;max-width:calc(100vw - 48px);padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 24px #10284626;color:var(--ink);font-size:13px;text-align:left}
 .price-popover h3{font-size:18px;margin:0 30px 16px 0}.price-popover>strong{font-size:13px}
 .price-popover p,.price-breakdown-total{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin:12px 0 0}
 .price-popover p span{font-size:13px}
 .price-breakdown-total{border-top:1px solid var(--line);padding-top:12px}.price-breakdown-total strong{font-size:16px;white-space:nowrap}
 .price-info-close{position:absolute;right:9px;top:9px;width:28px;height:28px;padding:0;border:1px solid var(--line);background:#fff;border-radius:3px;color:var(--blue);font-size:22px;line-height:1;cursor:pointer}
 .flight-card:has(.price-help[open]),.flight-card:has(.baggage-trigger[aria-expanded=true]){z-index:4}
}

@layer components{.flight-badges .badge-best{background:#eef4ff;color:#0055b8}.flight-topline{background:#fff;border-bottom:0}}

@layer components{.flight-price-panel .flight-price-info .flight-total{font-size:16px;font-weight:700;line-height:1.4}}

/* Use the mode of the returned search, independent of later form edits. */
@layer components {
 .results-area[data-trip-mode="multicity"] .booking-baggage,
 .results-area[data-trip-mode="multicity"] .provider-bags{display:none}
}
/* Every Multi-Stopp row shares the same airport and date columns. */
@layer responsive {
 @media(min-width:1151px){
  .is-multi .compact-route,.is-multi .compact-extra-leg{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr) 134px 144px 104px;gap:8px;padding:10px;min-height:78px}
  .is-multi .compact-extra-leg>.airport-field:first-child{grid-column:1}
  .is-multi .compact-extra-leg>.airport-field:nth-child(2){grid-column:3}
  .is-multi .compact-extra-leg>.search-control-label{grid-column:4}
  .is-multi .compact-extra-leg>select{grid-column:5;max-width:100%}
  .is-multi .compact-extra-leg>.remove-flight{grid-column:6;justify-self:end}
  .is-multi .first-leg-date,.is-multi .compact-extra-leg>.search-control-label{min-width:0;width:100%}
  .is-multi .first-leg-date input,.is-multi .compact-extra-leg input[type=date]{width:100%;box-sizing:border-box}
 }
 @media(min-width:621px) and (max-width:1150px){
  .is-multi .compact-route,.is-multi .compact-extra-leg{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:8px;padding:10px}
  .is-multi .compact-extra-leg>.airport-field:first-child{grid-row:1;grid-column:1}
  .is-multi .compact-extra-leg>.airport-field:nth-child(2){grid-row:1;grid-column:3}
  .is-multi .compact-extra-leg>.search-control-label{grid-row:2;grid-column:1}
  .is-multi .compact-extra-leg>select{grid-row:2;grid-column:3}
  .is-multi .compact-extra-leg>.remove-flight{grid-row:3;grid-column:3;justify-self:end}
  .is-multi .search-travelers{grid-column:3}
 }
 @container(max-width:850px){
  .flight-price-panel .fare-provider{align-items:flex-start;text-align:left}
 }
 @media(max-width:620px){.is-multi .compact-extra-leg{padding:8px}}
}

/* Supplied details stay attached to their segment and wrap on narrow cards. */
@layer components {
.segment-flight-head{flex-wrap:wrap}.segment-cabin,.segment-operator{font-size:12px;color:var(--muted)}.segment-operator{margin:0 0 14px;overflow-wrap:anywhere}.segment-note{display:inline-block;padding:3px 7px;border-radius:3px;background:#eef2f5;font-size:12px;font-weight:600;color:var(--ink)}.quality-details>summary{flex-wrap:wrap;max-width:100%;row-gap:7px}.quality-details p>span:last-child{min-width:0;overflow-wrap:anywhere}.quality-details p small{display:block;margin-top:3px;color:var(--muted)}
}

/* Actual search phases advance the track; motion marks the active phase. */
.result-progress{height:auto;min-height:22px;margin:0 0 12px;padding:6px 0;background:transparent;font-size:13px;color:var(--muted)}
.search-progress{margin:0 0 18px;padding:0;color:var(--ink);font-size:13px;line-height:1.4}
.search-progress-label{min-height:20px;margin-bottom:8px;font-weight:600}
.search-progress-track,.search-progress-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.search-progress-track i{position:relative;display:block;height:5px;overflow:hidden;border-radius:3px;background:#dce5ef;transition:background .3s}
.search-progress-track i[data-state="done"]{background:var(--blue)}
.search-progress-track i[data-state="active"]{background:#9dbde8}
.search-progress-track i[data-state="active"]::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--blue),transparent);animation:search-phase-flow 1.1s linear infinite}
.search-progress-steps{margin-top:5px;font-size:11px;color:var(--muted)}
.search-progress[data-phase="4"] .search-progress-track i{background:#298457}
.search-progress[data-stopped="true"] .search-progress-track i{background:#96a5b5}
@keyframes search-phase-flow{to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.search-progress-track i[data-state="active"]::after{animation:none;transform:none;background:var(--blue)}}
.baggage-trigger:not([aria-expanded="true"]) + .baggage-popover{display:none}

.fare-features{margin-top:12px;border-top:1px solid var(--line);padding-top:10px;font-size:12px;text-align:left}
.fare-features>summary{cursor:pointer;font-weight:650;padding:6px 0}
.fare-feature-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:0;padding:12px;font-size:12px;line-height:1.45;background:#fff;border:1px solid var(--line);border-radius:8px;min-width:0;overflow-wrap:anywhere}
.fare-feature-group+.fare-feature-group{margin-top:8px}
.flight-card .fare-feature-group>strong{grid-column:1/-1;font-size:12px;font-weight:650;line-height:1.45;white-space:normal}
.fare-feature-group>span{display:block;min-width:0}
.provider-entry{width:100%;min-width:0;border-top:1px solid var(--line);padding:2px 0 8px}
.provider-conditions{font-size:12px;text-align:left;min-width:0}
.provider-conditions>summary{width:fit-content;max-width:100%;cursor:pointer;color:var(--blue);padding:5px 6px;font-size:12px;font-weight:500;overflow-wrap:anywhere}
.provider-conditions[open]>summary{margin-bottom:5px}
.provider-fare-features{padding:0 6px 6px;min-width:0}
@media(max-width:620px){.fare-feature-group{grid-template-columns:1fr;padding:10px}.search-progress-steps{font-size:10px}}

/* The open section stays visibly selected independently of keyboard focus. */
@layer components {
  .flight-ui-ready .flight-detail-toggle{width:100%;padding-inline:12px;border-radius:6px}
  .provider-details>summary{padding-inline:12px;border-radius:6px}
  .flight-ui-ready .flight-detail-toggle[aria-expanded=true],
  .flight-details[open]>summary,
  .provider-details[open]>summary{background:#e8f1ff;color:var(--blue);box-shadow:inset 3px 0 0 var(--blue)}
  .flight-detail-toggle[aria-expanded=true]>span:not(.flight-detail-chevron){color:var(--blue)}
}

/* Flight-specific extras: compact progressive disclosure, separate from flight details. */
@layer components {
.trip-combination{border-top:1px solid #cee3e3;background:#f5fbfa;font-size:13px;min-width:0;container-type:inline-size;border-radius:0 0 12px 12px}
.trip-combination>summary{display:flex;align-items:center;gap:24px;padding:20px 28px;cursor:pointer;list-style:none;color:#092347;min-height:100px}
.trip-combination>summary::-webkit-details-marker{display:none}
.trip-combination>summary strong{font-size:clamp(17px,1.65cqi,24px);line-height:1.3}
.trip-combination-icons{display:flex;align-items:center;gap:20px;color:#1673f9;flex-shrink:0}
.trip-combination-icons svg{width:32px;height:32px}
.trip-combination-copy{display:grid;gap:4px;min-width:0}
.trip-combination-hint{color:#557392;font-size:clamp(13px,1.3cqi,19px)}
.trip-combination-action{display:flex;align-items:center;justify-content:center;gap:14px;margin-left:auto;flex-shrink:0;min-height:54px;padding:10px 22px;border:1.5px solid #287cff;border-radius:14px;background:#fff;color:#1673f9;font-size:clamp(15px,1.5cqi,22px);font-weight:750;line-height:1.3}
.trip-combination-close-label{display:none}
.trip-combination-chevron{display:flex;transition:transform .25s}
.trip-combination-chevron>.ui-icon{width:24px;height:24px}
.trip-combination:not([open])>summary:hover .trip-combination-action{background:#eef5ff}
.trip-combination[open]>summary{background:#e0f1ee;box-shadow:inset 3px 0 #187470}
.trip-combination[open] .trip-combination-chevron{transform:rotate(180deg)}
.trip-combination-content{padding:16px 20px;min-width:0}
.trip-tabs{display:flex;gap:8px;margin-bottom:12px}
.trip-button,.trip-search{border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--blue);padding:9px 12px;min-height:40px;font-size:12px;font-weight:650;cursor:pointer;line-height:1.3}
.trip-tabs .trip-button[aria-pressed=true],.trip-offer .trip-button[aria-pressed=true]{background:#e0f1ee;color:#155d61;border-color:#187470}
.trip-button:disabled,.trip-search:disabled{opacity:.6;cursor:wait}
.trip-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}
.trip-field{display:grid;gap:5px;font-size:12px;min-width:0}
.trip-field input,.trip-field select{width:100%;min-width:0;max-width:100%;border:1px solid #b8c8d7;border-radius:6px;background:#fff;padding:9px;font:inherit;color:var(--ink);min-height:40px}
.trip-field:has([name=term]),.trip-place-select{grid-column:span 2}
.trip-field-note{grid-column:1/-1;font-size:11px;color:var(--muted);margin:0;line-height:1.5}
.trip-search{grid-column:1/-1;justify-self:end;background:var(--blue);color:#fff;border-color:var(--blue)}
.trip-status{font-size:12px;color:var(--muted);margin:12px 0;min-height:0}
.trip-status:empty{display:none}
.trip-status[data-loading=true]::before{content:'';display:inline-block;width:10px;height:10px;border:2px solid #c4d5e9;border-top-color:var(--blue);border-radius:50%;margin-right:8px;animation:trip-spin 1s linear infinite}
.trip-offers{display:grid;gap:8px}
.trip-offer{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(130px,auto);gap:12px;align-items:center;padding:12px;background:#fff;border:1px solid var(--line);border-radius:8px;min-width:0;animation:trip-arrive .4s ease-out}
.trip-offer[data-selected=true]{border-color:#187470;box-shadow:inset 3px 0 #187470}
.trip-offer>img{width:80px;height:72px;object-fit:cover;border-radius:5px}
.trip-offer:not(:has(>img)) .trip-offer-copy{grid-column:1/3}
.trip-offer-copy{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.trip-offer-copy>strong{font-size:13px;line-height:1.4}
.trip-offer small{font-size:11px;line-height:1.45;color:var(--muted)}
.trip-offer-price{display:grid;gap:5px;justify-items:end;text-align:right;max-width:170px}
.trip-offer-price>strong{font-size:16px;white-space:nowrap}
.trip-more{justify-self:center}
.trip-selection:empty{display:none}
.trip-selection{font-size:13px;min-width:0}
.trip-selection>small{display:block;color:var(--muted);line-height:1.5}
.trip-combination :is(button,input,select,summary,a):focus-visible{outline:3px solid #147c83;outline-offset:3px}
@container(max-width:650px){.trip-form{grid-template-columns:repeat(2,minmax(0,1fr))}.trip-combination>summary{flex-wrap:wrap;gap:12px;padding:16px}.trip-combination-icons{gap:12px}.trip-combination-icons svg{width:26px;height:26px}.trip-combination-copy{flex:1}.trip-combination-action{width:100%;min-height:44px;padding:10px 14px;border-radius:10px}}
@container(max-width:430px){.trip-combination-content{padding:12px}.trip-combination>summary{padding:12px}.trip-offer{grid-template-columns:64px minmax(0,1fr);gap:10px}.trip-offer>img{width:64px;height:64px}.trip-offer:not(:has(>img)) .trip-offer-copy{grid-column:1/-1}.trip-offer-price{grid-column:1/-1;max-width:none;width:100%;grid-template-columns:1fr auto;text-align:left;justify-items:start;align-items:center}.trip-offer-price>small{grid-column:1;grid-row:2}.trip-offer-price>button{grid-column:2;grid-row:1/3}.trip-search{width:100%}}
@keyframes trip-spin{to{transform:rotate(360deg)}}
@keyframes trip-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.trip-offer,.trip-status[data-loading=true]::before{animation:none}.trip-combination-chevron{transition:none}}
}
@layer components {
.trip-actions{display:flex;gap:10px;flex-wrap:wrap}
.trip-dialog{width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:20px;border:1px solid var(--line);border-radius:12px;background:#f5fbfa;color:var(--ink);box-shadow:0 14px 60px #11263c40;font-size:13px;overflow:auto;overscroll-behavior:contain;container-type:inline-size}
.trip-dialog::backdrop{background:#10263c80}
.trip-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}
.trip-dialog-heading>strong{font-size:16px}
.trip-dialog-heading>.trip-button{flex-shrink:0}
@media(max-width:620px){.trip-dialog{width:100%;max-width:100%;max-height:100dvh;height:100dvh;border-radius:0;padding:16px}.trip-dialog-heading{position:sticky;top:-16px;background:#f5fbfa;padding:12px 0;z-index:1}}
}
@layer components {
.flight-card>.trip-combination{grid-column:1/-1;grid-row:4}
}
@layer components {
.trip-offer{grid-template-columns:112px minmax(0,1fr) minmax(135px,auto);align-items:start}
.trip-offer>img{width:112px;height:100px}
.trip-offer[data-kind=car]>img{object-fit:contain;background:#f4f7fa}
.trip-stars{font-size:13px;letter-spacing:1px;color:#916c15}
.trip-rating{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}
.trip-rating>b{display:inline-block;padding:3px 5px;background:#e0f1ee;color:#155d61;border-radius:4px;font-size:12px}
.trip-facts{display:flex;flex-wrap:wrap;gap:4px 8px}
.trip-facts>small{display:block;border-radius:3px;background:#f3f6f9;padding:2px 5px}
.trip-provider{display:flex;align-items:center;gap:6px;margin-top:4px}
.trip-provider>img{max-width:65px;max-height:20px;object-fit:contain}
.trip-offer-price{align-self:center}
@container(max-width:430px){.trip-offer{grid-template-columns:80px minmax(0,1fr)}.trip-offer>img{width:80px;height:80px}.trip-offer-price>strong{font-size:15px}}
}

@layer components {
.trip-dialog-heading{position:sticky;top:-20px;background:#f5fbfa;padding-block:8px;z-index:1}
.trip-preview-note{font-size:11px;line-height:1.45;color:var(--muted);margin:0 0 12px}
@media(max-width:620px){.trip-dialog-heading{top:-16px}}
}
@layer components {
.trip-combination[data-has-selection=true]{background:linear-gradient(110deg,#e5f5f4,#eff9fa)}
.trip-actions[hidden]{display:none}
.trip-selection-heading{display:flex;align-items:center;gap:20px;margin:2px 0 18px;color:#10294b}
.trip-heading-icon{width:46px;flex-shrink:0}.trip-heading-icon svg{width:100%;height:46px}
.trip-selection-heading h3{margin:0 0 5px;font-size:clamp(22px,2.1cqi,32px);line-height:1.2;letter-spacing:-.4px}
.trip-selection-heading p{margin:0;color:#4b6281;line-height:1.6}.trip-selection-heading p strong{color:#10294b;font-size:16px}
.trip-arrival-note{display:inline-block;margin-left:18px;padding-left:18px;border-left:1px solid #9bb8cc}
.trip-selected-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.trip-selected-card{display:grid;grid-template-columns:minmax(110px,33%) minmax(0,1fr);gap:16px;padding:14px;border:1px solid #cfe0ec;border-radius:15px;background:white;min-width:0}
.trip-selected-media{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f1f5f8;border-radius:9px;overflow:hidden;min-height:170px;align-self:stretch}
.trip-selected-media>img{width:100%;height:100%;max-height:290px;object-fit:cover}.trip-selected-card[data-kind=car] .trip-selected-media>img{object-fit:contain}
.trip-selected-media>img[src$="/rimg/affiliate/sandbox.png"]{object-fit:contain}
.trip-selected-media>svg{width:48px;height:48px;color:#72899c}.trip-selected-media>small{padding:8px;text-align:center;color:#4b6281}
.trip-selected-copy{min-width:0;display:flex;flex-direction:column;gap:6px}.trip-selected-label{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;color:var(--blue);font-size:11px;font-weight:700}.trip-selected-label>span:first-child{text-transform:uppercase;letter-spacing:.6px}
.trip-selected-badge{color:#007e75;white-space:nowrap}.trip-selected-copy h4{font-size:17px;line-height:1.3;margin:0;color:#10294b;overflow-wrap:anywhere}.trip-selected-meta{margin:0;color:#4b6281;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.trip-recommendation-label{margin:0;font-size:11px;font-weight:650;color:#286a70}.trip-selected-empty>p{text-align:center}.trip-selected-empty[aria-busy=true] .trip-empty-icon{animation:trip-arrive 1.5s ease-in-out infinite alternate}
@media(prefers-reduced-motion:reduce){.trip-selected-empty[aria-busy=true] .trip-empty-icon{animation:none}}
.trip-selected-price{display:grid;gap:2px;margin-top:auto;padding-top:8px}.trip-selected-price>strong{font-size:26px;letter-spacing:-.6px;color:#0c2044}.trip-selected-price>small{font-size:12px;color:#4b6281}
.trip-selected-footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-top:8px}.trip-selected-edit{display:flex;gap:0;align-items:center}.trip-selected-edit>.trip-button{padding:0 8px;border:0;border-radius:0;min-height:32px;background:none;text-decoration:underline;font-size:12px;font-weight:400}.trip-selected-edit>.trip-button:first-child{padding-left:0;border-right:1px solid #cfe0ec}
.trip-provider-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 12px;border:1px solid var(--blue);border-radius:7px;color:var(--blue);font-size:12px;font-weight:650;text-decoration:none;text-align:center}
.trip-selected-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:220px;border-style:dashed;background:#ffffffb3}.trip-empty-icon>svg{width:38px;height:38px;color:#3b6884}
.trip-price-summary{display:flex;align-items:center;gap:14px;padding:20px;margin-top:14px;border-radius:14px;background:#102a48;color:white;flex-wrap:wrap}
.trip-price-item{display:flex;gap:12px;align-items:center;flex:1;min-width:120px}.trip-price-icon{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:50%;background:#1a4974;flex-shrink:0}.trip-price-icon svg{width:24px;height:24px}.trip-price-item>div{display:grid;gap:3px}.trip-price-item strong{font-size:20px;white-space:nowrap}.trip-price-item small{font-size:11px;color:#d8e6f4}.trip-price-plus{font-size:24px}
.trip-grand-total{border-left:1px solid #8294aa;padding-left:24px;display:grid;gap:3px;text-align:right;flex:1.2;min-width:180px}.trip-grand-total strong{font-size:clamp(28px,3cqi,40px);line-height:1.1;white-space:nowrap}
.trip-selection>.trip-booking-note{font-size:12px;color:#4b6281;padding:8px 4px 0}
.trip-facts>small{display:inline-flex;align-items:center;gap:5px}.trip-facts svg{width:15px;height:15px;flex-shrink:0;color:#436077}.trip-selected-copy .trip-facts{margin-top:3px}.trip-selected-copy .trip-facts>small{font-size:10px;line-height:1.5}
@container(max-width:1000px){.trip-selected-card{grid-template-columns:110px minmax(0,1fr);gap:12px}.trip-selected-footer{flex-direction:column;align-items:stretch}.trip-provider-link{width:100%}.trip-price-icon{display:none}.trip-price-summary{gap:10px;padding:18px}.trip-grand-total{padding-left:16px;min-width:155px}}
@container(max-width:720px){.trip-selected-cards{grid-template-columns:1fr}.trip-selected-card{grid-template-columns:minmax(100px,28%) minmax(0,1fr)}.trip-selected-footer{flex-direction:row;align-items:center}.trip-provider-link{width:auto}.trip-arrival-note{display:block;padding:0;margin:2px 0 0;border:0}.trip-price-plus{display:none}.trip-price-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.trip-price-item{min-width:0}.trip-price-item strong{font-size:17px}.trip-grand-total{grid-column:1/-1;border-left:0;border-top:1px solid #8294aa;padding:12px 0 0;display:flex;justify-content:space-between;align-items:center;text-align:left}.trip-grand-total strong{font-size:30px}}
@container(max-width:430px){.trip-selection-heading{gap:10px}.trip-heading-icon{width:28px}.trip-selection-heading h3{font-size:22px}.trip-selected-card{padding:10px;gap:10px;grid-template-columns:80px minmax(0,1fr)}.trip-selected-media{min-height:120px;max-height:180px}.trip-selected-copy h4{font-size:15px}.trip-selected-price>strong{font-size:24px}.trip-selected-label{font-size:10px}.trip-price-summary{padding:14px;gap:10px}.trip-price-item strong{font-size:16px}.trip-price-item small{font-size:10px}.trip-grand-total{gap:10px;font-size:12px}.trip-grand-total strong{font-size:26px}}
}

/* Binding travel-card mockup: same card geometry, with responsive reflow. */
@layer responsive {
.flight-card{border-radius:18px;border-color:#bfd1e2;overflow:visible}
.flight-route-heading .flight-badges{justify-content:flex-end;align-self:end}
.flight-route-heading .flight-badges span{padding:2px 10px;border:0;border-radius:4px;font-size:12px;font-weight:650;line-height:20px;background:#e0f8ff;color:#00485c;white-space:nowrap}
.flight-route-heading .flight-badges .badge-best{background:#a8ebc5;color:#075534}
.flight-route-heading .flight-badges .badge-lowest{background:#ccffe5;color:#00493e}
.flight-route-heading .flight-badges .badge-fastest{background:#e0f8ff;color:#00485c}
.flight-overview{grid-template-columns:minmax(0,1fr) 25%;grid-row:2}
.flight-overview>.flight-main{padding:0 28px 18px;gap:12px;justify-content:flex-start}
.flight-route-heading{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 25%;align-items:center;gap:0;margin:22px 28px 16px}
.flight-route-copy{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 22px;min-width:0;padding-right:22px}
.flight-route-heading h3{display:flex;align-items:center;gap:12px;font-size:clamp(18px,2.12cqi,32px);line-height:1.3;color:#102a4b;letter-spacing:-.45px;margin:0;min-width:0}
.flight-route-heading h3>.ui-icon{width:38px;height:32px;flex-shrink:0}.flight-route-heading h3>span{overflow-wrap:anywhere}
.flight-route-heading p{font-size:clamp(12px,1.33cqi,20px);color:#526586;line-height:1.4}
.flight-card .flight-leg{display:grid;grid-template-columns:25% 18% minmax(0,1fr) 18%;grid-template-rows:auto auto;column-gap:12px;row-gap:4px;align-items:center;background:#eef8fc;border-radius:14px;padding:16px 22px;min-height:108px;margin:0;border:0}
.flight-card .flight-leg::before{display:none}.flight-card .flight-leg-row{display:contents}
.flight-card .flight-leg-heading{grid-column:1;grid-row:1;align-self:end;margin:0;gap:5px;white-space:normal;font-size:clamp(12px,1.32cqi,20px)}
.flight-card .flight-airlines{grid-column:1;grid-row:2;justify-content:flex-start;align-self:start}
.flight-card .brand-chip{gap:9px;justify-content:flex-start;min-width:0}.flight-card .brand-chip img{width:32px;height:32px;flex-shrink:0}.flight-card .brand-name{display:block;font-size:clamp(12px,1.24cqi,18px);line-height:1.25;white-space:normal}
.flight-card .flight-departure{grid-column:2;grid-row:1/3}.flight-card .flight-journey{grid-column:3;grid-row:1/3}.flight-card .flight-arrival{grid-column:4;grid-row:1/3}
.flight-card .flight-schedule strong{font-size:clamp(18px,1.9cqi,28px);font-weight:750;color:#0b1640}.flight-card .flight-schedule sup{font-size:13px;color:#005bce;font-weight:700}
.flight-card .flight-schedule>small{font-size:clamp(11px,1.25cqi,18px);color:#4d6081;line-height:1.4}
.flight-card .flight-journey>small{font-size:clamp(11px,1.12cqi,16px);color:#4d6081}.flight-card .flight-route-line{max-width:none;background:linear-gradient(#607fa3,#607fa3) center/100% 1px no-repeat}
.flight-card .flight-route-line::before,.flight-card .flight-route-line::after{width:8px;height:8px;background:#1767b3;border:2px solid #07366a;top:7px}.flight-card .journey-stops.is-direct{background:#008c7b;border-color:#008c7b;font-size:13px;padding:4px 14px;box-shadow:0 4px 8px #0f777820}
.flight-card .leg-time-filter{position:absolute;top:5px;right:8px;display:grid;place-items:center;width:30px;height:30px;border:1px solid #aac9e6;border-radius:7px;background:#fff;color:#1767b3;cursor:pointer;z-index:1;transition:background-color .15s,color .15s}
.flight-card .leg-time-filter>.ui-icon{width:19px;height:19px;pointer-events:none}
.flight-card .leg-time-filter:hover{background:#e0efff;border-color:#1767b3}
.flight-card .leg-time-filter:has(.leg-select:checked){background:#005cce;border-color:#005cce;color:#fff}
.flight-card .leg-time-filter:has(.leg-select:focus-visible){outline:2px solid #005cce;outline-offset:2px}
.flight-card .leg-time-filter .leg-select{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.flight-card .flight-price-panel{grid-column:2;display:flex;flex-direction:column;gap:24px;margin:0 0 18px;padding:0 28px;border-top:0;border-left:1px solid #d5e2ef;justify-content:center;align-items:stretch}
.flight-card .flight-price-panel .flight-price-info{text-align:center;display:flex;align-items:stretch;gap:18px}
.flight-card .flight-price-panel .price-line{position:relative;justify-content:center;flex-direction:column;align-items:center;gap:0}
.flight-card .flight-price-panel .price-line>strong{font-size:clamp(34px,4.3cqi,64px);letter-spacing:-2px;line-height:1.1;color:#0f294c;font-weight:800}
.flight-price-unit{display:block;font-size:clamp(13px,1.4cqi,20px)!important;color:#293f65}.flight-card .price-help{position:absolute;right:-12px;top:8px}.flight-card .price-help>summary{width:15px;height:15px;font-size:10px}
.flight-card .flight-price-panel .flight-total{font-size:clamp(13px,1.55cqi,23px);font-weight:700;text-align:center;border-top:1px solid #d5e2ef;padding-top:18px;white-space:normal}
.flight-card .flight-select-action{width:100%;height:auto;min-height:clamp(46px,4.5cqi,68px);padding:14px 10px;font-size:clamp(13px,1.5cqi,22px);font-weight:750;border-radius:8px}
.flight-card .flight-booking{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:0;padding:0 24px 16px;border:0;margin:0;width:auto;border-radius:0}
.flight-booking>.flight-fare-info{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch;border:0;min-height:0}
.flight-fare-info>.flight-detail-toggle{grid-column:1;grid-row:1}
.flight-fare-info:not(:has(>.flight-provider-toggle))>.flight-detail-toggle{grid-column:1/-1}
.flight-fare-info>.flight-provider-toggle{grid-column:2;grid-row:1}
.flight-booking>.flight-fare-info{row-gap:0}
.flight-fare-info>.flight-details{grid-column:1/-1;grid-row:2}
.flight-booking>.flight-providers,.flight-booking>.flight-providers:has(.provider-details[open]){grid-column:1/-1;grid-row:3;padding:0;margin:0;border:0;min-height:0}
.flight-booking>.flight-details{grid-column:1/-1;grid-row:2}
.flight-card .flight-detail-toggle,.flight-card .flight-provider-toggle{display:none}
.flight-ui-ready .flight-card .flight-detail-toggle,.flight-ui-ready .flight-card .flight-provider-toggle{display:flex;align-items:center;flex-wrap:nowrap;gap:24px;width:100%;min-width:0;min-height:110px;margin:0;padding:18px 26px;border:1px solid #acd1ff;border-radius:13px;background:linear-gradient(110deg,#f6fbff,#f1f9fe);box-shadow:none;color:#080f44;font:inherit;text-align:left;cursor:pointer}
.flight-card .flight-detail-toggle>span:not(.flight-detail-chevron),.flight-card .flight-provider-toggle>span:not(.flight-detail-chevron){display:flex;color:inherit}
.flight-card .flight-action-icon{align-items:center;justify-content:center;flex:0 0 72px;width:72px;height:72px;border-radius:50%;background:#dceeff;color:#0053bb}
.flight-card :is(.flight-detail-toggle,.flight-provider-toggle)>span.flight-action-icon{color:#0053bb}
.flight-card .flight-action-icon svg{width:40px;height:40px}
.flight-card .flight-action-copy{min-width:0;flex:1;flex-direction:column;gap:5px;font-weight:400}
.flight-card .flight-action-copy>strong{display:flex;align-items:center;flex-wrap:wrap;gap:14px;color:#080f44;font-size:clamp(17px,1.58cqi,24px);font-weight:750;line-height:1.25;letter-spacing:-.4px}
.flight-card .flight-action-copy>small{font-size:clamp(13px,1.28cqi,20px);line-height:1.35;color:#405f8f}
.flight-card .flight-action-count{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 8px;border-radius:50%;background:linear-gradient(135deg,#1685ff,#306cfa);color:#fff;font-size:21px;line-height:1;font-weight:650;letter-spacing:0}
.flight-card .flight-detail-chevron{display:flex;flex:0 0 26px;color:#003c92;margin-left:auto;transition:transform .15s}
.flight-card .flight-detail-chevron>.ui-icon{width:26px;height:26px}
.flight-card :is(.flight-detail-toggle,.flight-provider-toggle):hover{background:#eaf5ff;border-color:#66a8f2}
.flight-card :is(.flight-detail-toggle,.flight-provider-toggle):focus-visible{outline:3px solid #0065d6;outline-offset:3px}
.flight-card :is(.flight-detail-toggle,.flight-provider-toggle)[aria-expanded=true]{background:#e8f3ff;border-color:#388beb;box-shadow:inset 0 -3px #0562c8}
.flight-card :is(.flight-detail-toggle,.flight-provider-toggle)[aria-expanded=true] .flight-detail-chevron{transform:rotate(180deg)}
.flight-card .flight-provider-toggle:disabled{opacity:.6;cursor:default}
.flight-ui-ready .flight-card .provider-details>summary{display:none}
.flight-ui-ready .flight-booking>.flight-providers:not(:has(.provider-details[open])){display:none}
.flight-card .provider-list,.flight-card .flight-detail-content{margin-top:16px}
@container(max-width:1100px){.flight-ui-ready .flight-card :is(.flight-detail-toggle,.flight-provider-toggle){gap:16px;padding:16px;min-height:96px}.flight-card .flight-action-icon{flex-basis:54px;width:54px;height:54px}.flight-card .flight-action-icon svg{width:32px;height:32px}.flight-card .flight-action-count{min-width:30px;height:30px;font-size:17px}.flight-card .flight-action-copy>strong{gap:8px}}
@container(max-width:620px){.flight-booking>.flight-fare-info{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:10px}.flight-fare-info>.flight-details{grid-row:auto}.flight-fare-info>.flight-provider-toggle{grid-column:1;grid-row:auto}.flight-fare-info .flight-detail-content{margin-top:0}.flight-ui-ready .flight-card :is(.flight-detail-toggle,.flight-provider-toggle){min-height:82px;padding:12px;gap:12px}.flight-card .flight-action-icon{flex-basis:44px;width:44px;height:44px}.flight-card .flight-action-icon svg{width:28px;height:28px}.flight-card .flight-action-copy>strong{font-size:16px;gap:8px;flex-wrap:nowrap}.flight-card .flight-action-copy>small{font-size:13px}.flight-card .flight-action-count{min-width:26px;height:26px;font-size:15px;flex-shrink:0}.flight-card .flight-detail-chevron{flex-basis:18px}.flight-card .flight-detail-chevron>.ui-icon{width:18px;height:18px}}
.flight-card .flight-detail-content>.fare-provider{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.flight-card .flight-detail-content>.fare-provider .selected-provider img{max-width:90px;max-height:30px;object-fit:contain}
.flight-card .trip-combination{position:relative;background:#e5f5f5;border-radius:0 0 18px 18px;grid-row:4}
.flight-card .trip-combination:not([open]){background:#f5f8fc;border-top-color:#d4e0ed}
.trip-combination[open]>summary{position:absolute;right:12px;top:8px;z-index:1;background:transparent;box-shadow:none;padding:4px 8px;min-height:32px;width:32px}
.trip-combination[open]>summary .trip-combination-copy,.trip-combination[open] .trip-combination-close-label{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.trip-combination[open]>summary .trip-combination-icons,.trip-combination[open] .trip-combination-action-label{display:none}
.trip-combination[open]>summary .trip-combination-action{min-height:24px;width:auto;padding:0;border:0;background:transparent}
.trip-combination-content{padding:18px 20px 8px}.trip-selection-heading{position:relative;min-height:76px;margin:0 0 18px;gap:20px}.trip-heading-icon{width:14%;margin-left:-20px;flex-shrink:0}.trip-heading-icon>svg{width:100%;height:80px;overflow:visible}
.trip-selection-heading h3{font-size:clamp(26px,2.7cqi,40px);letter-spacing:-1px;line-height:1.2}.trip-selection-heading p{font-size:clamp(12px,1.28cqi,19px)}.trip-selection-heading p strong{font-size:clamp(16px,1.6cqi,24px)}
.trip-selected-cards{gap:14px}.trip-selected-card{grid-template-columns:35% minmax(0,1fr);padding:14px;gap:28px;border-radius:18px;min-height:240px;align-items:stretch}
.trip-selected-media{height:212px;min-height:0;max-height:none;align-self:center}.trip-selected-media>img{max-height:none;width:100%;height:100%}.trip-selected-copy{gap:6px;justify-content:flex-start}
.trip-selected-label{font-size:clamp(10px,1cqi,14px);gap:10px 20px}.trip-selected-badge.is-selected{display:inline-flex;gap:8px;align-items:center}.trip-selected-badge.is-selected::before{content:'✓';display:inline-grid;place-items:center;width:25px;height:25px;background:#00897e;color:white;border-radius:50%;font-size:17px;font-weight:700;box-shadow:0 2px 5px #00897e25}
.trip-selected-label>.trip-stars{font-size:11px;letter-spacing:0}.trip-selected-copy h4{font-size:clamp(16px,1.45cqi,22px);line-height:1.3}.trip-selected-meta{font-size:clamp(12px,1.14cqi,17px);line-height:1.4}
.trip-selected-price{padding-top:10px;margin-top:auto}.trip-selected-price>strong{font-size:clamp(27px,2.35cqi,35px);line-height:1.15;letter-spacing:-1px}.trip-selected-price>small{font-size:clamp(12px,1.05cqi,16px)}
.trip-selected-footer{flex-direction:row;align-items:flex-end;flex-wrap:wrap;gap:8px;margin-top:2px}.trip-selected-edit>.trip-button{font-size:clamp(11px,1.03cqi,15px);min-height:32px}.trip-provider-link{width:auto;font-size:clamp(11px,1.05cqi,16px);min-height:48px;padding:12px 15px}
.trip-price-summary{gap:24px;padding:18px 4.3%;min-height:114px;margin-top:14px;border-radius:16px;background:#102944}.trip-price-icon{display:flex;width:54px;height:54px}.trip-price-icon svg{width:28px;height:28px}.trip-price-item{gap:20px;min-width:100px}.trip-price-item>div{gap:2px}.trip-price-item strong{font-size:clamp(19px,1.8cqi,27px)}.trip-price-item span,.trip-grand-total>span{font-size:clamp(12px,1.17cqi,17px)}.trip-price-item small{font-size:clamp(10px,1cqi,15px)}.trip-price-plus{font-size:30px}.trip-grand-total{padding-left:34px;min-width:190px}.trip-grand-total strong{font-size:clamp(30px,3.2cqi,48px);font-weight:800;font-style:italic}
.trip-selection>.trip-booking-note{padding:5px 10px 0;font-size:clamp(12px,1.1cqi,16px)}
@container(max-width:1100px){.flight-route-heading{margin:18px 18px 16px}.flight-overview>.flight-main{padding:0 18px 18px}.flight-card .flight-leg{padding:14px;column-gap:9px;grid-template-columns:24% 19% minmax(0,1fr) 20%;min-height:95px}.flight-card .flight-price-panel{padding:12px 20px}.flight-card .flight-booking{padding-inline:18px}.flight-card .brand-chip img{width:26px;height:26px}.flight-route-heading h3>.ui-icon{width:27px}.trip-selected-card{gap:16px;padding:12px;grid-template-columns:34% minmax(0,1fr)}.trip-selected-media{height:210px}.trip-selected-footer{flex-direction:column;align-items:stretch}.trip-provider-link{width:100%;min-height:40px;padding:9px}.trip-price-summary{gap:12px;padding:18px}.trip-price-icon{width:36px;height:36px}.trip-price-icon svg{width:22px;height:22px}.trip-price-item{gap:9px}.trip-grand-total{padding-left:16px;min-width:165px}}
@container(max-width:800px){.flight-route-heading{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}.flight-route-copy{display:contents}.flight-route-heading h3{grid-column:1/-1}.flight-route-heading p{grid-column:1}.flight-route-heading .flight-badges{grid-column:2;max-width:160px}.flight-overview{grid-template-columns:1fr}.flight-card .flight-price-panel{grid-column:1;display:grid;grid-template-columns:1fr 180px;margin:0 18px;padding:14px 0;gap:20px;border-left:0;border-top:1px solid #d5e2ef}.flight-card .flight-price-panel .flight-price-info{gap:6px}.flight-card .flight-price-panel .price-line{align-items:flex-start}.flight-card .flight-price-panel .flight-total{text-align:left;border:0;padding:0}.flight-card .price-help{position:static}.flight-card .flight-booking{margin-right:0}.flight-card .flight-price-panel .price-line>strong{font-size:32px}.trip-selected-cards{grid-template-columns:1fr}.trip-selected-card{grid-template-columns:30% minmax(0,1fr);min-height:200px}.trip-selected-media{height:190px}.trip-selected-footer{flex-direction:row;align-items:center}.trip-provider-link{width:auto}.trip-price-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.trip-price-plus{display:none}.trip-grand-total{grid-column:1/-1;border-left:0;border-top:1px solid #8294aa;padding:12px 0 0;display:flex;justify-content:space-between;align-items:center}.trip-price-item{min-width:0}.trip-arrival-note{display:block;padding:0;margin:0;border:0}}
@container(max-width:480px){.flight-overview>.flight-main{padding:0 12px 12px;gap:10px}.flight-route-heading{margin:12px 12px 14px;gap:4px 8px}.flight-route-heading .flight-badges{max-width:140px}.flight-route-heading .flight-badges span{font-size:10px;padding:1px 7px;line-height:18px}.flight-route-heading h3{font-size:18px;gap:7px}.flight-route-heading h3>.ui-icon{width:24px;height:24px}.flight-card .flight-leg{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:8px 12px;padding:12px}.flight-card .flight-leg-heading{grid-column:1;grid-row:1;align-self:center;font-size:12px;gap:4px}.flight-card .flight-airlines{grid-column:2;grid-row:1;justify-content:flex-end;align-self:center}.flight-card .brand-name{font-size:11px}.flight-card .brand-chip img{width:22px;height:22px}.flight-card .flight-departure{grid-column:1;grid-row:2}.flight-card .flight-arrival{grid-column:2;grid-row:2;text-align:right}.flight-card .flight-journey{grid-column:1/-1;grid-row:3;text-align:center;align-items:center}.flight-card .flight-route-line{max-width:none}.flight-card .leg-time-filter{position:relative;top:auto;right:auto;grid-column:1/-1;grid-row:4;justify-self:end;width:36px;height:36px}.flight-card .flight-price-panel{grid-template-columns:1fr 140px;margin-inline:12px;gap:10px}.flight-card .flight-select-action{font-size:12px;padding:10px 6px}.flight-card .flight-booking{padding-inline:12px}.flight-card .provider-details>summary,.flight-card .provider-label,.flight-card .flight-detail-toggle{font-size:12px}.trip-combination-content{padding:14px 12px 8px}.trip-selection-heading{gap:10px;min-height:80px;margin-bottom:12px}.trip-heading-icon{width:50px;margin-left:-12px}.trip-heading-icon>svg{width:80px;height:60px;margin-left:-25px}.trip-selection-heading h3{font-size:23px;letter-spacing:-.6px}.trip-selected-card{grid-template-columns:95px minmax(0,1fr);gap:12px;padding:10px;min-height:190px}.trip-selected-media{height:170px}.trip-selected-label{gap:6px;font-size:10px}.trip-selected-badge.is-selected{gap:4px}.trip-selected-badge.is-selected::before{width:17px;height:17px;font-size:12px}.trip-selected-copy h4{font-size:15px}.trip-selected-footer{flex-direction:column;align-items:stretch}.trip-provider-link{width:100%}.trip-price-summary{padding:14px;gap:12px}.trip-price-item{flex-direction:column;align-items:flex-start;gap:6px}.trip-price-icon{width:30px;height:30px}.trip-price-icon svg{width:18px;height:18px}.trip-price-item strong{font-size:17px}.trip-grand-total{gap:8px}.trip-grand-total strong{font-size:29px}}
}

@layer responsive {
.flight-card .flight-booking:has(.flight-details[open],.provider-details[open]){margin-right:0}
.trip-selection-heading p>svg{width:20px;height:23px;vertical-align:-5px;margin-right:8px;fill:currentColor;color:var(--blue)}
.trip-selected-card.trip-selected-empty{display:flex}
}

/* Selected travel components retain their individual provider checkout links. */
.trip-price-summary .trip-price-link{color:inherit;text-decoration:none;border-radius:10px;padding:8px;margin:-8px;min-height:64px;transition:background-color .18s,box-shadow .18s}
.trip-price-summary .trip-price-link:hover{background:#244766;box-shadow:0 0 0 1px #7eabce}
.trip-price-summary .trip-price-link:focus-visible{outline:3px solid #bceaf4;outline-offset:3px;background:#244766}
.trip-price-summary .trip-price-action{color:#c6eaff;text-decoration:underline;text-underline-offset:3px;margin-top:5px}
@media(prefers-reduced-motion:reduce){.trip-price-summary .trip-price-link{transition:none}}

.trip-selected-facts{margin:5px 0;min-width:0;font-size:12px}
.trip-selected-facts>.trip-facts{gap:5px 12px}.trip-selected-facts .trip-facts small{overflow-wrap:anywhere}
.trip-more-facts{position:relative;width:fit-content;max-width:100%;margin-top:6px}
.trip-facts-toggle{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#0755b7;padding:4px 0;min-height:30px;font:inherit;cursor:pointer;text-align:left}
.trip-facts-toggle svg{width:16px;height:16px;fill:currentColor;flex-shrink:0}
.trip-more-facts>.trip-facts-popover{position:absolute;left:0;top:100%;z-index:5;display:flex;flex-direction:column;align-items:flex-start;gap:9px;width:max-content;max-width:min(280px,60vw);padding:14px;background:white;border:1px solid #bdcfe0;border-radius:10px;box-shadow:0 8px 24px #10294428;color:#233f60}
.trip-more-facts>.trip-facts-popover[hidden]{display:none}

/* Flight filters: approved 27 September mockup. Values come from loaded offers. */
body[data-kind=flug] .shell{width:min(1680px,calc(100% - 48px))}
body[data-kind=flug] .results-layout{--filter-width:clamp(300px,26vw,400px);grid-template-columns:var(--filter-width) minmax(0,1fr);gap:24px}
.flight-sort-wrap{margin-left:calc(clamp(300px,26vw,400px) + 24px)}
.flight-sidebar:not(.skeleton-sidebar){--filter-blue:#0068ff;--filter-ink:#062452;--filter-muted:#526f98;background:#fff;border:1px solid #e1ebf7;border-radius:17px;box-shadow:0 12px 30px #16466c0a;padding:0;overflow:hidden;color:var(--filter-ink);font-size:14px}
.filter-heading{display:flex;align-items:center;gap:18px;padding:20px 18px 16px}
.filter-heading .ui-icon{width:23px;height:23px;color:#0053bc;flex:none}
.filter-heading h3{font-size:17px;margin:0;line-height:1.4}
.filter-heading button{margin-left:auto;background:none;border:0;padding:0;color:var(--filter-blue);font:inherit;font-size:14px;cursor:pointer}
.flight-sidebar .flight-facets{display:block;margin:0}
.flight-sidebar [hidden]{display:none!important}
.active-filters{margin:0 17px 11px;border:1px solid #d2e5ff;border-radius:11px;background:linear-gradient(115deg,#f4f9ff,#eff6fd);padding:11px 14px;color:#0048b2}
.active-filters>strong{display:block;font-size:15px;margin-bottom:8px}
[data-active-filter-chips]{display:flex;flex-wrap:wrap;gap:6px}
.filter-chip{display:inline-flex;align-items:center;gap:8px;min-height:32px;max-width:100%;border:1px solid #cce1ff;border-radius:11px;background:#e6f2ff;color:#0058d7;padding:5px 10px;font:inherit;font-size:13px;cursor:pointer;text-align:left}
.filter-chip .flight-icon{width:17px;height:17px;flex:none}.filter-chip>span:first-of-type{overflow-wrap:anywhere}.filter-chip>span:last-child{font-size:20px;line-height:16px}
.filter-section{border-top:1px solid #e3edf8;padding:0;margin:0}
.filter-section>summary{display:flex;align-items:center;gap:16px;padding:14px 21px 10px;list-style:none;cursor:pointer;font-size:17px;font-weight:700;line-height:24px}
.filter-section>summary::-webkit-details-marker{display:none}
.filter-section>summary>.ui-icon{height:24px;width:24px;color:#0054bd;flex:none}
.filter-section>summary>.ui-icon:last-child{margin-left:auto;width:18px;height:18px;color:var(--filter-blue)}
.filter-section[open]>summary>.ui-icon:last-child{transform:rotate(180deg)}
.filter-section-body{padding:0 22px 15px;min-width:0}
.stop-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 -5px}
.flight-facets .stop-option{position:relative;display:flex;flex-direction:column;justify-content:center;gap:4px;margin:0;padding:12px 3px 10px;min-height:92px;border:1px solid #e7edf6;border-radius:11px;background:#fff;box-shadow:0 2px 5px #07274b10;text-align:center;font-size:14px;cursor:pointer;color:var(--filter-ink)}
.flight-facets .stop-option>input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}
.stop-option>.ui-icon{width:21px;height:21px;color:#0056bf;margin-bottom:3px}.stop-option>strong{font-weight:400;color:var(--filter-muted)}
.flight-facets .stop-option:has(input:checked){border-color:var(--filter-blue);background:linear-gradient(130deg,#f5faff,#edf5ff);box-shadow:0 0 0 1px #0068ff30,0 3px 6px #0068ff10}
.stop-option:has(input:checked)>strong{font-weight:700;color:var(--filter-ink)}
.stop-option:has(input:focus-visible){outline:3px solid #173c70;outline-offset:3px}
.flight-sidebar .bag-counter{display:grid;grid-template-columns:minmax(0,1fr) 34px 34px 34px;gap:6px;margin:5px 0 7px;font-size:14px}
.flight-sidebar .bag-counter>span{gap:12px;white-space:normal;line-height:1.25}
.flight-sidebar .bag-counter .ui-icon{height:23px;width:23px;color:var(--filter-ink);flex:none}
.flight-sidebar .bag-counter button{height:34px;border:1px solid #b9cce3;border-radius:7px;background:white;box-shadow:0 0 0 1px #e7edf5;color:var(--filter-ink);font:700 23px/1 Arial}
.flight-sidebar .bag-counter output{display:grid;place-items:center;height:34px;border-radius:7px;background:#f0f4f8;font-size:15px;font-weight:700}
.flight-sidebar .bag-counter button:disabled{color:#8495af;cursor:default;box-shadow:none}
.filter-note{display:block;font-size:12px;line-height:1.4;color:var(--filter-muted);margin-top:7px}
.filter-note+.filter-note{margin-top:2px;font-size:11px}
.filter-segmented{display:flex;background:#eff3f7;border-radius:9px;margin:0 0 8px;overflow:hidden}
.filter-segmented button{flex:1;min-width:0;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--filter-muted);font:inherit;font-size:14px;padding:9px 4px;cursor:pointer}
.filter-segmented button[aria-pressed=true]{background:white;border-color:var(--filter-blue);color:var(--filter-blue);font-weight:650;box-shadow:0 0 3px #0068ff20}
.filter-time-value{display:block;font-size:16px;line-height:1.5;margin-top:4px}
.filter-range{position:relative;height:28px;margin:2px 0 4px;--range-low:0%;--range-high:100%}
.filter-range::before{content:'';position:absolute;left:0;right:0;top:12px;height:4px;border-radius:3px;background:linear-gradient(to right,#d4deea 0 var(--range-low),#91baff var(--range-low) var(--range-high),#d4deea var(--range-high) 100%)}
.flight-facets .filter-range input[type=range]{appearance:none;position:absolute;inset:0;width:100%;height:28px;pointer-events:none;background:transparent;margin:0;padding:0;border:0;color:var(--filter-blue)}
.filter-range input::-webkit-slider-thumb,.filter-single-range::-webkit-slider-thumb{appearance:none;width:23px;height:23px;border:3px solid white;border-radius:50%;background:#0068ff;box-shadow:0 1px 4px #31598160;pointer-events:auto;cursor:grab}
.filter-range input::-moz-range-thumb,.filter-single-range::-moz-range-thumb{width:17px;height:17px;border:3px solid white;border-radius:50%;background:#0068ff;box-shadow:0 1px 4px #31598160;pointer-events:auto;cursor:grab}
.filter-range input:focus-visible{outline:none}.filter-range input:focus-visible::-webkit-slider-thumb{outline:2px solid #123d77;outline-offset:3px}.filter-range input:focus-visible::-moz-range-thumb{outline:2px solid #123d77;outline-offset:3px}
.filter-axis{display:flex;justify-content:space-between;gap:5px;font-size:12px;color:var(--filter-muted);line-height:1.5}
.filter-range-caption{display:flex;align-items:start;justify-content:space-between;gap:6px;font-size:14px;line-height:1.4;margin:2px 0 6px}
.filter-range-caption output{color:var(--filter-muted);white-space:nowrap;font-size:13px}
.filter-extra{margin-top:10px;color:var(--filter-muted);font-size:12px}
.filter-extra>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px}.filter-extra>summary::after{content:'+';font-size:17px}.filter-extra[open]>summary::after{content:'−'}.filter-extra>summary::-webkit-details-marker{display:none}.filter-extra[open]>summary{margin-bottom:9px}
.filter-single-range{appearance:none;height:4px;width:100%;margin:15px 0;background:#91baff;border-radius:3px}
.flight-facets [data-filter-list] label{display:flex;gap:12px;align-items:center;margin:5px 0;font-size:14px;line-height:1.3;min-height:22px;cursor:pointer}
.flight-facets [data-filter-list] label>span:first-of-type{min-width:0;overflow-wrap:anywhere}
.flight-facets [data-filter-list] input[type=checkbox]{width:22px;height:22px;border:1px solid #aec3dd;border-radius:5px;box-shadow:0 0 0 1px #e9eff6;background:white;flex:none}
.flight-facets [data-filter-list] input[type=checkbox]:checked{background:var(--filter-blue);border-color:var(--filter-blue)}
.flight-facets [data-filter-list] input[type=checkbox]:checked::after{color:white;font:700 15px/20px Arial}
.flight-sidebar .facet-price{font-size:13px;line-height:20px;background:#f0f4f8;border-radius:12px;color:var(--filter-muted);padding:0 8px;margin-left:auto;white-space:nowrap}
.flight-sidebar .facet-expand{font-size:14px;line-height:1.4;padding:4px 0 0 34px;color:var(--filter-blue);font-weight:600}
.filter-list-heading{display:block;margin:2px 0 7px;font-size:14px;line-height:1.4}
[data-filter-list]+.filter-list-heading{margin-top:12px}
.filter-price-value{display:block;text-align:center;font-size:17px;color:#003e98;margin:-5px 0 10px}
.filter-histogram{display:flex;align-items:end;height:45px;gap:3px;margin:0 5px 0}
.filter-histogram span{flex:1;background:linear-gradient(#cfe4ff,#b4d5ff);min-height:1px;border-radius:1px 1px 0 0}
[data-filter-section=price] .filter-range{margin-top:-1px}
.filter-footer{padding:0 21px 22px}
.filter-reset{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:45px;border:1px solid var(--filter-blue);border-radius:9px;background:white;color:var(--filter-blue);font:inherit;font-size:14px;font-weight:650;box-shadow:0 2px 4px #0068ff15;cursor:pointer}
.filter-reset .ui-icon{width:22px;height:22px}
.flight-sidebar button:hover:not(:disabled){filter:brightness(.92)}
.flight-sidebar :is(button,input:not([type=range]),summary):focus-visible{outline:2px solid #163c70;outline-offset:3px}
.filter-range+.filter-axis:has(>span:nth-child(4)){position:relative;height:18px;display:block}.filter-range+.filter-axis:has(>span:nth-child(4))>span{position:absolute;top:0}.filter-range+.filter-axis:has(>span:nth-child(4))>span:nth-child(2){left:25%;transform:translateX(-50%)}.filter-range+.filter-axis:has(>span:nth-child(4))>span:nth-child(3){left:50%;transform:translateX(-50%)}.filter-range+.filter-axis:has(>span:nth-child(4))>span:last-child{right:0}
@media(max-width:1150px) and (min-width:901px){.filter-section-body{padding-inline:14px}.filter-section>summary{padding-inline:14px}.filter-heading{gap:10px;padding-inline:14px}.filter-heading button{font-size:12px}.flight-sidebar .bag-counter{grid-template-columns:minmax(0,1fr) 28px 26px 28px;gap:4px;font-size:12px}.flight-sidebar .bag-counter>span{gap:6px}.flight-sidebar .bag-counter button,.flight-sidebar .bag-counter output{height:29px}.filter-range-caption{font-size:12px}.filter-range-caption output{font-size:11px}.flight-facets [data-filter-list] label{font-size:13px;gap:8px}.flight-sidebar .facet-price{padding-inline:5px;font-size:11px}}
@media(max-width:900px){body[data-kind=flug] .results-layout{grid-template-columns:minmax(0,1fr)}.flight-sort-wrap{margin-left:0}.flight-sidebar .filter-heading{padding:15px 18px 8px}.flight-sidebar .filter-toggle{display:flex;width:calc(100% - 36px);margin:8px 18px 14px}.flight-sidebar .flight-facets:not(.is-open){display:none}.flight-sidebar .flight-facets.is-open{display:block}.flight-sidebar:not(.skeleton-sidebar){max-width:100%}}
@media(max-width:620px){body[data-kind=flug] .shell{width:calc(100% - 24px)}}
@media(max-width:360px){.filter-section-body{padding-inline:14px}.filter-section>summary{padding-inline:14px}.flight-sidebar .bag-counter{grid-template-columns:minmax(0,1fr) 28px 26px 28px;gap:4px;font-size:12px}.flight-sidebar .bag-counter>span{gap:6px}.filter-range-caption{font-size:12px}.filter-range-caption output{font-size:11px}.flight-facets [data-filter-list] label{font-size:12px;gap:8px}.flight-sidebar .facet-price{font-size:11px;padding-inline:5px}}

/* Compact touch layout: shared route row, date/traveler row and primary action. */
@media(max-width:1100px){
 body[data-kind=flug] .results-layout{grid-template-columns:minmax(0,1fr)}
 .flight-sort-wrap{margin-left:0}
 .flight-sidebar .filter-toggle{display:flex;width:calc(100% - 36px);margin:8px 18px 14px}
 .flight-sidebar .flight-facets:not(.is-open){display:none}
 .flight-sidebar .flight-facets.is-open{display:block}
 .flight-sidebar:not(.skeleton-sidebar){max-width:100%}
}
@media(max-width:620px){
 body[data-kind=flug] .header-inner{min-height:60px;padding-block:10px;gap:8px;flex-wrap:nowrap}
 body[data-kind=flug] .brand{font-size:20px;gap:6px}
 body[data-kind=flug] .brand-mark{width:30px;height:30px;line-height:29px;font-size:25px}
 body[data-kind=flug] .header-state{font-size:9px;gap:4px}
 body[data-kind=flug] .tabs{margin:14px 0 18px}
 body[data-kind=flug] .tabs a{flex:none;width:auto;min-height:40px;padding:8px 16px}
 .flight-heading{font-size:21px;line-height:1.25;margin-bottom:14px}
 .compact-options{gap:12px;margin-bottom:10px}
 .compact-options>select,.search-bags .search-popover-trigger{font-size:13px}
 .compact-search:not(.is-multi) .compact-route{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:8px 4px;padding:10px;align-items:stretch}
 .compact-search:not(.is-multi) .compact-route>.airport-field:first-child{grid-row:1;grid-column:1}
 .compact-search:not(.is-multi) .compact-route>.airport-field:nth-of-type(2){grid-row:1;grid-column:3}
 .compact-search:not(.is-multi) .compact-route>.airport-swap{grid-row:1;grid-column:2;width:30px;height:36px;align-self:center}
 .compact-search:not(.is-multi) .airport-swap .flight-icon{transform:none;width:19px;height:19px}
 .compact-search:not(.is-multi) .compact-route>.search-dates{grid-row:2;grid-column:1/3}
 .compact-search:not(.is-multi) .compact-route>.search-travelers{grid-row:2;grid-column:3}
 .compact-search:not(.is-multi) .compact-route>.search-button{grid-row:3;grid-column:1/-1;height:44px;min-height:44px;font-size:15px}
 .compact-search .airport-field:not(.is-picker-open){min-height:62px;padding:4px 2px;gap:2px}
 .compact-search .airport-field:not(.is-picker-open) .airport-entry{height:36px;padding:4px;font-size:16px}
 .compact-search .airport-field.has-airports:not(.is-picker-open) .airport-entry{height:1px;min-height:0;padding:0;opacity:0;flex:none}
 .airport-field:not(.is-picker-open) .airport-chip{font-size:12px;min-height:36px;padding:3px 2px 3px 5px;gap:2px}
 .airport-field:not(.is-picker-open) .airport-remove{flex:0 0 24px;min-height:36px;font-size:19px}
 .airport-field-label{font-size:11px}
 .compact-route .search-popover-trigger{min-height:44px;height:44px;padding:8px 6px;font-size:12px}
 .compact-search-tail{margin-top:10px;font-size:13px}
 .flight-sort button{padding:10px 5px;min-width:0}
 .flight-sort button strong{font-size:12px}
 .flight-sort button span{font-size:11px}
 body[data-kind=flug] .site-footer{margin-top:24px;padding-block:18px;font-size:11px}
}

.calendar-date-field{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:13px;font-weight:650}
.calendar-date-choice{min-height:44px;width:100%;border:1px solid #a9bfd5;border-radius:8px;padding:8px 12px;background:#fff;color:var(--ink);text-align:left}
.calendar-date-choice[aria-pressed=true]{border-color:#005cce;background:#eaf3ff;color:#0055b8}
.calendar-day.date-selected{background:#0755b7;color:#fff}
.calendar-day.date-in-range{background:#e5efff;color:#123b68}
@media(max-width:1100px){.compact-search .search-dates .search-popover-panel{position:fixed;left:16px;right:16px;top:16px;bottom:auto;width:min(800px,calc(100vw - 32px));margin-inline:auto;max-width:none;max-height:calc(100dvh - 32px);overflow:auto;padding:18px}}
@media(max-width:620px){
 .compact-search .airport-field:not(.is-picker-open){border:1px solid #b6c9dc;border-radius:8px;padding:7px 5px;background:#fbfdff}
 .calendar-inputs{gap:8px;margin-bottom:16px}
 .calendar-date-field{font-size:12px}
 .calendar-date-choice{font-size:15px;padding:7px 10px}
 .calendar-inputs label{font-size:11px}
 .calendar-inputs select{min-height:36px}
 .calendar-months{grid-template-columns:1fr;gap:0}
 .calendar-month:nth-child(2){display:none}
 .calendar-month h3{font-size:17px;margin-bottom:14px}
 .calendar-days{gap:3px}
 .calendar-day{min-height:38px;font-size:14px}
 .calendar-weekday{font-size:11px;margin-bottom:6px}
 .calendar-price-note{font-size:11px;min-height:0;margin-top:12px}
 .calendar-done{width:100%;min-height:44px;margin-top:12px;background:#0755b7}
}

@media(min-width:621px) and (max-width:1100px){.compact-search .airport-field:not(.is-picker-open){border:1px solid #b6c9dc;background:#fbfdff;border-radius:8px}.compact-search .airport-field.has-airports:not(.is-picker-open) .airport-entry{flex:0 1 40px;min-width:30px}}

dialog.search-popover-panel{border:0;color:var(--ink);margin:0}
dialog.search-popover-panel:not([open]){display:none}
.search-panel-heading{display:none}
.search-panel-done{display:block;width:100%;min-height:44px;margin-top:20px;border:0;border-radius:8px;background:#0755b7;color:#fff;font-weight:700}
@media(max-width:1100px){
 body.search-dialog-active{overflow:hidden}
 .compact-search dialog.search-popover-panel,.compact-search .search-dates dialog.search-popover-panel{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:16px max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:auto;overscroll-behavior:contain;background:#fff;box-shadow:none}
 .search-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;top:-16px;z-index:3;background:#fff;border-bottom:1px solid var(--line);min-height:60px;margin:-16px 0 18px;padding:10px 0;font-size:18px}
 .search-panel-close{min-height:40px;border:0;background:#eef4fb;border-radius:8px;padding:8px 12px;color:#0755b7;font-size:14px}
 .search-panel-done,.calendar-done{position:sticky;bottom:0;z-index:2;min-height:48px;box-shadow:0 0 0 8px #fff}
 .search-stepper button{width:36px;height:36px}
 .compact-search .airport-field.is-picker-open{grid-column:auto;grid-row:auto;padding:12px 16px;border:0;border-radius:0;background:#fff}
}

html{scrollbar-gutter:stable}
@media(max-width:1100px){
 .search-stepper button,.search-panel-close,.airport-picker-done,.airport-remove{min-width:44px;min-height:44px}
 .calendar-day{min-height:44px}
 .calendar-navigation button{min-width:44px;min-height:44px}
 .search-control-label select,.calendar-inputs select,.search-popover-panel input{font-size:16px;min-height:44px}
 .search-popover-panel,.airport-field.is-picker-open{touch-action:pan-y;overscroll-behavior:contain}
}
@media(max-width:620px){
 .compact-search:not(.is-multi) .compact-route{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr)}
 .compact-search:not(.is-multi) .compact-route>.airport-swap{width:44px;height:44px}
 .airport-field:not(.is-picker-open) .airport-remove{flex-basis:44px;min-width:44px;min-height:44px}
 .compact-search dialog.search-popover-panel,.compact-search .search-dates dialog.search-popover-panel{padding-inline:12px}
 .calendar-days{gap:2px}
 .calendar-day{min-height:44px}
 .flight-card .leg-time-filter{width:44px;height:44px}
 .flight-card .leg-time-filter>.ui-icon{width:22px;height:22px}
}
@media(max-width:359px){.compact-search dialog.search-popover-panel,.compact-search .search-dates dialog.search-popover-panel{padding-inline:6px}.calendar-days{gap:0}}

.mobile-search-summary,.mobile-sort-trigger{display:none}
.search-edit-dialog{border:0;color:var(--ink);padding:16px;background:#fff}
.search-edit-dialog:not([open]),.mobile-sort-dialog:not([open]){display:none}
.mobile-sort-dialog{border:0;border-radius:20px 20px 0 0;padding:18px 16px max(24px,env(safe-area-inset-bottom));color:var(--ink);position:fixed;inset:auto 0 0;width:100%;max-width:100%;max-height:85dvh;margin:0;overflow:auto;background:#fff}
.mobile-sort-dialog::backdrop,.search-edit-dialog::backdrop{background:#12233f66}
.mobile-sort-dialog header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:18px}
.mobile-sort-dialog button,.mobile-sort-dialog summary{min-height:48px;border:0;background:#fff;color:var(--ink);padding:12px;font-size:15px;text-align:left}
.mobile-sort-dialog header button{color:#0755b7}
.mobile-sort-choice{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;border-radius:8px;margin-bottom:6px}
.mobile-sort-choice[aria-pressed=true]{background:#e6f1ff;color:#0755b7}
.mobile-sort-choice span{font-size:13px;white-space:nowrap}
.mobile-sort-dialog details>button{display:block;width:100%}
body.mobile-sort-active,body.search-editor-active{overflow:hidden}
@media(max-width:1100px){
 body.has-flight-results main>.tabs,body.has-flight-results .flight-heading{display:none}
 body.has-flight-results .search-area>form{display:none}
 body.has-flight-results .mobile-search-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;width:100%;min-height:64px;border:1px solid #b6c9dc;background:#fff;border-radius:10px;text-align:left;padding:10px 14px;color:var(--ink);margin:12px 0}
 .mobile-search-summary strong{font-size:17px;grid-column:1}.mobile-search-summary>span{grid-column:1;font-size:13px}.mobile-search-summary .search-summary-edit{grid-column:2;grid-row:1/3;align-self:center;color:#0755b7;font-weight:700}
 .search-edit-dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0;overflow:auto;padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .search-edit-dialog>form{display:block}
 .flight-sort-wrap>.flight-sort,.flight-sort-wrap>.flight-more-sort{display:none}
 .flight-sort-wrap{display:block;box-shadow:none;background:transparent;margin-bottom:12px}
 .mobile-sort-trigger{display:block;min-height:48px;width:100%;border:1px solid #bfd1e2;border-radius:9px;background:#fff;text-align:left;padding:12px 16px;color:var(--ink);font-weight:700}
}

@media(max-width:1100px){
 .flight-sort-wrap{display:contents}
 .mobile-results-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
 .flight-sidebar .mobile-results-toolbar .filter-toggle{width:auto;margin:0;min-height:48px;padding:10px 16px;border:1px solid #bfd1e2;border-radius:9px;background:#fff}
 .flight-sidebar:has(.filter-toggle[aria-expanded=false]) .filter-heading{display:none}
 .flight-sidebar:has(.filter-toggle[aria-expanded=false]){background:transparent;border:0;box-shadow:none;padding:0}
 .flight-sidebar .mobile-sort-trigger{min-width:0;font-size:14px}
 .flight-sidebar:has(.filter-toggle[aria-expanded=true]) .mobile-results-toolbar{padding:0 14px 12px}
}

/* Compact touch disclosures; labels remain visible beside their icons. */
@container(max-width:620px){
 .flight-booking>.flight-fare-info{gap:8px}
 .flight-ui-ready .flight-card :is(.flight-detail-toggle,.flight-provider-toggle){min-height:48px;padding:10px 12px;gap:10px;border-radius:9px;background:#f5faff}
 .flight-card .flight-action-icon{flex-basis:24px;width:24px;height:24px;border-radius:0;background:transparent}
 .flight-card .flight-action-icon svg{width:24px;height:24px}
 .flight-card .flight-action-copy>strong{font-size:14px;letter-spacing:0;gap:8px}
 .flight-card .flight-action-copy>small{display:none}
 .flight-card .flight-action-count{min-width:23px;height:23px;font-size:13px;padding:0 6px}
 .flight-card .flight-booking{padding-bottom:12px}
 .flight-card .trip-combination>summary{min-height:56px;flex-wrap:nowrap;gap:10px;padding:12px}
 .flight-card .trip-combination-icons{display:flex;gap:5px;flex-shrink:0}
 .flight-card .trip-combination-icons svg{width:20px;height:20px}
 .flight-card .trip-combination-copy{min-width:0;flex:1}
 .flight-card .trip-combination-copy>strong{font-size:14px;line-height:1.3}
 .flight-card .trip-combination-hint,.flight-card .trip-combination-action-label,.flight-card .trip-combination-close-label{display:none}
 .flight-card .trip-combination>summary .trip-combination-action{width:auto;min-height:24px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
}

/* Native dialog defaults must not compete with anchored desktop positioning. */
@media(min-width:1101px){
 .compact-search dialog.search-popover-panel,.compact-search .search-dates dialog.search-popover-panel{position:fixed;inset:auto;margin:0;max-width:calc(100vw - 32px);overflow:auto}
}

/* Keep the expanded mobile trip header in normal flow. */
@container(max-width:620px){
 .flight-card .trip-combination[open]>summary{position:static;width:auto;min-height:48px;padding:10px 12px;border-bottom:1px solid #cbdfe5}
 .flight-card .trip-combination[open]>summary .trip-combination-copy{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
 .flight-card .trip-combination[open]>summary .trip-combination-icons{display:flex}
 .flight-card .trip-combination[open]>summary .trip-combination-close-label{display:none}
 .trip-combination-content{padding:12px}
 .trip-selection-heading{min-height:0;margin:0 0 12px;gap:0}
 .trip-selection-heading>.trip-heading-icon,.trip-selection-heading h3{display:none}
 .trip-selection-heading>div{min-width:0}
 .trip-selection-heading p{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
 .trip-selection-heading p strong{font-size:15px}
 .trip-selected-cards{gap:10px}
 .trip-selected-card{min-width:0;min-height:0;grid-template-columns:76px minmax(0,1fr);padding:10px;gap:10px;border-radius:12px}
 .trip-selected-media{height:100px;min-height:0;max-height:120px;width:76px}
 .trip-selected-copy{min-width:0;overflow-wrap:anywhere}
 .trip-selected-copy h4{font-size:15px}
 .trip-selected-label{gap:5px;flex-wrap:wrap}
 .trip-selected-meta{font-size:12px}
 .trip-selected-price>strong{font-size:23px;letter-spacing:0}
 .trip-selected-card.trip-selected-empty{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;justify-content:normal;gap:8px;min-height:0}
 .trip-empty-icon>svg{width:24px;height:24px}
 .trip-selected-empty>strong{font-size:14px}
 .trip-selected-empty>p{grid-column:1/-1;text-align:left;margin:0}
 .trip-selected-empty>.trip-button{grid-column:1/-1;min-height:44px}
}

/* Mobile actions occupy one row; their accessible names remain available. */
.mobile-disclosure-title{display:none}
@container(max-width:620px){
 .flight-booking>.flight-fare-info{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .flight-fare-info>.flight-detail-toggle{grid-column:1;grid-row:1}
 .flight-fare-info>.flight-provider-toggle{grid-column:2;grid-row:1}
 .flight-fare-info:not(:has(>.flight-provider-toggle))>.flight-detail-toggle{grid-column:1}
 .flight-fare-info>.flight-details{grid-column:1/-1;grid-row:2}
 .flight-ui-ready .flight-card :is(.flight-detail-toggle,.flight-provider-toggle){justify-content:center;min-height:48px;padding:10px;gap:0;background:#fff}
 .flight-card :is(.flight-detail-toggle,.flight-provider-toggle)>.flight-action-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .flight-card :is(.flight-detail-toggle,.flight-provider-toggle)>.flight-detail-chevron{display:none}
 .mobile-disclosure-title{display:block;font-size:16px;margin:0 0 12px;grid-column:1/-1;color:#102944}
 .flight-card .trip-combination>summary,.flight-card .trip-combination[open]>summary{justify-content:center;gap:16px;min-height:48px;padding:8px 12px}
 .flight-card .trip-combination>summary .trip-combination-copy,.flight-card .trip-combination[open]>summary .trip-combination-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0}
 .flight-card .trip-combination-icons{gap:16px}
 .flight-card .trip-combination-icons svg{width:24px;height:24px}
 .flight-card .trip-combination>summary .trip-combination-action{margin-left:0}
 .flight-overview>.flight-main{gap:18px}
 .flight-panel{row-gap:24px}
 .flight-card .flight-departure{position:relative;min-width:0}
 .flight-card .flight-departure>strong{padding-right:46px}
 .flight-card .flight-departure>.leg-time-filter{position:absolute;inset:-7px 0 auto auto;grid-column:auto;grid-row:auto;width:44px;height:44px;border:0;background:transparent}
 .flight-card .flight-departure>.leg-time-filter:has(.leg-select:checked){background:#005cce;color:#fff}
 .flight-card .flight-leg{grid-template-rows:auto auto auto}
 .trip-selected-footer .trip-button,.trip-selected-edit>.trip-button{min-height:44px}
 .trip-selected-footer{gap:4px}
 .trip-selected-price{padding-top:4px}
 .trip-price-summary{padding:12px;gap:10px}
 .flight-card .price-help[open] .price-popover{position:fixed;inset:auto 12px 16px;width:auto;max-width:calc(100vw - 24px);z-index:20}
}
@media(max-width:620px){
 .header-inner>*{min-width:0}.header-state{white-space:normal;text-align:right}
 body:has(.trip-dialog[open]){overflow:hidden}
}

@media(max-width:620px){.result-list.flight-panel{gap:24px}}
@container(max-width:620px){
 .flight-card .flight-schedule strong{font-size:20px}
 .flight-card .flight-schedule>small,.flight-card .brand-name,.flight-card .journey-duration,.flight-card .journey-airports{font-size:12px}
}

.airport-chip-code{display:none}
@media(max-width:620px){
 .airport-field:not(.is-picker-open) .airport-chip-name{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .airport-field:not(.is-picker-open) .airport-chip-code{display:inline;font-size:16px;font-weight:650;white-space:nowrap}
}

.flight-airport-code{display:none}
@container(max-width:620px){
 .flight-card .flight-departure>strong,.flight-card .flight-arrival>strong{display:flex;align-items:center;min-height:44px}
 .flight-card .flight-arrival>strong{justify-content:flex-end}
 .flight-card .flight-departure>.leg-time-filter{top:0;border:1px solid #b6c9dc;background:#fff;border-radius:8px}
 .flight-card .flight-airport-full{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .flight-card .flight-airport-code{display:inline}
}

/* A single selected airport uses the field itself instead of a nested chip. */
@media(max-width:620px){
 .airport-field:not(.is-picker-open) .airport-chips:has(>.airport-chip:only-child){width:100%}
 .airport-field:not(.is-picker-open) .airport-chip:only-child{width:100%;min-width:0;justify-content:space-between;background:transparent;border:0;border-radius:0;padding:0 2px}
 .airport-field:not(.is-picker-open) .airport-chip:only-child .airport-remove{margin-left:auto}
}



/* Lokal mitgelieferte Schriften: kein CDN, keine externen Font-Anfragen. */





/* Komponenten-CSS: auf den bxx-Namensraum begrenzt. */
.bxx-experiences {
  --bxx-ink: #102b45;
  --bxx-muted: #536d86;
  --bxx-rail: #032d4b;
  --bxx-surface: #fcf8f0;
  --bxx-rule: #d9dfdf;
  --bxx-action: #005bc5;
  --bxx-gold: #f5b915;
  color: var(--bxx-ink);
  background: var(--bxx-surface);
  border: 1px solid #e7e1d7;
  border-radius: 19px;
  box-shadow: 0 4px 8px rgb(16 43 69 / 6%), 0 16px 40px rgb(16 43 69 / 3%);
  font: 400 17px/1.5 "BXX DM Sans", Arial, sans-serif;
  container-type: inline-size;
}
.bxx-experiences,
.bxx-experiences *,
.bxx-experiences *::before,
.bxx-experiences *::after { box-sizing: border-box; }
.bxx-experiences h1,
.bxx-experiences h2,
.bxx-experiences h3,
.bxx-experiences p { margin: 0; }
.bxx-experiences img { display: block; max-width: 100%; }
.bxx-experiences svg { flex: 0 0 auto; }
.bxx-experiences a { color: inherit; }
.bxx-experiences a:focus-visible {
  outline: 3px solid var(--bxx-action);
  outline-offset: 5px;
  border-radius: 6px;
}
.bxx-experiences__header {
  min-height: 86px;
  padding: 18px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 28px;
}
.bxx-experiences__heading {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 24px;
}
.bxx-experiences__heading h2 {
  font: 400 clamp(28px, 2.9cqw, 44px)/1.12 "BXX DM Serif", Georgia, serif;
  letter-spacing: -.025em;
}
.bxx-experiences__disclosure {
  color: var(--bxx-muted);
  font-size: 14px;
  white-space: nowrap;
}
.bxx-experiences__all {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  color: var(--bxx-action) !important;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: underline;
  text-underline-offset: 4px;
  white-space: nowrap;
  min-height: 44px;
}
.bxx-experiences__all svg { width: 20px; height: 20px; }
.bxx-experiences__layout {
  display: grid;
  grid-template-columns: 23.25% minmax(0, 1fr);
  align-items: stretch;
  padding: 0 16px 16px 0;
  gap: 16px;
}
.bxx-experiences__intro {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  color: #fff9ec;
  background: var(--bxx-rail);
  border-radius: 17px 0 0 17px;
  min-height: 520px;
}
.bxx-experiences__intro-copy {
  position: relative;
  z-index: 1;
  padding: 28px 30px 245px;
}
.bxx-experiences__eyebrow {
  font-size: clamp(10px, 1cqw, 15px);
  text-transform: uppercase;
  letter-spacing: .16em;
  color: #d5e7f1;
  font-weight: 700;
}
.bxx-experiences__intro h3 {
  color: inherit;
  font: 400 clamp(35px, 4.05cqw, 64px)/.98 "BXX DM Serif", Georgia, serif;
  letter-spacing: -.025em;
  margin-top: 14px;
}
.bxx-experiences__accent {
  display: block;
  width: 57px;
  height: 4px;
  margin: 23px 0 16px;
  background: var(--bxx-gold);
}
.bxx-experiences__tagline {
  font-size: clamp(15px, 1.4cqw, 22px);
  line-height: 1.45;
  color: #fff9ec;
}
.bxx-experiences__scenery {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 310px;
  object-fit: cover;
  object-position: center bottom;
}
.bxx-experiences__offers { min-width: 0; display: flex; flex-direction: column; }
.bxx-experiences__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  flex: 1;
}
.bxx-experience {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
}
.bxx-experience + .bxx-experience::before {
  content: ''; position: absolute; top: 0; bottom: 0; left: -16px;
  width: 1px; background: var(--bxx-rule);
}
.bxx-experience:first-child { padding-left: 0; }
.bxx-experience:last-child { border-right: 0; padding-right: 0; }
.bxx-experience__media {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  aspect-ratio: 1.055;
  background: #d8e5e7;
}
.bxx-experience__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}
.bxx-experience__category {
  position: absolute;
  top: 14px;
  left: 14px;
  max-width: calc(100% - 28px);
  padding: 4px 14px;
  border-radius: 30px;
  background: #fff;
  color: var(--bxx-ink);
  font-size: clamp(12px, 1.05cqw, 16px);
  line-height: 1.4;
  font-weight: 800;
  box-shadow: 0 2px 7px rgb(16 43 69 / 9%);
}
.bxx-experience__content { display: flex; flex: 1; flex-direction: column; padding: 0 7px; }
.bxx-experience__rating {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 12px !important;
  font-size: clamp(12px, 1.16cqw, 17px);
  color: var(--bxx-muted);
  line-height: 1.5;
}
.bxx-experience__rating svg { width: 21px; height: 21px; fill: var(--bxx-gold); }
.bxx-experience__rating strong { color: var(--bxx-ink); font-weight: 800; }
.bxx-experience__content h3 {
  color: var(--bxx-ink);
  hyphens: auto;
  font-size: clamp(19px, 1.9cqw, 29px);
  line-height: 1.22;
  font-weight: 800;
  letter-spacing: -.025em;
  margin-top: 14px;
  min-height: 2.44em;
  overflow-wrap: break-word;
}
.bxx-experience__duration {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--bxx-muted);
  font-size: clamp(14px, 1.25cqw, 19px);
  margin-top: 13px !important;
}
.bxx-experience__duration svg { width: 25px; height: 25px; }
.bxx-experience__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 18px;
  margin-top: auto;
}
.bxx-experience__price { display: flex; gap: 11px; align-items: baseline; white-space: nowrap; }
.bxx-experience__price > span { color: var(--bxx-muted); font-size: clamp(15px, 1.4cqw, 21px); }
.bxx-experience__price strong {
  font-size: clamp(28px, 3.1cqw, 47px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.04em;
}
.bxx-experience__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px clamp(12px, 1.7cqw, 27px);
  min-height: 55px;
  border-radius: 11px;
  background: var(--bxx-action);
  color: #fff !important;
  font-size: clamp(14px, 1.2cqw, 18px);
  font-weight: 800;
  line-height: 1.4;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color .18s ease, transform .18s ease;
}
.bxx-experience__button svg { width: 20px; height: 20px; }
.bxx-experience__button:hover { background: #004ca5; transform: translateY(-2px); }
.bxx-experience__button:active { transform: translateY(0); }
.bxx-experiences__footnote {
  margin-top: 20px;
  padding: 11px 7px 0;
  border-top: 1px solid var(--bxx-rule);
  font-size: 12px;
  line-height: 1.5;
  color: var(--bxx-muted);
}
.bxx-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .bxx-experience:has(.bxx-experience__button:hover) .bxx-experience__media img { transform: scale(1.035); }
}

/* Container Queries funktionieren auch innerhalb einer schmalen Ergebnisseite. */
@container (max-width: 900px) {
  .bxx-experiences__layout { grid-template-columns: 1fr; padding: 0 20px 20px; gap: 22px; }
  .bxx-experiences__intro { min-height: 220px; border-radius: 13px; }
  .bxx-experiences__intro-copy { padding: 23px 28px; }
  .bxx-experiences__eyebrow { font-size: 12px; }
  .bxx-experiences__intro h3 { font-size: 40px; line-height: 1.1; }
  .bxx-experiences__intro h3 br { display: contents; }
  .bxx-experiences__intro h3 br::after { content: ' '; }
  .bxx-experiences__intro h3 { max-width: 62%; }
  .bxx-experiences__accent { margin: 15px 0 12px; }
  .bxx-experiences__tagline { font-size: 17px; }
  .bxx-experiences__scenery { width: 40%; height: 100%; left: auto; right: 0; object-fit: cover; }
  .bxx-experiences__grid { gap: 26px; }
  .bxx-experience { padding: 0; }
  .bxx-experience + .bxx-experience::before { left: -13px; }
  .bxx-experience__content { padding: 0 3px; }
  .bxx-experience__category { font-size: 13px; top: 10px; left: 10px; padding: 4px 10px; }
  .bxx-experience__rating { font-size: 13px; gap: 5px; }
  .bxx-experience__rating svg { width: 17px; height: 17px; }
  .bxx-experience__content h3 { font-size: 21px; min-height: 3.66em; }
  .bxx-experience__duration { font-size: 15px; }
  .bxx-experience__price strong { font-size: 33px; }
  .bxx-experience__price > span { font-size: 15px; }
  .bxx-experience__bottom { align-items: stretch; flex-direction: column; gap: 14px; }
  .bxx-experience__button { font-size: 15px; min-height: 48px; padding: 12px 18px; }
}
@container (max-width: 780px) {
  .bxx-experiences__header { padding: 21px 22px; align-items: flex-start; flex-direction: column; gap: 6px; }
  .bxx-experiences__heading h2 { font-size: 32px; }
  .bxx-experiences__heading { gap: 5px 16px; }
  .bxx-experiences__disclosure { font-size: 12px; }
  .bxx-experiences__all { font-size: 14px; min-height: 36px; }
  .bxx-experiences__intro h3 { max-width: 64%; font-size: 37px; }
  .bxx-experience__rating { font-size: 12px; }
  .bxx-experience__content h3 { font-size: 19px; }
}
@container (max-width: 600px) {
  .bxx-experiences__layout { padding: 0 16px 18px; gap: 24px; }
  .bxx-experiences__header { padding: 23px 20px 17px; }
  .bxx-experiences__heading h2 { font-size: 31px; }
  .bxx-experiences__intro { min-height: 249px; }
  .bxx-experiences__intro-copy { padding: 24px 23px; }
  .bxx-experiences__eyebrow { max-width: 65%; font-size: 10px; letter-spacing: .1em; }
  .bxx-experiences__intro h3 { font-size: 38px; max-width: 75%; line-height: 1; }
  .bxx-experiences__intro h3 br { display: block; }
  .bxx-experiences__intro h3 br::after { content: none; }
  .bxx-experiences__tagline { font-size: 14px; }
  .bxx-experiences__accent { width: 42px; height: 3px; margin: 15px 0 10px; }
  .bxx-experiences__scenery { width: 41%; height: 100%; object-position: 38% bottom; }
  .bxx-experiences__grid { grid-template-columns: 1fr; gap: 26px; }
  .bxx-experience + .bxx-experience::before { display: none; }
  .bxx-experience,
  .bxx-experience:first-child,
  .bxx-experience:last-child { padding: 0; border-right: 0; }
  .bxx-experience + .bxx-experience { border-top: 1px solid var(--bxx-rule); padding-top: 26px; }
  .bxx-experience__media { aspect-ratio: 1.25; }
  .bxx-experience__category { font-size: 14px; top: 13px; left: 13px; }
  .bxx-experience__content { padding: 0 4px; }
  .bxx-experience__rating { font-size: 14px; margin-top: 14px !important; gap: 7px; }
  .bxx-experience__rating svg { width: 19px; height: 19px; }
  .bxx-experience__content h3 { min-height: 0; font-size: 25px; margin-top: 11px; }
  .bxx-experience__duration { font-size: 16px; margin-top: 13px !important; }
  .bxx-experience__bottom { flex-direction: row; align-items: center; gap: 10px; padding-top: 17px; }
  .bxx-experience__price { gap: 8px; }
  .bxx-experience__price strong { font-size: 37px; }
  .bxx-experience__button { font-size: 15px; padding: 13px 18px; }
  .bxx-experiences__footnote { margin-top: 24px; padding-top: 14px; font-size: 11px; }
}
@container (max-width: 330px) {
  .bxx-experiences__heading h2 { font-size: 28px; }
  .bxx-experiences__intro-copy { padding: 23px 18px; }
  .bxx-experiences__intro h3 { font-size: 35px; }
  .bxx-experience__price strong { font-size: 33px; }
  .bxx-experience__button { font-size: 14px; gap: 5px; padding: 12px 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .bxx-experiences *, .bxx-experiences *::before, .bxx-experiences *::after { transition: none !important; }
}


/* Das Zielbild ist ein gewöhnliches austauschbares Bild, ohne feste Sonne. */
.bxx-experiences__scenery {
  height: 265px;
  border-top-left-radius: 78% 35%;
  border-top-right-radius: 22% 10%;
  object-position: center;
}
.bxx-experiences__destination { overflow-wrap: anywhere; hyphens: auto; }
@container (max-width: 900px) {
  .bxx-experiences__scenery { height: 100%; border-radius: 50% 0 0 0; }
}
@container (max-width: 600px) {
  .bxx-experiences__scenery { height: 100%; border-radius: 65% 0 0 0; }
}


.flight-experiences.bxx-experiences{padding:0;min-width:0}
.bxx-experiences__intro-copy{padding-bottom:285px}
.bxx-experiences__intro:not(:has(.bxx-experiences__scenery)) .bxx-experiences__intro-copy{padding-bottom:28px}
.bxx-experience__media:has(.bxx-experience__missing){display:grid;place-items:center}
.bxx-experience__missing{padding:16px;color:var(--bxx-muted);font-size:14px}
.bxx-experience__rating{flex-wrap:wrap}
@container(min-width:901px) and (max-width:1150px){.bxx-experiences__intro-copy{padding:24px 20px 285px}.bxx-experiences__grid{gap:20px}.bxx-experience + .bxx-experience::before{left:-10px}.bxx-experience__bottom{flex-direction:column;align-items:stretch}.bxx-experience__button{min-height:44px;padding:11px 12px}.bxx-experience__rating{font-size:12px}.bxx-experiences__header{padding:18px 24px}}
@container(max-width:900px){.bxx-experiences__intro-copy{padding:23px 28px}.bxx-experiences__intro h3{max-width:60%}.bxx-experiences__tagline{max-width:60%}.bxx-experiences__scenery{width:38%}}
@container(max-width:600px){.bxx-experiences__intro-copy{padding:24px 20px}.bxx-experiences__intro h3{font-size:clamp(27px,8.5cqi,38px);max-width:65%}.bxx-experiences__scenery{width:35%}.bxx-experience__price{white-space:normal;flex-wrap:wrap}.bxx-experiences__all{white-space:normal}}

/* One mobile recommendation; the destination page contains all experiences. */
.bxx-experiences__mobile-more{display:none}
@container(max-width:600px){
 .bxx-experiences__header{padding:16px 14px 12px}
 .bxx-experiences__heading h2{font-size:23px}
 .bxx-experiences__all{display:none}
 .bxx-experiences__layout{padding:0 12px 14px;gap:14px}
 .bxx-experiences__intro{min-height:0}
 .bxx-experiences__intro-copy,.bxx-experiences__intro:not(:has(.bxx-experiences__scenery)) .bxx-experiences__intro-copy{padding:16px}
 .bxx-experiences__intro h3{font-size:27px;max-width:67%;line-height:1.08}
 .bxx-experiences__eyebrow,.bxx-experiences__tagline,.bxx-experiences__accent{display:none}
 .bxx-experiences__grid>.bxx-experience~.bxx-experience{display:none}
 .bxx-experiences__grid{gap:0}
 .bxx-experience{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;align-items:start}
 .bxx-experience__media{aspect-ratio:auto;height:112px;min-width:0}
 .bxx-experience__category{display:none}
 .bxx-experience__content{min-width:0;padding:0}
 .bxx-experience__content h3{font-size:17px;line-height:1.3;margin-top:6px}
 .bxx-experience__rating{font-size:12px;margin-top:0!important}
 .bxx-experience__duration{font-size:13px;margin-top:8px!important}
 .bxx-experience__bottom{flex-wrap:wrap;padding-top:10px;gap:8px}
 .bxx-experience__price strong{font-size:23px}
 .bxx-experience__button{min-height:44px;padding:10px 14px;font-size:14px}
 .bxx-experiences__mobile-more{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:14px;border:1px solid #a8c5e5;border-radius:8px;color:#0755b7;font-size:15px;font-weight:650;text-decoration:none}
 .bxx-experiences__mobile-more svg{width:18px;height:18px}
 .bxx-experiences__mobile-more:focus-visible{outline:3px solid #0755b7;outline-offset:2px}
 .bxx-experiences__footnote{margin-top:12px;padding-top:10px}
}

/* Hotel and car selection: binding September 2026 reference layouts. */
.trip-dialog{--trip-navy:#081b49;--trip-muted:#536b92;width:min(1000px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 24px);padding:0;margin:auto;border:1px solid #d9e6f0;border-radius:16px;background:#fff;color:var(--trip-navy);font-size:15px;line-height:1.4;overflow:hidden;box-shadow:0 12px 60px #173d6530;container-type:inline-size}
.trip-dialog[open]{display:flex;flex-direction:column}
.trip-dialog *{box-sizing:border-box}
.trip-dialog svg{width:24px;height:24px;flex-shrink:0;vertical-align:middle}
.trip-dialog button,.trip-dialog select,.trip-dialog input,.trip-dialog summary{font:inherit}
.trip-dialog button,.trip-dialog summary{touch-action:manipulation}
.trip-dialog :focus-visible{outline:3px solid #2180ca;outline-offset:3px}
.trip-dialog-top{display:flex;align-items:center;gap:30px;padding:10px 26px;min-height:57px;border-bottom:1px solid #e2ebf2;flex-shrink:0;background:white}
.trip-dialog-brand{font-size:25px;font-weight:800;letter-spacing:-1px;color:#005ac7}
.trip-dialog-top>small{font-size:12px;color:var(--trip-muted)}
.trip-dialog-top>.trip-button{margin-left:auto;display:flex;gap:10px;align-items:center;min-height:40px;border:1px solid #d4e0ee;background:white;padding:8px 14px;font-size:14px;white-space:nowrap}
.trip-dialog-top>.trip-button svg{width:20px;height:20px}
.trip-dialog-body{overflow:auto;min-height:0;padding:16px 22px 20px;overscroll-behavior:contain;scrollbar-gutter:stable}
.trip-dialog-hero{display:grid;grid-template-columns:80px minmax(0,1fr) 34%;gap:20px;align-items:center;min-height:148px;padding:0 4px 8px}
.trip-hero-icon{display:grid;place-items:center;width:76px;height:76px;border-radius:20px;background:#ebf7fe;color:#063b90;align-self:start;margin-top:9px}
.trip-hero-icon svg{width:46px;height:46px;stroke-width:1.7}
.trip-hero-copy h2{font-size:32px;line-height:1.13;font-weight:750;letter-spacing:-.7px;margin:0 0 6px}
.trip-hero-copy>p{font-size:18px;color:var(--trip-muted);margin:0}
.trip-hero-meta{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:16px;color:var(--trip-muted);font-size:14px}
.trip-hero-meta>span{display:flex;align-items:center;gap:10px}
.trip-hero-meta svg{width:20px;height:20px;color:#234d84}
.trip-destination-photo{display:block;width:100%;height:138px;object-fit:cover;border-radius:10px}
.trip-destination-art{height:138px;display:grid;place-items:center;background:#edf7fc;border-radius:10px;color:#134c80;overflow:hidden}
.trip-destination-art>svg{width:100%;height:95px}
.trip-dialog .trip-tabs{display:flex;gap:18px;margin:0 4px 16px;border-bottom:1px solid #d8e2ee}
.trip-dialog .trip-tabs>.trip-button{display:flex;align-items:center;gap:18px;min-height:48px;padding:8px 14px 12px;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:#425d87;font-size:16px;font-weight:500}
.trip-dialog .trip-tabs>.trip-button[aria-pressed=true]{border-bottom-color:#005ad4;background:none;color:#005ad4;font-weight:700}
.trip-dialog .trip-form{display:grid;grid-template-columns:1.05fr 1.05fr 1.25fr .88fr;align-items:end;gap:16px;padding:18px 24px;background:#f0f9fd;border:1px solid #e5f3fa;border-radius:15px;margin:0 0 20px;position:relative}
.trip-form-heading{grid-column:1/-1;display:flex;align-items:baseline;gap:20px;flex-wrap:wrap}
.trip-form-heading h3{font-size:23px;line-height:1.3;margin:0;font-weight:750;letter-spacing:-.35px}
.trip-form-heading small{font-size:13px;color:var(--trip-muted)}
.trip-dialog .trip-field{display:grid;gap:5px;font-size:14px;color:#334c78;min-width:0;grid-column:auto}
.trip-dialog .trip-field input,.trip-dialog .trip-field select{display:block;width:100%;min-width:0;max-width:100%;height:48px;min-height:48px;padding:10px 14px;border:1px solid #bccde2;border-radius:8px;color:#10254d;background:white;font-size:15px}
.trip-dialog .trip-field:has([type=date]) input{padding-inline:12px}
.trip-dialog .trip-destination-field,.trip-dialog .trip-place-select{grid-column:1/-1}
.trip-dialog .trip-place-select[hidden]{display:none}
.trip-dialog .trip-search{grid-column:auto;display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;width:100%;padding:12px 14px;margin:0;border:1px solid #005ad4;border-radius:8px;background:linear-gradient(120deg,#0060dc,#0050bd);color:#fff;font-weight:700;font-size:15px}
.trip-dialog .trip-search:disabled{opacity:.65}
.trip-guests{position:relative;min-width:0;align-self:end}
.trip-guests>summary{list-style:none;cursor:pointer;display:grid;gap:5px;color:#334c78;font-size:14px}
.trip-guests>summary::-webkit-details-marker{display:none}
.trip-guest-box{display:flex;align-items:center;gap:10px;min-height:48px;padding:7px 12px;background:white;border:1px solid #bccde2;border-radius:8px;color:#122b57}
.trip-guest-box>span{display:grid;min-width:0;font-size:13px}
.trip-guest-box>svg{width:20px;height:20px}.trip-guest-box>svg:last-child{margin-left:auto;width:17px}
.trip-guest-children{font-size:12px;color:var(--trip-muted)}
.trip-guest-fields{position:absolute;top:calc(100% + 8px);right:0;z-index:3;display:grid;gap:12px;min-width:260px;max-width:90vw;padding:16px;border:1px solid #c8d8e9;border-radius:10px;background:#fff;box-shadow:0 8px 24px #132e5625}
.trip-stay-length{grid-column:1/-1;display:flex;gap:13px;align-items:center;font-size:14px;color:var(--trip-muted);margin:0}
.trip-stay-length>svg{width:20px;height:20px}
.trip-dialog .trip-field-note{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--trip-muted);margin:0;line-height:1.4}
.trip-dialog[data-kind=car] .trip-form{grid-template-columns:1.5fr 1.5fr 1fr}
.trip-dialog[data-kind=car] .trip-form-heading small{margin-left:auto}
.trip-dialog[data-kind=car] .trip-airport-field{grid-column:1/-1;width:calc(50% - 12px);grid-row:2}
.trip-dialog[data-kind=car] .trip-airport-field:has([name=returnAirport]){justify-self:end}
.trip-dialog[data-kind=car] .trip-form>.trip-field:has([name=pickup]),.trip-dialog[data-kind=car] .trip-form>.trip-field:has([name=dropoff]){grid-row:3}
.trip-dialog[data-kind=car] .trip-search{grid-row:3}
.trip-results-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 2px 16px}
.trip-results-heading>div{display:flex;gap:22px;align-items:baseline;flex-wrap:wrap}
.trip-results-heading h3{font-size:24px;line-height:1.3;letter-spacing:-.4px;margin:0}
.trip-dialog[data-kind=car] .trip-results-heading>div{display:grid;gap:2px}
.trip-dialog .trip-status{font-size:14px;color:var(--trip-muted);margin:0;min-height:0}
.trip-dialog .trip-status[data-loading=true]{animation:trip-status-pulse 1.3s ease-in-out infinite alternate}
@keyframes trip-status-pulse{to{opacity:.5}}
.trip-sort{display:flex;gap:4px;align-items:center;white-space:nowrap;font-size:13px;color:var(--trip-muted)}
.trip-sort select{border:0;background:white;color:var(--trip-navy);max-width:155px;padding:8px 4px;font-size:13px}
.trip-dialog[data-kind=car] .trip-sort{border:1px solid #d1dfed;border-radius:8px;padding:3px 10px}
.trip-dialog .trip-offers{display:grid;gap:12px;margin:0}
.trip-dialog .trip-offer{display:grid;grid-template-columns:27% minmax(0,1fr) 195px;gap:18px;align-items:stretch;padding:12px;border:1px solid #d3e0ee;border-radius:12px;min-height:208px;background:#fff;animation:trip-arrive .35s ease-out}
.trip-dialog .trip-offer[data-selected=true]{background:#f4fbfa;border-color:#009e99;box-shadow:inset 3px 0 #009e99}
.trip-dialog .trip-offer-media{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-width:0;min-height:184px;overflow:hidden;border-radius:7px;background:#f0f4f7;color:#667d94;font-size:12px}
.trip-dialog .trip-offer-media>img{display:block;width:100%;height:100%;min-height:184px;max-height:240px;object-fit:cover}
.trip-dialog .trip-offer-media>svg{width:55px;height:55px}
.trip-dialog .trip-offer[data-kind=car] .trip-offer-media>img,.trip-dialog .trip-offer-media>img[src$="/rimg/affiliate/sandbox.png"]{object-fit:contain}
.trip-dialog .trip-offer-copy{grid-column:auto;grid-row:auto;display:flex;flex-direction:column;min-width:0;gap:6px;padding:4px 0}
.trip-dialog .trip-offer-copy>h4{font-size:20px;font-weight:750;line-height:1.25;color:#091b48;letter-spacing:-.25px;margin:0;overflow-wrap:anywhere}
.trip-offer-location{display:flex;align-items:flex-start;gap:7px;margin:0;color:var(--trip-muted);font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.trip-offer-location>svg{width:18px;height:20px}
.trip-dialog .trip-offer[data-kind=car] .trip-offer-location>svg{display:none}
.trip-dialog .trip-stars{font-size:11px;line-height:1;color:#957122;letter-spacing:1px}
.trip-dialog .trip-rating{display:flex;align-items:center;gap:12px;margin:0 0 3px;font-size:13px;color:#173e53}
.trip-dialog .trip-rating>b{font-size:18px;line-height:1.2;padding:6px 12px;border-radius:14px;background:#ddf7f3;color:#007b7c}
.trip-dialog .trip-facts{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px 16px;margin-top:auto;padding:8px 0}
.trip-dialog .trip-facts>small{display:flex;align-items:center;gap:10px;padding:0;background:none;font-size:12px;color:var(--trip-muted);line-height:1.4;max-width:100%}
.trip-dialog .trip-facts svg{width:22px;height:24px;color:#254a85;flex-shrink:0}
.trip-dialog .trip-offer[data-kind=car] .trip-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-top:4px;padding:0 0 8px}
.trip-dialog .trip-offer[data-kind=car] .trip-facts>small{font-size:14px}
.trip-dialog .trip-provider{display:grid;gap:2px;margin:5px 0 0;color:var(--trip-muted);font-size:13px}
.trip-dialog .trip-provider>small{font-size:12px}
.trip-dialog .trip-offer[data-kind=car] .trip-provider{border-top:1px solid #d9e5ee;padding-top:9px;margin-top:auto}
.trip-dialog .trip-offer-price{display:flex;flex-direction:column;align-self:stretch;align-items:stretch;justify-content:center;gap:6px;min-width:0;max-width:none;width:auto;padding:10px 3px 10px 22px;margin:10px 0;border-left:1px solid #d9e5ee;text-align:right;grid-column:auto;grid-row:auto}
.trip-dialog .trip-offer-price>strong{font-size:28px;line-height:1.2;white-space:nowrap;letter-spacing:-.6px;color:#071b4b}
.trip-dialog .trip-offer-price>small{font-size:13px;color:var(--trip-muted);grid-column:auto;grid-row:auto}
.trip-dialog .trip-offer-price>.trip-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:10px 9px;margin-top:12px;font-size:14px;font-weight:700;border:1px solid #0061d9;border-radius:7px;background:#fff;color:#0056c7;grid-column:auto;grid-row:auto}
.trip-dialog .trip-offer-price>.trip-button[aria-pressed=true]{border-color:#008f90;background:#e3f5f3;color:#00656a}
.trip-dialog .trip-offer-price>.trip-draft-remove{border:0;background:transparent;color:var(--trip-muted);font-size:12px;min-height:26px;padding:0;margin:0;font-weight:400}
.trip-dialog .trip-draft-remove svg{width:17px;height:17px}
.trip-rental-conditions{font-size:12px;color:#005cc7;text-align:center;margin-top:8px}
.trip-rental-conditions>summary{list-style:none;display:flex;justify-content:center;align-items:center;gap:8px;cursor:pointer}
.trip-rental-conditions>summary::-webkit-details-marker{display:none}
.trip-rental-conditions svg{width:19px;height:19px}
.trip-rental-conditions>p{font-size:12px;margin-top:8px;color:var(--trip-muted)}
.trip-rental-conditions>a{display:block;margin-top:6px;text-decoration:underline}
.trip-dialog .trip-more{grid-column:1/-1;display:flex;gap:14px;align-items:center;justify-content:center;justify-self:center;margin:8px 0 0;padding:12px 24px;min-height:48px;font-size:14px;font-weight:700;border:1px solid #cfdded;background:#fff;border-radius:8px;color:#0058c6}
.trip-dialog-selection{display:grid;grid-template-columns:80px minmax(0,1fr) auto 278px;gap:22px;align-items:center;padding:18px 22px 20px;border-top:1px solid #dae5ef;background:#fff;flex-shrink:0;box-shadow:0 -4px 12px #eaf4fa44}
.trip-footer-icon{display:grid;place-items:center;width:80px;height:80px;border-radius:50%;background:#eaf7ff;color:#0b3475}
.trip-footer-icon>svg{width:40px;height:40px}
.trip-footer-copy{display:grid;gap:5px;min-width:0}.trip-footer-copy>strong{font-size:18px;line-height:1.25}.trip-footer-copy>span{font-size:15px;color:var(--trip-muted);line-height:1.3;overflow-wrap:anywhere}
.trip-footer-price{display:grid;gap:3px;text-align:right}.trip-footer-price>strong{font-size:28px;line-height:1.2;white-space:nowrap;color:#081b49;letter-spacing:-.7px}.trip-footer-price>small{font-size:12px;color:var(--trip-muted)}
.trip-footer-action{display:grid;gap:10px;text-align:right}
.trip-footer-action>.trip-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:58px;border:1px solid #0055ce;border-radius:7px;background:linear-gradient(120deg,#0060d9,#0050bd);color:#fff;padding:12px 16px;font-size:15px;font-weight:750}
.trip-footer-action>.trip-button:disabled{opacity:.5;cursor:default}.trip-footer-action>small{font-size:12px;color:#6b80a2;line-height:1.4}
@container(max-width:850px){.trip-dialog-hero{grid-template-columns:64px minmax(0,1fr) 28%;gap:14px}.trip-hero-icon{width:60px;height:60px}.trip-hero-icon svg{width:37px;height:37px}.trip-hero-copy h2{font-size:27px}.trip-hero-copy>p{font-size:16px}.trip-hero-meta{gap:8px;font-size:12px}.trip-dialog .trip-form{padding:18px;gap:12px;grid-template-columns:1fr 1fr}.trip-dialog .trip-search{min-height:48px}.trip-dialog[data-kind=car] .trip-form{grid-template-columns:1fr 1fr}.trip-dialog[data-kind=car] .trip-airport-field{grid-column:1/-1}.trip-dialog[data-kind=car] .trip-search{grid-row:4;grid-column:1/-1}.trip-dialog .trip-offer{grid-template-columns:24% minmax(0,1fr) 160px;gap:14px}.trip-dialog .trip-offer-price{padding-left:14px}.trip-dialog .trip-offer-copy>h4{font-size:18px}.trip-dialog .trip-offer-price>strong{font-size:25px}.trip-dialog-selection{grid-template-columns:55px minmax(0,1fr) auto 220px;gap:14px;padding:14px 18px}.trip-footer-icon{width:55px;height:55px}.trip-footer-icon>svg{width:30px;height:30px}.trip-footer-copy>strong{font-size:15px}.trip-footer-copy>span{font-size:12px}.trip-footer-price>strong{font-size:25px}.trip-footer-action>.trip-button{font-size:14px;min-height:50px}.trip-footer-action>small{font-size:10px}}
@media(max-width:620px){.trip-dialog{width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}.trip-dialog-top{padding:9px 14px;gap:10px;min-height:54px}.trip-dialog-brand{font-size:21px}.trip-dialog-top>small{display:none}.trip-dialog-top>.trip-button{min-height:36px;padding:6px 10px;font-size:12px}.trip-dialog-body{padding:12px;scrollbar-gutter:auto}.trip-dialog-hero{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:0;min-height:0;margin-bottom:16px}.trip-hero-icon{width:48px;height:48px;border-radius:12px;margin:0;align-self:start}.trip-hero-icon svg{width:30px;height:30px}.trip-hero-copy h2{font-size:24px;letter-spacing:-.5px}.trip-hero-copy>p{font-size:14px}.trip-hero-meta{font-size:12px;gap:6px;margin-top:10px}.trip-hero-meta svg{width:17px;height:17px}.trip-destination-photo,.trip-destination-art{grid-column:1/-1;width:100%;height:105px}.trip-dialog .trip-tabs{gap:14px;margin:0 0 14px}.trip-dialog .trip-tabs>.trip-button{font-size:14px;gap:10px;min-height:43px;padding:6px 10px 10px}.trip-dialog .trip-form{padding:14px;gap:12px;margin-bottom:18px}.trip-form-heading{gap:4px}.trip-form-heading h3{font-size:20px}.trip-form-heading small{font-size:11px}.trip-dialog .trip-field{font-size:12px}.trip-dialog .trip-field input,.trip-dialog .trip-field select{height:44px;min-height:44px;font-size:14px;padding:8px;max-width:100%}.trip-dialog .trip-guests{grid-column:1/-1}.trip-dialog .trip-search{grid-column:1/-1;font-size:14px}.trip-dialog .trip-field-note,.trip-stay-length{font-size:12px}.trip-dialog[data-kind=car] .trip-airport-field{grid-column:auto;grid-row:auto;width:100%}.trip-dialog[data-kind=car] .trip-form>.trip-field:has([name=pickup]),.trip-dialog[data-kind=car] .trip-form>.trip-field:has([name=dropoff]){grid-row:auto;grid-column:1/-1}.trip-dialog[data-kind=car] .trip-search{grid-row:auto}.trip-results-heading{align-items:flex-start;flex-wrap:wrap;gap:6px;margin-bottom:12px}.trip-results-heading>div{gap:4px;display:grid}.trip-results-heading h3{font-size:20px}.trip-dialog .trip-status{font-size:12px}.trip-sort,.trip-sort select{font-size:12px}.trip-dialog .trip-offer{grid-template-columns:105px minmax(0,1fr);padding:10px;gap:12px;min-height:0}.trip-dialog .trip-offer-media{min-height:120px;align-self:start}.trip-dialog .trip-offer-media>img{min-height:120px;height:140px;max-height:none}.trip-dialog .trip-offer-copy{padding:0;gap:5px;grid-column:auto}.trip-dialog .trip-offer-copy>h4{font-size:16px}.trip-offer-location{font-size:12px}.trip-dialog .trip-rating{gap:7px;font-size:11px}.trip-dialog .trip-rating>b{font-size:15px;padding:4px 8px}.trip-dialog .trip-facts{gap:8px;padding:4px 0}.trip-dialog .trip-facts>small,.trip-dialog .trip-offer[data-kind=car] .trip-facts>small{font-size:11px;gap:6px}.trip-dialog .trip-facts svg{width:18px;height:20px}.trip-dialog .trip-offer[data-kind=car] .trip-facts{grid-template-columns:1fr;gap:7px}.trip-dialog .trip-provider{font-size:11px}.trip-dialog .trip-provider>small{font-size:11px}.trip-dialog .trip-offer-price{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:4px 12px;border:0;border-top:1px solid #d9e5ee;margin:0;padding:10px 0 0;text-align:left;align-items:center}.trip-dialog .trip-offer-price>strong{font-size:24px;grid-column:1;grid-row:1}.trip-dialog .trip-offer-price>small{font-size:11px;grid-column:1;grid-row:2}.trip-dialog .trip-offer-price>.trip-button{grid-column:2;grid-row:1/3;margin:0;font-size:12px;min-height:42px;padding:8px}.trip-dialog .trip-offer-price>.trip-draft-remove{grid-column:2;grid-row:3;min-height:28px}.trip-rental-conditions{grid-column:1;grid-row:3;margin:5px 0 0;text-align:left}.trip-rental-conditions>summary{justify-content:flex-start;font-size:11px}.trip-dialog .trip-more{font-size:12px;padding:10px 14px;min-height:44px;margin:4px 0}.trip-dialog-selection{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px 14px}.trip-footer-icon{display:none}.trip-footer-copy>strong{font-size:14px}.trip-footer-copy>span{font-size:11px}.trip-footer-price>strong{font-size:24px}.trip-footer-price>small{font-size:10px}.trip-footer-action{grid-column:1/-1;gap:5px}.trip-footer-action>.trip-button{min-height:44px;font-size:14px;padding:8px}.trip-footer-action>small{font-size:10px;text-align:center}}
@media(prefers-reduced-motion:reduce){.trip-dialog .trip-status[data-loading=true],.trip-dialog .trip-offer{animation:none}}

.trip-dialog .trip-destination-field{position:relative}.trip-dialog .trip-destination-field>svg{position:absolute;bottom:12px;left:13px;width:22px;height:24px;color:#264f88}.trip-dialog .trip-destination-field>input{padding-left:46px}.trip-dialog .trip-airport-field>span{display:flex;align-items:center;gap:8px}.trip-dialog .trip-airport-field>span>svg{width:18px;height:20px}

/* Compact mobile dialog with one stable scrolling surface. */
@media(max-width:620px){
 .trip-dialog{inset:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}
 .trip-dialog-body{padding:12px;min-width:0;touch-action:pan-y}
 .trip-dialog-hero{grid-template-columns:36px minmax(0,1fr);gap:10px;min-height:0;padding:0 0 12px}
 .trip-hero-icon{width:36px;height:36px;margin:0;border-radius:8px}.trip-hero-icon svg{width:24px;height:24px}
 .trip-hero-copy h2{font-size:20px;margin:0}.trip-hero-copy>p,.trip-hero-meta,.trip-destination-photo,.trip-destination-art{display:none}
 .trip-dialog .trip-form{padding:12px;gap:10px;margin-bottom:16px}
 .trip-dialog .trip-field input,.trip-dialog .trip-field select{font-size:16px}
 .trip-form-heading h3{font-size:17px}.trip-form-heading small{display:none}
 .trip-dialog .trip-offer,.trip-dialog .trip-offer *{min-width:0}
 .trip-dialog .trip-offer{animation:none}
 .trip-dialog .trip-offer-price>.trip-button{min-height:44px}
 .trip-dialog-top>.trip-button{min-height:44px}
 .trip-guest-fields{position:static;min-width:0;max-width:100%;margin-top:8px}
}

/* Shared BilligXXL typography; hero dimensions follow the original index. */
.travel-site-header .header-inner{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:24px}
.travel-site-header .brand{flex:none;line-height:1}
.travel-site-header .brand img{display:block;width:156px;height:auto}
.travel-help{display:flex;align-items:center;justify-content:center;min-height:48px;margin-left:auto;padding:10px 6px;color:#102c50;text-decoration:none;font-size:15px;font-weight:650}
.flight-page-main{padding-block:20px}
.flight-hero{position:relative;isolation:isolate;height:428px;min-height:0;overflow:hidden;background:#d6e8f4}
.flight-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;z-index:-2}
.flight-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(255 255 255 / 30%),transparent 54%);z-index:-1}
.flight-hero-copy{position:absolute;inset:0;width:100%;max-width:none;margin:0;padding:100px max(5vw,calc((100vw - 1600px)/2))}
.flight-hero h1{margin:0;color:#0a2148;font:750 clamp(31px,2.5vw,43px)/1.12 "Segoe UI",Arial,sans-serif;letter-spacing:-.035em;text-shadow:0 1px 15px rgb(255 255 255 / 55%)}
.flight-hero+main{background:#fff}
.flight-hero+main>.flight-page-main{position:relative;width:min(1152px,calc(100% - 7.1vw));margin-top:-80px;padding:0 0 51px}
.home-mode-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px;border-bottom:1px solid #dce5ee}
.home-mode-tabs button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:12px 8px;border:0;border-bottom:3px solid transparent;background:transparent;color:#263f60;cursor:pointer;font-weight:650;font-size:15px;min-width:0}
.home-mode-tabs button[aria-selected=true]{color:#0755b7;border-bottom-color:#0755b7;background:#edf5ff}
.home-mode-tabs svg{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5}
.home-mode-tabs .ui-icon{fill:currentColor;stroke:none}
.home-mode-tabs button:disabled{opacity:1;color:#687789;cursor:default;background:transparent;border-bottom-color:transparent}
body[data-kind=flug] #reise-suche:has(.home-mode-tabs){background:white;border:1px solid #dce5ee;border-radius:18px;padding:16px 26px;box-shadow:0 14px 32px rgb(12 38 78 / 14%)}
#reise-suche{scroll-margin-top:12px}
@media(max-width:800px){
 .flight-hero{height:254px}.flight-hero-copy{padding:43px 25px}.flight-hero h1{font-size:clamp(27px,5vw,34px)}
 .flight-hero+main>.flight-page-main{width:calc(100% - 30px);margin-top:-55px;padding-bottom:40px}
 .home-mode-tabs{gap:0}
}
@media(max-width:620px){
 .travel-site-header .header-inner{min-height:58px;padding-top:0;gap:12px}.travel-site-header .brand img{width:120px}.travel-help{font-size:13px;min-height:44px}
 .home-mode-tabs{margin-bottom:12px}.home-mode-tabs button{flex-direction:column;gap:5px;min-height:62px;font-size:12px;padding:8px 2px}.home-mode-tabs svg{width:21px;height:21px}
 body[data-kind=flug] #reise-suche:has(.home-mode-tabs){padding:6px 10px 12px;border-radius:13px}
}
@media(max-width:390px){.flight-hero{height:226px}.flight-hero-copy{padding:28px 18px}.flight-hero+main>.flight-page-main{width:calc(100% - 20px)}}

/* Keep search criteria together; the results sidebar begins beside sorting. */
@media(min-width:1101px){
 .compact-search{max-width:1100px;margin-inline:auto}
 body.has-flight-search .search-area{margin-left:calc(clamp(300px,26vw,400px) + 24px)}
 body.has-flight-search .compact-search{max-width:none}
 .compact-options{gap:16px;margin-bottom:8px}
 .compact-search-tail{margin-top:10px}
 .compact-search:not(.is-multi) .compact-route{grid-template-columns:minmax(170px,1fr) 38px minmax(170px,1fr) auto auto 104px;gap:8px;padding:8px;min-height:68px}
 .compact-search:not(.is-multi) .compact-route>.airport-field,.compact-search:not(.is-multi) .compact-route>.search-dates,.compact-search:not(.is-multi) .compact-route>.search-travelers,.compact-search:not(.is-multi) .compact-route>.search-button{grid-row:auto;grid-column:auto}
 .compact-route .search-popover-trigger{min-height:48px;padding:10px 12px}
 .compact-route>.search-button{height:48px}
 .compact-search .airport-field.has-airports{flex-wrap:nowrap;align-items:center}
 .compact-search .has-airports .airport-chips{display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex:1 1 auto;min-width:0}
 .compact-search .has-airports .airport-entry{flex:0 1 28px;min-width:0;width:28px;height:34px}
 .compact-search .has-airports .airport-entry:focus{flex-basis:90px}
 .compact-search .airport-panel{max-width:min(520px,calc(100vw - 40px))}
 body[data-kind=flug] .results-area{padding-top:16px}
 .results-body>.flight-sort-wrap{margin:0 0 16px}
 .flight-sort button,.flight-sort-loading>div,.flight-more-sort>summary,.flight-more-loading{min-height:72px;padding-block:12px}
}

.search-partner{display:inline-flex;align-items:center;gap:5px;margin-right:auto;flex:none;font-size:11px;line-height:18px;color:#54647b}
.search-partner img{display:block;width:72px;height:18px;object-fit:contain}

/* Boarding-pass treatment is restricted to the landing-page search. */
.flight-hero-subtitle{margin:10px 0 0;color:#0a2148;font:400 clamp(18px,1.5vw,25px)/1.35 "Segoe UI",Arial,sans-serif;text-shadow:0 1px 16px #fff}
body[data-kind=flug] #reise-suche.flight-ticket{position:relative;isolation:isolate;background:transparent;border:0;box-shadow:none;padding:14px 26px 20px;border-radius:0}
.flight-ticket::before{content:"";position:absolute;inset:0;z-index:-1;background:url('/kayak/experience-assets/ticket-desktop.svg') center/100% 100% no-repeat;filter:drop-shadow(0 14px 18px #102c5026);pointer-events:none}
.flight-ticket .home-mode-tabs{margin-bottom:0;border-bottom:1px dashed #dce3ed;gap:0}
.flight-ticket .home-mode-tabs button{font-size:14px;min-height:52px;padding:10px 8px}
.flight-ticket .ticket-search{display:grid;grid-template-columns:minmax(0,1fr) 178px;gap:0;max-width:none;margin:0}
.ticket-search-main{min-width:0;padding:15px 24px 0 12px}
.ticket-search-stub{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:10px;padding:18px 0 8px 23px;background:url('/kayak/experience-assets/ticket-perforation.svg') left top/2px 12px repeat-y}
.ticket-route-label{font-size:13px;color:#526984;text-align:center;overflow-wrap:anywhere}
.flight-ticket .ticket-search-stub>.search-button{width:100%;min-height:50px;padding:12px 10px;background:#d84d32;color:#fff;font-weight:750;border-radius:9px;white-space:normal}
.flight-ticket .ticket-search-stub>.search-button:hover{background:#be3d25}
.ticket-search-stub>.search-control-label{justify-content:center;gap:7px;font-size:13px;white-space:nowrap}
.flight-ticket .compact-options{gap:10px;margin:0 0 12px;flex-wrap:wrap;font-size:14px}
.flight-ticket .compact-options>select{font-size:14px;padding:8px 0;max-width:210px}
.flight-ticket .compact-options .search-popover-trigger{border:0;background:transparent;min-height:36px;padding:6px;font-size:14px}
.flight-ticket .compact-options>.search-bags{margin-left:auto}
.flight-ticket .compact-route,.flight-ticket .compact-search:not(.is-multi) .compact-route{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr) minmax(190px,.95fr);padding:0;gap:10px;background:transparent;box-shadow:none;min-height:52px;align-items:center}
.flight-ticket .compact-route>.airport-field,.flight-ticket .compact-route>.search-dates,.flight-ticket .compact-route>.first-leg-date{grid-row:1;grid-column:auto}
.flight-ticket .compact-route>.airport-swap{grid-row:1;grid-column:2}
.flight-ticket .compact-route>.airport-field:nth-of-type(2){grid-column:3}
.flight-ticket .compact-route>.search-dates,.flight-ticket .compact-route>.first-leg-date{grid-column:4}
.flight-ticket .compact-route>.airport-field{background:#f3f5f8;border:1px solid #e1e6ed;border-radius:9px;min-height:52px;padding:5px 10px}
.flight-ticket .airport-chip{background:transparent;border:0;padding:0;font-size:14px}
.flight-ticket .airport-entry{font-size:15px}
.flight-ticket .search-dates>.search-popover-trigger{width:100%;min-height:52px;background:#f3f5f8;font-size:14px;padding:10px 8px}
.flight-ticket .compact-search-tail{margin-top:12px;min-height:18px}
.flight-ticket .first-leg-date input{width:100%;min-height:48px}
@media(max-width:1100px){
 .flight-ticket .ticket-search{grid-template-columns:minmax(0,1fr) 160px}
 .ticket-search-main{padding-right:16px;padding-left:0}
 .ticket-search-stub{padding-left:16px}
 .flight-ticket .compact-route,.flight-ticket .compact-search:not(.is-multi) .compact-route{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr)}
 .flight-ticket .compact-route>.search-dates,.flight-ticket .compact-route>.first-leg-date{grid-column:1/-1;grid-row:2}
}
@media(max-width:620px){
 .flight-hero-subtitle{max-width:300px;font-size:18px;margin-top:9px}
 body[data-kind=flug] #reise-suche.flight-ticket{padding:6px 16px 16px}
 .flight-ticket::before{background-image:url('/kayak/experience-assets/ticket-mobile.svg')}
 .flight-ticket .home-mode-tabs button{font-size:11px;gap:5px;min-height:62px;padding:8px 0}
 .flight-ticket .ticket-search{display:flex;flex-direction:column}
 .ticket-search-main{padding:12px 0 0}
 .flight-ticket .compact-options{gap:4px 8px;margin-bottom:10px}
 .flight-ticket .compact-options>select,.flight-ticket .compact-options .search-popover-trigger{font-size:12px}
 .flight-ticket .compact-options>.search-bags{margin-left:0}
 .flight-ticket .compact-route,.flight-ticket .compact-search:not(.is-multi) .compact-route{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:8px}
 .flight-ticket .compact-route>.airport-field{padding:5px 7px}
 .flight-ticket .compact-route>.search-dates{grid-column:1/-1;grid-row:2}
 .flight-ticket .ticket-search-stub{margin-top:12px;padding:12px 0 0;background:none;border-top:1px dashed #cdd5e0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
 .ticket-search-stub .ticket-route-label{text-align:left}
 .ticket-search-stub>.search-control-label{grid-column:2;grid-row:1;font-size:12px}
 .flight-ticket .ticket-search-stub>.search-button{grid-column:1/-1;grid-row:2;min-height:48px}
}

.flight-hero-ticket{position:absolute;width:350px;height:auto;right:max(5vw,calc((100% - 1152px)/2 + 24px));bottom:40px;pointer-events:none;user-select:none;filter:drop-shadow(0 10px 12px #13283a25)}
@media(max-width:800px){.flight-hero{height:300px}.flight-hero-ticket{width:210px;right:22px;bottom:20px}}
@media(max-width:390px){.flight-hero{height:280px}.flight-hero-ticket{width:180px;right:14px;bottom:20px}}

.flight-hero+main>.flight-page-main{z-index:2}

/* Hero typography sampled from the supplied reference; styling stays in the hero. */
.flight-hero-copy{isolation:isolate}
.flight-hero-copy::before{content:"";position:absolute;z-index:-1;left:max(calc(5vw - 65px),calc((100vw - 1600px)/2 - 65px));top:56px;width:690px;height:238px;background:radial-gradient(ellipse,rgba(240,249,255,.98) 15%,rgba(220,239,253,.9) 42%,rgba(214,236,253,.5) 62%,transparent 75%);filter:blur(16px);pointer-events:none}
.flight-hero h1{color:#062e69;font-family:"Arial Black",Arial,sans-serif;font-weight:900;font-size:clamp(42px,3.4vw,64px);line-height:1.08;letter-spacing:-.045em;text-shadow:none}
.flight-hero-subtitle{color:#062e69;font-family:Arial,sans-serif;font-size:clamp(19px,1.7vw,30px);line-height:1.3;text-shadow:none}
@media(max-width:1100px){.flight-ticket .compact-search:not(.is-multi) .compact-route>.search-dates{grid-column:1/-1;grid-row:2}}
@media(max-width:800px){
 .flight-hero h1{font-size:clamp(34px,6vw,44px)}
 .flight-hero-subtitle{font-size:19px;max-width:350px}
 .flight-hero-copy::before{left:-30px;top:10px;width:490px;max-width:calc(100vw + 40px);height:175px;filter:blur(13px)}
}
@media(max-width:390px){.flight-hero h1{font-size:34px}.flight-hero-subtitle{font-size:18px;max-width:290px}}

}

/* Flight card sizing without inline styles; compatible with style-src self. */
@layer components {
.flight-card[data-flight-leg-count="1"]{--flight-leg-count:1}
.flight-card[data-flight-leg-count="2"]{--flight-leg-count:2}
.flight-card[data-flight-leg-count="3"]{--flight-leg-count:3}
.flight-card[data-flight-leg-count="4"]{--flight-leg-count:4}
.flight-card[data-flight-leg-count="5"]{--flight-leg-count:5}
.flight-card[data-flight-leg-count="6"]{--flight-leg-count:6}
}

.airport-choice.airport-group-child{grid-template-columns:16px 24px minmax(0,1fr) 25px;padding-inline-start:10px;gap:10px}.airport-choice>span{min-width:0}.airport-choice strong,.airport-choice small{overflow-wrap:anywhere}

.airport-group-branch{color:var(--ink,#12345a);font-size:1.2rem}.airport-fallback{padding:.5rem 1rem;font-size:.85rem}

.airport-recent{border-top:1px solid #dce5ee}.airport-recent-heading{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem}.airport-recent-heading button{background:none;border:0;color:#005bbd;cursor:pointer;padding:.4rem}

.airport-choice .flight-icon{color:#0865c3;width:22px;height:22px;fill:none}.filter-stops label:has(input:disabled){opacity:.5;cursor:not-allowed}

@scope (html) to (.home-copy) {
/* v105: shared suggestion hierarchy and licensed flight icons. */
.airport-choice{font-family:"BXX DM Sans","Segoe UI",Arial,sans-serif;grid-template-columns:48px minmax(0,1fr) 25px;gap:12px;padding:10px 8px;min-height:80px}
.airport-choice strong{font-size:16px;font-weight:700;line-height:1.4;letter-spacing:0}
.airport-choice small{font-size:14px;font-weight:400;line-height:1.4;margin-top:3px;color:#617180}
.airport-choice .airport-code{font-size:14px;font-weight:400;color:#617180;margin-inline-start:7px;white-space:nowrap}
.airport-choice .airport-choice-icon{width:48px;height:56px;padding:13px;background:#f0f4f7;border-radius:9px;color:#0865c3;box-sizing:border-box}
.airport-choice.airport-group-child{grid-template-columns:22px 48px minmax(0,1fr) 25px;padding-inline-start:28px;gap:12px}
.airport-choice .airport-group-branch{width:22px;height:22px;color:#18344d;fill:none}
.ui-icon:has(use[href$="#plane"]),.flight-icon:has(use[href$="#plane"]){color:#0865c3;fill:none}
@media(max-width:760px){
 .is-picker-open .airport-choice{grid-template-columns:40px minmax(0,1fr) 25px;padding:10px 6px;gap:8px;border:0;min-height:76px}
 .is-picker-open .airport-choice.airport-group-child{grid-template-columns:18px 40px minmax(0,1fr) 25px;padding-inline-start:20px;gap:8px}
 .is-picker-open .airport-choice .airport-choice-icon{width:40px;height:48px;padding:9px}
 .is-picker-open .airport-choice .airport-group-branch{width:18px;height:18px}
 .is-picker-open .airport-choice strong{font-size:15px;font-weight:700;line-height:1.4}
 .is-picker-open .airport-choice small,.is-picker-open .airport-choice .airport-code{font-size:13px;line-height:1.4}
}

/* The document / full-screen picker scrolls; the suggestion list has no nested scroller. */
.compact-search .airport-panel{width:600px;max-width:calc(100vw - 40px);max-height:none;overflow:visible}
@media(max-width:1100px){
 .compact-search .airport-field.is-picker-open{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .compact-search .is-picker-open .airport-panel{flex:0 0 auto;overflow:visible;max-height:none}
}

.airport-retry{display:inline-flex;min-height:44px;align-items:center;margin-top:12px;font:inherit}.airport-suggest-error{line-height:1.5}

.airport-panel [hidden]{display:none!important}
}

/* Public flight directory: crawlable navigation before related travel content. */
.home-copy .flight-directory-entry{padding:32px clamp(20px,4vw,64px);border-bottom:1px solid #dce5ee}
.home-copy .flight-directory-entry h2{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.2;margin:0 0 16px}
.home-copy .flight-directory-entry p{max-width:75ch;margin:0 0 20px;line-height:1.6}
.home-copy .flight-directory-entry nav{display:flex;flex-wrap:wrap;gap:12px 24px}
.home-copy .flight-directory-entry a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}

/* Hotelmaske: Reiseziel · Zeitraum · Gäste · Suchen (gleiche Bausteine wie die Flugmaske). */
.compact-search.hotel-search:not(.is-multi) .compact-route.hotel-route{grid-template-columns:minmax(0,1.5fr) minmax(0,1.3fr) minmax(0,1fr) 210px;gap:12px;padding:10px;background:#fff;border:1px solid #e4eaf2;border-radius:14px;box-shadow:0 2px 10px rgba(25,54,86,.05);min-height:0}
.hotel-search .compact-route.hotel-route>.hotel-destination{grid-column:1;grid-row:1}
.hotel-search[hidden]{display:none}
.hotel-choice-icon{display:grid;place-items:center;width:28px;height:28px;font-size:16px}
.hotel-search .child-ages{display:grid;gap:8px;margin:8px 0 12px}.hotel-search .child-ages select{border:1px solid var(--line);border-radius:6px;padding:8px;background:#fff;color:var(--ink)}
/* Release .499 (Sasan 01.10., 77. Chat: „Ticket beim Hotel ist durchsichtig, das muss richtig erscheinen“): vorher opacity:.35 im Hotel-Reiter – entfernt */
@media(max-width:1100px){.compact-search.hotel-search:not(.is-multi) .compact-route.hotel-route{grid-template-columns:minmax(0,1fr) auto}.hotel-route>.hotel-destination{grid-column:1/3}.hotel-search .compact-route.hotel-route>.search-dates{grid-row:2;grid-column:1}.hotel-search .compact-route.hotel-route>.search-travelers{grid-row:2;grid-column:2}.hotel-search .compact-route.hotel-route>.search-button{grid-row:3;grid-column:1/3}}
/* Hotelmaske: Feldoptik nach Vorlage */
.hotel-search .hotel-field{display:flex;align-items:center;gap:12px;min-height:58px;padding:0 14px;border:1px solid #e4eaf2;border-radius:10px;background:#fff;color:var(--ink);text-align:left}
.hotel-search .hotel-field-icon{display:grid;place-items:center;flex:none;width:22px;height:22px;color:#5b6b80}.hotel-search .hotel-field-icon .hi{width:20px;height:20px}
.hotel-search .hotel-field-text{display:grid;gap:2px;min-width:0;flex:1}.hotel-search .hotel-field.is-filled .hotel-field-text small{display:none}.hotel-search .hotel-field-text strong{font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hotel-search .hotel-field-text small{font-size:12px;color:#5b6b80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hotel-search .airport-field.hotel-field{padding:0 14px;flex-wrap:nowrap;border:1px solid #e4eaf2}.hotel-search .airport-field.hotel-field:focus-within{border-color:#0054d7;background:#fff}
.hotel-search .airport-field.hotel-field .airport-entry{height:auto;font-size:15px;font-weight:800;padding:0;flex:1}.hotel-search .airport-field.hotel-field .airport-entry::placeholder{font-weight:600;color:#7b8ea6}
.hotel-search .airport-field.hotel-field .airport-field-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.hotel-search .search-popover-trigger.hotel-field{width:100%;cursor:pointer}
.hotel-search .hotel-field-dates{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0}.hotel-search .hotel-field-dates>span{display:flex;align-items:center;gap:12px;padding:0 14px;min-width:0}.hotel-search .hotel-field-dates>span+span{border-left:1px solid #e4eaf2}
.hotel-search .search-button{min-height:58px;border-radius:10px;background:#0054d7;font-size:16px;font-weight:800}
.hotel-search .form-message{padding:6px 2px 0}
body[data-kind=hotel]{font-family:"Segoe UI",Arial,sans-serif;--ink:#12233f;--muted:#54647b;--line:#dce5ee;--bg:#f4f7fb}
body[data-kind=hotel] button,body[data-kind=hotel] input,body[data-kind=hotel] select{font-family:inherit}
  /* ===== Mietwagen-Suchmaske auf der Flugstartseite ===== */
  .compact-search.hotel-search.car-search:not(.is-multi) .compact-route.car-route{grid-template-columns:minmax(0,1.6fr) minmax(0,1.4fr) 210px}
  .compact-search.hotel-search.car-search:not(.is-multi) .compact-route.car-route.has-dropoff{grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,1.4fr) 210px}
  .car-dropoff[hidden]{display:none}
  .car-options{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 0 10px 4px;font-size:13px;color:var(--hotel-muted,#5b6b80)}
  .car-option{display:inline-flex;align-items:center;gap:6px}.car-option select{border:0;background:transparent;font:inherit;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer;padding:2px 0}
  .car-times{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 4px}.car-times select{width:100%;padding:8px 10px;border:1px solid var(--hotel-line,#e4eaf2);border-radius:8px;font:inherit;font-size:14px}
  .car-automatic{display:inline-flex;align-items:center;gap:8px;margin:10px 0 0 4px;font-size:13px;color:var(--ink);cursor:pointer}.car-automatic input{width:16px;height:16px;accent-color:var(--hotel-blue,#0054d7)}
  body[data-home-mode=car] .home-mode-tabs [data-home-kind=car]{color:var(--hotel-blue,#0054d7)}
  @media(max-width:1100px){.compact-search.hotel-search.car-search:not(.is-multi) .compact-route.car-route,.compact-search.hotel-search.car-search:not(.is-multi) .compact-route.car-route.has-dropoff{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.compact-search.hotel-search.car-search:not(.is-multi) .compact-route.car-route,.compact-search.hotel-search.car-search:not(.is-multi) .compact-route.car-route.has-dropoff{grid-template-columns:1fr}.car-card .hotel-card-top{grid-template-columns:1fr}.car-times{grid-template-columns:1fr}}
  /* Einheitlicher Maskenaufbau (Hotel/Mietwagen) wie die Flugmaske: Kopfzeile · Suchzeile · Fußzeile mit KAYAK-Partner. */
  .hotel-form-main{display:flex;flex-direction:column;gap:12px;min-height:145px}
  .hotel-form-top{display:flex;align-items:center;flex-wrap:wrap;gap:6px 22px;min-height:36px;font-size:13px;color:var(--hotel-muted,#5b6b80)}
  .hotel-form-tail{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:18px;margin-top:auto}
  .hotel-form-tail .car-automatic{margin:0}.hotel-form-top .car-options{margin:0}
  body[data-kind=flug] .compact-search.hotel-search:not(.is-multi) .compact-route.hotel-route,body[data-kind=flug] .hotel-search .compact-route.car-route{padding:0;border:0;box-shadow:none;background:transparent;min-height:52px}
  body[data-kind=flug] .hotel-search .hotel-field{min-height:52px}

/* Handy (Sasan, iPhone-Screenshots 29.09.): Hotel- und Mietwagenmaske einspaltig, jedes Feld volle Breite – Startseite und Ergebnisseite */
@media(max-width:560px){
  html body .compact-search.hotel-search.hotel-search .compact-route.hotel-route,html body .compact-search.hotel-search.hotel-search .compact-route.car-route{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:auto;max-width:none;justify-content:stretch;justify-items:stretch;padding:10px}
  html body .compact-search.hotel-search.hotel-search .compact-route.hotel-route>*,html body .compact-search.hotel-search.hotel-search .compact-route.car-route>*{grid-column:1;grid-row:auto;width:100%;min-width:0;max-width:none;justify-self:stretch}
  html body .hotel-search.hotel-search .compact-route .search-popover-trigger,html body .hotel-search.hotel-search .compact-route .hotel-field{width:100%;min-height:56px}
  html body .hotel-search.hotel-search .compact-route.hotel-route>.search-button,html body .hotel-search.hotel-search .compact-route.car-route>.search-button{width:100%;min-width:0;min-height:48px;padding:0}
  .hotel-search .hotel-field-text strong,.hotel-search .hotel-field-text small{white-space:nowrap}
  .hotel-form-top{min-height:0}
}

/* Handy-Mietwagenmaske wie KAYAK: Reiter Anmietstation/Andere Rückgabestation, dann Abholort, Datum, Alter des Fahrers, Suchen; Felder 52 px hoch */
.car-station-tabs{display:none}
@media(max-width:560px){
  html body .hotel-search.hotel-search .hotel-form-top{min-height:0;margin:0;gap:0}html body .hotel-search.hotel-search .car-options{width:100%;margin:0 0 8px;gap:0}
  html body .hotel-search.hotel-search .car-options>label.car-option{display:none}
  html body .hotel-search.hotel-search .car-station-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;border-bottom:1px solid var(--hotel-line,#e4eaf2)}
  html body .hotel-search.hotel-search .car-station-tab{padding:12px 6px 10px;border:0;border-bottom:2px solid transparent;background:none;color:#5b6b80;font:inherit;font-size:14px;font-weight:800;cursor:pointer;white-space:nowrap}html body .hotel-search.hotel-search .car-station-tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}
  html body .hotel-search.hotel-search .compact-route>.car-option{display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:0 14px;border:1px solid var(--hotel-line,#e4eaf2);border-radius:10px;background:#fff;font-size:15px;color:var(--ink)}html body .hotel-search.hotel-search .compact-route>.car-option select{font-size:15px;font-weight:800;text-align:right}
  html body .hotel-search.hotel-search .compact-route .hotel-field{min-height:52px;height:auto;padding:0 14px;gap:10px}html body .hotel-search.hotel-search .compact-route .hotel-destination .hotel-field-text{gap:0;min-height:0}html body .hotel-search.hotel-search .compact-route .hotel-destination .hotel-field-text small{display:none}html body .hotel-search.hotel-search .compact-route .hotel-destination .airport-entry{padding:0;font-size:15px}
  html body .hotel-search.hotel-search .compact-route .hotel-field-text strong{font-size:15px}html body .hotel-search.hotel-search .compact-route .hotel-field-icon{width:18px;height:18px}
  html body .hotel-search.hotel-search .compact-route.hotel-route,html body .hotel-search.hotel-search .compact-route.car-route{gap:8px;padding:0;border:0;box-shadow:none;background:transparent}
  html body .hotel-search.hotel-search .compact-route>.search-button{min-height:48px;margin-top:2px}
  html body .hotel-search.hotel-search .hotel-form-tail{margin-top:8px}
}

/* Handy: Ortsvorschläge der Hotel-/Mietwagenmaske kompakt (eine Zeile je Vorschlag, Typ dahinter) */
@media(max-width:560px){
  html body .hotel-search.hotel-search .airport-panel{padding:10px 12px}
  html body .hotel-search.hotel-search .airport-choice,html body .hotel-search.hotel-search .is-picker-open .airport-choice{min-height:0;padding:9px 4px;gap:8px;grid-template-columns:22px minmax(0,1fr)}
  html body .hotel-search.hotel-search .airport-choice strong{font-size:14px;line-height:1.3;font-weight:700}
  html body .hotel-search.hotel-search .airport-choice small{display:inline;font-size:12px;margin:0 0 0 6px;line-height:1.3}
  html body .hotel-search.hotel-search .hotel-choice-icon{font-size:14px}
  html body .hotel-search.hotel-search .airport-panel>p:first-child{font-size:13px;margin:0 0 6px}
}

/* Handy: Vollbild-Ortsauswahl der Hotel-/Mietwagenmaske (nutzt die Flug-Regeln .is-picker-open) */
@media(max-width:560px){
  html body .hotel-search.hotel-search .airport-field.is-picker-open{position:fixed;inset:0;top:0;height:100%;min-height:0;width:100%;z-index:1100;display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:12px 16px;border:0;border-radius:0;background:#fff}
  html body .hotel-search.hotel-search .airport-field.is-picker-open>.hotel-field-icon,html body .hotel-search.hotel-search .airport-field.is-picker-open .airport-field-label,html body .hotel-search.hotel-search .airport-field.is-picker-open .hotel-field-text small{display:none}
  html body .hotel-search.hotel-search .airport-field.is-picker-open .hotel-field-text{display:block;flex:none;width:100%}
  html body .hotel-search.hotel-search .airport-field.is-picker-open .airport-entry{width:100%;height:48px;font-size:16px;padding:10px 12px;background:#f3f6f7;border:1px solid #62727f;border-radius:8px}
  html body .hotel-search.hotel-search .airport-field.is-picker-open .airport-picker-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:17px}
  html body .hotel-search.hotel-search .airport-field.is-picker-open .airport-panel{position:static;display:block;width:100%;max-width:none;flex:none;max-height:calc(var(--picker-height,100dvh) - 132px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 0 24px;box-shadow:none;border-radius:0}
  html body.airport-picker-active{position:fixed;inset:0;width:100%;overflow:hidden}
  html body .hotel-search.hotel-search .airport-field.is-picker-open .airport-choice{border-bottom:1px solid var(--hotel-line,#e4eaf2);padding:11px 4px}
  html body .hotel-search.hotel-search .airport-field:not(.is-picker-open) .airport-picker-header{display:none}
}

/* Löschen-Kreuz in den Ortsfeldern der Hotel-/Mietwagenmaske */
html body .hotel-search .hotel-field-text{position:relative}
html body .hotel-search .hotel-destination .airport-entry{padding-right:34px}
html body .hotel-search .airport-clear{position:absolute;right:0;top:50%;display:none;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:#dfe6ef;color:#33475f;cursor:pointer;transform:translateY(-50%)}
html body .hotel-search .airport-clear .hi{width:14px;height:14px}html body .hotel-search .airport-clear:hover{background:#c9d5e4}
html body .hotel-search .hotel-field.is-filled .airport-clear{display:grid}
html body .hotel-search .airport-field.is-picker-open .airport-clear{right:10px;width:30px;height:30px}

/* Tablet/schmaler Desktop (561–1100 px): Hotelmaske Ziel volle Breite, darunter Datum + Gäste, dann Suchen (Sasans Screenshot: Felder überlappten) */
@media(min-width:561px) and (max-width:1100px){
  html body .compact-search.hotel-search.hotel-search .compact-route.hotel-route{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;width:auto;max-width:none;justify-items:stretch}
  html body .compact-search.hotel-search.hotel-search .compact-route.hotel-route>.hotel-destination{grid-column:1/-1;grid-row:1;width:100%}
  html body .compact-search.hotel-search.hotel-search .compact-route.hotel-route>.search-dates{grid-column:1;grid-row:2;min-width:0;width:100%}
  html body .compact-search.hotel-search.hotel-search .compact-route.hotel-route>.search-travelers{grid-column:2;grid-row:2;min-width:0;width:100%}
  html body .compact-search.hotel-search.hotel-search .compact-route.hotel-route>.search-button{grid-column:1/-1;grid-row:3;width:100%;min-width:0}
  html body .compact-search.hotel-search.hotel-search .compact-route.hotel-route .search-popover-trigger{width:100%;min-width:0}
  html body .compact-search.hotel-search.hotel-search .compact-route.car-route{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  html body .compact-search.hotel-search.hotel-search .compact-route.car-route>*{width:100%;min-width:0;grid-column:auto;grid-row:auto}
  html body .compact-search.hotel-search.hotel-search .compact-route.car-route>.hotel-destination:not(.car-dropoff),html body .compact-search.hotel-search.hotel-search .compact-route.car-route>.search-button{grid-column:1/-1}
  html body .compact-search.hotel-search.hotel-search .compact-route.car-route.has-dropoff>.hotel-destination{grid-column:auto}
  html body .compact-search.hotel-search.hotel-search .compact-route.car-route>.search-dates{grid-column:1/-1}
}

@media(max-width:560px){
  html body .hotel-search.hotel-search .compact-route .hotel-field.hotel-destination:not(.is-picker-open){flex-direction:row;align-items:center;gap:10px;min-height:52px;height:52px;padding:0 14px}
  html body .hotel-search.hotel-search .compact-route .hotel-destination .airport-field-label{display:none}
  html body .hotel-search.hotel-search .compact-route .hotel-destination .hotel-field-text{flex:1 1 auto;min-width:0}
}

/* Kein oranger Fokusrahmen im Ortsfeld der Hotel-/Mietwagenmaske (Sasan: verwirrt) – der blaue Feldrahmen bleibt */
html body .hotel-search .hotel-destination .airport-entry:focus,html body .hotel-search .hotel-destination .airport-entry:focus-visible,html body .hotel-search .airport-field.is-picker-open .airport-entry:focus{outline:none;box-shadow:none;border-color:#62727f}

/* Mietwagen-/Hotelmaske: alle Felder einer Reihe gleich hoch (Sasan: Datum an Ort angleichen) */
@media(min-width:561px){
  html body .hotel-search .compact-route.car-route,html body .hotel-search .compact-route.hotel-route{align-items:stretch}
  html body .hotel-search .compact-route.car-route>.hotel-destination,html body .hotel-search .compact-route.hotel-route>.hotel-destination,html body .hotel-search .compact-route .search-popover-trigger.hotel-field,html body .hotel-search .compact-route>.search-button{height:auto;min-height:58px;align-self:stretch}
  html body .hotel-search .compact-route>.search-dates,html body .hotel-search .compact-route>.search-travelers{display:flex}html body .hotel-search .compact-route>.search-dates>.search-popover-trigger,html body .hotel-search .compact-route>.search-travelers>.search-popover-trigger{width:100%;flex:1}
}

/* Flug + Hotel Suchmaske nach Sasans Vorlage (29.09., verbindlich): Kopfzeile Hinweis | Nur Direktflüge; Reihe 1 Abflughafen ⇄ Reiseziel | Hinflug/Rückflug; Reihe 2 Hotel | Reisende/Zimmer | Flug + Hotel suchen; Fußzeile Flexible Reisedaten | Reiseart */
html body form#kayak-package-search .hotel-form-top{justify-content:space-between;align-items:center;gap:8px 16px;min-height:0;margin:0 0 10px;font-size:15px;color:#5b6b80}
html body form#kayak-package-search .package-hint{flex:1 1 auto;display:none}html body form#kayak-package-search .hotel-form-top{justify-content:flex-end}
html body form#kayak-package-search .package-check{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:var(--ink);cursor:pointer;white-space:nowrap}html body form#kayak-package-search .package-check input{width:20px;height:20px;margin:0;accent-color:var(--hotel-blue,#0054d7)}
html body form#kayak-package-search .compact-route.package-route>*{grid-row:auto;grid-column:auto;width:auto;min-width:0;max-width:none;justify-self:stretch}
html body form#kayak-package-search .compact-route.package-route{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));grid-auto-rows:auto;gap:12px;padding:0;border:0;background:transparent;box-shadow:none;align-items:stretch}
html body form#kayak-package-search .package-route>.package-origin{grid-column:span 7}
html body form#kayak-package-search .package-route>.package-swap{grid-column:span 1;display:grid;place-items:center;min-width:0;padding:0;border:1px solid #e4eaf2;border-radius:12px;background:#f5f7fa;color:var(--ink);cursor:pointer}html body form#kayak-package-search .package-swap .hi{width:20px;height:20px}html body form#kayak-package-search .package-swap:hover{background:#e8eef6}
html body form#kayak-package-search .package-route>.hotel-destination:not(.package-origin){grid-column:span 7}
html body form#kayak-package-search .package-route>.search-dates{grid-column:span 9}
html body form#kayak-package-search .package-route>.package-hotel-field{grid-column:span 8}
html body form#kayak-package-search .package-route>.search-travelers{grid-column:span 8}
html body form#kayak-package-search .package-route>.package-submit{grid-column:span 8}
html body form#kayak-package-search .hotel-field,html body form#kayak-package-search .search-popover-trigger.hotel-field{min-height:76px;height:76px;box-sizing:border-box;padding:0 18px;border:1px solid #e4eaf2;border-radius:12px;background:#fff;gap:14px}
html body form#kayak-package-search .hotel-field-icon{width:26px;height:26px;color:#33475f}html body form#kayak-package-search .hotel-field-icon .hi{width:24px;height:24px}
html body form#kayak-package-search .hotel-field-text{display:flex;flex-direction:column-reverse;gap:2px;min-width:0}
html body form#kayak-package-search .hotel-field-text small,html body form#kayak-package-search .hotel-field.is-filled .hotel-field-text small{display:block;font-size:14px;color:#5b6b80;white-space:nowrap}
html body form#kayak-package-search .hotel-field-text strong{font-size:18px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html body form#kayak-package-search .hotel-field-dates strong{font-size:18px}html body form#kayak-package-search .hotel-field-dates small{font-size:13px}html body form#kayak-package-search .hotel-field-dates>span{gap:8px;padding:0 12px}html body form#kayak-package-search .hotel-field-dates .hotel-field-icon{width:22px;height:22px}
html body form#kayak-package-search .hotel-field-text .airport-entry{width:100%;height:24px;min-height:0;max-height:24px;line-height:24px;flex:none;padding:0 34px 0 0;margin:0;border:0;background:transparent;font:inherit;font-size:18px;font-weight:800;color:var(--ink);outline:none;box-shadow:none}html body form#kayak-package-search .hotel-field-text .airport-entry::placeholder{color:var(--ink);font-weight:800}
html body form#kayak-package-search .airport-field-label{display:none}
html body form#kayak-package-search .airport-clear{right:0;width:32px;height:32px;background:#e6ebf2}
html body form#kayak-package-search .hotel-field-dates{display:grid;grid-template-columns:1fr 1fr;padding:0}html body form#kayak-package-search .hotel-field-dates>span{display:flex;align-items:center;gap:14px;padding:0 18px;min-height:76px}html body form#kayak-package-search .hotel-field-dates>span+span{border-left:1px solid #e4eaf2}
html body form#kayak-package-search .search-travelers .hotel-field>.hotel-field-icon:last-child{margin-left:auto;color:#5b6b80}
html body form#kayak-package-search .package-submit{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:76px;border:0;border-radius:12px;background:var(--hotel-orange,#fd6318);color:#fff;font-size:20px;font-weight:800;cursor:pointer}html body form#kayak-package-search .package-submit:hover{background:#e6570f}html body form#kayak-package-search .package-submit .hi{width:22px;height:22px}
html body form#kayak-package-search .hotel-form-tail{display:flex;align-items:center;gap:20px;margin-top:14px;font-size:15px}
html body form#kayak-package-search .package-tail-sep{width:1px;height:36px;background:#e4eaf2}
html body form#kayak-package-search .package-mode{display:flex;align-items:center;gap:12px}html body form#kayak-package-search .package-mode-label{color:#5b6b80}
html body form#kayak-package-search .package-mode-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid #e4eaf2;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:15px;font-weight:600;cursor:pointer}html body form#kayak-package-search .package-mode-btn .hi{width:20px;height:20px}
html body form#kayak-package-search .package-mode-btn[aria-pressed=true]{border-color:var(--hotel-blue,#0054d7);background:#eef4fd;color:var(--hotel-blue,#0054d7)}
html body form#kayak-package-search .search-partner{margin-left:auto}
@media(max-width:1100px){
  html body form#kayak-package-search .package-route>.package-origin,html body form#kayak-package-search .package-route>.hotel-destination:not(.package-origin){grid-column:span 11}html body form#kayak-package-search .package-route>.package-swap{grid-column:span 2}
  html body form#kayak-package-search .package-route>.search-dates{grid-column:span 24}html body form#kayak-package-search .package-route>.package-hotel-field,html body form#kayak-package-search .package-route>.search-travelers{grid-column:span 12}html body form#kayak-package-search .package-route>.package-submit{grid-column:span 24}
  html body form#kayak-package-search .hotel-form-tail{flex-wrap:wrap}
}
@media(max-width:560px){
  html body form#kayak-package-search .package-route>*{grid-column:span 24!important}html body form#kayak-package-search .package-route>.package-swap{display:none}
  html body form#kayak-package-search .hotel-field,html body form#kayak-package-search .search-popover-trigger.hotel-field{min-height:60px;padding:0 14px}html body form#kayak-package-search .hotel-field-text strong,html body form#kayak-package-search .hotel-field-text .airport-entry{font-size:16px}
  html body form#kayak-package-search .hotel-field-dates>span{min-height:60px;padding:0 12px}html body form#kayak-package-search .package-submit{min-height:52px;font-size:17px}
  html body form#kayak-package-search .hotel-form-top{flex-direction:column;align-items:flex-start}html body form#kayak-package-search .package-tail-sep{display:none}html body form#kayak-package-search .hotel-form-tail{gap:10px}html body form#kayak-package-search .package-mode{flex-wrap:wrap}
}


/* Kopfzeile nach Sasans Mockup (hero/v2, 30.09.): Logo mit Claim, Navigation mit Icons, rechts Merkliste · DE | EUR · Konto */
html body .site-header.travel-site-header{border-bottom:1px solid #e4eaf2;background:#fff}
html body .travel-site-header .header-inner{display:flex;align-items:stretch;justify-content:flex-start;gap:0;min-height:88px;padding-block:0;flex-wrap:nowrap}
html body .travel-site-header .brand.brand-travel{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;margin-right:28px;text-decoration:none}
html body .travel-site-header .brand.brand-travel img{display:block;width:208px;height:auto}
html body .travel-site-header .brand-claim{font:600 12.5px/1 "Segoe UI",Arial,sans-serif;color:#0b2a55;padding-left:22px;white-space:nowrap}
html body .travel-site-header .tnav{display:flex;align-items:stretch;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}html body .travel-site-header .tnav::-webkit-scrollbar{display:none}
html body .travel-site-header .tnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:88px;padding:12px 14px;border-bottom:3px solid transparent;color:#0b2a55;text-decoration:none;font:600 14px/1.2 "Segoe UI",Arial,sans-serif;white-space:nowrap}
html body .travel-site-header .tnav a svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
html body .travel-site-header .tnav a:hover{background:#f3f7fb}
html body .travel-site-header .tnav a[aria-current=page]{background:#e8f0fd;border-bottom-color:#0054d7;color:#0054d7;border-radius:10px 10px 0 0}
html body .travel-site-header .tnav-tools{display:flex;align-items:center;gap:22px;margin-left:auto;padding-left:22px;border-left:1px solid #e4eaf2;color:#0b2a55;font:700 15px/1 "Segoe UI",Arial,sans-serif;white-space:nowrap}
html body .travel-site-header .tnav-tools a{display:grid;place-items:center;color:#0b2a55}html body .travel-site-header .tnav-tools svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
html body .travel-site-header .tnav-user{width:40px;height:40px;border-radius:50%;background:#f3f7fb}
html body .travel-site-header .tnav-locale{display:inline-flex;align-items:center;gap:8px}html body .travel-site-header .tnav-locale b{font-weight:400;color:#9fb0c3;margin:0 2px}
html body .travel-site-header .tnav-flag{width:22px;height:22px;border-radius:50%;background:linear-gradient(#000 0 33%,#dd0000 33% 66%,#ffce00 66%);box-shadow:0 0 0 1px #e4eaf2}
html body .travel-site-header .hotel-topnav,html body .travel-site-header .hotel-header-tools,html body .travel-site-header .travel-help{display:none}
@media(max-width:1280px){html body .travel-site-header .brand.brand-travel img{width:170px}html body .travel-site-header .tnav a{min-width:72px;padding:10px 8px;font-size:13px}html body .travel-site-header .tnav a svg{width:26px;height:26px}html body .travel-site-header .tnav-tools{gap:14px;padding-left:14px}}
@media(max-width:900px){html body .travel-site-header .header-inner{flex-wrap:wrap;min-height:0;padding-block:8px;gap:6px 0}html body .travel-site-header .brand.brand-travel{margin-right:auto}html body .travel-site-header .brand-claim{display:none}html body .travel-site-header .tnav{order:3;width:100%;justify-content:flex-start}html body .travel-site-header .tnav-tools{border-left:0;padding-left:0}}
@media(max-width:560px){html body .travel-site-header .tnav a{min-width:64px;padding:8px 6px;font-size:11.5px}html body .travel-site-header .tnav a svg{width:22px;height:22px}html body .travel-site-header .brand.brand-travel img{width:140px}html body .travel-site-header .tnav-locale{display:none}}
/* Startseiten-Hero nach Mockup: höher, Kopfzeile links, Reiter Flüge | Hotels | Flug + Hotel | Mietwagen */
@media(min-width:1101px){html body .flight-hero{height:520px}html body .flight-hero-copy{padding-top:110px}html body .flight-hero h1{max-width:900px;font-size:clamp(44px,3.6vw,68px);line-height:1.06}html body .flight-hero-subtitle{max-width:760px;margin-top:16px;font-size:clamp(20px,1.6vw,28px)}}
html body .home-mode-tabs #home-tab-flight{order:1}html body .home-mode-tabs #home-tab-hotel{order:2}html body .home-mode-tabs #home-tab-package{order:3}html body .home-mode-tabs #home-tab-car{order:4}
html body .travel-site-header .brand-claim{display:none}html body .travel-site-header .brand.brand-travel{gap:0}

/* Top-Angebote (Startseite) + Seiten /deals und /reiseziele – Sasan 30.09. */
.deals-home{padding:44px 0 20px;background:#fff}
.deals-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}
.deals-eyebrow{margin:0 0 4px;font:700 13px/1 "Segoe UI",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#0054d7}
.deals-head h2,.deals-page-head h1{margin:0;font:900 clamp(26px,2.2vw,34px)/1.15 "Arial Black",Arial,sans-serif;letter-spacing:-.02em;color:#062e69}
.deals-all{display:inline-flex;align-items:center;gap:6px;color:#0054d7;font:700 14px/1 "Segoe UI",Arial,sans-serif;text-decoration:none;white-space:nowrap}.deals-all .hi{width:16px;height:16px}.deals-all:hover{text-decoration:underline}
.deals-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.deals-tab{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 18px;border:1px solid #e4eaf2;border-radius:999px;background:#fff;color:#0b2a55;font:700 14px/1 "Segoe UI",Arial,sans-serif;cursor:pointer}.deals-tab .hi{width:18px;height:18px}.deals-tab:hover{border-color:#b9c9e0}.deals-tab[aria-selected=true]{background:#0054d7;border-color:#0054d7;color:#fff}
.deals-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.deal-card{border:1px solid #e4eaf2;border-radius:16px;background:#fff;box-shadow:0 2px 10px rgba(25,54,86,.05);overflow:hidden;transition:transform .15s,box-shadow .15s}.deal-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(25,54,86,.14)}
.deal-link{display:block;color:inherit;text-decoration:none;height:100%}
.deal-media{position:relative;height:160px;background:#e8f0fd}.deal-media img{display:block;width:100%;height:100%;object-fit:cover}
.deal-tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:6px;height:100%;padding:16px;background:linear-gradient(135deg,#0054d7,#3a8dff 60%,#7cc0ff);color:#fff}.deal-tile .hi{width:28px;height:28px;color:#fff;opacity:.9}.deal-tile span{font:900 24px/1.05 "Arial Black",Arial,sans-serif;letter-spacing:-.02em;text-shadow:0 1px 6px rgba(0,0,0,.25)}
.deal-mietwagen .deal-tile{background:linear-gradient(135deg,#0b2a55,#0054d7)}.deal-hotel .deal-tile,.deal-paket .deal-tile{background:linear-gradient(135deg,#fd6318,#ff9a3c)}
.deal-badge{position:absolute;left:10px;top:10px;padding:4px 10px;border-radius:999px;background:#e3f6ea;color:#08893f;font:800 11.5px/1 "Segoe UI",Arial,sans-serif}
.deal-body{display:grid;gap:4px;padding:14px 16px 16px}
.deal-title{margin:0;font:800 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0b2a55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.deal-title .hotel-stars{color:#f5a623;font-size:12px;letter-spacing:1px;margin-left:4px}
.deal-sub{margin:0;font-size:13px;color:#5b6b80}
.deal-dates{display:flex;align-items:center;gap:6px;margin:2px 0 0;font-size:12.5px;color:#5b6b80}.deal-dates .hi{width:14px;height:14px;color:#33475f}.deal-rating{display:inline-grid;place-items:center;min-width:30px;height:20px;padding:0 5px;border-radius:5px;background:#08893f;color:#fff;font-size:11.5px;font-weight:800}
.deal-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px;margin:8px 0 0}.deal-price small{font-size:12px;color:#5b6b80}.deal-price strong{font:900 24px/1 "Arial Black",Arial,sans-serif;color:#0b2a55;letter-spacing:-.02em}.deal-price span{flex-basis:100%;font-size:12px;color:#5b6b80}
.deal-meta{margin:0;font-size:12px;color:#5b6b80}
.deal-cta{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:9px 14px;border-radius:9px;background:#fd6318;color:#fff;font:800 13.5px/1 "Segoe UI",Arial,sans-serif;justify-self:start}.deal-cta .hi{width:14px;height:14px}.deal-card:hover .deal-cta{background:#e6570f}
.deals-empty{grid-column:1/-1;margin:0;padding:22px;border:1px dashed #e4eaf2;border-radius:12px;color:#5b6b80;font-size:14px;text-align:center}
.deals-note{margin:14px 0 0;font-size:12px;color:#8a9bb0}
.deals-page{padding:30px 0 40px}.deals-page-head{margin-bottom:26px}.deals-lead{margin:10px 0 0;max-width:820px;font-size:16px;line-height:1.5;color:#33475f}
.deals-row{margin:0 0 34px}.deals-row h2{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:800 22px/1.2 "Segoe UI",Arial,sans-serif;color:#0b2a55}.deals-row h2 .hi{width:22px;height:22px;color:#0054d7}
.dest-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.dest-card{border:1px solid #e4eaf2;border-radius:16px;background:#fff;box-shadow:0 2px 10px rgba(25,54,86,.05);overflow:hidden}
.dest-media{position:relative;height:150px;background:#e8f0fd}.dest-media img{display:block;width:100%;height:100%;object-fit:cover}.dest-tile{background:linear-gradient(135deg,#0054d7,#7cc0ff)}
.dest-media h2{position:absolute;left:14px;bottom:12px;margin:0;color:#fff;font:900 26px/1 "Arial Black",Arial,sans-serif;letter-spacing:-.02em;text-shadow:0 2px 10px rgba(0,0,0,.45)}.dest-media h2 small{display:block;margin-top:4px;font:700 12px/1 "Segoe UI",Arial,sans-serif;letter-spacing:.1em;opacity:.9}
.dest-offers{margin:0;padding:6px 0;list-style:none}.dest-offers li+li{border-top:1px solid #eef2f7}.dest-offers a{display:flex;align-items:center;gap:10px;padding:10px 14px;color:#0b2a55;text-decoration:none;font-size:13.5px}.dest-offers a:hover{background:#f3f7fb}.dest-offers .hi{width:18px;height:18px;color:#0054d7;flex:none}.dest-offers span{flex:1 1 auto;min-width:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dest-offers small{display:block;font-size:11.5px;font-weight:400;color:#5b6b80}.dest-offers b{flex:none;font-weight:900;color:#fd6318;white-space:nowrap}
@media(max-width:1100px){.deals-grid,.dest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.deals-grid,.dest-grid{grid-template-columns:1fr}.deals-head{flex-direction:column;align-items:flex-start}.deals-home{padding:28px 0 10px}}
/* ===== Deals-Seite 1:1 nach Sasans Mockup (hero/deals, 29.09.) – Hero 232 px, Pill-Reiter, 2×2 Blöcke, Karten mit festen Zeilen, gleiche Höhe je Reihe ===== */
html body[data-kind=deals] .shell,html body[data-kind=reiseziele] .shell{width:auto;max-width:none;margin-inline:max(3%,calc((100% - 1600px)/2))}
html body[data-kind=deals] .flight-hero+main>.shell.flight-page-main,html body[data-kind=reiseziele] .flight-hero+main>.shell.flight-page-main{width:auto;margin-top:0!important;padding-top:0}
html body .flight-hero.deals-hero{height:232px;min-height:0}
html body .flight-hero.deals-hero .flight-hero-image{object-position:center 45%}
html body[data-kind=deals] .flight-hero.deals-hero .flight-hero-copy,html body[data-kind=reiseziele] .flight-hero.deals-hero .flight-hero-copy{position:absolute;inset:0;width:auto;margin:0;padding:26px max(3%,calc((100% - 1600px)/2)) 0}
html body .flight-hero.deals-hero .dp-eyebrow{margin:0 0 4px;font:800 13px/1 "Segoe UI",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#0054d7}
html body .flight-hero.deals-hero h1{margin:0;max-width:900px;font:900 40px/1.1 "Arial Black",Arial,sans-serif;letter-spacing:-.02em;color:#062e69}
html body .flight-hero.deals-hero .flight-hero-subtitle{max-width:600px;margin:8px 0 0;font:400 17px/1.35 "Segoe UI",Arial,sans-serif;color:#0b2a55}
.dp-usp{display:flex;flex-wrap:wrap;gap:12px 44px;margin:18px 0 0;padding:0;list-style:none}.dp-usp li{display:flex;align-items:center;gap:12px;color:#0b2a55;font:700 13.5px/1.25 "Segoe UI",Arial,sans-serif}.dp-usp svg{width:30px;height:30px;fill:none;stroke:#0054d7;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;flex:none}
.dp-hero-note{position:absolute;pointer-events:none;font:700 24px/1.1 "Segoe Script","Brush Script MT","Lucida Handwriting",cursive;white-space:nowrap}
.dp-hero-note-1{left:66%;top:22%;color:#fff;transform:rotate(-8deg);text-shadow:0 2px 8px rgba(0,0,0,.35)}
.dp-hero-note-2{right:2.5%;top:36%;padding:8px 20px 10px;border-radius:8px 14px 10px 16px;background:#fff;color:#062e69;font-size:26px;line-height:1.05;text-align:center;transform:rotate(-10deg);box-shadow:0 4px 18px rgba(0,0,0,.18)}
.dp{padding:0 0 26px}
.dp-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:14px 0 20px}
.dp-tab{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 16px;border:1px solid #e4eaf2;border-radius:999px;background:#fff;color:#0b2a55;font:700 13px/1 "Segoe UI",Arial,sans-serif;text-decoration:none;box-shadow:0 1px 4px rgba(25,54,86,.06);transition:background .15s,color .15s,border-color .15s}.dp-tab .hi{width:15px;height:15px}.dp-tab:hover{border-color:#b9c9e0}.dp-tab.is-active{background:#0054d7;border-color:#0054d7;color:#fff}
.dp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 54px;align-items:stretch}
.dp-block{display:flex;flex-direction:column;min-width:0}
.dp-block-head{display:flex;align-items:flex-start;gap:12px;margin:0 0 12px}.dp-block-icon{display:grid;place-items:center;width:28px;height:28px;margin-top:2px;color:#0054d7}.dp-block-icon .hi{width:26px;height:26px}
.dp-block-head h2{margin:0;font:800 20px/1.2 "Segoe UI",Arial,sans-serif;color:#0b2a55}.dp-block-head p{margin:3px 0 0;font-size:13px;color:#5b6b80}
.dp-more{margin-left:auto;align-self:center;display:inline-flex;align-items:center;gap:6px;color:#0054d7;font:700 13.5px/1 "Segoe UI",Arial,sans-serif;text-decoration:none;white-space:nowrap}.dp-more .hi{width:15px;height:15px}.dp-more:hover{text-decoration:underline}
.dp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;flex:1 1 auto;align-items:stretch}
.dp-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:8px;border:1px solid #e4eaf2;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(25,54,86,.06)}.dp-card:hover{z-index:5}
.dp-media{position:relative;height:90px;border-radius:8px;overflow:hidden;background:#e8f0fd}.dp-media img{display:block;width:100%;height:100%;object-fit:cover}.dp-media .deal-tile{height:100%;padding:10px 12px}.dp-media .deal-tile span{font-size:18px}
.dp-paket .dp-media{height:70px}
.dp-badge{position:absolute;left:8px;top:8px;padding:4px 10px;border-radius:999px;background:#fd6318;color:#fff;font:800 11px/1 "Segoe UI",Arial,sans-serif}
.dp-body{display:grid;grid-auto-rows:19px;align-content:start;padding:8px 4px 0;min-width:0}
.dp-title{display:block;margin:0;min-width:0;font:800 15px/19px "Segoe UI",Arial,sans-serif;color:#0b2a55}.dp-title i{font-style:normal}
.dp-stars{margin:0;color:#f5a623;font:400 12px/19px Arial,sans-serif;letter-spacing:1px}
.dp-line{display:flex;align-items:center;gap:6px;margin:0;min-width:0;font:400 12.5px/19px "Segoe UI",Arial,sans-serif;color:#5b6b80}.dp-line .hi{width:14px;height:14px;color:#33475f;flex:none}
.dp-tip>span,.dp-line>span{display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dp-airline{font-weight:700;color:#0b2a55}.dp-airline img{height:14px;max-width:64px;width:auto;object-fit:contain;flex:none}.dp-airline-dot{flex:none;width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#f5a623,#fd6318)}
.dp-line.dp-feats{gap:14px}.dp-line.dp-feats>.dp-feat{display:inline-flex;align-items:center;gap:5px;flex:0 1 auto;min-width:0;overflow:visible;white-space:nowrap}.dp-feat>span{display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dp-provider{font-weight:700;color:#0b2a55}.dp-provider img{height:14px;max-width:64px;width:auto;object-fit:contain;flex:none}
.dp-cartext .dp-line{color:#33475f}
.dp-carrow{display:flex;align-items:center;gap:12px;min-width:0}.dp-carimg{flex:0 0 96px;height:66px;border-radius:0;background:#fff;display:grid;place-items:center}.dp-carimg img{object-fit:contain}.dp-carimg .hi{width:44px;height:44px;color:#9fb0c3}.dp-cartext{flex:1 1 auto;min-width:0;display:grid;grid-auto-rows:19px}
.dp-mietwagen .dp-body{padding-left:112px;padding-top:2px}
.dp-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding:12px 4px 2px}
.dp-price{display:flex;flex-direction:column;margin:0;min-width:0}.dp-amount{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.dp-amount small{font:800 13px/1 "Segoe UI",Arial,sans-serif;color:#0054d7}.dp-amount strong{font:900 21px/1 "Arial Black",Arial,sans-serif;color:#0054d7;letter-spacing:-.02em}.dp-unit{font:400 11px/13px "Segoe UI",Arial,sans-serif;color:#5b6b80}
.dp-cta{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:7px;background:#fd6318;color:#fff;font:800 12px/1 "Segoe UI",Arial,sans-serif;text-decoration:none;white-space:nowrap}.dp-cta .hi{width:13px;height:13px}.dp-cta:hover{background:#e6570f}
.dp-band{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;margin:26px 0 0;padding:10px 20px;border-radius:10px;background:#eef3fb;font-size:13px;color:#33475f}.dp-band-claim{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:#0b2a55}.dp-band-claim .hi{width:22px;height:22px;color:#0054d7}.dp-band-items{display:flex;flex-wrap:wrap;gap:10px 28px}.dp-band-items span{display:inline-flex;align-items:center;gap:6px}.dp-band-items .hi{width:16px;height:16px;color:#0b2a55}
/* HTML-Tooltip (kein title) – nur wenn der Text mit … abgeschnitten ist (deals.js setzt is-cut) */
.dp-tip{position:relative}
.dp-tip.is-cut::after{content:attr(data-tip);position:absolute;left:0;top:calc(100% + 6px);z-index:30;min-width:120px;max-width:260px;padding:8px 10px;border-radius:8px;background:#0b2a55;color:#fff;font:600 12px/1.35 "Segoe UI",Arial,sans-serif;white-space:normal;box-shadow:0 6px 18px rgba(11,42,85,.25);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s;pointer-events:none}
.dp-tip.is-cut::before{content:"";position:absolute;left:14px;top:calc(100% + 1px);z-index:31;border:5px solid transparent;border-bottom-color:#0b2a55;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none}
.dp-tip.is-cut:hover::after,.dp-tip.is-cut:hover::before{opacity:1;visibility:visible;transform:none}
/* Pill-Reiter filtern weich (kein Anker-Sprung): Blöcke blenden aus, gewählter Block erscheint oben in voller Breite mit bis zu 8 Karten */
.dp-grid{transition:opacity .2s ease,transform .2s ease}
.dp-grid.is-out{opacity:0;transform:translateY(10px)}
.dp-grid.is-in{animation:dpIn .32s ease}
@keyframes dpIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.dp-block[hidden],.dp-extra[hidden]{display:none}
.dp-extra{display:contents}
.dp-grid.is-single{grid-template-columns:1fr}
.dp-grid.is-single .dp-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1366px){.dp-grid{gap:26px 32px}html body .flight-hero.deals-hero h1{font-size:34px}.dp-hero-note-1{display:none}}
@media(max-width:1100px){.dp-grid,.dp-grid.is-single{grid-template-columns:1fr}.dp-cards,.dp-grid.is-single .dp-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.dp-hero-note{display:none}html body .flight-hero.deals-hero{height:auto}html body[data-kind=deals] .flight-hero.deals-hero .flight-hero-copy,html body[data-kind=reiseziele] .flight-hero.deals-hero .flight-hero-copy{position:relative;padding-bottom:24px}}
@media(max-width:768px){.dp-cards,.dp-grid.is-single .dp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dp-tabs{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;margin:14px -16px 20px;padding:0 16px}.dp-tab{flex:none}html body .flight-hero.deals-hero h1{font-size:28px}html body .flight-hero.deals-hero .flight-hero-subtitle{font-size:15px}.dp-usp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}}
@media(max-width:560px){.dp-cards,.dp-grid.is-single .dp-cards{grid-template-columns:1fr}.dp-band{flex-direction:column;align-items:flex-start}.dp-more{display:none}}
/* Reiseziele-Seite: gleicher Stil wie Deals (Sasan 29.09.; Mockup folgt) */
html body .flight-hero.deals-hero h1{white-space:nowrap;max-width:none}
.dest-page.dp{padding:0 0 26px}.dest-head{margin:0 0 12px}.dest-head h2{margin:0;font:800 20px/1.2 "Segoe UI",Arial,sans-serif;color:#0b2a55}.dest-head .deals-lead{margin:3px 0 0;font-size:13px;color:#5b6b80;max-width:none}
.dest-grid{gap:12px}.dest-card{border-radius:12px;box-shadow:0 2px 8px rgba(25,54,86,.06)}.dest-media{height:110px}.dest-media h2{font-size:22px}
.dest-offers a{padding:8px 12px;font-size:12.5px}.dest-offers a small{font-size:11px}.dest-offers .hi{width:15px;height:15px}
@media(max-width:1366px){html body .flight-hero.deals-hero h1{white-space:normal}}
html body .flight-hero.deals-hero+main .dest-page.dp{padding-top:18px}

/* ===== Startseite unterer Bereich 1:1 nach Sasans Mockup (29.09.2026): Maße = Mockup-Pixel × 1,58 (836 px → 1320 px) ===== */
.hx{font-family:"Segoe UI",Arial,sans-serif;color:#0c1f44}
.hx-shell{width:min(1320px,calc(100% - 48px));margin-inline:auto}
.hx-eyebrow{margin:0;font:800 13px/1 "Segoe UI",Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#0054d7}
.hx h2{margin:9px 0 0;font:900 46px/1.1 "Arial Black",Arial,sans-serif;letter-spacing:-.025em;color:#0c1f44}
.hx-sub{margin:8px 0 0;font:400 19px/1.35 "Segoe UI",Arial,sans-serif;color:#4a5b73}
.hx-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.hx-head>div:first-child{min-width:0}
.hx .hi{width:16px;height:16px;flex:none}
.hx-more,.hx-insp-link,.hx-info-item a{display:inline-flex;align-items:center;gap:8px;color:#0054d7;font:700 13.5px/1 "Segoe UI",Arial,sans-serif;text-decoration:none;white-space:nowrap}
.hx-more:hover,.hx-info-item a:hover{text-decoration:underline}
/* --- Die besten Preise der Woche --- */
.hx-deals{padding:50px 0 28px;background:#f3f9fe}
.hx-head-tools{display:flex;flex-direction:column;align-items:flex-end;gap:16px;padding-top:22px;flex:none}
.hx-arrows{display:flex;gap:12px}
.hx-arrow{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #e3ebf5;border-radius:50%;background:#fff;color:#0054d7;cursor:pointer;box-shadow:0 2px 8px rgba(25,54,86,.08);transition:background .15s,color .15s,opacity .15s}
.hx-arrow .hi,.hx-arrow svg{width:18px;height:18px}
.hx-arrow:hover:not(:disabled){background:#0054d7;color:#fff;border-color:#0054d7}
.hx-arrow:disabled{opacity:.4;cursor:default}
.hx-slider{margin-top:22px;overflow:hidden;padding:4px 4px 8px;margin-inline:-4px}
.hx-track{display:flex;gap:17px;transition:transform .45s cubic-bezier(.4,0,.2,1);will-change:transform}
.hx-track .deals-empty{flex:1 1 100%}
.hx-card{position:relative;flex:0 0 calc((100% - 51px)/4);display:flex;flex-direction:column;min-width:0;height:423px;border-radius:16px;background:#fff;box-shadow:0 2px 12px rgba(25,54,86,.07);overflow:hidden}
.hx-card:hover{z-index:5}
.hx-media{position:relative;height:234px;flex:none;background:#e8f0fd}
.hx-media img{display:block;width:100%;height:100%;object-fit:cover}
.hx-media .deal-tile{height:100%;display:flex;align-items:center;justify-content:center;padding:16px;background:linear-gradient(135deg,#0054d7,#3d8bff);color:#fff;font:800 22px/1.2 "Segoe UI",Arial,sans-serif;text-align:center}
.hx-kind{position:absolute;left:20px;top:14px;display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 12px;border-radius:999px;font:700 12.5px/1 "Segoe UI",Arial,sans-serif;white-space:nowrap}
.hx-kind .hi{width:14px;height:14px}
.hx-kind-paket{background:#fbc6e2;color:#a62c6f}
.hx-kind-hotel{background:#bff5cf;color:#1f7a4c}
.hx-kind-flug{background:#fd6318;color:#fff}
.hx-kind-mietwagen{background:#d6ebfe;color:#1d56d4}
.hx-fav{position:absolute;right:16px;top:12px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;filter:drop-shadow(0 1px 3px rgba(0,0,0,.35))}
.hx-fav .hi{width:22px;height:22px;stroke-width:2}
.hx-fav[aria-pressed=true] .hi{fill:#fd6318;stroke:#fd6318}
.hx-body{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;padding:14px 20px 18px}
.hx-title{margin:0;min-width:0;font:800 22px/1.2 "Segoe UI",Arial,sans-serif;color:#0c1f44}
.hx-title>span,.hx-meta>span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.hx-meta{margin:6px 0 0;min-width:0;font:400 14px/1.3 "Segoe UI",Arial,sans-serif;color:#5b6b80}
.hx-chips{display:flex;align-items:center;gap:14px;margin-top:20px;min-width:0}
.hx-chip{display:inline-flex;align-items:center;gap:9px;min-width:0;color:#0c1f44;font:700 13.5px/1 "Segoe UI",Arial,sans-serif}
.hx-chip i{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:8px;background:#eaf2fb;color:#0c1f44}
.hx-chip i .hi{width:17px;height:17px}
.hx-chip-text{font-weight:400;font-size:12.5px;color:#25446a}
.hx-chip-text>span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}
.hx-chip-arrow{display:grid;place-items:center;color:#0c1f44;flex:none}
.hx-chip-arrow .hi{width:15px;height:15px}
.hx-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto}
.hx-price{margin:0;display:flex;flex-direction:column;gap:2px}
.hx-amount{display:flex;align-items:baseline;gap:6px;color:#0054d7}
.hx-amount small{font:700 13px/1 "Segoe UI",Arial,sans-serif}
.hx-amount strong{font:900 26px/1 "Arial Black",Arial,sans-serif;letter-spacing:-.02em;white-space:nowrap}
.hx-unit{font:400 12.5px/1 "Segoe UI",Arial,sans-serif;color:#5b6b80}
.hx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:41px;padding:0 22px;border-radius:12px;background:#fd6318;color:#fff;font:700 13.5px/1 "Segoe UI",Arial,sans-serif;text-decoration:none;white-space:nowrap;box-shadow:0 4px 12px rgba(253,99,24,.28);transition:background .15s}
.hx-btn:hover{background:#e8520e}
.hx-note-line{margin-top:14px}
/* --- Wohin möchtest du reisen? --- */
.hx-insp{position:relative;padding:54px 0 0;background:#fdf0de;overflow:hidden}
.hx-insp::before,.hx-insp::after{content:"";position:absolute;z-index:0;border-radius:50%;background:#fbe4c9;opacity:.8;pointer-events:none}
.hx-insp::before{width:520px;height:520px;left:-260px;top:-120px}
.hx-insp::after{width:440px;height:440px;right:-160px;bottom:-200px}
.hx-insp .hx-shell{position:relative;z-index:1}
.hx-note{position:relative;flex:none;width:400px;height:96px;margin-top:6px;color:#0c1f44}
.hx-note-text{position:absolute;left:0;top:6px;font:700 24px/1.15 "Segoe Script","Brush Script MT","Lucida Handwriting",cursive;transform:rotate(-7deg);transform-origin:left top;white-space:nowrap}
.hx-note-text br+*{padding-left:24px}
.hx-note-doodle{position:absolute;right:0;top:0;width:250px;height:90px}
.hx-insp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:22px 0 0;padding-bottom:18px}
.hx-insp-card{position:relative;display:flex;flex-direction:column;height:373px;border-radius:16px;overflow:hidden;text-decoration:none;color:#0c1f44;box-shadow:0 2px 12px rgba(25,54,86,.07);transition:transform .2s,box-shadow .2s}
.hx-insp-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(25,54,86,.14)}
.hx-insp-media{display:block;height:200px;flex:none}
.hx-insp-media img{display:block;width:100%;height:100%;object-fit:cover}
.hx-insp-body{position:relative;display:flex;flex-direction:column;flex:1 1 auto;margin-top:-22px;padding:0 20px 22px;border-radius:55% 45% 0 0/26px 20px 0 0}
.hx-insp-paket .hx-insp-body{background:#fdd6c7}
.hx-insp-flug .hx-insp-body{background:#d8ebfd}
.hx-insp-auto .hx-insp-body{background:#d7f7e6}
.hx-insp-stadt .hx-insp-body{background:#e7e9fc}
.hx-insp-pill{display:flex;align-items:center;gap:12px;margin-top:-6px;font:700 13px/1 "Segoe UI",Arial,sans-serif}
.hx-insp-pill i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(25,54,86,.12)}
.hx-insp-pill i svg,.hx-insp-pill i .hi{width:20px;height:20px}
.hx-insp-paket .hx-insp-pill{color:#d9471c}.hx-insp-flug .hx-insp-pill{color:#0054d7}.hx-insp-auto .hx-insp-pill{color:#159a5b}.hx-insp-stadt .hx-insp-pill{color:#4b4fc4}
.hx-insp-body>strong{display:block;margin-top:16px;font:800 20px/1.2 "Segoe UI",Arial,sans-serif;color:#0c1f44;min-height:48px}
.hx-insp-text{display:block;margin-top:8px;font:400 14px/1.4 "Segoe UI",Arial,sans-serif;color:#4a5b73}
.hx-insp-link{margin-top:auto;padding-top:16px;font-size:15px}
/* --- Reiseziele, die begeistern --- */
.hx-dest{padding:41px 0 27px;background:#fff}
.hx-outline{display:inline-flex;align-items:center;gap:8px;flex:none;height:41px;margin-top:30px;padding:0 18px;border:1.5px solid #cfe0f5;border-radius:999px;background:#fff;color:#0054d7;font:700 13.5px/1 "Segoe UI",Arial,sans-serif;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}
.hx-outline:hover{background:#eef5fd;border-color:#b9d0ee}
.hx-dest-grid{display:grid;grid-template-columns:573fr 352fr 352fr;grid-template-rows:150px 150px;gap:12px;margin-top:16px}
.hx-dest-tile{position:relative;display:block;min-width:0;border-radius:16px;overflow:hidden;background:#0c1f44;text-decoration:none;color:#fff}
.hx-dest-big{grid-row:1/3}
.hx-dest-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.hx-dest-tile:hover img{transform:scale(1.04)}
.hx-dest-italien img{object-position:center 30%}
.hx-dest-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,20,45,0) 40%,rgba(6,20,45,.72) 100%)}
.hx-dest-copy{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;flex-direction:column;align-items:flex-start;padding:18px 20px}
.hx-dest-copy strong{font:800 18px/1.15 "Segoe UI",Arial,sans-serif;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.hx-dest-copy span{margin-top:4px;font:400 12.5px/1.3 "Segoe UI",Arial,sans-serif;text-shadow:0 1px 5px rgba(0,0,0,.4)}
.hx-dest-big .hx-dest-copy{padding:24px 24px 26px}
.hx-dest-big .hx-dest-copy strong{font:400 40px/1 "BXX DM Serif","Georgia",serif;letter-spacing:.01em}
.hx-dest-big .hx-dest-copy span{margin-top:8px;font-size:15px}
.hx-dest-copy em{display:inline-flex;align-items:center;gap:8px;height:30px;margin-top:12px;padding:0 16px;border-radius:999px;background:#fff;color:#0054d7;font:700 13px/1 "Segoe UI",Arial,sans-serif;font-style:normal}
/* --- Wir machen Reisen einfach --- */
.hx-info{padding:0 0 30px;background:#fff}
.hx-info-panel{position:relative;display:flex;min-height:264px;border-radius:24px;background:#eef5fc;overflow:hidden}
.hx-info-main{flex:1 1 auto;min-width:0;padding:25px 28px 27px}
.hx-info .hx h2,.hx-info h2{font-size:34px}
.hx-info .hx-sub{font-size:14px;margin-top:6px}
.hx-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 20px;margin-top:22px}
.hx-info-item{display:flex;gap:12px;min-width:0;padding-right:16px;border-right:1px solid #d9e6f5}
.hx-info-item:last-child{border-right:0}
.hx-info-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:10px;background:#dbe9fb;color:#0c1f44}
.hx-info-icon svg,.hx-info-icon .hi{width:22px;height:22px}
.hx-info-item strong{display:block;font:700 14px/1.25 "Segoe UI",Arial,sans-serif;color:#0c1f44}
.hx-info-item p{margin:5px 0 0;font:400 13px/1.45 "Segoe UI",Arial,sans-serif;color:#4a5b73}
.hx-info-item a{margin-top:12px;font-size:13.5px}
.hx-info-art{position:relative;flex:0 0 376px;min-height:264px;border-radius:190px 24px 24px 150px/240px 24px 24px 300px;overflow:hidden}
.hx-info-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.hx-info-note{position:absolute;left:40%;top:22px;transform:translateX(-50%) rotate(-7deg);color:#0c1f44;font:700 22px/1.15 "Segoe Script","Brush Script MT","Lucida Handwriting",cursive;white-space:nowrap;text-align:center;text-shadow:0 1px 6px rgba(255,255,255,.7)}
/* --- Seitenfuß Startseite --- */
html body .hx-footer{margin-top:0;padding:30px 0 26px;border-top:1px solid #e6edf6;background:#fff;font-size:13px}
.hx-footer-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hx-footer-brand{display:inline-flex;flex:none}
.hx-footer-brand img{display:block;width:auto;height:36px}
.hx-footer-tag{color:#7a8ebd;font:400 13px/1 "Segoe UI",Arial,sans-serif;white-space:nowrap}
.hx-footer-links{display:flex;align-items:center;gap:0;margin-left:auto;flex-wrap:wrap}
.hx-footer-links a,.hx-footer-links button{display:inline-flex;align-items:center;padding:0 14px;border:0;background:none;color:#5c72a8;font:400 13px/1 "Segoe UI",Arial,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap}
.hx-footer-links>*+*{border-left:1px solid #dfe6f3}
.hx-footer-links a:hover,.hx-footer-links button:hover{color:#0054d7;text-decoration:underline}
.hx-footer-locale{display:inline-flex;align-items:center;gap:10px;height:40px;margin-left:24px;padding:0 16px;border:1px solid #e0e8f3;border-radius:999px;color:#0c1f44;font:700 13px/1 "Segoe UI",Arial,sans-serif;white-space:nowrap}
.hx-footer-locale b{font-weight:400;color:#b7c3d6}
.hx-flag{display:inline-block;width:18px;height:18px;border-radius:50%;background:linear-gradient(180deg,#000 0 33%,#d00 33% 66%,#ffce00 66%)}
.hx-footer-note{margin:18px 0 0;font:400 12px/1.5 "Segoe UI",Arial,sans-serif;color:#8a9bb0;max-width:900px}
/* --- Responsiv --- */
@media(max-width:1100px){.hx h2{font-size:36px}.hx-sub{font-size:16px}.hx-card{flex-basis:calc((100% - 17px)/2)}.hx-insp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hx-note{display:none}.hx-dest-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.hx-dest-big{grid-column:1/3;grid-row:auto;height:260px}.hx-dest-tile{height:150px}.hx-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.hx-info-item:nth-child(2){border-right:0}.hx-info-art{display:none}}
@media(max-width:620px){.hx-shell{width:calc(100% - 24px)}.hx h2{font-size:28px}.hx-head{flex-direction:column;gap:12px}.hx-head-tools{flex-direction:row;align-items:center;padding-top:0}.hx-card{flex-basis:100%}.hx-insp-grid,.hx-info-grid{grid-template-columns:1fr}.hx-info-item{border-right:0}.hx-dest-grid{grid-template-columns:1fr}.hx-dest-big{grid-column:auto}.hx-outline{margin-top:0}.hx-footer-links{margin-left:0}.hx-footer-locale{margin-left:0}}
/* Reiseziel-Einzelseite + Reiseziele-Übersicht mit Bildern (Sasan 29.09.) */
.dest-media{display:block;text-decoration:none;color:inherit}
.dest-detail .hx-dest-offers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-top:18px}
.dest-detail .hx-card{height:423px}
/* Reiseziel-Seite: drei Gruppen (Hotels | Flug + Hotel | Mietwagen) mit je zwei Karten untereinander (Sasan 29.09.) */
.dest-detail .hx-dest-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;align-items:start}
.dest-detail .hx-dest-group{display:flex;flex-direction:column;gap:12px;min-width:0}
.dest-detail .hx-dest-group-title{display:flex;align-items:center;gap:8px;margin:0;padding:0 0 8px;border-bottom:2px solid #e3e9f2;font:800 16px/1.2 "Segoe UI",Arial,sans-serif;color:#0b2a55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dest-detail .hx-dest-group-title .hi,.dest-detail .hx-dest-group-title svg{width:18px;height:18px;flex:0 0 18px;color:#ff6b00}
.dest-detail .hx-dest-group-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:17px}
.dest-detail .hx-dest-group .hx-card{max-width:420px;width:100%;justify-self:center}
.dest-detail .hx-dest-empty{margin:0;padding:18px 14px;border:1px dashed #cfd8e6;border-radius:12px;font:600 13px/1.4 "Segoe UI",Arial,sans-serif;color:#5b6b80;text-align:center}
.dest-back{margin:22px 0 0}.dest-back a{display:inline-flex;align-items:center;gap:8px;color:#0054d7;font:700 14px/1 "Segoe UI",Arial,sans-serif;text-decoration:none}.dest-back a .hi{width:16px;height:16px;transform:rotate(180deg)}.dest-back a:hover{text-decoration:underline}
@media(max-width:1100px){.dest-detail .hx-dest-offers{grid-template-columns:repeat(2,minmax(0,1fr))}.dest-detail .hx-dest-groups{grid-template-columns:minmax(0,1fr)}.dest-detail .hx-dest-group-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dest-detail .hx-dest-group .hx-card{max-width:none}}
@media(max-width:620px){.dest-detail .hx-dest-offers{grid-template-columns:1fr}.dest-detail .hx-dest-group-cards{grid-template-columns:minmax(0,1fr)}}

/* Kopfzeile auf iPad/iPhone (Mobile-Audit 29.09., Sasan): bis 1100 px Navigation in eigener Zeile mit gleich breiten Reitern, auf dem Handy 2 × 4 Reiter – kein Überlauf, nichts abgeschnitten */
@media(max-width:1100px){
  html body .travel-site-header .header-inner{flex-wrap:wrap;min-height:0;padding-block:6px 0;gap:2px 0}
  html body .travel-site-header .brand.brand-travel{margin-right:auto}html body .travel-site-header .brand-claim{display:none}
  html body .travel-site-header .brand.brand-travel img{width:150px}
  html body .travel-site-header .tnav{order:3;width:100%;justify-content:flex-start;gap:0;overflow:visible}
  html body .travel-site-header .tnav a{flex:1 1 0;min-width:0;padding:6px 4px 8px;font-size:12.5px;gap:4px}
  html body .travel-site-header .tnav a svg{width:24px;height:24px}
  html body .travel-site-header .tnav-tools{border-left:0;padding-left:0;align-self:center;gap:14px}
}
@media(max-width:560px){
  html body .travel-site-header .header-inner{padding-block:4px 0}
  html body .travel-site-header .brand.brand-travel img{width:124px}
  html body .travel-site-header .tnav{flex-wrap:wrap}
  html body .travel-site-header .tnav a{flex:0 0 25%;padding:5px 2px 6px;font-size:11px;gap:3px;border-bottom-width:2px}
  html body .travel-site-header .tnav a svg{width:20px;height:20px}
  html body .travel-site-header .tnav a[aria-current=page]{border-radius:8px 8px 0 0}
  html body .travel-site-header .tnav-tools{gap:12px}html body .travel-site-header .tnav-user{width:34px;height:34px}html body .travel-site-header .tnav-tools svg{width:22px;height:22px}
  /* Startseiten-Hero: Titel dreizeilig, Untertitel bleibt über dem Ticket */
  html body .flight-hero h1{font-size:30px;line-height:1.1}html body .flight-hero-subtitle{font-size:15px;max-width:230px;margin-top:8px}
}
/* Deals-Seite unter 1500 px (iPad, kleine Desktops): ein Block je Zeile mit 3 Karten statt 6 Karten nebeneinander (Preis lief sonst unter den Knopf); Reiseziele-Kachel ohne Bild zeigt den Namen nur einmal */
@media(max-width:1500px){.dp-grid{grid-template-columns:1fr}}
html body[data-kind=deals] main,html body[data-kind=reiseziele] main{overflow-x:clip}
.dest-media .dest-tile span{display:none}
/* Deals/Reiseziele auf iPad/iPad Mini (Sasan 29.09. mittags: "viel zu klein, zwei nebeneinander"): 2 Karten je Reihe, größere Schrift, Bild höher; Hero nur noch Bild + kurzer Titel */
@media(min-width:561px) and (max-width:1100px){
  html body .dp-cards,html body .dp-grid.is-single .dp-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  html body .dp-card{padding:10px}html body .dp-media{height:130px}html body .dp-paket .dp-media{height:110px}
  html body .dp-body{grid-auto-rows:22px;padding:10px 4px 0}html body .dp-cartext{grid-auto-rows:22px}
  html body .dp-title{font-size:17px;line-height:22px}html body .dp-line{font-size:14px;line-height:22px}html body .dp-line .hi{width:16px;height:16px}html body .dp-stars{font-size:13px;line-height:22px}
  html body .dp-provider img,html body .dp-airline img{height:18px;max-width:90px}
  html body .dp-amount small{font-size:14px}html body .dp-amount b,html body .dp-amount strong{font-size:22px}html body .dp-unit{font-size:12.5px}
  html body .dp-cta{padding:9px 14px;font-size:13.5px}html body .dp-cta .hi{width:15px;height:15px}
  html body .dp-carimg{flex-basis:110px;height:76px}html body .dp-mietwagen .dp-body{padding-left:126px}
  html body .flight-hero.deals-hero .flight-hero-copy{padding-top:26px}
}
@media(max-width:560px){html body .dp-media{height:150px}html body .dp-title{font-size:16px}html body .dp-line{font-size:13.5px}}
html body .flight-hero.deals-hero .dp-usp,html body .flight-hero.deals-hero .flight-hero-subtitle{display:none}
/* Deals-Karten (Sasan 29.09. mittags): Leistungen nur als Icons, Airline/Anbieter als Logo statt Text, Logos größer */
html body .dp-line.dp-feats>.dp-feat>span{display:none}html body .dp-line.dp-feats{gap:10px}html body .dp-feat .hi{width:18px;height:18px}
html body .dp-airline:has(img)>span,html body .dp-provider:has(img)>span{display:none}
html body .dp-airline img,html body .dp-provider img{height:22px;max-width:110px}
/* Ortsvorschläge im KAYAK-Stil: Gruppenüberschrift, Icon-Kachel, kurzer Name + Code, Unterzeile */
.hotel-search .airport-group-head{margin:10px 8px 4px;font-size:15px;font-weight:800;color:var(--ink,#12345a)}
.hotel-search .airport-choice.hotel-choice{grid-template-columns:48px minmax(0,1fr);gap:14px;padding:8px 8px;min-height:64px}
.hotel-search .hotel-choice .hotel-choice-icon{width:48px;height:48px;border-radius:10px;background:#eef2f6;color:#33475f}.hotel-search .hotel-choice .hotel-choice-icon svg{width:22px;height:22px}
.hotel-search .hotel-choice strong{font-size:16px;font-weight:700;line-height:1.3}.hotel-search .hotel-choice strong .hotel-choice-code{font-style:normal;font-weight:400;color:#6b7a8c;margin-left:8px}.hotel-search .hotel-choice small{display:block;font-size:14px;color:#5b6b80;margin-top:2px}
/* Handy-Kopfzeile (Sasan 29.09.: „Home, Flüge … nehmen zu viel Platz“): Navigation in EINER Zeile, Icon + Text nebeneinander, mit dem Finger nach rechts schiebbar; aktiver Reiter wird per JS in Sicht gescrollt */
@media(max-width:560px){
  html body .travel-site-header .tnav{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:2px;padding:0 2px 2px;scroll-snap-type:x proximity}
  html body .travel-site-header .tnav::-webkit-scrollbar{display:none}
  html body .travel-site-header .tnav a{flex:0 0 auto;flex-direction:row;align-items:center;gap:5px;min-width:0;padding:6px 10px 7px;font-size:12.5px;line-height:1;border-bottom-width:2px;scroll-snap-align:start;white-space:nowrap}
  html body .travel-site-header .tnav a svg{width:18px;height:18px}
  html body .travel-site-header .tnav a[aria-current=page]{border-radius:8px 8px 0 0}
}
/* Handy: Kopfzeile (Logo + einzeilige Navigation) bleibt oben kleben (Sasan 29.09.: „Sticky wie bei Expedia“) */
@media(max-width:560px){
  html body .travel-site-header{position:sticky;top:0;z-index:720;background:#fff;box-shadow:0 2px 8px rgba(25,54,86,.10)}
  html body .hotel-chipbar{top:var(--tnav-h,78px)}
}
/* Handy: Navigation als Hamburger-Menü (Sasan 29.09.: „als Hamburger“) – Kopfzeile nur Logo + Merkliste/Konto + ☰, Menü klappt als Liste unter der Kopfzeile auf; rein per CSS (#tnav-toggle) */
@media(max-width:560px){
  html body .travel-site-header .header-inner{position:relative;flex-wrap:nowrap;align-items:center;gap:8px;padding-block:6px}
  html body .travel-site-header .tnav{display:none;position:absolute;left:0;right:0;top:100%;order:0;width:auto;flex-direction:column;gap:0;padding:6px 0 8px;background:#fff;border-top:1px solid #e4eaf2;box-shadow:0 10px 24px rgba(25,54,86,.18);overflow:visible;z-index:730}
  html body .travel-site-header .tnav-toggle:checked~.tnav{display:flex}
  html body .travel-site-header .tnav a{flex:none;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;width:100%;min-width:0;padding:12px 18px;border-bottom:1px solid #eef2f7;border-radius:0!important;font-size:15px;line-height:1.2;white-space:nowrap}
  html body .travel-site-header .tnav a:last-child{border-bottom:0}
  html body .travel-site-header .tnav a svg{width:22px;height:22px}
  html body .travel-site-header .tnav a[aria-current=page]{background:#eef4ff;border-bottom-color:#eef2f7}
  html body .travel-site-header .tnav-tools{margin-left:auto;gap:10px;align-items:center}
  html body .travel-site-header .tnav-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:40px;height:40px;padding:0 9px;border:1px solid #e4eaf2;border-radius:10px;background:#fff;cursor:pointer;box-sizing:border-box}
  html body .travel-site-header .tnav-burger i{display:block;height:2px;border-radius:2px;background:#0b2a55;transition:transform .15s,opacity .15s}
  html body .travel-site-header .tnav-toggle:checked~.tnav-tools .tnav-burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
  html body .travel-site-header .tnav-toggle:checked~.tnav-tools .tnav-burger i:nth-child(2){opacity:0}
  html body .travel-site-header .tnav-toggle:checked~.tnav-tools .tnav-burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
}
.tnav-burger{display:none}
/* Seitenfuß (Sasan 29.09.): Reise-Logo statt altem Logo, KAYAK-Logo mit Link als Partnerhinweis neben dem Vermittler-Text; alle Fußzeilen-Links bleiben unter fluege.billigxxl.de */
html body .hx-footer-brand img{height:44px;width:auto}
html body .hx-footer-bottom{display:flex;align-items:flex-start;gap:20px;margin-top:18px;padding-top:16px;border-top:1px solid #eef2f7}
html body .hx-footer-bottom .hx-footer-note{margin:0}
html body .footer-kayak{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px;flex:none;color:#8a9bb0;font:400 11px/1 "Segoe UI",Arial,sans-serif;text-decoration:none}
html body .footer-kayak img{display:block;width:96px;height:auto}
html body .footer-kayak:hover{color:#0054d7}
@media(max-width:620px){html body .hx-footer-bottom{flex-direction:column;gap:10px}}

/* Danke-Dialog nach Kontaktnachricht (Startseite ?nachricht=gesendet) */
html body .thanks-dialog{border:0;border-radius:18px;padding:0;max-width:min(92vw,460px);box-shadow:0 20px 60px rgba(6,46,105,.28)}
html body .thanks-dialog::backdrop{background:rgba(6,46,105,.45)}
html body .thanks-dialog form{margin:0;padding:34px 32px 28px;text-align:center;font-family:"Segoe UI",Arial,sans-serif}
html body .thanks-dialog .thanks-icon{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:#e8f7ee;color:#0f6b3a;font:700 30px/56px Arial,sans-serif}
html body .thanks-dialog h2{margin:0 0 10px;font:900 24px/1.2 "Arial Black",Arial,sans-serif;color:#062e69}
html body .thanks-dialog p{margin:0;font-size:15px;line-height:1.5;color:#33465c}
html body .thanks-dialog .thanks-close{margin-top:22px;padding:12px 30px;border:0;border-radius:10px;background:#ff7a00;color:#fff;font:700 15px/1 "Segoe UI",Arial,sans-serif;cursor:pointer}
html body .thanks-dialog .thanks-close:hover{background:#e86e00}

/* Konto-Hinweis (Herz ohne Anmeldung) */
html body .konto-hint form{text-align:left}
html body .konto-hint h2{font:900 22px/1.2 "Arial Black",Arial,sans-serif;color:#062e69;margin:0 0 10px}
html body .konto-hint p{font:400 15px/1.5 "Segoe UI",Arial,sans-serif;color:#33465c;margin:0}
html body .konto-hint-actions{display:flex;gap:12px;align-items:center;margin-top:18px!important}
html body .konto-hint .thanks-close,html body .konto-hint .konto-hint-go{display:inline-block;margin:0;padding:11px 20px;border:0;border-radius:10px;background:#ff7a00;color:#fff;font:700 15px/1 "Segoe UI",Arial,sans-serif;text-decoration:none;cursor:pointer}
html body .konto-hint .konto-hint-later{border:0;background:none;color:#0054d7;font:700 14px/1 "Segoe UI",Arial,sans-serif;cursor:pointer}
html body .konto-hint .konto-hint-go{text-decoration:none!important}
html body .konto-hint form{padding:28px 28px 24px}
html body .tnav-account.is-logged-in svg{color:#0054d7}
html body .tnav-fav.has-favs svg{fill:#ff4d6d;stroke:#ff4d6d}

/* Anmeldung im Merken-Pop-up (Sasan 29.09.: kein Seitenwechsel) + Toast nach dem Anmeldelink */
html body .konto-hint-label{display:block;margin:16px 0 0;font:700 13px/1.3 "Segoe UI",Arial,sans-serif;color:#33465c}
html body .konto-hint-label input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px 14px;border:1.5px solid #cbd6e4;border-radius:10px;font:400 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44;background:#fff}
html body .konto-hint-label input:focus{outline:0;border-color:#0054d7;box-shadow:0 0 0 3px rgba(0,84,215,.15)}
html body .konto-hint-consent{margin:14px 0 0!important;font:400 12.5px/1.5 "Segoe UI",Arial,sans-serif!important;color:#6b7a90!important}
html body .konto-hint-consent a{color:#0054d7}
html body .konto-hint-error{margin-top:10px!important;padding:9px 12px;border-radius:8px;background:#fdecec;color:#a11a1a;font-size:14px!important}
html body .konto-hint-error[hidden],html body .konto-hint-done[hidden],html body .konto-hint-label[hidden],html body .konto-hint-consent[hidden],html body .konto-hint-actions[hidden],html body .konto-hint-text[hidden]{display:none!important}
html body .konto-hint-done{margin-top:4px!important;padding:12px 14px;border-radius:10px;background:#e8f7ee;color:#0f6b3a;font-size:15px!important}
html body .konto-hint-done+.thanks-close{margin-top:16px}
html body .konto-hint .konto-hint-send:disabled{opacity:.6;cursor:wait}
html body .konto-toast{position:fixed;left:50%;bottom:24px;z-index:1200;transform:translate(-50%,20px);opacity:0;display:flex;gap:14px;align-items:center;max-width:min(92vw,560px);padding:14px 18px;border-radius:12px;background:#062e69;color:#fff;font:600 15px/1.4 "Segoe UI",Arial,sans-serif;box-shadow:0 12px 40px rgba(6,46,105,.35);transition:opacity .35s,transform .35s}
html body .konto-toast.is-on{opacity:1;transform:translate(-50%,0)}
html body .konto-toast a{flex:0 0 auto;padding:8px 14px;border-radius:8px;background:#ff7a00;color:#fff;font-weight:700;text-decoration:none}
html body .konto-hint-guest{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin:14px 0 0!important;font:400 13px/1.4 "Segoe UI",Arial,sans-serif!important;color:#6b7a90!important}
html body .konto-hint-guest .konto-guest{padding:0}

/* Merkliste als Panel von rechts (Sasan 29.09., wie KAYAK) + Zähler am Herz */
html body .travel-site-header .tnav-fav{position:relative}
html body .travel-site-header .tnav-fav-count{position:absolute;top:-7px;right:-9px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ff4d6d;color:#fff;font:700 11px/18px "Segoe UI",Arial,sans-serif;text-align:center;box-sizing:border-box}
html body .travel-site-header .tnav-fav-count[hidden]{display:none}
html body .konto-panel-back{position:fixed;inset:0;z-index:1100;background:rgba(6,46,105,.42);opacity:0;pointer-events:none;transition:opacity .3s}
html body .konto-panel-back.is-open{opacity:1;pointer-events:auto}
html body .konto-panel{position:fixed;top:0;right:0;bottom:0;z-index:1110;width:min(440px,100vw);display:flex;flex-direction:column;background:#fff;box-shadow:-16px 0 48px rgba(6,46,105,.25);transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1);font-family:"Segoe UI",Arial,sans-serif;color:#0c1f44}
html body .konto-panel.is-open{transform:none}
html body.konto-panel-open{overflow:hidden}
html body .konto-panel-head{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 22px 12px}
html body .konto-panel-head h2{margin:0;font:900 24px/1.2 "Arial Black",Arial,sans-serif;color:#062e69}
html body .konto-panel-count{margin:4px 0 0;font-size:13px;color:#6b7a90}
html body .konto-panel-close{border:0;background:#f1f5fa;color:#0b2a55;width:36px;height:36px;border-radius:50%;font:400 26px/36px Arial,sans-serif;cursor:pointer}
html body .konto-panel-tabs{display:flex;gap:4px;padding:0 14px;border-bottom:1px solid #e4eaf2}
html body .konto-panel-tab{flex:1 1 0;border:0;border-bottom:3px solid transparent;background:none;padding:10px 4px 9px;font:700 13.5px/1.2 "Segoe UI",Arial,sans-serif;color:#6b7a90;cursor:pointer;white-space:nowrap}
html body .konto-panel-tab.is-active{color:#0054d7;border-bottom-color:#0054d7}
html body .konto-panel-tab i{font-style:normal;margin-left:5px;padding:1px 6px;border-radius:9px;background:#e8f0ff;color:#0054d7;font-size:11px}
html body .konto-panel-list{flex:1 1 auto;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:10px}
html body .konto-panel-empty{margin:20px 6px;font-size:14.5px;line-height:1.5;color:#5b6b80}
html body .konto-panel-item{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid #e4eaf2;border-radius:14px;background:#fff}
html body .konto-panel-item img,html body .konto-panel-img{display:block;width:92px;height:68px;object-fit:cover;border-radius:10px;background:#dfe8f3}
html body .konto-panel-body{display:flex;flex-direction:column;gap:2px;min-width:0}
html body .konto-panel-body strong{font-size:15px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body .konto-panel-sub{font-size:12.5px;color:#5b6b80;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body .konto-panel-price{font:800 15px/1.2 "Segoe UI",Arial,sans-serif;color:#0f6b3a}
html body .konto-panel-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
html body .konto-panel-go{padding:8px 12px;border-radius:8px;background:#ff7a00;color:#fff;font:700 12.5px/1 "Segoe UI",Arial,sans-serif;text-decoration:none;white-space:nowrap}
html body .konto-panel-go[hidden]{display:none}
html body .konto-panel-remove{border:0;background:none;color:#8a99ad;font:400 22px/1 Arial,sans-serif;cursor:pointer;padding:0 4px}
html body .konto-panel-remove:hover{color:#a11a1a}
html body .konto-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;border-top:1px solid #e4eaf2;font-size:13px;color:#5b6b80}
html body .konto-panel-foot span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body .konto-panel-foot a,html body .konto-panel-foot button{flex:0 0 auto;border:0;padding:9px 14px;border-radius:8px;background:#0054d7;color:#fff;font:700 13px/1 "Segoe UI",Arial,sans-serif;text-decoration:none;cursor:pointer}
@media(max-width:560px){html body .konto-panel{width:100vw}html body .konto-panel-item{grid-template-columns:72px minmax(0,1fr) auto}html body .konto-panel-item img,html body .konto-panel-img{width:72px;height:56px}}

/* Teilen-Knopf neben dem Herz + Dialog „Teile dieses Angebot“ (wie KAYAK) */
html body .bxx-share{position:absolute;right:50px;top:10px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:10px;background:#fff;color:#0c1f44;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.2)}
html body .bxx-share svg{width:17px;height:17px}
html body .bxx-share.bxx-share-hx{right:52px;top:12px;width:30px;height:30px;border-radius:50%;background:transparent;color:#fff;box-shadow:none;filter:drop-shadow(0 1px 3px rgba(0,0,0,.35))}
html body .bxx-share.bxx-share-hx svg{width:21px;height:21px}
html body .package-price-top .bxx-share{position:static;width:26px;height:26px;background:none;box-shadow:none;margin-left:6px}
html body .package-price-top{gap:0}html body .package-price-top .hotel-fav{margin-left:auto}
html body .car-card .bxx-share{top:10px;right:50px}
html body .bxx-share-dialog{max-width:min(92vw,600px)}
html body .bxx-share-dialog form{position:relative;text-align:left;padding:34px 36px 30px}
html body .bxx-share-close{position:absolute;right:18px;top:14px;border:0;background:none;color:#0c1f44;font:400 30px/1 Arial,sans-serif;cursor:pointer;margin:0!important;padding:4px 8px!important}
html body .bxx-share-dialog h2{font:900 30px/1.15 "Arial Black",Arial,sans-serif;color:#0c1f44;margin:0 0 20px}
html body .bxx-share-dialog h2 i{font-style:normal;color:#ff7a00}
html body .bxx-share-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e4eaf2;border-radius:12px;box-shadow:0 4px 16px rgba(6,46,105,.08);margin-bottom:26px}
html body .bxx-share-card img{width:80px;height:68px;object-fit:cover;border-radius:8px;display:block}
html body .bxx-share-card img[hidden]{display:none}
html body .bxx-share-body{display:flex;flex-direction:column;gap:3px;min-width:0}
html body .bxx-share-body strong{font-size:17px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body .bxx-share-sub{font-size:13px;color:#5b6b80;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body .bxx-share-price{text-align:right;white-space:nowrap}
html body .bxx-share-price b{display:block;font:800 22px/1.1 "Segoe UI",Arial,sans-serif;color:#0c1f44}
html body .bxx-share-price small{font-size:12px;color:#5b6b80}
html body .bxx-share-price[hidden]{display:none}
html body .bxx-share-opts{display:flex;gap:18px;justify-content:flex-start;flex-wrap:wrap}
html body .bxx-share-opt{display:flex;flex-direction:column;align-items:center;gap:10px;width:96px;border:0;background:none;padding:0;font:400 15px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44;text-decoration:none;cursor:pointer;text-align:center}
html body .bxx-share-opt[hidden]{display:none}
html body .bxx-share-ic{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#f1f5fa;color:#0c1f44}
html body .bxx-share-opt:hover .bxx-share-ic{background:#e4ecf7}
html body .bxx-share-ic.bxx-share-wa{background:#25d366;color:#fff}
html body .bxx-share-ic.bxx-share-fb{background:linear-gradient(135deg,#00b2ff,#a033ff,#ff5280);color:#fff}
html body .bxx-share-done{margin:18px 0 0!important;padding:10px 12px;border-radius:8px;background:#e8f7ee;color:#0f6b3a;font-size:14px!important;word-break:break-all}
html body .bxx-share-done[hidden]{display:none}
@media(max-width:560px){html body .bxx-share-dialog form{padding:26px 20px 22px}html body .bxx-share-dialog h2{font-size:24px}html body .bxx-share-opts{gap:8px;justify-content:space-between}html body .bxx-share-opt{width:72px;font-size:13px}html body .bxx-share-ic{width:52px;height:52px}html body .hotel-card-media .bxx-share{width:28px;height:28px;top:6px;right:40px}}

/* Reiseplan (Sasan 29.09.): Trip aus Flug + Hotel + Mietwagen in der Merkliste mit Buchungs-Checkliste */
html body .konto-panel-item.konto-trip{display:block;padding:14px 14px 12px}
html body .konto-trip-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
html body .konto-trip-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}
html body .konto-trip-head strong{font-size:16px;line-height:1.3}
html body .konto-trip-status{margin:8px 0 0;font:700 12px/1 "Segoe UI",Arial,sans-serif;color:#0054d7;text-transform:uppercase;letter-spacing:.04em}
html body .konto-trip-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
html body .konto-trip-step{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid #e4eaf2;border-radius:10px;background:#f8fafd}
html body .konto-trip-step.is-done{background:#eef8f1;border-color:#cfe9d8}
html body .konto-trip-check{position:relative;display:block;width:28px;height:28px;cursor:pointer}
html body .konto-trip-check input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
html body .konto-trip-num{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid #0054d7;color:#0054d7;font:800 13px/1 "Segoe UI",Arial,sans-serif;background:#fff}
html body .konto-trip-step.is-done .konto-trip-num{background:#0f6b3a;border-color:#0f6b3a;color:#fff}
html body .konto-trip-check input:focus-visible+.konto-trip-num{outline:3px solid #bcd3ff;outline-offset:2px}
html body .konto-trip-body{display:flex;flex-direction:column;gap:1px;min-width:0}
html body .konto-trip-body b{font-size:13.5px;line-height:1.25}
html body .konto-trip-step.is-done .konto-trip-body b{text-decoration:line-through;color:#5b6b80}
html body .konto-trip-title,html body .konto-trip-price{font-size:12px;color:#5b6b80;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body .konto-trip-price{color:#0f6b3a;font-weight:700}
html body .konto-trip-go{padding:7px 10px;border-radius:8px;background:#ff7a00;color:#fff;font:700 12px/1 "Segoe UI",Arial,sans-serif;text-decoration:none;white-space:nowrap}
html body .konto-trip-step.is-done .konto-trip-go{background:#c9d3df}
html body .konto-trip-go[hidden]{display:none}
html body .konto-trip-sum{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;padding-top:8px;border-top:1px dashed #d6dfea;font-size:12.5px;color:#5b6b80}
html body .konto-trip-sum b{font:800 16px/1.2 "Segoe UI",Arial,sans-serif;color:#062e69}
html body .konto-trip-note{margin:8px 0 0;font-size:11.5px;line-height:1.45;color:#6b7a90}

/* Kalender-Farben (Sasan 29.09.): Zeitraum kräftig, gewählte Tage dunkel mit weißer Schrift */
html body .calendar-day.date-in-range{background:#0a66e8;color:#fff;border-radius:0}
html body .calendar-day.date-selected{background:#062e69;color:#fff;border-radius:6px;box-shadow:0 0 0 2px #fff inset}
html body .calendar-day.date-in-range:hover{background:#0857c4}
html body .calendar-day.date-selected:hover{background:#0b3f8f}

/* Multi-Stopp-Kalender (Sasan 29.09.) */
html body .is-multi .first-leg-date,html body .is-multi .compact-extra-leg>.search-control-label{position:relative}
html body .is-multi input[type=date]:read-only{cursor:pointer}
html body .is-multi input[type=date]:read-only::-webkit-calendar-picker-indicator{opacity:.55}
html body .multi-cal-wrap{position:absolute;inset:0;pointer-events:none}
html body .multi-cal-wrap>.search-popover-trigger{position:absolute;inset:0;opacity:0;pointer-events:none;padding:0;border:0;min-height:0}
html body .multi-cal-wrap>.search-popover-panel{pointer-events:auto}
html body .multi-cal-legs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
html body .multi-cal-leg{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;border:1px solid #d4e0ee;border-radius:10px;background:#f6f9fd;color:#0c1f44;cursor:pointer;font:600 12px/1.2 "Segoe UI",Arial,sans-serif}
html body .multi-cal-leg strong{font-size:14px}
html body .multi-cal-leg[aria-pressed=true]{border-color:#062e69;background:#062e69;color:#fff}
html body .calendar-day{position:relative}
html body .calendar-day.date-picking{outline:3px solid #ff7a00;outline-offset:1px}
html body .multi-cal-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#ff7a00;color:#fff;font:800 11px/18px "Segoe UI",Arial,sans-serif;font-style:normal;box-shadow:0 0 0 2px #fff}

html body .search-multi-dates .search-panel-done{display:none}

/* Kopfzeile überall wie fluege.billigxxl.de (Sasan 29.09.: Deals/Reiseziele/Reisemagazin gleich justiert) */
html body .travel-site-header .shell.header-inner{width:min(1680px,calc(100% - 48px));max-width:none;margin-inline:auto}
@media(max-width:620px){html body .travel-site-header .shell.header-inner{width:calc(100% - 24px)}}

/* Pflichtfeld-Sprechblase (Sasan 29.09.): kleine dunkle Blase mit Pfeil am ersten fehlenden Feld (konto.js, window.bxxFieldHint). */
.bxx-field-hint{position:fixed;z-index:2147483000;left:0;top:0;display:flex;align-items:center;gap:9px;max-width:min(320px,calc(100vw - 16px));padding:10px 14px 10px 10px;border-radius:12px;background:#062e69;color:#fff;font:600 14px/1.3 "BXX DM Sans","Segoe UI",system-ui,sans-serif;box-shadow:0 10px 28px rgba(6,46,105,.28),0 2px 6px rgba(0,0,0,.12);pointer-events:none;opacity:0;transform:translateY(6px) scale(.97);transform-origin:var(--hint-arrow,24px) 100%;transition:opacity .2s ease,transform .2s ease}
.bxx-field-hint[hidden]{display:none}
.bxx-field-hint.is-visible{opacity:1;transform:none}
.bxx-field-hint.is-below{transform:translateY(-6px) scale(.97);transform-origin:var(--hint-arrow,24px) 0}
.bxx-field-hint.is-below.is-visible{transform:none}
.bxx-field-hint::after{content:"";position:absolute;left:calc(var(--hint-arrow,24px) - 7px);bottom:-6px;width:14px;height:14px;background:#062e69;border-radius:0 0 3px 0;transform:rotate(45deg)}
.bxx-field-hint.is-below::after{bottom:auto;top:-6px;border-radius:3px 0 0 0}
.bxx-field-hint-mark{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#fd6318;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800;line-height:1}
.bxx-field-hint-text{position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){.bxx-field-hint{transition:none}}

/* Bildfilter (Sasan 29.09.): die KI-Zielbilder wirkten grell und überscharf – etwas weniger Sättigung/Kontrast, leicht wärmer,
   damit sie natürlicher aussehen. Gilt für Zielbilder (dest--*), Inspirations-Kacheln und das „Gut zu wissen“-Bild. */
img[src*="/experience-assets/dest--"],img[src*="home-insp-"],img[src*="deals-hero-v1"]{filter:saturate(.8) contrast(.93) brightness(1.03) sepia(.07)}

/* Flughafen-Auswahl: Kästchen zum Anhaken wie KAYAK statt „+“ (Sasan 29.09., Release .235) */
html body .airport-choice .airport-tick{width:22px;height:22px;box-sizing:border-box;justify-self:center;display:grid;place-items:center;border:1.5px solid #9eafbb;border-radius:5px;background:#fff;font-size:0;line-height:0;color:transparent;transition:background-color .15s,border-color .15s}
html body .airport-choice:hover .airport-tick{border-color:#062e69}
html body .airport-choice[aria-selected="true"] .airport-tick{background:#0a66e8;border-color:#0a66e8}
html body .airport-choice[aria-selected="true"] .airport-tick::after{content:"";width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg)}

/* Handy ≤ 560 px, Vollbild-Auswahl der Orts-/Flughafenfelder in allen Masken (Sasan 30.09.): Kopf „… wählen / Fertig“ lag unter der Kopfzeile (Stacking-Kontext der Seite), Hotel-/Mietwagen-/Paket-Vorschläge rutschten ans untere Ende hinter die Tastatur, Eingaben unter 16 px lösten auf dem iPhone den Seitenzoom aus */
@media(max-width:560px){
  html body.airport-picker-active .site-header{visibility:hidden}
  html body.airport-picker-active *:has(.is-picker-open){z-index:auto!important}
  html body .compact-search .airport-field.is-picker-open{z-index:1300}
  html body .hotel-search .airport-field.is-picker-open .hotel-field-text{flex:none!important;height:auto!important}
  html body .hotel-search .airport-field.is-picker-open .airport-panel{flex:1 1 0!important;min-height:0;overflow-y:auto}
  html body .hotel-search input:not([type=checkbox]):not([type=radio]):not([type=range]),html body .compact-search input.airport-entry{font-size:16px!important}
}
/* Handy: Ort-Icon in der Vorschlagsliste überschnitt den Namen (Spalte 22 px bei 48-px-Kachel, Sasan 30.09.) */
@media(max-width:560px){html body .hotel-search.hotel-search .airport-choice.hotel-choice,html body .hotel-search.hotel-search .is-picker-open .airport-choice.hotel-choice{grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center}}
/* Handy ≤ 560 px, Flugmaske wie Flug + Hotel (Sasan 30.09.): Abflughafen oben über die ganze Breite, Zielflughafen darunter, Tauschknopf rechts mittig über beiden Feldern; Felder weiß, Beschriftung „Abflughafen“/„Zielflughafen“ linksbündig */
@media(max-width:560px){
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;row-gap:8px;column-gap:0;position:relative}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:not(.is-picker-open){grid-column:1;min-height:64px;padding:9px 64px 9px 48px;background:#fff;border:1px solid #d9e1ea;border-radius:12px;position:relative;justify-content:center;box-sizing:border-box;width:100%}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:nth-child(1):not(.is-picker-open){grid-row:1}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:nth-child(3):not(.is-picker-open){grid-row:2}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-swap{grid-column:1;grid-row:1/3;align-self:center;justify-self:end;margin-right:14px;z-index:3;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #d9e1ea;box-shadow:0 2px 6px rgba(12,31,68,.12);transform:rotate(90deg)}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.search-dates{grid-column:1;grid-row:3}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:not(.is-picker-open) .airport-field-label{position:static;display:block;margin:0 0 2px;font-size:0;line-height:1.2;color:#5b6b80}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:not(.is-picker-open) .airport-field-label::after{content:"Abflughafen";font:400 13px/1.2 "Segoe UI",Arial,sans-serif}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:nth-child(3):not(.is-picker-open) .airport-field-label::after{content:"Zielflughafen"}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:not(.is-picker-open) .airport-entry{background:transparent;border:0;padding:0;height:26px;font:700 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.search-dates .search-popover-trigger{background:#fff;border:1px solid #d9e1ea;border-radius:12px;min-height:56px}
}
/* Handy ≤ 560 px, Flugmaske: Gepäck als Zahl + Koffer rechts in der ersten Optionszeile (Sasan 30.09.) */
.bxx-bag-mini{display:none}
@media(max-width:560px){
  html body form#kayak-search .compact-options{flex-wrap:nowrap;align-items:center}
  html body form#kayak-search .compact-options>.search-bags{margin-left:auto;flex:none}
  html body form#kayak-search .search-bags>.search-popover-trigger .bxx-bag-text{display:none}
  html body form#kayak-search .search-bags>.search-popover-trigger .bxx-bag-mini{display:inline-flex;align-items:center;gap:4px;color:#0c1f44}
  html body form#kayak-search .search-bags>.search-popover-trigger .bxx-bag-mini b{font:700 15px/1 "Segoe UI",Arial,sans-serif}
}
/* Handy ≤ 560 px, Flugmaske: Symbol Abflug (Flugzeug nach oben) / Landung (Flugzeug nach unten) links im Feld, Symbole setzt konto.js (Sasan 30.09.) */
.bxx-fl-ico{display:none}
@media(max-width:560px){html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:not(.is-picker-open)>.bxx-fl-ico{display:block;position:absolute;left:14px;top:50%;width:22px;height:22px;margin-top:-11px;color:#0c1f44;pointer-events:none}html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:not(.is-picker-open)>.bxx-fl-ico svg{display:block;width:22px;height:22px}}
/* Handy ≤ 560 px, Flugmaske wie Flug + Hotel (Sasan 30.09.): gewählter Flughafen als Name „Frankfurt am Main (FRA)“ in einer Zeile, rundes ✕ rechts wie bei Flug + Hotel, Feld 72 px statt 111 px; mehrere Flughäfen als Codes mit kleinem ✕ */
@media(max-width:560px){
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:not(.is-picker-open){min-height:72px;padding:10px 58px 10px 52px}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:not(.is-picker-open)>.bxx-fl-ico{left:16px}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field.has-airports:not(.is-picker-open) .airport-entry{position:absolute;width:1px;height:1px;min-height:0;padding:0;opacity:0;pointer-events:none}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:not(.is-picker-open) .airport-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:0;width:100%}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:not(.is-picker-open) .airport-chip{min-height:0;height:auto;padding:0;gap:6px;background:transparent;border:0;width:auto;font:800 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:not(.is-picker-open) .airport-chip .airport-chip-code{font:800 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:not(.is-picker-open) .airport-chip:only-child{width:100%;justify-content:flex-start}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:not(.is-picker-open) .airport-chip:only-child .airport-chip-name{position:static;width:auto;height:auto;overflow:hidden;clip-path:none;white-space:nowrap;text-overflow:ellipsis;min-width:0;font:800 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:not(.is-picker-open) .airport-chip:only-child .airport-chip-code{display:none}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:not(.is-picker-open) .airport-remove{flex:none;width:22px;height:22px;min-width:0;min-height:0;padding:0;border:0;border-radius:50%;background:#e8edf3;color:#5b6b80;font:400 15px/22px Arial,sans-serif;text-align:center}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.airport-field:not(.is-picker-open) .airport-chip:only-child .airport-remove{position:absolute;right:18px;top:50%;margin-top:-16px;width:32px;height:32px;font-size:20px;line-height:32px}
}
/* Handy ≤ 560 px, Vollbild-Auswahl der Orts-/Flughafenfelder (Sasan 30.09., iPhone): bei offener Tastatur endete die Auswahl auf halber Höhe und die Seite schien durch → Fläche hinter der Auswahl, Auswahl liegt darüber (isolation der Maske aufgehoben), kein Schatten; die Auswahl gleitet wie bei KAYAK von oben herein, die Tastatur kommt erst beim Antippen des Eingabefelds (konto.js) */
@media(max-width:560px){
  html body.airport-picker-active::before{content:"";position:fixed;left:0;right:0;top:-50vh;bottom:-50vh;background:#f3f5f8;z-index:1050;animation:bxxPickerShade .2s ease-out}
  html body.airport-picker-active *:has(.is-picker-open){isolation:auto!important}
  html body .compact-search .airport-field.is-picker-open{box-shadow:none;animation:bxxPickerIn .32s cubic-bezier(.2,.8,.2,1)}
}
@keyframes bxxPickerIn{from{transform:translateY(-100%)}to{transform:none}}
@keyframes bxxPickerShade{from{opacity:0}to{opacity:1}}
@media(max-width:560px) and (prefers-reduced-motion:reduce){html body .compact-search .airport-field.is-picker-open,html body.airport-picker-active::before{animation:none}}
/* Handy ≤ 560 px, Flughafen-Auswahl: „Nahe Flughäfen einbeziehen“ wie bei KAYAK direkt unter dem Eingabefeld – Text links, Schalter rechts, Trennlinie darunter; kein grauer Kasten, kein Hinweissatz (Sasan 30.09.) */
@media(max-width:560px){
  html body .compact-search .is-picker-open .airport-panel:not([hidden]){display:flex;flex-direction:column}
  html body .compact-search .is-picker-open .airport-nearby-section{order:-1;border-top:0;border-bottom:1px solid #dfe5ea;margin:0;padding:0}
  html body .compact-search .is-picker-open .airport-nearby-section[hidden]{display:none}
  html body .compact-search .is-picker-open .nearby-choice{flex-direction:row;justify-content:space-between;align-items:center;gap:14px;min-height:56px;margin:0;padding:8px 16px;background:transparent;border-radius:0;font-size:16px!important;font-weight:400;color:#1d2433}
  html body .compact-search .is-picker-open .nearby-choice input{-webkit-appearance:none;appearance:none;position:relative;flex:none;width:50px;height:30px;margin:0;border:0;border-radius:15px;background:#aab4bf;cursor:pointer;transition:background .2s}
  html body .compact-search .is-picker-open .nearby-choice input::before{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}
  html body .compact-search .is-picker-open .nearby-choice input:checked{background:#0a66e8}
  html body .compact-search .is-picker-open .nearby-choice input:checked::before{transform:translateX(20px)}
  html body .compact-search .is-picker-open .nearby-choice input:disabled{opacity:.5}
  html body .compact-search .is-picker-open .nearby-choice input:focus-visible{outline:2px solid #0a66e8;outline-offset:2px}
  html body .compact-search .is-picker-open .airport-nearby-section .airport-panel-hint{display:none}
}
/* Handy ≤ 560 px, Flughafen-/Orts-Auswahl komplett weiß statt grau/weiß gemischt, Einträge wie bei KAYAK durch Linien getrennt (Sasan 30.09.) */
@media(max-width:560px){
  html body.airport-picker-active::before{background:#fff}
  html body .compact-search .airport-field.is-picker-open,html body .compact-search .is-picker-open .airport-picker-header,html body .compact-search .is-picker-open .airport-recent,html body .compact-search .is-picker-open .airport-choices,html body .compact-search .is-picker-open .airport-entry{background:#fff}
  html body .compact-search .is-picker-open .airport-panel{background:#fff;border:0;border-radius:0;box-shadow:none}
  html body .compact-search .is-picker-open .airport-choice{border-bottom:1px solid #dfe5ea;border-radius:0}
}
/* Sasan 30.09. (Release .268): Flug + Hotel, Handy – Ortsauswahl (Abflughafen, Reiseziel, Hotel) ging nur halb auf.
   Ursache: html body form#kayak-package-search .hotel-field{height:76px} (ID-Spezifität) schlug die Vollbild-Regel
   der Auswahl. Gleiche Darstellung wie Hotels/Mietwagen; Hinweis „… aus den KAYAK-Vorschlägen wählen“ im Handy weg;
   Eingabefeld weiß wie in .267 bestellt. */
@media(max-width:560px){
  html body form#kayak-package-search .airport-field.is-picker-open{height:100%;min-height:0;padding:12px 16px;border:0;border-radius:0;gap:10px}
  html body form#kayak-package-search .airport-field.is-picker-open .hotel-field-text{display:block;flex:none;width:100%;height:auto}
  html body form#kayak-package-search .airport-field.is-picker-open .hotel-field-text small{display:none}
  html body form#kayak-package-search .airport-field.is-picker-open .hotel-field-text .airport-entry{width:100%;height:48px;max-height:none;line-height:24px;font-size:16px;padding:10px 12px;border:1px solid #62727f;border-radius:8px}
  html body form#kayak-package-search .airport-field.is-picker-open .hotel-field-text .airport-entry::placeholder{color:#7b8ea6;font-weight:600}
  html body .hotel-search.hotel-search .airport-field.is-picker-open .airport-entry,html body form#kayak-package-search .airport-field.is-picker-open .hotel-field-text .airport-entry{background:#fff}
  html body .hotel-search .is-picker-open .airport-panel>.airport-panel-hint{display:none}
}
/* Sasan 30.09., 19. Chat (Release .269): Handy-Flugmaske wie KAYAK – Reisende, Kabinenklasse und Gepäck als ein Feld unter dem Datum,
   Vollbild-Blatt (konto.js „Handy-Flugmaske … EIN Feld“), Datum linksbündig mit Wochentag. Nur ≤ 560 px. */
.bxx-pax-field,.bxx-pax-sheet{display:none}
@media(max-width:560px){
  html body form#kayak-search:has(.bxx-pax-field) .search-travelers>.search-popover-trigger,html body form#kayak-search:has(.bxx-pax-field) .search-bags>.search-popover-trigger{display:none}
  html body form#kayak-search .compact-route>.search-dates>.search-popover-trigger{font-size:0!important;text-align:left;justify-content:flex-start;padding:0 16px}
  html body form#kayak-search .compact-route>.search-dates>.search-popover-trigger::after{content:attr(data-bxx-date);font:600 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44;text-align:left}
  html body form#kayak-search .bxx-pax-field{display:flex;align-items:center;grid-column:1/-1;width:100%;min-height:56px;box-sizing:border-box;padding:0 16px;margin:0;background:#fff;border:1px solid #d9e1ea;border-radius:12px;color:#0c1f44;font:600 16px/1.3 "Segoe UI",Arial,sans-serif;text-align:left;cursor:pointer}
  html body form#kayak-search.compact-search:not(.is-multi) .compact-route>.bxx-pax-field{grid-row:4}
  html body form#kayak-search .compact-extra-legs+.bxx-pax-field{margin-top:8px}
  html body form#kayak-search .bxx-pax-field .bxx-pax-value{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  html.bxx-sheet-lock,html.bxx-sheet-lock body{overflow:hidden}
  dialog.bxx-pax-sheet[open]{display:flex;flex-direction:column;position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#fff;color:#1b1f24;font-family:"Segoe UI",Arial,sans-serif;animation:bxxPickerIn .32s cubic-bezier(.2,.8,.2,1)}
  dialog.bxx-pax-sheet::backdrop{background:#fff}
  .bxx-pax-sheet .bxx-sheet-head{flex:none;display:flex;justify-content:flex-end;align-items:center;min-height:64px;padding:0 20px;border-bottom:1px solid #dfe5ea}
  .bxx-pax-sheet .bxx-sheet-cancel{background:none;border:0;padding:8px 0;font:600 17px/1.2 "Segoe UI",Arial,sans-serif;color:#0a66e8;cursor:pointer}
  .bxx-pax-sheet .bxx-sheet-body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .bxx-pax-sheet .bxx-sheet-sec{padding:22px 20px 18px;border-bottom:1px solid #dfe5ea}
  .bxx-pax-sheet .bxx-sheet-sec:last-child{border-bottom:0}
  .bxx-pax-sheet h3{margin:0 0 12px;font:700 16px/1.3 "Segoe UI",Arial,sans-serif;color:#1b1f24}
  .bxx-pax-sheet .bxx-sheet-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
  .bxx-pax-sheet .bxx-sheet-label{font:400 16px/1.3 "Segoe UI",Arial,sans-serif;color:#1b1f24}
  .bxx-pax-sheet .bxx-sheet-label small{font-size:16px;color:#6b7785}
  .bxx-pax-sheet .bxx-sheet-stepper{display:flex;align-items:center;gap:0;flex:none}
  .bxx-pax-sheet .bxx-sheet-stepper button{width:26px;height:26px;padding:0;border:1.5px solid #6b7785;border-radius:6px;background:#fff;color:#1b1f24;font:500 18px/1 Arial,sans-serif;display:grid;place-items:center;cursor:pointer}
  .bxx-pax-sheet .bxx-sheet-stepper button:disabled{border-color:#d3d9df;color:#c3cad1;cursor:default}
  .bxx-pax-sheet .bxx-sheet-stepper output{width:42px;text-align:center;font:700 17px/1 "Segoe UI",Arial,sans-serif;color:#1b1f24}
  .bxx-pax-sheet .bxx-sheet-age select{min-width:118px;height:36px;padding:0 10px;border:1px solid #cfd6dd;border-radius:8px;background:#fff;font:400 16px "Segoe UI",Arial,sans-serif;color:#1b1f24}
  .bxx-pax-sheet .bxx-sheet-pills{display:flex;flex-wrap:wrap;gap:6px}
  .bxx-pax-sheet .bxx-sheet-pill{min-height:46px;padding:0 16px;border:1px solid #d3d9df;border-radius:8px;background:#fff;font:400 16px/1.2 "Segoe UI",Arial,sans-serif;color:#1b1f24;cursor:pointer}
  .bxx-pax-sheet .bxx-sheet-pill[aria-pressed="true"]{border:1.5px solid #1b1f24;background:#f7f8fa}
  .bxx-pax-sheet .bxx-sheet-note{margin:14px 0 0;font:400 16px/1.3 "Segoe UI",Arial,sans-serif;color:#6b7785}
  .bxx-pax-sheet .bxx-sheet-foot{padding:26px 20px calc(24px + env(safe-area-inset-bottom))}
  .bxx-pax-sheet .bxx-sheet-save{width:100%;min-height:50px;border:0;border-radius:8px;background:linear-gradient(90deg,#ff6a13,#e8411f);color:#fff;font:700 17px/1 "Segoe UI",Arial,sans-serif;cursor:pointer}
}
@media(max-width:560px) and (prefers-reduced-motion:reduce){dialog.bxx-pax-sheet[open]{animation:none}}
/* Sasan 30.09., 19. Chat (Release .270, KAYAK-Vorlage Multi-Stopp): Handy – Multi-Stopp wie die normale Strecke:
   je Flug Überschrift „Flug 1/2/…“ (✕ rechts), Abflughafen/Zielflughafen wie oben (weiß, Symbol, Beschriftung), Datum weiß,
   linksbündig mit Wochentag (konto.js setzt data-bxx-date), flexible Tage rechts daneben. Nur ≤ 560 px. */
@media(max-width:560px){
  html body form#kayak-search.compact-search.is-multi .compact-route{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;row-gap:8px;column-gap:0;position:relative;padding:34px 0 0;background:transparent;border:0;box-shadow:none}
  html body form#kayak-search.compact-search.is-multi .compact-route::before{content:"Flug 1";position:absolute;left:2px;top:2px;font:700 17px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44}
  html body form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open){grid-column:1/-1;min-height:72px;padding:10px 58px 10px 52px;background:#fff;border:1px solid #d9e1ea;border-radius:12px;position:relative;justify-content:center;box-sizing:border-box;width:100%}
  html body form#kayak-search.compact-search.is-multi .compact-route>.airport-field:nth-child(1):not(.is-picker-open){grid-row:1}
  html body form#kayak-search.compact-search.is-multi .compact-route>.airport-field:nth-child(3):not(.is-picker-open){grid-row:2}
  html body form#kayak-search.compact-search.is-multi .compact-route>.airport-swap{grid-column:1;grid-row:1/3;align-self:center;justify-self:end;margin-right:14px;z-index:3;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #d9e1ea;box-shadow:0 2px 6px rgba(12,31,68,.12);transform:rotate(90deg)}
  html body form#kayak-search.compact-search.is-multi .compact-route>.first-leg-date{grid-column:1;grid-row:3}
  html body form#kayak-search.compact-search.is-multi .compact-route>.airport-swap svg{transform:none}
  html body form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-field-label{position:static;display:block;margin:0 0 2px;font-size:0;line-height:1.2;color:#5b6b80}
  html body form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-field-label::after{content:"Abflughafen";font:400 13px/1.2 "Segoe UI",Arial,sans-serif}
  html body form#kayak-search.compact-search.is-multi .compact-route>.airport-field:nth-child(3):not(.is-picker-open) .airport-field-label::after,html body form#kayak-search.compact-search.is-multi .compact-extra-leg>.airport-field:nth-child(2):not(.is-picker-open) .airport-field-label::after{content:"Zielflughafen"}
  html body form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-entry{background:transparent;border:0;padding:0;height:26px;font:700 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44}
  html body form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open)>.bxx-fl-ico{display:block;position:absolute;left:16px;top:50%;width:22px;height:22px;margin-top:-11px;color:#0c1f44;pointer-events:none}
  html body form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open)>.bxx-fl-ico svg{display:block;width:22px;height:22px}
  html body form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field.has-airports:not(.is-picker-open) .airport-entry{position:absolute;width:1px;height:1px;min-height:0;padding:0;opacity:0;pointer-events:none}
  html body form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:0;width:100%}
  html body form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-chip{min-height:0;height:auto;padding:0;gap:6px;background:transparent;border:0;width:auto;font:800 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44}
  html body form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-chip .airport-chip-code{font:800 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44}
  html body form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-chip:only-child{width:100%;justify-content:flex-start}
  html body form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-chip:only-child .airport-chip-name{position:static;width:auto;height:auto;overflow:hidden;clip-path:none;white-space:nowrap;text-overflow:ellipsis;min-width:0;font:800 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44}
  html body form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-chip:only-child .airport-chip-code{display:none}
  html body form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-remove{flex:none;width:22px;height:22px;min-width:0;min-height:0;padding:0;border:0;border-radius:50%;background:#e8edf3;color:#5b6b80;font:400 15px/22px Arial,sans-serif;text-align:center}
  html body form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-chip:only-child .airport-remove{position:absolute;right:18px;top:50%;margin-top:-16px;width:32px;height:32px;font-size:20px;line-height:32px}
  html body form#kayak-search.compact-search.is-multi .compact-extra-legs{counter-reset:bxxleg 1;display:block;margin:0;padding:0}
  html body form#kayak-search.compact-search.is-multi .compact-extra-leg{counter-increment:bxxleg;display:grid;grid-template-columns:minmax(0,1fr) auto;row-gap:8px;column-gap:8px;position:relative;margin:18px 0 0;padding:34px 0 0;background:transparent;border:0;border-radius:0;box-shadow:none}
  html body form#kayak-search.compact-search.is-multi .compact-extra-leg::before{content:"Flug " counter(bxxleg);position:absolute;left:2px;top:2px;font:700 17px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44}
  html body form#kayak-search.compact-search.is-multi .compact-extra-leg>.airport-field:nth-child(1),html body form#kayak-search.compact-search.is-multi .compact-extra-leg>.airport-field:nth-of-type(1){grid-column:1/-1;grid-row:1}
  html body form#kayak-search.compact-search.is-multi .compact-extra-leg>.airport-field:nth-of-type(2){grid-column:1/-1;grid-row:2}
  html body form#kayak-search.compact-search.is-multi .compact-extra-leg>.search-control-label{grid-column:1;grid-row:3}
  html body form#kayak-search.compact-search.is-multi .compact-extra-leg>select{grid-column:2;grid-row:3;height:56px;min-width:0;max-width:140px;box-sizing:border-box;padding:0 12px;border:1px solid #d9e1ea;border-radius:12px;background-color:#fff;font:600 15px/1.2 "Segoe UI",Arial,sans-serif;color:#0c1f44}
  html body form#kayak-search.compact-search.is-multi .compact-extra-leg>.remove-flight{position:absolute;right:0;top:0;grid-row:auto;grid-column:auto;width:32px;height:28px;min-height:0;padding:0;border:0;background:none;box-shadow:none;font:300 28px/28px Arial,sans-serif;color:#6b7785}
  html body form#kayak-search.compact-search.is-multi :is(.first-leg-date,.compact-extra-leg>.search-control-label){display:block;position:relative;min-height:56px;margin:0;padding:0}
  html body form#kayak-search.compact-search.is-multi :is(.first-leg-date,.compact-extra-leg>.search-control-label) input[type=date]{display:block;width:100%;height:56px;min-height:56px;box-sizing:border-box;margin:0;padding:0 16px;background:#fff;border:1px solid #d9e1ea;border-radius:12px;color:transparent;font-size:16px;-webkit-appearance:none;appearance:none;box-shadow:none}
  html body form#kayak-search.compact-search.is-multi :is(.first-leg-date,.compact-extra-leg>.search-control-label) input[type=date]::-webkit-calendar-picker-indicator{opacity:0}
  html body form#kayak-search.compact-search.is-multi :is(.first-leg-date,.compact-extra-leg>.search-control-label) input[type=date]::-webkit-datetime-edit{color:transparent}
  html body form#kayak-search.compact-search.is-multi :is(.first-leg-date,.compact-extra-leg>.search-control-label)::after{content:attr(data-bxx-date);position:absolute;left:17px;top:28px;transform:translateY(-50%);font:600 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44;pointer-events:none}
}
/* Release .292 iPad-Suchmasken (Sasan 30.09., 29. Chat, NUR iPad = Touch 561–1400 px): alle vier Reiter wie Flug + Hotel – weiße Felder 76 px, Beschriftung über dem Wert, ein oranger Suchknopf #fd6318 76 px/20 px; Flüge: Knopf unter die Felder, Nur Direktflüge oben rechts, lange Ortsnamen einzeilig; nur Startseite (body:has(.home-mode-tabs)). Hotels: Flugticket im Hero ausgeblendet (vorher halb durchsichtig). PC und iPhone unverändert. Release .293: Flughafen-Auswahl (search.js .is-picker-open, Vollbild bis 1100 px) ausgenommen. */
@media (pointer:coarse) and (min-width:561px) and (max-width:1400px){
body[data-home-mode=hotel] .flight-hero-ticket{opacity:0!important}
html body:has(.home-mode-tabs) form#kayak-search{grid-template-columns:minmax(0,1fr)!important;position:relative;row-gap:0}
html body:has(.home-mode-tabs) form#kayak-search>.ticket-search-main,html body:has(.home-mode-tabs) form#kayak-search>.ticket-search-stub{display:contents}
html body:has(.home-mode-tabs) form#kayak-search>.ticket-search-stub::before,html body:has(.home-mode-tabs) form#kayak-search>.ticket-search-stub::after{display:none}
html body:has(.home-mode-tabs) form#kayak-search .compact-options{order:1;margin:0 0 10px;padding-right:200px}
html body:has(.home-mode-tabs) form#kayak-search .compact-options>.search-bags{margin-left:0}
html body:has(.home-mode-tabs) form#kayak-search .compact-route{order:2}
html body:has(.home-mode-tabs) form#kayak-search .ticket-route-label{display:none}
html body:has(.home-mode-tabs) form#kayak-search .ticket-search-stub>.search-control-label{position:absolute;top:0;right:0;display:inline-flex;flex-direction:row-reverse;align-items:center;gap:10px;height:36px;margin:0;font-size:15px;color:var(--ink);white-space:nowrap}
html body:has(.home-mode-tabs) form#kayak-search .ticket-search-stub>.search-control-label input{width:20px;height:20px;margin:0;accent-color:#0054d7}
html body:has(.home-mode-tabs) form#kayak-search .ticket-search-stub>.search-button{order:3;width:100%;height:76px;min-height:76px;margin:12px 0 0;border:0;border-radius:12px;background:#fd6318;color:#fff;font-size:20px;font-weight:800}
html body:has(.home-mode-tabs) form#kayak-search .compact-search-tail{order:4;margin-top:14px}
html body:has(.home-mode-tabs) form#kayak-search:not(.is-multi) .compact-route{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);gap:12px}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.airport-field:not(.is-picker-open){display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;align-content:center;column-gap:12px;row-gap:2px;height:76px;min-height:76px;box-sizing:border-box;padding:0 18px;border:1px solid #e4eaf2;border-radius:12px;background:#fff}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.airport-field:not(.is-picker-open)>.bxx-fl-ico{display:grid;place-items:center;grid-row:1/3;grid-column:1;width:26px;height:26px;color:#33475f}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.airport-field:not(.is-picker-open)>.bxx-fl-ico svg{width:24px;height:24px}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.airport-field:not(.is-picker-open)>.airport-field-label{display:block;grid-row:1;grid-column:2/4;font-size:0;line-height:18px;color:transparent}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.airport-field:not(.is-picker-open)>.airport-field-label::before{content:'Abflughafen';font-size:14px;color:#5b6b80}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.airport-field~.airport-field:not(.is-picker-open)>.airport-field-label::before{content:'Zielflughafen'}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.airport-field:not(.is-picker-open) .airport-chips{display:flex;grid-row:2;grid-column:2;min-width:0;overflow:hidden;gap:6px}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.airport-field:not(.is-picker-open) .airport-chip{min-width:0;align-items:center;gap:8px;font-size:18px;font-weight:800;color:var(--ink)}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.airport-field:not(.is-picker-open) .airport-chip-name{max-width:none;min-width:0}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.airport-field:not(.is-picker-open) .airport-remove{flex:none;display:grid;place-items:center;min-width:0;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:#e6ebf2;color:#33475f;font-size:16px;line-height:1}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.airport-field:not(.is-picker-open)>.airport-entry{grid-row:2;grid-column:3;width:24px;height:24px;min-height:0;padding:0;margin:0;border:0;background:transparent;font:inherit;font-size:18px;font-weight:800;color:var(--ink);outline:none;box-shadow:none}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.airport-field:not(.is-picker-open):not(.has-airports)>.airport-entry{grid-column:2/4;width:100%}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.airport-swap{width:100%;height:76px;border:1px solid #e4eaf2;border-radius:12px;background:#f5f7fa;align-self:center}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.search-dates{grid-column:1/-1}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.search-dates>.search-popover-trigger{height:76px;min-height:76px;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:0 18px;border:1px solid #e4eaf2;border-radius:12px;background:#fff;text-align:left;font-size:18px;font-weight:800;color:var(--ink)}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.search-dates>.search-popover-trigger::before{content:'Reisedaten';font-size:14px;font-weight:400;color:#5b6b80}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .compact-route.hotel-route{gap:12px}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .hotel-field,html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .search-popover-trigger.hotel-field{min-height:76px;height:76px;box-sizing:border-box;padding:0 18px;border:1px solid #e4eaf2;border-radius:12px;background:#fff;gap:14px}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .hotel-field-icon{width:26px;height:26px;color:#33475f}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .hotel-field-icon .hi{width:24px;height:24px}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .hotel-field-text{display:flex;flex-direction:column-reverse;gap:2px;min-width:0}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .hotel-field-text small,html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .hotel-field.is-filled .hotel-field-text small{display:block;font-size:14px;color:#5b6b80;white-space:nowrap}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .hotel-field-text strong{font-size:18px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .hotel-field-text .airport-entry::placeholder{color:var(--ink);font-weight:800;opacity:1}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .hotel-field-text .airport-entry{width:100%;height:24px;min-height:0;max-height:24px;line-height:24px;flex:none;padding:0 34px 0 0;margin:0;border:0;background:transparent;font:inherit;font-size:18px;font-weight:800;color:var(--ink);outline:none;box-shadow:none}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .hotel-field-dates{display:grid;grid-template-columns:1fr 1fr;padding:0}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .hotel-field-dates>span{display:flex;align-items:center;gap:14px;padding:0 18px;min-height:74px}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .hotel-field-dates>span+span{border-left:1px solid #e4eaf2}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .hotel-field-dates small{font-size:13px}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .search-travelers .hotel-field>.hotel-field-icon:last-child{margin-left:auto;color:#5b6b80}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) form#kayak-hotel-search .hotel-destination.hotel-field .hotel-field-text small,html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) form#kayak-hotel-search .search-travelers .hotel-field-text small{font-size:0;line-height:18px;color:transparent}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) form#kayak-hotel-search .hotel-destination.hotel-field .hotel-field-text small::before{content:'Reiseziel';font-size:14px;color:#5b6b80}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) form#kayak-hotel-search .search-travelers .hotel-field-text small::before{content:'Gäste / Zimmer';font-size:14px;color:#5b6b80}
html body:has(.home-mode-tabs):where(:not(.airport-picker-active)) :is(form#kayak-hotel-search,form#kayak-car-search) .search-button{min-height:76px;height:76px;border:0;border-radius:12px;background:#fd6318;color:#fff;font-size:20px;font-weight:800}
}
/* Release .295 (Sasan 30.09., 30. Chat): iPad-Startseite – Orts-/Flughafenauswahl wie iPhone. Die Regeln der Auswahlseite übernimmt hotel-search.js
   (Block „Release .295“) zur Laufzeit wie auf dem iPhone; hier nur, was am iPhone aus der Regel für das geschlossene Feld kommt
   (.flight-ticket … padding:5px 7px, ≤ 560 px). Die .292-Regeln für Hotels/Mietwagen gelten nicht, solange die Auswahl offen ist
   (:where(:not(.airport-picker-active))); Beschriftung „Reiseziel“ mit .hotel-field, damit sie auch bei gefülltem Feld allein steht. */
/* (Regel „padding:5px 7px“ für die offene Auswahl in Release .302 entfernt – sie traf auch Hotels/Flug + Hotel/Mietwagen.) */
/* Release .296 (Sasan 30.09., 31. Chat): iPad-Startseite (Touch 561–1400 px) – Flüge wie iPhone. Punkt 1: Reisedaten mit Wochentag
   („Mi 30.09. – So 04.10.“, konto.js setzt data-bxx-date; ohne Rückflugdatum Hinflug + 4 Tage). PC und iPhone unverändert. */
@media (pointer:coarse) and (min-width:561px) and (max-width:1400px){
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.search-dates>.search-popover-trigger[data-bxx-date]{font-size:0}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.search-dates>.search-popover-trigger[data-bxx-date]::after{content:attr(data-bxx-date);font-size:18px;font-weight:800;line-height:1.3;color:var(--ink)}
}
/* Release .296, Punkt 2: ein Feld „2 Reisende, Economy, 0 Gepäckstücke“ unter den Reisedaten (konto.js .bxx-pax-field, wie iPhone), oben bleibt nur
   „Hin- und Rückflug“; das Auswahlfenster (Abbrechen / Reisende / Kabinenklasse / Gepäck / Speichern) als Fenster in der Mitte (Sasans Wahl). */
@media (pointer:coarse) and (min-width:561px) and (max-width:1400px){
html body:has(.home-mode-tabs) form#kayak-search:has(.bxx-pax-field) .search-travelers>.search-popover-trigger,html body:has(.home-mode-tabs) form#kayak-search:has(.bxx-pax-field) .search-bags>.search-popover-trigger{display:none}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.bxx-pax-field{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;grid-column:1/-1;width:100%;height:76px;min-height:76px;box-sizing:border-box;margin:0;padding:0 18px;border:1px solid #e4eaf2;border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:18px;font-weight:800;line-height:1.3;text-align:left;cursor:pointer}
html body:has(.home-mode-tabs) form#kayak-search .compact-route>.bxx-pax-field::before{content:'Reisende / Kabinenklasse / Gepäck';font-size:14px;font-weight:400;line-height:18px;color:#5b6b80}
html body:has(.home-mode-tabs) form#kayak-search .compact-extra-legs+.bxx-pax-field{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;width:100%;height:76px;box-sizing:border-box;margin:12px 0 0;padding:0 18px;border:1px solid #e4eaf2;border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:18px;font-weight:800;line-height:1.3;text-align:left;cursor:pointer}
html body:has(.home-mode-tabs) form#kayak-search .compact-extra-legs+.bxx-pax-field::before{content:'Reisende / Kabinenklasse / Gepäck';font-size:14px;font-weight:400;line-height:18px;color:#5b6b80}
html body:has(.home-mode-tabs) form#kayak-search .bxx-pax-field .bxx-pax-value{max-width:100%;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
html.bxx-sheet-lock:has(.home-mode-tabs),html.bxx-sheet-lock body:has(.home-mode-tabs){overflow:hidden}
body:has(.home-mode-tabs) dialog.bxx-pax-sheet[open]{display:flex;flex-direction:column;position:fixed;inset:0;width:min(520px,calc(100% - 48px));height:fit-content;max-width:none;max-height:min(780px,calc(100% - 80px));margin:auto;padding:0;border:0;border-radius:16px;background:#fff;color:#1b1f24;font-family:"Segoe UI",Arial,sans-serif;box-shadow:0 24px 64px rgba(12,31,68,.28);overflow:hidden;animation:bxxPaxPop .22s cubic-bezier(.2,.8,.2,1)}
body:has(.home-mode-tabs) dialog.bxx-pax-sheet::backdrop{background:rgba(12,31,68,.45)}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-head{flex:none;display:flex;justify-content:flex-end;align-items:center;min-height:60px;padding:0 22px;border-bottom:1px solid #dfe5ea}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-cancel{background:none;border:0;padding:8px 0;font:600 17px/1.2 "Segoe UI",Arial,sans-serif;color:#0a66e8;cursor:pointer}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-sec{padding:22px 22px 18px;border-bottom:1px solid #dfe5ea}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-sec:last-child{border-bottom:0}
body:has(.home-mode-tabs) .bxx-pax-sheet h3{margin:0 0 12px;font:700 16px/1.3 "Segoe UI",Arial,sans-serif;color:#1b1f24}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-label{font:400 16px/1.3 "Segoe UI",Arial,sans-serif;color:#1b1f24}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-label small{font-size:16px;color:#6b7785}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-stepper{display:flex;align-items:center;gap:0;flex:none}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-stepper button{width:26px;height:26px;padding:0;border:1.5px solid #6b7785;border-radius:6px;background:#fff;color:#1b1f24;font:500 18px/1 Arial,sans-serif;display:grid;place-items:center;cursor:pointer}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-stepper button:disabled{border-color:#d3d9df;color:#c3cad1;cursor:default}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-stepper output{width:42px;text-align:center;font:700 17px/1 "Segoe UI",Arial,sans-serif;color:#1b1f24}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-age select{min-width:118px;height:36px;padding:0 10px;border:1px solid #cfd6dd;border-radius:8px;background:#fff;font:400 16px "Segoe UI",Arial,sans-serif;color:#1b1f24}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-pills{display:flex;flex-wrap:wrap;gap:6px}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-pill{min-height:46px;padding:0 16px;border:1px solid #d3d9df;border-radius:8px;background:#fff;font:400 16px/1.2 "Segoe UI",Arial,sans-serif;color:#1b1f24;cursor:pointer}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-pill[aria-pressed="true"]{border:1.5px solid #1b1f24;background:#f7f8fa}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-note{margin:14px 0 0;font:400 16px/1.3 "Segoe UI",Arial,sans-serif;color:#6b7785}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-foot{padding:22px 22px 24px}
body:has(.home-mode-tabs) .bxx-pax-sheet .bxx-sheet-save{width:100%;min-height:50px;border:0;border-radius:8px;background:linear-gradient(90deg,#ff6a13,#e8411f);color:#fff;font:700 17px/1 "Segoe UI",Arial,sans-serif;cursor:pointer}
}
@keyframes bxxPaxPop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media (pointer:coarse) and (min-width:561px) and (max-width:1400px) and (prefers-reduced-motion:reduce){body:has(.home-mode-tabs) dialog.bxx-pax-sheet[open]{animation:none}}
/* Release .297 (Sasan 30.09., 31. Chat): iPad-Startseite (Touch 561–1400 px) – Hotels und Flug + Hotel: „Gäste / Zimmer“ bzw. „Reisende / Zimmer“
   öffnen als Fenster in der Mitte wie „Reisende“ bei Flüge (.296); Mietwagen wie iPhone: Umschalter „Anmietstation | Andere Rückgabestation“ oben,
   „Alter des Fahrers“ als eigenes Feld über dem Suchknopf (car-search.js carMobile). PC und iPhone unverändert. */
@media (pointer:coarse) and (min-width:561px) and (max-width:1400px){
html body:has(.home-mode-tabs) :is(form#kayak-hotel-search,form#kayak-package-search) .search-travelers dialog.search-popover-panel[open]{position:fixed;inset:0;display:block;width:min(520px,calc(100% - 48px));height:fit-content;max-width:none;max-height:min(780px,calc(100% - 80px));margin:auto;padding:0 22px 24px;border:0;border-radius:16px;background:#fff;color:#1b1f24;font-family:"Segoe UI",Arial,sans-serif;box-shadow:0 24px 64px rgba(12,31,68,.28);overflow-y:auto;overscroll-behavior:contain;animation:bxxPaxPop .22s cubic-bezier(.2,.8,.2,1)}
html body:has(.home-mode-tabs) :is(form#kayak-hotel-search,form#kayak-package-search) .search-travelers dialog.search-popover-panel::backdrop{background:rgba(12,31,68,.45)}
html body:has(.home-mode-tabs) :is(form#kayak-hotel-search,form#kayak-package-search) .search-travelers dialog.search-popover-panel .search-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;top:0;z-index:3;min-height:60px;margin:0 -22px 10px;padding:0 22px;background:#fff;border-bottom:1px solid #dfe5ea;font:700 16px/1.3 "Segoe UI",Arial,sans-serif;color:#1b1f24}
html body:has(.home-mode-tabs) :is(form#kayak-hotel-search,form#kayak-package-search) .search-travelers dialog.search-popover-panel .search-panel-close{min-width:0;min-height:0;background:none;border:0;border-radius:0;padding:8px 0;font:600 17px/1.2 "Segoe UI",Arial,sans-serif;color:#0a66e8;cursor:pointer}
html body:has(.home-mode-tabs) :is(form#kayak-hotel-search,form#kayak-package-search) .search-travelers dialog.search-popover-panel .traveler-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin:0;padding:6px 0;border:0}
html body:has(.home-mode-tabs) :is(form#kayak-hotel-search,form#kayak-package-search) .search-travelers dialog.search-popover-panel .traveler-row>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px;font:400 16px/1.3 "Segoe UI",Arial,sans-serif;color:#1b1f24}
html body:has(.home-mode-tabs) :is(form#kayak-hotel-search,form#kayak-package-search) .search-travelers dialog.search-popover-panel .traveler-row .traveler-age{font-size:16px;color:#6b7785}
html body:has(.home-mode-tabs) :is(form#kayak-hotel-search,form#kayak-package-search) .search-travelers dialog.search-popover-panel .search-stepper{display:flex;align-items:center;gap:0;flex:none}
html body:has(.home-mode-tabs) :is(form#kayak-hotel-search,form#kayak-package-search) .search-travelers dialog.search-popover-panel .search-stepper button{width:26px;height:26px;min-width:0;min-height:0;padding:0;border:1.5px solid #6b7785;border-radius:6px;background:#fff;color:#1b1f24;font:500 18px/1 Arial,sans-serif;display:grid;place-items:center;cursor:pointer}
html body:has(.home-mode-tabs) :is(form#kayak-hotel-search,form#kayak-package-search) .search-travelers dialog.search-popover-panel .search-stepper button:disabled{border-color:#d3d9df;color:#c3cad1;cursor:default}
html body:has(.home-mode-tabs) :is(form#kayak-hotel-search,form#kayak-package-search) .search-travelers dialog.search-popover-panel .search-stepper output{width:42px;text-align:center;font:700 17px/1 "Segoe UI",Arial,sans-serif;color:#1b1f24}
html body:has(.home-mode-tabs) :is(form#kayak-hotel-search,form#kayak-package-search) .search-travelers dialog.search-popover-panel .child-ages select{min-width:118px;height:36px;min-height:36px;padding:0 10px;border:1px solid #cfd6dd;border-radius:8px;background:#fff;font:400 16px "Segoe UI",Arial,sans-serif;color:#1b1f24}
html body:has(.home-mode-tabs) :is(form#kayak-hotel-search,form#kayak-package-search) .search-travelers dialog.search-popover-panel .search-note{display:block;margin:14px 0 0;font:400 16px/1.3 "Segoe UI",Arial,sans-serif;color:#6b7785}
html body:has(.home-mode-tabs) :is(form#kayak-hotel-search,form#kayak-package-search) .search-travelers dialog.search-popover-panel .search-panel-done{position:static;display:block;width:100%;min-height:50px;margin:22px 0 0;border:0;border-radius:8px;background:linear-gradient(90deg,#ff6a13,#e8411f);box-shadow:none;color:#fff;font:700 17px/1 "Segoe UI",Arial,sans-serif;cursor:pointer}
html body:has(.home-mode-tabs) form#kayak-car-search .hotel-form-top{min-height:0;margin:0 0 12px;gap:0}
html body:has(.home-mode-tabs) form#kayak-car-search .car-options{width:100%;margin:0;gap:0}
html body:has(.home-mode-tabs) form#kayak-car-search .car-options>label.car-option{display:none}
html body:has(.home-mode-tabs) form#kayak-car-search .car-station-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;border-bottom:1px solid #e4eaf2}
html body:has(.home-mode-tabs) form#kayak-car-search .car-station-tab{padding:12px 6px 10px;border:0;border-bottom:2px solid transparent;background:none;color:#5b6b80;font:inherit;font-size:16px;font-weight:800;cursor:pointer;white-space:nowrap}
html body:has(.home-mode-tabs) form#kayak-car-search .car-station-tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}
html body:has(.home-mode-tabs) form#kayak-car-search .compact-route>.car-option{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;height:76px;min-height:76px;box-sizing:border-box;margin:0;padding:0 18px;border:1px solid #e4eaf2;border-radius:12px;background:#fff;font-size:18px;color:var(--ink)}
html body:has(.home-mode-tabs) form#kayak-car-search .compact-route>.car-option select{font-size:18px;font-weight:800;text-align:right;border:0;background-color:transparent;color:var(--ink)}
}
@media (pointer:coarse) and (min-width:561px) and (max-width:1400px) and (prefers-reduced-motion:reduce){html body:has(.home-mode-tabs) :is(form#kayak-hotel-search,form#kayak-package-search) .search-travelers dialog.search-popover-panel[open]{animation:none}}
/* Release .298 (Sasan 30.09., 31. Chat): iPad-Startseite (Touch 561–1400 px) – Punkt 4: Mehrere Stopps wie iPhone. Die Regeln aus dem iPhone-Block
   „Release .270“ (Flug 1/2/…, weiße Felder mit Abflug-/Landesymbol, Datum mit Wochentag, flexible Tage rechts) gelten hier auch fürs iPad; die Maske
   läuft bei Mehrere Stopps einspaltig wie auf dem iPhone (Optionen, Flüge, Reisende, Flug hinzufügen/Partner, Suchknopf). PC und iPhone unverändert. */
@media (pointer:coarse) and (min-width:561px) and (max-width:1400px){
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-route{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;row-gap:8px;column-gap:0;position:relative;padding:34px 0 0;background:transparent;border:0;box-shadow:none}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-route::before{content:"Flug 1";position:absolute;left:2px;top:2px;font:700 17px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open){grid-column:1/-1;min-height:72px;padding:10px 58px 10px 52px;background:#fff;border:1px solid #d9e1ea;border-radius:12px;position:relative;justify-content:center;box-sizing:border-box;width:100%}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-route>.airport-field:nth-child(1):not(.is-picker-open){grid-row:1}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-route>.airport-field:nth-child(3):not(.is-picker-open){grid-row:2}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-route>.airport-swap{grid-column:1;grid-row:1/3;align-self:center;justify-self:end;margin-right:14px;z-index:3;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #d9e1ea;box-shadow:0 2px 6px rgba(12,31,68,.12);transform:rotate(90deg)}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-route>.first-leg-date{grid-column:1;grid-row:3}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-route>.airport-swap svg{transform:none}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-field-label{position:static;display:block;margin:0 0 2px;font-size:0;line-height:1.2;color:#5b6b80}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-field-label::after{content:"Abflughafen";font:400 13px/1.2 "Segoe UI",Arial,sans-serif}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-route>.airport-field:nth-child(3):not(.is-picker-open) .airport-field-label::after,html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-extra-leg>.airport-field:nth-child(2):not(.is-picker-open) .airport-field-label::after{content:"Zielflughafen"}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-entry{background:transparent;border:0;padding:0;height:26px;font:700 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open)>.bxx-fl-ico{display:block;position:absolute;left:16px;top:50%;width:22px;height:22px;margin-top:-11px;color:#0c1f44;pointer-events:none}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open)>.bxx-fl-ico svg{display:block;width:22px;height:22px}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field.has-airports:not(.is-picker-open) .airport-entry{position:absolute;width:1px;height:1px;min-height:0;padding:0;opacity:0;pointer-events:none}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:0;width:100%}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-chip{min-height:0;height:auto;padding:0;gap:6px;background:transparent;border:0;width:auto;font:800 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-chip .airport-chip-code{font:800 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-chip:only-child{width:100%;justify-content:flex-start}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-chip:only-child .airport-chip-name{position:static;width:auto;height:auto;overflow:hidden;clip-path:none;white-space:nowrap;text-overflow:ellipsis;min-width:0;font:800 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-chip:only-child .airport-chip-code{display:none}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-remove{flex:none;width:22px;height:22px;min-width:0;min-height:0;padding:0;border:0;border-radius:50%;background:#e8edf3;color:#5b6b80;font:400 15px/22px Arial,sans-serif;text-align:center}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-chip:only-child .airport-remove{position:absolute;right:18px;top:50%;margin-top:-16px;width:32px;height:32px;font-size:20px;line-height:32px}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-extra-legs{counter-reset:bxxleg 1;display:block;margin:0;padding:0}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-extra-leg{counter-increment:bxxleg;display:grid;grid-template-columns:minmax(0,1fr) auto;row-gap:8px;column-gap:8px;position:relative;margin:18px 0 0;padding:34px 0 0;background:transparent;border:0;border-radius:0;box-shadow:none}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-extra-leg::before{content:"Flug " counter(bxxleg);position:absolute;left:2px;top:2px;font:700 17px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-extra-leg>.airport-field:nth-child(1),html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-extra-leg>.airport-field:nth-of-type(1){grid-column:1/-1;grid-row:1}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-extra-leg>.airport-field:nth-of-type(2){grid-column:1/-1;grid-row:2}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-extra-leg>.search-control-label{grid-column:1;grid-row:3}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-extra-leg>select{grid-column:2;grid-row:3;height:56px;min-width:0;max-width:140px;box-sizing:border-box;padding:0 12px;border:1px solid #d9e1ea;border-radius:12px;background-color:#fff;font:600 15px/1.2 "Segoe UI",Arial,sans-serif;color:#0c1f44}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-extra-leg>.remove-flight{position:absolute;right:0;top:0;grid-row:auto;grid-column:auto;width:32px;height:28px;min-height:0;padding:0;border:0;background:none;box-shadow:none;font:300 28px/28px Arial,sans-serif;color:#6b7785}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.first-leg-date,.compact-extra-leg>.search-control-label){display:block;position:relative;min-height:56px;margin:0;padding:0}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.first-leg-date,.compact-extra-leg>.search-control-label) input[type=date]{display:block;width:100%;height:56px;min-height:56px;box-sizing:border-box;margin:0;padding:0 16px;background:#fff;border:1px solid #d9e1ea;border-radius:12px;color:transparent;font-size:16px;-webkit-appearance:none;appearance:none;box-shadow:none}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.first-leg-date,.compact-extra-leg>.search-control-label) input[type=date]::-webkit-calendar-picker-indicator{opacity:0}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.first-leg-date,.compact-extra-leg>.search-control-label) input[type=date]::-webkit-datetime-edit{color:transparent}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.first-leg-date,.compact-extra-leg>.search-control-label)::after{content:attr(data-bxx-date);position:absolute;left:17px;top:28px;transform:translateY(-50%);font:600 16px/1.3 "Segoe UI",Arial,sans-serif;color:#0c1f44;pointer-events:none}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi:not([hidden]){display:flex!important;flex-direction:column;align-items:stretch;row-gap:0} /* .299: :not([hidden]) – sonst blieb die Flugmaske beim Reiterwechsel sichtbar */
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-options{order:1}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-legs){order:2;width:100%}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-extra-legs+.bxx-pax-field{order:2}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-search-tail{order:3;margin-top:14px}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .ticket-search-stub>.search-button{order:4;margin:14px 0 0}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open){display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:auto;gap:0}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi .compact-route>.airport-field:not(.is-picker-open)>.airport-field-label::before{content:none}
html body:has(.home-mode-tabs) form#kayak-search.compact-search.is-multi :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open)>.airport-entry{flex:none;width:100%;min-height:0;max-height:none;height:26px;line-height:26px}
}
/* Release .302 (Sasan 30.09., 32. Chat, iPad-Screenshots 15:43): Ortsauswahl Hotels / Flug + Hotel / Mietwagen / Flüge öffnete auf dem
   echten iPad (Safari) nur als Kasten oben mit Symbol, Rahmen und Unterzeile – die Laufzeit-Umrechnung der iPhone-Regeln in hotel-search.js
   (.295) griff in Safari nicht. Jetzt FEST hier: genau die Regeln, die die Umrechnung im Claude-Browser erzeugt hat (iPhone-Auswahlseite,
   74 Regeln, berechnete Styles verglichen), nur iPad (Touch 561–1400 px) + Startseite (:where(…:has(.home-mode-tabs)) – ohne zusätzliche
   Spezifität). hotel-search.js rechnet nicht mehr um (nur noch Tastatur-Verhalten). PC, iPhone und Routenseiten unverändert. */
@media (pointer:coarse) and (min-width:561px) and (max-width:1400px){
:where(body:has(.home-mode-tabs)) .compact-search .airport-panel{position:fixed;left:12px;right:12px;top:100px;width:auto;max-width:none;max-height:calc(100dvh - 125px);overflow:auto;padding:18px}
body.airport-picker-active:where(:has(.home-mode-tabs)){overflow:hidden}
:where(body:has(.home-mode-tabs)) .compact-search .airport-field.is-picker-open{position:fixed;right:0px;bottom:auto;left:0px;top:var(--picker-top,0px);height:var(--picker-height,100dvh);width:100%;max-width:none;min-height:0px;z-index:100;display:flex;flex-flow:column;align-items:stretch;gap:10px;padding:12px 16px;border:0px;border-radius:0px;background:rgb(255, 255, 255);box-shadow:rgba(25, 32, 36, 0.15) 0px 0px 24px;overflow:hidden}
:where(body:has(.home-mode-tabs)) .is-picker-open .airport-picker-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;min-height:44px;font-size:17px}
:where(body:has(.home-mode-tabs)) .airport-picker-done{flex:0 0 auto;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:rgb(238, 243, 245);color:var(--ink);font-size:16px}
:where(body:has(.home-mode-tabs)) .is-picker-open .airport-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:78px;overflow-y:auto;flex:0 1 auto;min-height:0px}
:where(body:has(.home-mode-tabs)) .is-picker-open .airport-chips:empty{display:none}
:where(body:has(.home-mode-tabs)) .compact-search .is-picker-open .airport-entry{flex:0 0 auto;width:100%;min-width:0px;height:48px;font-size:16px;padding:10px 12px;background:rgb(243, 246, 247);border:1px solid rgb(98, 114, 127);border-radius:8px}
:where(body:has(.home-mode-tabs)) .compact-search .is-picker-open .airport-panel{position:static;inset:auto;display:block;width:100%;max-width:none;max-height:none;min-height:0px;flex:1 1 0px;overflow-y:auto;overscroll-behavior:contain;padding:0px;border-radius:0px;box-shadow:none}
:where(body:has(.home-mode-tabs)) .is-picker-open .airport-choice{min-height:66px;padding:12px 4px;gap:10px;border-bottom:1px solid var(--line)}
:where(body:has(.home-mode-tabs)) .is-picker-open .airport-choice strong{font-size:16px;line-height:1.35;overflow-wrap:anywhere}
:where(body:has(.home-mode-tabs)) .is-picker-open .airport-choice small{font-size:13px;line-height:1.4}
:where(body:has(.home-mode-tabs)) .is-picker-open .airport-select-all{min-height:44px;padding:12px 4px;text-align:left}
:where(body:has(.home-mode-tabs)) .is-picker-open .airport-nearby-section{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
:where(body:has(.home-mode-tabs)) .is-picker-open .nearby-choice{min-height:48px;margin:0px;font-size:15px !important}
:where(body:has(.home-mode-tabs)) .is-picker-open .airport-panel-hint{font-size:12px;margin:8px 0px}
:where(body:has(.home-mode-tabs)) .is-picker-open .airport-field-label{display:none}
:where(body:has(.home-mode-tabs)) .compact-search .airport-field.is-picker-open{grid-area:auto;padding:12px 16px;border:0px;border-radius:0px;background:rgb(255, 255, 255)}
:where(body:has(.home-mode-tabs)) .airport-picker-done{min-width:44px;min-height:44px}
:where(body:has(.home-mode-tabs)) .airport-field.is-picker-open{touch-action:pan-y;overscroll-behavior:contain}
:where(body:has(.home-mode-tabs)) .is-picker-open .airport-choice{grid-template-columns:40px minmax(0px, 1fr) 25px;padding:10px 6px;gap:8px;border:0px;min-height:76px}
:where(body:has(.home-mode-tabs)) .is-picker-open .airport-choice.airport-group-child{grid-template-columns:18px 40px minmax(0px, 1fr) 25px;padding-inline-start:20px;gap:8px}
:where(body:has(.home-mode-tabs)) .is-picker-open .airport-choice .airport-choice-icon{width:40px;height:48px;padding:9px}
:where(body:has(.home-mode-tabs)) .is-picker-open .airport-choice .airport-group-branch{width:18px;height:18px}
:where(body:has(.home-mode-tabs)) .is-picker-open .airport-choice strong{font-size:15px;font-weight:700;line-height:1.4}
:where(body:has(.home-mode-tabs)) .is-picker-open .airport-choice small,:where(body:has(.home-mode-tabs)) .is-picker-open .airport-choice .airport-code{font-size:13px;line-height:1.4}
:where(body:has(.home-mode-tabs)) .compact-search .airport-field.is-picker-open{overflow-y:auto;overscroll-behavior:contain}
:where(body:has(.home-mode-tabs)) .compact-search .is-picker-open .airport-panel{flex:0 0 auto;overflow:visible;max-height:none}
html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-panel{padding:10px 12px}
html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-choice,html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .is-picker-open .airport-choice{min-height:0px;padding:9px 4px;gap:8px;grid-template-columns:22px minmax(0px, 1fr)}
html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-choice strong{font-size:14px;line-height:1.3;font-weight:700}
html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-choice small{display:inline;font-size:12px;margin:0px 0px 0px 6px;line-height:1.3}
html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .hotel-choice-icon{font-size:14px}
html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-panel > p:first-child{font-size:13px;margin:0px 0px 6px}
html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-field.is-picker-open{position:fixed;inset:0px;height:100%;min-height:0px;width:100%;z-index:1100;display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:12px 16px;border:0px;border-radius:0px;background:rgb(255, 255, 255)}
html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-field.is-picker-open > .hotel-field-icon,html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-field.is-picker-open .airport-field-label,html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-field.is-picker-open .hotel-field-text small{display:none}
html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-field.is-picker-open .hotel-field-text{display:block;flex:0 0 auto;width:100%}
html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-field.is-picker-open .airport-entry{width:100%;height:48px;font-size:16px;padding:10px 12px;background:rgb(243, 246, 247);border:1px solid rgb(98, 114, 127);border-radius:8px}
html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-field.is-picker-open .airport-picker-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:17px}
html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-field.is-picker-open .airport-panel{position:static;display:block;width:100%;max-width:none;flex:0 0 auto;max-height:calc(var(--picker-height,100dvh) - 132px);overflow-y:auto;overscroll-behavior:contain;padding:0px 0px 24px;box-shadow:none;border-radius:0px}
html body.airport-picker-active:where(:has(.home-mode-tabs)){position:fixed;inset:0px;width:100%;overflow:hidden}
html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-field.is-picker-open .airport-choice{border-bottom:1px solid var(--hotel-line,#e4eaf2);padding:11px 4px}
html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-field:not(.is-picker-open) .airport-picker-header{display:none}
html body.airport-picker-active:where(:has(.home-mode-tabs)) .site-header{visibility:hidden}
html body.airport-picker-active:where(:has(.home-mode-tabs)) :has(.is-picker-open){z-index:auto !important}
html body:where(:has(.home-mode-tabs)) .compact-search .airport-field.is-picker-open{z-index:1300}
html body:where(:has(.home-mode-tabs)) .hotel-search .airport-field.is-picker-open .hotel-field-text{flex:0 0 auto !important;height:auto !important}
html body:where(:has(.home-mode-tabs)) .hotel-search .airport-field.is-picker-open .airport-panel{min-height:0px;overflow-y:auto;flex:1 1 0px !important}
html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-choice.hotel-choice,html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .is-picker-open .airport-choice.hotel-choice{grid-template-columns:48px minmax(0px, 1fr);gap:12px;align-items:center}
html body.airport-picker-active:where(:has(.home-mode-tabs))::before{content:"";position:fixed;inset:-50vh 0px;background:rgb(243, 245, 248);z-index:1050;animation:0.2s ease-out 0s 1 normal none running bxxPickerShade}
html body.airport-picker-active:where(:has(.home-mode-tabs)) :has(.is-picker-open){isolation:auto !important}
html body:where(:has(.home-mode-tabs)) .compact-search .airport-field.is-picker-open{box-shadow:none;animation:0.32s cubic-bezier(0.2, 0.8, 0.2, 1) 0s 1 normal none running bxxPickerIn}
html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .airport-panel:not([hidden]){display:flex;flex-direction:column}
html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .airport-nearby-section{order:-1;border-top:0px;border-bottom:1px solid rgb(223, 229, 234);margin:0px;padding:0px}
html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .airport-nearby-section[hidden]{display:none}
html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .nearby-choice{flex-direction:row;justify-content:space-between;align-items:center;gap:14px;min-height:56px;margin:0px;padding:8px 16px;background:transparent;border-radius:0px;font-weight:400;color:rgb(29, 36, 51);font-size:16px !important}
html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .nearby-choice input{appearance:none;position:relative;flex:0 0 auto;width:50px;height:30px;margin:0px;border:0px;border-radius:15px;background:rgb(170, 180, 191);cursor:pointer;transition:background 0.2s}
html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .nearby-choice input::before{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:rgb(255, 255, 255);box-shadow:rgba(0, 0, 0, 0.2) 0px 1px 3px;transition:transform 0.2s}
html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .nearby-choice input:checked{background:rgb(10, 102, 232)}
html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .nearby-choice input:checked::before{transform:translateX(20px)}
html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .nearby-choice input:disabled{opacity:0.5}
html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .nearby-choice input:focus-visible{outline:rgb(10, 102, 232) solid 2px;outline-offset:2px}
html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .airport-nearby-section .airport-panel-hint{display:none}
html body.airport-picker-active:where(:has(.home-mode-tabs))::before{background:rgb(255, 255, 255)}
html body:where(:has(.home-mode-tabs)) .compact-search .airport-field.is-picker-open,html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .airport-picker-header,html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .airport-recent,html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .airport-choices,html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .airport-entry{background:rgb(255, 255, 255)}
html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .airport-panel{background:rgb(255, 255, 255);border:0px;border-radius:0px;box-shadow:none}
html body:where(:has(.home-mode-tabs)) .compact-search .is-picker-open .airport-choice{border-bottom:1px solid rgb(223, 229, 234);border-radius:0px}
html body:where(:has(.home-mode-tabs)) form#kayak-package-search .airport-field.is-picker-open{height:100%;min-height:0px;padding:12px 16px;border:0px;border-radius:0px;gap:10px}
html body:where(:has(.home-mode-tabs)) form#kayak-package-search .airport-field.is-picker-open .hotel-field-text{display:block;flex:0 0 auto;width:100%;height:auto}
html body:where(:has(.home-mode-tabs)) form#kayak-package-search .airport-field.is-picker-open .hotel-field-text small{display:none}
html body:where(:has(.home-mode-tabs)) form#kayak-package-search .airport-field.is-picker-open .hotel-field-text .airport-entry{width:100%;height:48px;max-height:none;line-height:24px;font-size:16px;padding:10px 12px;border:1px solid rgb(98, 114, 127);border-radius:8px}
html body:where(:has(.home-mode-tabs)) form#kayak-package-search .airport-field.is-picker-open .hotel-field-text .airport-entry::placeholder{color:rgb(123, 142, 166);font-weight:600}
html body:where(:has(.home-mode-tabs)) .hotel-search.hotel-search .airport-field.is-picker-open .airport-entry,html body:where(:has(.home-mode-tabs)) form#kayak-package-search .airport-field.is-picker-open .hotel-field-text .airport-entry{background:rgb(255, 255, 255)}
html body:where(:has(.home-mode-tabs)) .hotel-search .is-picker-open .airport-panel > .airport-panel-hint{display:none}
}
/* Release .303 (Sasan 30.09., 32. Chat): „Alter des Fahrers“ fehlte seit .297 auf iPad UND iPhone – im erzeugten car-search.js stand der
   Kommentar „// Release .296 …“ vor placeAge() in derselben Zeile und schaltete es ab (make_car_js.py korrigiert). Auf dem iPad steht der
   Suchknopf fest in Zeile 3 – das Feld kommt wie auf dem iPhone davor: Abholort, Datum, Alter des Fahrers, Suchen. */
@media (pointer:coarse) and (min-width:561px) and (max-width:1400px){
html body:has(.home-mode-tabs) form#kayak-car-search .compact-route>.car-option{grid-row:3}
html body:has(.home-mode-tabs) form#kayak-car-search .compact-route>.search-button{grid-row:4}
}
/* Release .376: Flug + Hotel-Maske auf der Startseite (fluege.billigxxl.de/?tab=package) – Preiskalender wie auf der Ergebnisseite (flight-results.css .373/.375):
   HTML-Tooltip (PC), am Handy Preis unter dem Tag („~“ = geschätzt). Sasan 00:19 (iPhone): Preis stand neben der Zahl, weil diese Regeln hier fehlten. */
.package-search .pk-cal-tip{position:absolute;z-index:30;transform:translate(-50%,calc(-100% - 6px));background:#192024;color:#fff;font:600 12px/1.3 inherit;padding:5px 9px;border-radius:6px;white-space:nowrap;pointer-events:none;box-shadow:0 4px 14px rgba(15,23,42,.22)}
.package-search .pk-cal-tip[hidden],.package-search .package-price-note[hidden]{display:none}
.package-search .pk-cal-price,.package-search .pk-note-tilde{display:none}
@media(max-width:560px){.package-search .calendar-days .calendar-day{min-height:52px}.package-search .calendar-day.has-price{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.1;padding:4px 0}.package-search .pk-cal-price{display:block;font-size:11px;font-weight:600;letter-spacing:-.2px;opacity:.9;white-space:nowrap}.package-search .pk-note-tilde{display:inline}}
/* Release .377 (Sasan 00:2x: Preis im Tag „auch“ am PC): Preis unter dem Tag auf allen Breiten, Tage höher; 561–1180 px (zwei schmale Monate) kleiner und ohne „€“ */
.package-search .calendar-days .calendar-day{min-height:54px}
.package-search .calendar-day.has-price{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.1;padding:4px 0}
.package-search .pk-cal-price{display:block;font-size:11px;font-weight:600;letter-spacing:-.2px;opacity:.9;white-space:nowrap}
.package-search .pk-note-tilde{display:inline}
@media(min-width:561px) and (max-width:1180px){.package-search .pk-cal-price{font-size:9.5px;letter-spacing:-.3px}}
/* Release .378 (Sasan: „mit Eurozeichen ist gut“): € immer – bei schmalen Tagen (561–1180 px) in eigener Zeile unter der Zahl */
@media(min-width:561px) and (max-width:1180px){.package-search .pk-cal-eur{display:block}}
@media(max-width:560px){.package-search .calendar-days .calendar-day{min-height:52px}}
/* Release .381 (Sasan Ende 49. Chat: Flug-Kalender „genauso“ wie Flug + Hotel): Datumswähler der Flugsuche – Preis mit € unter dem Tag
   („~“ = von KAYAK geschätzt), Tage höher, HTML-Tooltip (Maus). Gilt nur mit .fl-cal (search.js setzt die Klasse; zuerst Vorschau-Schalter). */
.fl-cal .calendar-days .calendar-day{min-height:54px}
.fl-cal .calendar-day.has-price{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.1;padding:4px 0}
.fl-cal .pk-cal-price{display:block;font-size:11px;font-weight:600;letter-spacing:-.2px;opacity:.9;white-space:nowrap}
.fl-cal .fl-cal-tip{position:absolute;z-index:30;transform:translate(-50%,calc(-100% - 6px));background:#192024;color:#fff;font-size:12px;font-weight:600;line-height:1.3;padding:5px 9px;border-radius:6px;white-space:nowrap;pointer-events:none;box-shadow:0 4px 14px rgba(15,23,42,.22)}
.fl-cal-tip[hidden]{display:none}
@media(max-width:620px){.fl-cal .calendar-days .calendar-day{min-height:52px}}

/* Release .420 (wie flight-results.css .419, für den Kalender auf der Startseite; Sasan 55. Chat, Flug-Kalender Rückflugpreise): Schritt-Zeile Hinflug → Rückflug, Tage vor dem Hinflug grau mit Preis,
   beim Laden die letzten Preise blasser. */
.cal-step{display:flex;align-items:center;gap:10px;margin:2px 0 12px;padding:8px 12px;border-radius:12px;background:#f4f7fb;font-size:13.5px;color:#5b6b82}
.cal-step[hidden]{display:none}
.cal-step-item{display:flex;align-items:center;gap:6px;white-space:nowrap}
.cal-step-item b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#dfe6ef;color:#5b6b82;font-size:12px}
.cal-step-item strong{color:#0b2a55}
.cal-step-item.is-now{color:#0b2a55;font-weight:700}
.cal-step-item.is-now b{background:#0b57c9;color:#fff}
.cal-step-item.is-now strong{color:#0b57c9}
.cal-step-item.is-done b{background:#1f9a6c;color:#fff}
.cal-step-line{flex:0 0 26px;height:2px;border-radius:2px;background:#cfd8e4}
.calendar-day.cal-before:not(.date-selected){background:#eef1f5!important;color:#a3adbb!important;border-color:#e3e8ef!important}
.calendar-day.cal-before:not(.date-selected) .pk-cal-price{color:#a3adbb!important}
.calendar-day.cal-stale .pk-cal-price{opacity:.45}
/* Release .421: Summe Hin + Rück rechts in der Schritt-Zeile. */
.cal-step-total{margin-left:auto;font-weight:800;color:#0b2a55;white-space:nowrap}

/* Release .422 (Sasan 55. Chat: „da oben … zu viel Januar, zu viel Februar … zu viele Zahlen … kompakter machen“ – Vorschau ?vorschau=kopf):
   kompakter Kalender-Kopf – statt zwei großer Datumsfelder + „genau“-Auswahl + Schritt-Zeile EINE Zeile: je Strecke ein Feld (Nummer/✓,
   Hinflug/Rückflug, Datum, „genau ▾“), rechts „Hin + Rück“ mit der Summe. Am Handy zwei Felder nebeneinander, Summe darunter. */
.cal-compact .calendar-inputs{display:none}
.cal-head{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:5px;border-radius:14px;background:#f4f7fb;color:#0b2a55}
.cal-head [hidden],.cal-head[hidden]{display:none!important}
.cal-leg{display:flex;align-items:center;min-width:0;border:1.5px solid transparent;border-radius:10px}
.cal-leg.is-now{background:#fff;border-color:#0b57c9;box-shadow:0 1px 3px rgba(11,42,85,.12)}
.cal-leg-pick{display:grid;grid-template-columns:22px auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;min-width:0;margin:0;padding:5px 6px 5px 9px;border:0;border-radius:9px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.cal-leg-pick b{grid-row:1/3;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#dfe6ef;color:#5b6b82;font-size:12px}
.cal-leg-l{font-size:12px;line-height:1.2;color:#5b6b82}
.cal-leg-d{font-size:15px;font-weight:800;line-height:1.25;white-space:nowrap}
.cal-leg.is-now .cal-leg-pick b{background:#0b57c9;color:#fff}
.cal-leg.is-now .cal-leg-l{color:#0b57c9;font-weight:700}
.cal-leg.is-done .cal-leg-pick b{background:#1f9a6c;color:#fff}
.cal-leg.is-next .cal-leg-d{color:#5b6b82;font-weight:650}
.cal-leg-flex{position:relative;display:flex;align-items:center;gap:5px;margin:0 8px 0 2px;padding:3px 9px;border-radius:999px;background:#e6edf6;color:#33475f;font-size:12px;font-weight:650;line-height:1.3;white-space:nowrap;cursor:pointer}
.cal-leg.is-now .cal-leg-flex{background:#eaf3ff;color:#0b57c9}
.cal-leg-flex::after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.cal-leg-flex select{position:absolute;inset:0;width:100%;max-width:none;height:100%;min-height:0;margin:0;padding:0;border:0;opacity:0;font-size:16px;cursor:pointer}
.cal-head .cal-step-line{flex:0 0 18px;height:2px;border-radius:2px;background:#cfd8e4}
.cal-head-total{display:flex;flex-direction:column;align-items:flex-end;margin-left:auto;padding:0 10px 0 6px;line-height:1.25;white-space:nowrap}
.cal-head-total small{font-size:12px;color:#5b6b82}
.cal-head-total strong{font-size:15px;font-weight:800}
@media(max-width:560px){
  .cal-head{display:grid;grid-template-columns:1fr 1fr;gap:5px}
  .cal-head.is-one{grid-template-columns:1fr}
  .cal-head .cal-step-line{display:none}
  .cal-leg{flex-direction:column;align-items:flex-start}
  .cal-leg-pick{width:100%}
  .cal-leg-flex{margin:0 0 6px 39px}
  .cal-head-total{grid-column:1/-1;flex-direction:row;justify-content:flex-end;align-items:baseline;gap:8px;margin:0;padding:1px 8px 3px}
}

/* Release .424 (Sasan 56. Chat: „unten eine kleine Legende … mit Farben … kein Text … Mouse-Over“ – Vorschau ?vorschau=legende): Farb-Legende
   unter dem Kalender (nur Farbfelder, Erklärung als HTML-Blase bei Maus/Fokus/Antippen), Blasen auch am Kopf. Erklärtext unten nur noch für Screenreader. */
.cal-legend{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin:12px 0 0 -6px}
.cal-legend[hidden]{display:none}
.cal-lg-i{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;cursor:help;outline:none;-webkit-tap-highlight-color:transparent}
.cal-lg-i:hover,.cal-lg-i:focus-visible{background:#eef3f9}
.cal-lg-i:focus-visible{box-shadow:0 0 0 2px #0b57c9 inset}
.cal-lg-i i{display:grid;place-items:center;width:16px;height:16px;border-radius:4px;font-style:normal;font-size:12px;font-weight:800;line-height:1}
.cal-lg-low i{background:#83deb1}.cal-lg-mid i{background:#ffc779}.cal-lg-high i{background:#fa9da7}
.cal-lg-sel i{background:#062e69}.cal-lg-range i{background:#0a66e8}.cal-lg-before i{background:#eef1f5;box-shadow:0 0 0 1px #cfd6e0 inset}
.cal-lg-est i{background:#f1f4f8;color:#33475f;box-shadow:0 0 0 1px #cfd6e0 inset}
.cal-lg-info i{border-radius:50%;background:#0b57c9;color:#fff;font-family:Georgia,serif;font-size:11px}
.calendar-price-note.cal-note-sr{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.cal-help-tip{position:absolute;z-index:31;max-width:260px;padding:8px 11px;border-radius:8px;background:#192024;color:#fff;font-size:12.5px;font-weight:600;line-height:1.4;text-align:left;white-space:normal;transform:translate(-50%,calc(-100% - 8px));pointer-events:none;box-shadow:0 6px 18px rgba(15,23,42,.25)}
.cal-help-tip[hidden]{display:none}
/* Release .425: Blasen am Kalender-Kopf unter dem Feld (oben schnitt der Rand sie ab). */
.cal-help-tip.is-below{transform:translate(-50%,8px)}

/* Release .433 (CLS Computer 0,148): Bis search.js die Flugmaske aufgebaut hat (.compact-search), bleibt die
 Rohform unsichtbar und belegt genau die Höhe der fertigen Maske (>1100 px 145, bis 1100 px 207, bis 620 px 467,9) –
 nichts darunter springt. #reise-suche hat .flight-ticket schon vom Server. Ohne JavaScript gilt die Regel nicht. */
@media (scripting:enabled){.flight-ticket>#kayak-search:not(.compact-search){visibility:hidden;overflow:hidden;box-sizing:border-box;height:145px;margin:0;padding:0;border:0;max-width:none}}
@media (scripting:enabled) and (max-width:1100px){.flight-ticket>#kayak-search:not(.compact-search){height:207px}}
@media (scripting:enabled) and (max-width:620px){.flight-ticket>#kayak-search:not(.compact-search){height:467.9px}}

/* Release .501 (Sasan 01.10., 77. Chat: Datum „wie bei Flüge“ – Flug + Hotel am iPhone war gekürzt „Fr., 2. O…“; Entscheidung „Kalender-Symbol kleiner“):
   nur iPhone (weder iPad bxx-tm noch PC bxx-dk), Datumsfeld Flug + Hotel; Release .502: auch Hotels und Mietwagen (bei 360 px gekürzt) – Symbol 18 px, Abstand 8 px, Innenrand 8 px; Schrift bleibt 16 px. */
html:not(.bxx-tm):not(.bxx-dk) body form:is(#kayak-package-search,#kayak-hotel-search,#kayak-car-search) .hotel-field.hotel-field-dates>span{padding-left:8px!important;padding-right:8px!important;gap:8px!important}
html:not(.bxx-tm):not(.bxx-dk) body form:is(#kayak-package-search,#kayak-hotel-search,#kayak-car-search) .hotel-field.hotel-field-dates .hotel-field-icon,html:not(.bxx-tm):not(.bxx-dk) body form:is(#kayak-package-search,#kayak-hotel-search,#kayak-car-search) .hotel-field.hotel-field-dates .hotel-field-icon svg{width:18px!important;height:18px!important;flex:none}

/* Release .504 (Sasan 01.10., 78. Chat, Fragebogen 22:2x „alle gleich, keine Farbspiele“): alle Masken gleiche Farben auf PC, iPad, iPad mini, iPhone –
   Felder weiß mit dünnem Rahmen #e4eaf2 wie Flug + Hotel, Suchen-Knopf Hotels/Mietwagen Orange #fd6318 wie Flug + Hotel („Flüge finden“ bleibt #d84d32);
   Flüge-Startseite am PC: Felder weiß statt grau. Keine Breiten-Abfrage; Auswahlseite (.is-picker-open) und Fokus-Rahmen unverändert. */
html body form:is(#kayak-hotel-search,#kayak-car-search) :is(.airport-field,.search-popover>.search-popover-trigger):not(.is-picker-open){background:#fff!important;border-radius:12px!important}
html body form:is(#kayak-hotel-search,#kayak-car-search) :is(.airport-field,.search-popover>.search-popover-trigger):not(.is-picker-open):not(:focus-within):not(:focus){border-color:#e4eaf2!important}
html body form:is(#kayak-hotel-search,#kayak-car-search) .search-button{background:#fd6318!important;border-color:#fd6318!important;color:#fff!important;border-radius:12px!important}
html body:has(.home-mode-tabs) form#kayak-search :is(.compact-route>.airport-field,.compact-route>.search-dates>.search-popover-trigger):not(.is-picker-open){background:#fff!important}
html body:has(.home-mode-tabs) form#kayak-search :is(.compact-route>.airport-field,.compact-route>.search-dates>.search-popover-trigger):not(.is-picker-open):not(:focus-within):not(:focus){border-color:#e4eaf2!important}
/* Release .507 (Sasan 01.10., 79. Chat: Mietwagen-Uhrzeit „wie KAYAK … über den Kalender“): unten im Mietwagen-Kalender je Spalte
   Beschriftung, Datum und darunter die Uhrzeit mit „›“ (Auswahl der halben Stunden aus der KAYAK-API, 12:00 = „Mittags“). Ersetzt die
   Zeile „Abholzeit/Rückgabezeit“. Auf allen Geräten gleich – keine Breiten-Abfrage. */
form#kayak-car-search .calendar-inputs.car-when{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:14px 0 0;padding:12px 0 0;border-top:1px solid #e4eaf2}
form#kayak-car-search .car-when .car-when-cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;min-width:0;margin:0;padding:2px 14px}
form#kayak-car-search .car-when .car-when-cell:first-child{padding-left:2px}
form#kayak-car-search .car-when .car-when-cell+.car-when-cell{border-left:1px solid #e4eaf2}
form#kayak-car-search .car-when .car-when-label{color:#54647b;font-size:12px;font-weight:600;line-height:1.2}
form#kayak-car-search .car-when .calendar-choice{appearance:none;-webkit-appearance:none;display:block;max-width:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#0d1b2e;font-family:inherit;font-size:16px;font-weight:800;line-height:1.25;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
form#kayak-car-search .car-when .calendar-choice[aria-pressed=true]{color:#0755b7}
form#kayak-car-search .car-when .car-when-time{position:relative;display:inline-flex;align-items:center;gap:7px;max-width:100%;margin:-5px 0 -7px;padding:5px 10px 7px 0;color:#0d1b2e;font-size:16px;font-weight:600;line-height:1.3;cursor:pointer}
form#kayak-car-search .car-when .car-when-time::after{content:"›";color:#54647b;font-size:21px;font-weight:600;line-height:1;transform:translateY(-1px)}
form#kayak-car-search .car-when .car-when-time select{appearance:none;-webkit-appearance:none;position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;opacity:0;font-size:16px;cursor:pointer}
form#kayak-car-search .car-when .car-when-time:has(select:focus-visible){outline:2px solid #0755b7;outline-offset:3px;border-radius:4px}
/* Release .509 (Sasan 01.10., 79. Chat: „Auf dem Desktop, der Flug – die Schriftarten sind nicht angeglichen … nicht so fett wie die anderen“):
   Startseite, Flüge-Maske am PC (Maus = pointer:fine, keine Breiten-Abfrage): Ortsnamen, Eingabe und Datum 800/15 wie Hotels und Mietwagen
   (vorher 400/14 bzw. 400/15). iPhone (800/16) und iPad unverändert; nur Schrift, Ausrichtung und Größen der Felder bleiben. */
@media (pointer:fine){html body:has(.home-mode-tabs) form#kayak-search :is(.compact-route,.compact-extra-leg)>.airport-field .airport-chip-name,html body:has(.home-mode-tabs) form#kayak-search :is(.compact-route,.compact-extra-leg)>.airport-field>.airport-entry,html body:has(.home-mode-tabs) form#kayak-search .compact-route>.search-dates>.search-popover-trigger{font-weight:800;font-size:15px}}
/* Release .510 (Sasan 01.10., 80. Chat: „Flug und Hotel in Desktop hat eine größere Schrift … alle gleich … 18 auf 15“, „das, was in der Input steht, reicht … doppelt … nur ein Text drin … ruhiger … überall“;
   Fragebogen 23:1x: „Überall“ und Flug + Hotel „Ja, wie Hotels“): Startseite, alle vier Masken, alle Geräte – nur ein Text je Feld, keine Überschriften mehr
   (Abflughafen/Zielflughafen/Reisedaten, Abflughafen/Reiseziel/Hotel/Reisende, Check-in/Check-out, Abholung/Rückgabe, Hinweise). Werte fett 800: PC 15 px,
   Touch (iPhone/iPad) 16 px (iOS zoomt bei Eingaben unter 16 px). PC: Flug + Hotel Felder 64 px hoch und Knopf 16 px wie Hotels/Mietwagen. Keine Breiten-Abfrage. */
html body:has(.home-mode-tabs) form:is(#kayak-package-search,#kayak-hotel-search,#kayak-car-search) .hotel-field-text>small{display:none!important}
html body:has(.home-mode-tabs) form:is(#kayak-package-search,#kayak-hotel-search,#kayak-car-search) .hotel-field-text{justify-content:center}
html body:has(.home-mode-tabs) form#kayak-search :is(.compact-route,.compact-extra-leg)>.airport-field:not(.is-picker-open) .airport-field-label{display:none!important}
html body:has(.home-mode-tabs) form#kayak-search :is(.compact-route>.search-dates>.search-popover-trigger,.bxx-pax-field)::before{content:none!important;display:none!important}
@media (pointer:fine){html body:has(.home-mode-tabs) form#kayak-package-search :is(.hotel-field-text strong,.hotel-field-text .airport-entry,.hotel-field-dates strong){font-size:15px}html body:has(.home-mode-tabs) form#kayak-package-search :is(.hotel-field,.search-popover-trigger.hotel-field){min-height:64px;height:64px}html body:has(.home-mode-tabs) form#kayak-package-search .hotel-field-dates>span{min-height:62px}html body:has(.home-mode-tabs) form#kayak-package-search .package-submit{min-height:64px;height:64px;font-size:16px}html body:has(.home-mode-tabs) form:is(#kayak-hotel-search,#kayak-car-search) :is(.hotel-field,.search-popover-trigger.hotel-field){box-sizing:border-box;min-height:64px}}
@media (pointer:coarse){html body:has(.home-mode-tabs) form:is(#kayak-search,#kayak-package-search,#kayak-hotel-search,#kayak-car-search) :is(.hotel-field-text strong,.hotel-field-text .airport-entry,.compact-route>.airport-field:not(.is-picker-open) .airport-chip-name,.compact-route>.airport-field:not(.is-picker-open)>.airport-entry){font-size:16px;font-weight:800}html body:has(.home-mode-tabs) form#kayak-search.compact-search:not(.is-multi) :is(.compact-route>.airport-field:not(.is-picker-open) .airport-entry,.bxx-pax-field){font-size:16px;font-weight:800}html body:has(.home-mode-tabs) form#kayak-search .compact-route>.search-dates>.search-popover-trigger::after{font-size:16px}}
/* Release .511 (80. Chat): iPhone-Flüge-Datum (Text über ::after) war 600 – jetzt 800 wie alle Werte (Sasan: „alles gleich“). Nur Touch. */
@media (pointer:coarse){html body:has(.home-mode-tabs) form#kayak-search .compact-route>.search-dates>.search-popover-trigger::after{font-weight:800}}
/* Release .512 (80. Chat): iPad-Flüge-Datum ([data-bxx-date]::after) war 18 px – jetzt 16 px/800 wie alle Werte am iPhone/iPad (Sasan: „alles gleich“). Nur Touch. */
@media (pointer:coarse){html body:has(.home-mode-tabs) form#kayak-search .compact-route>.search-dates>.search-popover-trigger:is([data-bxx-date],:not([data-bxx-date]))::after{font-size:16px;font-weight:800}}
/* Release .513 (Sasan 01.10., 80. Chat, Fragebogen 23:2x: „Flüge-Datum am Handy/iPad“, „Feldhöhen iPhone“, „Platzhalter-Farbe Flüge“ – angleichen):
   Startseite: Platzhalter aller Masken dunkel 800 wie Flug + Hotel; Touch: Flüge-Datum als „Do., 1. Okt. – Do., 8. Okt.“ (eigener Text statt ::after „Do 01.10.“);
   iPhone: Flug + Hotel Felder 52 px und Knopf 48 px wie Hotels/Mietwagen; iPhone Flüge-Reisende wieder 600 (bei 800 gekürzt „Gepäckstü…“). */
html body:has(.home-mode-tabs) form:is(#kayak-search,#kayak-package-search,#kayak-hotel-search,#kayak-car-search) .airport-field:not(.is-picker-open) input::placeholder{color:var(--ink,#12233f);opacity:1;font-weight:800}
@media (pointer:coarse){html body:has(.home-mode-tabs) form#kayak-search .compact-route>.search-dates>.search-popover-trigger:is([data-bxx-date],:not([data-bxx-date])){font-size:16px!important;font-weight:800!important;color:var(--ink,#12233f)}html body:has(.home-mode-tabs) form#kayak-search .compact-route>.search-dates>.search-popover-trigger:is([data-bxx-date],:not([data-bxx-date]))::after{content:none;display:none}}
@media (max-width:560px){html body:has(.home-mode-tabs) form#kayak-package-search.hotel-search :is(.hotel-field,.search-popover-trigger.hotel-field):not(.is-picker-open){min-height:52px;height:52px}html body:has(.home-mode-tabs) form#kayak-package-search.hotel-search .hotel-field-dates>span{min-height:50px}html body:has(.home-mode-tabs) form#kayak-package-search.hotel-search .package-submit{min-height:48px;height:48px}html body:has(.home-mode-tabs) form#kayak-search .bxx-pax-field{font-weight:600!important}}
/* Release .515 (Sasan 01.10., 81. Chat, iPhone-Screenshot Mietwagen: „der Ort muss nach links“, „wir trennen [die Uhrzeit] vom Datum … extra Input … darunter“, „Rückgabe hat auch kein Icon“, „Alter des Fahrers hat wieder eine andere Schrift“):
   (1) Ortsfelder Hotels/Flug + Hotel/Mietwagen linksbündig über die ganze Breite – .510 „justify-content:center“ zentrierte die Ortsspalte; Safari macht das Eingabefeld schmaler → Name mittig und abgeschnitten. (2) iPhone: Mietwagen-Datum einzeilig links, Kalender-Symbol auch bei der Rückgabe, darunter Uhrzeit-Zeile (car-search.js). (3) Touch: Alter des Fahrers 16/800 wie die anderen Felder. */
html body:has(.home-mode-tabs) form:is(#kayak-package-search,#kayak-hotel-search,#kayak-car-search) .airport-field:not(.is-picker-open) .hotel-field-text{justify-content:start;grid-template-columns:minmax(0,1fr)}
html body:has(.home-mode-tabs) form:is(#kayak-package-search,#kayak-hotel-search,#kayak-car-search) .airport-field.is-filled:not(.is-picker-open) .hotel-field-text{padding-right:36px}
html body:has(.home-mode-tabs) form:is(#kayak-package-search,#kayak-hotel-search,#kayak-car-search) .airport-field:not(.is-picker-open) .hotel-field-text>.airport-entry{flex:1 1 auto;width:100%;min-width:0;text-align:left;text-overflow:ellipsis}
html body:has(.home-mode-tabs) form#kayak-car-search .hotel-field-dates .hotel-field-icon[hidden]{display:none!important}
@media (max-width:560px){html body:has(.home-mode-tabs) form#kayak-car-search .hotel-field-dates .hotel-field-text{justify-content:start}}
html body:has(.home-mode-tabs) form#kayak-car-search .car-time-field:not([hidden]){display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px;height:52px;min-height:52px;box-sizing:border-box;margin:0;padding:0 14px;border:1px solid #e4eaf2;border-radius:12px;background:#fff;color:var(--ink)}
html body:has(.home-mode-tabs) form#kayak-car-search .car-time-field>span{position:relative;display:flex;align-items:center;gap:8px;height:48px;min-width:0;padding:0 8px;box-sizing:border-box;cursor:pointer}
html body:has(.home-mode-tabs) form#kayak-car-search .car-time-field>span+span{border-left:1px solid #e4eaf2}
html body:has(.home-mode-tabs) form#kayak-car-search .car-time-field strong{min-width:0;overflow:hidden;font-size:16px;font-weight:800;line-height:24px;white-space:nowrap;text-overflow:ellipsis;color:var(--ink)}
html body:has(.home-mode-tabs) form#kayak-car-search .car-time-field select{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;font-size:16px;cursor:pointer;-webkit-appearance:none;appearance:none}
@media (pointer:coarse){html body:has(.home-mode-tabs) form#kayak-car-search .compact-route>.car-option :is(span,select){font-size:16px;font-weight:800;color:var(--ink)}}
/* Release .589 (Sasan A39): Preiskalender ruhig wie die Balken-Karte – Tage neutral (Preise bleiben stehen), nur EIN günstigster Tag hellgrün
   (wie .kf-zr-col.is-cheap) und höchstens EIN teuerster dezent rot umrandet; gewählter Zeitraum durchgehend in einem ruhigen Hellblau,
   Hin- und Rücktag dunkel (date-selected unverändert). Größen unverändert. */
html body .calendar-day.date-in-range{background:#e5efff;color:#123b68}
html body .calendar-day.date-in-range:hover{background:#d3e3fb}
html body .calendar-day.price-min:not(.date-selected){background:#cdeee0;color:#0d5c37}
html body .calendar-day.price-min:not(.date-selected):hover{background:#b1e1cc}
html body .calendar-day.price-max:not(.date-selected){box-shadow:inset 0 0 0 1.5px #e9a5ad}
.cal-lg-min i{background:#cdeee0}
.cal-lg-max i{background:#fff;box-shadow:0 0 0 1.5px #e9a5ad inset}
/* Release .593 (Sasan F40): Preise in den Tagen dezent grau, nur die günstigsten (Hinflug/Rückflug) grün; kein „Teuerster“ mehr; Hover-
   Vorschau als eigene dezente Fläche (date-preview) – der gewählte Zeitraum bleibt durchgehend hellblau; günstigster Tag auch im Zeitraum
   grün, als gewählter (dunkler) Tag mit grünem Ring. */
html body .calendar-day .pk-cal-price{color:#8392a6}
html body .calendar-day.date-selected .pk-cal-price{color:#fff}
html body .calendar-day.price-min .pk-cal-price{color:#0d6b40;font-weight:700;opacity:1}
html body .calendar-day.date-selected.price-min{outline:2px solid #2fb57a;outline-offset:-2px}
html body .calendar-day.date-selected.price-min .pk-cal-price{color:#fff}
html body .calendar-day.price-max:not(.date-selected){box-shadow:none}
html body .calendar-day.date-preview:not(.date-selected):not(.price-min){background:#f2f6fd;box-shadow:inset 0 0 0 1px #d3e2f8}
/* Release .596 (Sasan F44): Preis-Blase im Kalender in der obersten Reihe unter dem Tag statt darüber (bleibt im Fenster). */
.fl-cal .fl-cal-tip.is-below,.package-search .pk-cal-tip.is-below{transform:translate(-50%,6px)}
/* Release .597 (Sasan A42): Preisbalken der Ergebnisseite (fl-pb) klein im Flug-Kalender – gleiche Farben/Formen, niedrigere Säulen, kleinere Schrift. */
.cal-pb{--pb-bar:#d6dce6;--pb-bar-hi:#bcc6d6;--pb-min:#a3d9c2;--pb-sel:#2a9d80;--pb-ink:#16233f;--pb-mute:#66758c;--pb-green:#1f9a6c;--pb-top:28px;--pb-bh:38px;position:relative;margin:0 0 10px;padding:8px 10px 0;background:#fff;border:1px solid #e3e8f0;border-radius:12px;color:var(--pb-ink)}
.cal-pb[hidden]{display:none}
.cal-pb-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.cal-pb.is-one .cal-pb-panels{grid-template-columns:minmax(0,1fr)}
.cal-pb-panel{display:grid;grid-template-columns:16px minmax(0,1fr) 16px;column-gap:3px;min-width:0}
.cal-pb-panel[hidden]{display:none}
.cal-pb-panel+.cal-pb-panel{border-left:1px solid #e8edf3;padding-left:10px;margin-left:10px}
.cal-pb-kind{grid-column:2;grid-row:1;font-size:12.5px;font-weight:800;line-height:1.3;white-space:nowrap}
.cal-pb-plot{grid-column:2;grid-row:2;position:relative;min-width:0;padding-top:var(--pb-top)}
.cal-pb-arrow{grid-row:2;align-self:start;margin-top:calc(var(--pb-top) + var(--pb-bh) / 2 - 11px);display:inline-flex;align-items:center;justify-content:center;width:16px;height:22px;padding:0;border:0;border-radius:5px;background:none;color:var(--pb-ink);cursor:pointer;font-size:0;transition:background .15s}
.cal-pb-arrow::before{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateX(2px) rotate(135deg)}
.cal-pb-arrow.is-next::before{transform:translateX(-2px) rotate(-45deg)}
.cal-pb-arrow.is-prev{grid-column:1}.cal-pb-arrow.is-next{grid-column:3}
.cal-pb-arrow:hover:not(:disabled){background:#eef3f8}
.cal-pb-arrow:disabled{opacity:.25;cursor:default}
.cal-pb-bars{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));align-items:end;height:var(--pb-bh)}
.cal-pb-col{display:flex;align-items:flex-end;justify-content:center;height:100%;min-width:0;padding:0 14%;margin:0;border:0;background:none;cursor:pointer;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
.cal-pb-col:disabled{cursor:default}
.cal-pb-col:focus-visible{outline:2px solid var(--pb-sel);outline-offset:1px;border-radius:3px}
.cal-pb-bar{display:block;width:100%;max-width:18px;height:calc(var(--h) * 100%);background:var(--pb-bar);border-radius:2px 2px 1px 1px;transform-origin:bottom;transition:background .18s}
.cal-pb-bars.is-grow .cal-pb-bar{animation:calPbUp .45s cubic-bezier(.2,.8,.25,1) both;animation-delay:calc(var(--i) * 10ms)}
.cal-pb-col.is-min .cal-pb-bar{background:var(--pb-min)}
.cal-pb-col.is-empty .cal-pb-bar{background:#edf1f6}
.cal-pb-col:hover:not(:disabled) .cal-pb-bar{background:var(--pb-bar-hi)}
.cal-pb-col.is-min:hover:not(:disabled) .cal-pb-bar{background:#8fd0b4}
.cal-pb-col.is-sel .cal-pb-bar,.cal-pb-col.is-sel:hover .cal-pb-bar{background:var(--pb-sel)}
.cal-pb-plot.is-wait .cal-pb-bar{background:#e8edf4;animation:calPbPulse 1s ease-in-out infinite alternate}
.cal-pb-bubble{position:absolute;top:0;left:0;width:0;height:20px;z-index:3;pointer-events:none;transition:left .25s cubic-bezier(.2,.8,.25,1),opacity .15s}
.cal-pb-bubble[hidden]{display:none}
.cal-pb-tag{position:absolute;top:0;left:0;transform:translateX(calc(-50% + var(--dx,0px)));display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border:1px solid #d9e0ea;border-radius:6px;background:#fff;color:var(--pb-ink);font-size:11.5px;font-weight:700;line-height:1;white-space:nowrap;box-shadow:0 2px 6px rgba(22,35,63,.1)}
.cal-pb-tag small{font-size:10px;font-weight:600;color:var(--pb-mute)}
.cal-pb-best{font-size:9.5px;font-weight:700;color:#0f5a44;background:#cdeee0;border-radius:999px;padding:2px 5px}
.cal-pb-line{position:absolute;left:-.75px;top:20px;width:1.5px;height:calc(var(--pb-top) - 20px + var(--pb-bh) * (1 - var(--h,1)));background:var(--pb-ink);transition:height .25s cubic-bezier(.2,.8,.25,1)}
.cal-pb-bubble.is-hover,.cal-pb-bubble.is-hover .cal-pb-line{transition:none}
.cal-pb-bubble.is-hover{z-index:4}
.cal-pb-plot.is-hovering .cal-pb-bubble:not(.is-hover){opacity:.25}
.cal-pb-cheap{position:absolute;left:0;top:calc(var(--pb-top) + var(--pb-bh) * (1 - var(--h,1)) - 19px);z-index:2;transform:translateX(calc(-50% + var(--dx,0px)));font-size:10.5px;font-weight:700;line-height:13px;color:var(--pb-green);white-space:nowrap;pointer-events:none}
.cal-pb-cheap::after{content:"";position:absolute;left:calc(50% - var(--dx,0px));top:14px;width:1.5px;height:5px;background:currentColor;transform:translateX(-50%)}
.cal-pb-cheap[hidden]{display:none}
.cal-pb-axis{position:relative;height:22px}
.cal-pb-day{position:absolute;top:6px;left:0;transform:translateX(-50%);font-size:10.5px;line-height:14px;color:#7b889c;white-space:nowrap}
.cal-pb-day::before{content:"";position:absolute;left:50%;top:-7px;width:1px;height:4px;background:#cbd4e1}
.cal-pb-day.is-sel{top:3px;padding:2px 7px;border-radius:999px;background:#d9f1e8;color:#0f2d27;font-size:11px;font-weight:700}
.cal-pb-day.is-sel::before{top:-4px;height:3px;background:var(--pb-sel)}
.cal-pb-none{position:absolute;left:0;right:0;top:calc(var(--pb-top) + 10px);z-index:2;margin:0;text-align:center;font-size:11.5px;font-weight:600;color:var(--pb-mute)}
.cal-pb-none[hidden]{display:none}
.cal-pb-foot{display:flex;align-items:center;gap:10px;margin:0 -10px;padding:6px 10px 7px;border-top:1px solid #e8edf3}
.cal-pb-dates{font-size:13px;font-weight:700;white-space:nowrap}
.cal-pb-div{flex:none;width:1px;height:16px;background:#d9e0ea}
.cal-pb-price{display:flex;align-items:baseline;gap:5px;flex:1;min-width:0;white-space:nowrap}
.cal-pb-total{font-size:14px;font-weight:800}
.cal-pb-total:empty{display:none}
.cal-pb-per{font-size:12px;font-weight:600}
.cal-pb-per[hidden]{display:none}
.cal-pb-note{margin-left:6px;font-size:11.5px;color:var(--pb-mute);overflow:hidden;text-overflow:ellipsis}
@keyframes calPbUp{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes calPbPulse{from{opacity:.5}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.cal-pb *{animation:none!important;transition:none!important}}
/* Release .601 (Sasan A43): Kalender-Blatt (Flug, Hotel, Flug + Hotel, Mietwagen) ohne Kopfzeile „Reisedaten“ + „Schließen“ – nur ein kleines, flaches X
   oben rechts in der Ecke der Schritt-Pillen, ohne eigene Zeile (Kopf 0 px hoch, bleibt beim Scrollen oben); Tippfläche 36 × 30 px, Zeichen 12 px. */
@media(max-width:1100px){
 dialog.search-popover-panel:has(.calendar-months)>.search-panel-heading{position:sticky;top:14px;z-index:6;display:flex;justify-content:flex-end;height:0;min-height:0;margin:0;padding:0;border:0;background:none;overflow:visible}
 dialog.search-popover-panel:has(.calendar-months)>.search-panel-heading>strong{display:none}
 dialog.search-popover-panel:has(.calendar-months)>.search-panel-heading>.search-panel-close{position:relative;top:-14px;right:-12px;flex:none;width:36px;height:30px;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:8px;background:none;color:#7b889c;font-size:0;line-height:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
 dialog.search-popover-panel:has(.calendar-months)>.search-panel-heading>.search-panel-close::before,dialog.search-popover-panel:has(.calendar-months)>.search-panel-heading>.search-panel-close::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.6px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
 dialog.search-popover-panel:has(.calendar-months)>.search-panel-heading>.search-panel-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
 dialog.search-popover-panel:has(.calendar-months)>.search-panel-heading>.search-panel-close:focus{outline:none}
 dialog.search-popover-panel:has(.calendar-months)>.search-panel-heading>.search-panel-close:focus-visible{color:#12233f;outline:1.5px solid #9fb3cc;outline-offset:-3px}
}
@media(max-width:1100px) and (hover:hover){
 dialog.search-popover-panel:has(.calendar-months)>.search-panel-heading>.search-panel-close:hover{color:#12233f;background:#eef3f8}
}
/* Release .607 (Sasan A44): Flug-Kalender entrümpelt – Schritt-Pillen und Preisbalken als ZWEI Blöcke nebeneinander (Hinflug | Rückflug):
   Kopf = Symbol (Langform als HTML-Blase) + Datum + „genau ▾“, darunter die Balken des Blocks; aktiver Schritt = blauer Rahmen um den Block.
   Ohne Zahlen-Kreise, ohne zweite Überschrift, ohne Datum-Pille unter dem Balken, ohne Termin links in der Fußzeile. Nur Flug (.fl-cal). */
.fl-cal .cal-head{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch;margin:0 0 6px;padding:0;background:none}
.fl-cal .cal-head.is-one{grid-template-columns:minmax(0,1fr)}
.fl-cal .cal-head .cal-step-line{display:none}
.fl-cal .cal-leg{--pb-bar:#d6dce6;--pb-bar-hi:#bcc6d6;--pb-min:#a3d9c2;--pb-sel:#2a9d80;--pb-ink:#16233f;--pb-mute:#66758c;--pb-green:#1f9a6c;--pb-top:28px;--pb-bh:38px;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;align-content:start;min-width:0;padding:3px 6px 2px;border:1.5px solid #e3e8f0;border-radius:12px;background:#fff;box-shadow:none}
.fl-cal .cal-leg.is-now{border-color:#0b57c9;box-shadow:0 1px 3px rgba(11,42,85,.12)}
.fl-cal .cal-leg-pick{display:flex;align-items:center;gap:7px;width:auto;padding:5px 4px 5px 3px}
.fl-cal .cal-leg-ico{display:inline-flex;flex:none;width:20px;height:20px;color:#5b6b82}
.fl-cal .cal-leg-ico svg{width:20px;height:20px}
.fl-cal .cal-leg.is-now .cal-leg-ico{color:#0b57c9}
.fl-cal .cal-leg-d{font-size:15px}
.fl-cal .cal-leg-flex{margin:0 0 0 2px;justify-self:start}
.fl-cal .cal-leg>.cal-pb-panel{grid-column:1/-1;margin-top:2px}
.fl-cal .cal-leg>.cal-pb-panel[hidden]{display:none}
.fl-cal .cal-head-total{grid-column:1/-1;flex-direction:row;justify-content:flex-end;align-items:baseline;gap:8px;margin:0;padding:0 6px}
.fl-cal .cal-pb{margin:0 0 6px;padding:0 4px;border:0;border-radius:0;background:none}
.fl-cal .cal-pb-foot{margin:0;padding:0 2px 2px;border-top:0}
@media(max-width:1100px){.fl-cal .cal-head{margin-top:14px}} /* .607 (A44): im Blatt Platz für das kleine X (A43) über dem Rückflug-Block */
/* Release .608 (Sasan Übergangsbetrieb): ohne Sandbox-Preise bleibt der Kalender reine Datumswahl – keine Preis-Hinweiszeile, keine
   Farb-Legende, keine Preisbalken/Fußzeile, keine Summe im Kopf (Flug und Flug + Hotel; Hotel/Mietwagen haben keine Preise). */
body[data-uebergang="1"] .fl-cal .calendar-price-note,body[data-uebergang="1"] .fl-cal .cal-legend,body[data-uebergang="1"] .fl-cal .cal-pb,body[data-uebergang="1"] .fl-cal .cal-head-total,
body[data-uebergang="1"] .package-search .package-price-note,body[data-uebergang="1"] .package-search .cal-legend,body[data-uebergang="1"] .package-search .cal-head-total{display:none!important}
/* Release .611 (Sasan F50): Preisbalken im Flug-Kalender mit dem Finger wischen (search.js, wie die Pfeile) – senkrecht scrollt die Seite weiter */
.fl-cal .cal-pb-plot{touch-action:pan-y}
/* Release .611 (Sasan F51): Startseite, Flugmaske 621–1100 px am PC (Ticket mit rechter Spalte; iPad hat eigenes Layout ohne den Fehler, unverändert): bei EINEM Ort je Feld bricht das Feld
   nicht mehr um – vorher rutschte das (unsichtbare) Eingabefeld für weitere Flughäfen in eine zweite Zeile (Name 227 px + Feld 40 px > Feldbreite
   unter ca. 1000 px), das Ortsfeld wurde 96 statt 56 px hoch, der Name klebte oben. Jetzt Name in voller Breite, erst bei echtem Platzmangel „…“
   (ganzer Name im HTML-Tooltip, search.js F51). Mehrere Flughäfen je Feld wie bisher (umbrechen). */
@media(min-width:621px) and (max-width:1100px) and (pointer:fine){
  html body:has(.home-mode-tabs) form#kayak-search:not(.is-multi) .compact-route>.airport-field.has-airports:not(.is-picker-open):not(:has(.airport-chip~.airport-chip)){flex-wrap:nowrap}
  html body:has(.home-mode-tabs) form#kayak-search:not(.is-multi) .compact-route>.airport-field.has-airports:not(.is-picker-open):not(:has(.airport-chip~.airport-chip)) .airport-chip{flex:0 1 auto;min-width:0;max-width:100%;position:relative}
  html body:has(.home-mode-tabs) form#kayak-search:not(.is-multi) .compact-route>.airport-field.has-airports:not(.is-picker-open):not(:has(.airport-chip~.airport-chip)) .airport-chip-name{min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  html body:has(.home-mode-tabs) form#kayak-search:not(.is-multi) .compact-route>.airport-field.has-airports:not(.is-picker-open):not(:has(.airport-chip~.airport-chip))>.airport-entry{flex:1 0 8px;min-width:8px}
  html body:has(.home-mode-tabs) form#kayak-search .compact-route>.airport-field .airport-chip[data-tip]::after{content:attr(data-tip);position:absolute;left:0;top:calc(100% + 8px);z-index:30;width:max-content;max-width:min(320px,80vw);padding:6px 10px;border-radius:8px;background:#101522;color:#fff;font:600 13px/1.35 "Segoe UI",Arial,sans-serif;white-space:normal;box-shadow:0 6px 18px rgba(8,27,73,.22);opacity:0;visibility:hidden;transition:opacity .15s;pointer-events:none}
  html body:has(.home-mode-tabs) form#kayak-search .compact-route>.airport-field:not(:focus-within) .airport-chip[data-tip]:is(:hover,:focus-within)::after{opacity:1;visibility:visible}
}
