/* Only inner rails are constrained; section backgrounds remain viewport-wide. */
:root {
  --sx-header-width:1880px;
  --sx-page-width:1600px;
  --sx-container:1600px;
  --sx-layout-gutter:clamp(16px,3vw,40px);
  --sx-inner-width:calc(100% - 2 * var(--sx-layout-gutter));
}
.sx-site-header .sx-site-header__inner {
  width:var(--sx-inner-width);
  max-width:var(--sx-header-width);
  margin-inline:auto;
}
.sx-site-header__top,.sx-site-header .sx-site-menu,.sx-site-header .sx-site-nav {
  width:100%;
  min-width:0;
  margin-inline:0;
}
#main-content .sx-container,
#main-content .sx-tour-catalog__shell,
#main-content .sx-account-shell,
#main-content.sx-account-shell,
#main-content .sx-rental-page .re-wrap,
#main-content .sx-reference-content,
#main-content .sx-reference-product > .sx-reference-section.sx-reference-content {
  width:var(--sx-inner-width);
  max-width:var(--sx-page-width);
  margin-inline:auto;
  min-width:0;
}
/* A nested container uses its parent's rail rather than adding a second gutter. */
#main-content .sx-reference-content .sx-reference-content,
#main-content .sx-container .sx-container {
  width:100%;
  max-width:100%;
}
#main-content .sx-reference-section { padding-inline:0; }
#main-content .sx-reference-breadcrumb {
  width:var(--sx-inner-width);
  max-width:var(--sx-page-width);
  margin-inline:auto;
}
#main-content .sx-rental-page .re-trip {
  display:flex;
  width:var(--sx-inner-width);
  max-width:var(--sx-header-width);
  margin:0 auto 20px;
  min-width:0;
  gap:16px;
  flex-wrap:wrap;
}
.re-trip [data-trip] { min-width:0; overflow-wrap:anywhere; }
.re-trip button { flex-shrink:0; }
#main-content .sx-rental-page :is(.re-why,.re-services,.re-process,.re-faq) { padding-inline:0; }
#main-content .re-search-wrap.is-docked .re-search {
  width:var(--sx-inner-width);
  max-width:var(--sx-page-width);
}
#main-content .re-hero h1 {
  width:100%;
  max-width:var(--sx-page-width);
  margin-inline:auto;
}
#main-content .re-contact > a {
  width:100%;
  max-width:var(--sx-page-width);
  margin-inline:auto;
}
/* The header's existing light/dark background remains the source of truth. */
.sx-site-header.is-light { --sx-account-ink:#252525; }
.sx-site-header.is-dark { --sx-account-ink:#fff; }
.sx-site-header .sx-site-account,
.sx-site-header .sx-site-account span,
.sx-site-header .sx-site-account .sx-icon { color:var(--sx-account-ink); }
.sx-site-header .sx-site-account .sx-icon { stroke:currentColor; fill:none; }
@media(max-width:640px) {
  .sx-site-header__identity { gap:8px; min-width:0; }
  .sx-site-header__top { gap:8px; }
  .sx-site-account span { min-width:0; }
}

#main-content .sx-reference-anchor-nav {
  width:var(--sx-inner-width);
  max-width:var(--sx-page-width);
  margin-inline:auto;
}
#main-content .sx-reference-anchor-nav > .sx-reference-content { width:100%; max-width:100%; }

/* 1.12: shared two-row marketing header; booking keeps its existing summary row. */
:root { --sx-layout-gutter:30px; }
.sx-site-header__top { height:50px; min-height:50px; }
.sx-site-header__secondary { display:flex; align-items:center; justify-content:space-between; height:50px; gap:16px; }
.sx-site-header__secondary .sx-site-menu { width:auto; margin:0; padding:0; height:44px; min-height:44px; }
.sx-site-header .sx-site-brand { width:86px; height:46px; gap:6px; }
.sx-site-header .sx-site-brand img { width:36px; height:26px; }
.sx-site-header .sx-site-brand strong { font-size:22px; }
.sx-site-header .sx-site-account { height:40px; min-width:136px; font-size:14px; justify-content:flex-end; }
.sx-site-header .sx-site-account .sx-icon { width:24px; height:24px; }
body:has(.sx-rental-page.is-booking) .sx-site-header__secondary { display:none; }
body:has(.sx-rental-page.is-booking) .sx-site-header__top { height:50px; min-height:50px; }
@media(max-width:760px) { :root { --sx-layout-gutter:18px; } }
@media(min-width:761px) {
 body:has(.sx-rental-page.is-booking) .sx-site-header__top { height:60px; min-height:60px; }
 .sx-rental-page.is-booking .re-trip-shell { top:-60px; left:calc(max(var(--sx-layout-gutter),(100vw - var(--sx-header-width))/2) + 110px); }
 .sx-rental-page.is-booking .re-trip-editor { left:calc(-1 * (max(var(--sx-layout-gutter),(100vw - var(--sx-header-width))/2) + 110px)); }
 .sx-rental-page.is-booking .re-booking::before { top:60px; }
}
.sx-site-header.is-vehicle-header .sx-site-header__identity { gap:8px; }
.sx-site-header.is-vehicle-header .sx-site-account { width:40px; min-width:40px; height:40px; justify-content:center; }
.sx-site-header.is-vehicle-header .sx-site-account span { display:none; }
.sx-site-header.is-vehicle-header [data-sx-currency-trigger] { display:none; }
.sx-vehicle-currency-trigger { display:none; width:40px; height:40px; padding:8px; border:0; border-radius:50%; background:transparent; color:inherit; cursor:pointer; }
.sx-site-header.is-vehicle-header .sx-vehicle-currency-trigger { display:grid; place-items:center; }
.sx-vehicle-currency-trigger svg { display:block; width:24px; height:24px; }
.sx-site-header.is-vehicle-header [data-sx-currency-menu] { display:none!important; }
.sx-currency-dialog { width:min(520px,calc(100% - 32px)); max-height:min(730px,90dvh); padding:0; border:1px solid #fff; border-radius:28px; color:#262b32; background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,255,255,.94) 50%,rgba(255,255,255,.92)); backdrop-filter:blur(24px) saturate(145%); -webkit-backdrop-filter:blur(24px) saturate(145%); box-shadow:inset 0 1px 0 #fff,0 24px 80px #17202b33; }
.sx-currency-dialog[open] { display:flex; flex-direction:column; }
.sx-currency-dialog::backdrop { background:rgba(30,36,44,.17); backdrop-filter:blur(3px); }
.sx-currency-dialog header { flex:none; display:flex; align-items:center; justify-content:space-between; padding:22px 24px 14px; }
.sx-currency-dialog h2 { margin:0; font-size:22px; }
.sx-currency-dialog header button,.sx-currency-search button { border:0; background:#ffffff80; border-radius:50%; width:36px; height:36px; font-size:22px; cursor:pointer; }
.sx-currency-search { flex:none; position:relative; margin:0 24px; }
.sx-currency-search input { width:100%; padding:13px 44px 13px 16px; border:1px solid #fff; border-radius:14px; background:#ffffffa3; font:inherit; color:#262b32; }
.sx-currency-search input::placeholder { color:#56616b; }
.sx-currency-search button { position:absolute; right:4px; top:4px; }
.sx-currency-result-count { flex:none; margin:12px 24px 6px; font-size:12px; color:#56616b; }
.sx-currency-options { overflow:auto; min-height:0; padding:0 24px 16px; }
.sx-currency-options button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:15px; margin:8px 0; text-align:left; border:1px solid #ffffff70; border-radius:16px; background:#ffffff55; color:#262b32; cursor:pointer; font:inherit; }
.sx-currency-options button[aria-selected=true] { border-color:#83b8e6; background:#dceeff9c; }
.sx-currency-options strong,.sx-currency-options small { display:block; }
.sx-currency-options small { margin-top:5px; color:#4f5b66; font-size:13px; }
.sx-currency-options b { color:#007aff; }
.sx-currency-dialog footer { flex:none; padding:16px 24px; font-size:12px; background:#ffffff80; border-top:1px solid #fff; color:#4f5b66; }
.sx-currency-dialog :focus-visible,.sx-vehicle-currency-trigger:focus-visible { outline:2px solid #007aff; outline-offset:3px; }
@media(max-width:760px) { .sx-currency-dialog { width:100%; max-width:none; height:82dvh; max-height:82dvh; margin:auto 0 0; border-radius:28px 28px 0 0; } }
@supports not (backdrop-filter:blur(1px)) { .sx-currency-dialog { background:#fafafa; } }
@media(prefers-reduced-transparency:reduce) { .sx-currency-dialog { background:#fafafa; backdrop-filter:none; } }

/* Fixed sheet geometry matches the 1.13 supplied currency prototype. */
.sx-currency-dialog { height:min(730px,calc(100dvh - 64px)); overflow:hidden; }
.sx-currency-dialog header { flex-direction:row-reverse; justify-content:flex-end; gap:12px; border-bottom:1px solid #ffffff70; padding:20px 24px 18px; }
.sx-currency-search { margin-top:22px; }
.sx-currency-options { flex:1; }
.sx-currency-options button { min-height:78px; margin:4px 0; border:1.5px solid transparent; background:transparent; }
.sx-currency-options button:hover { background:#ffffff3d; }
.sx-currency-options strong { font-size:16px; font-weight:600; }
.sx-currency-options small { font-size:12px; }
.sx-currency-dialog footer { padding-bottom:max(18px,env(safe-area-inset-bottom)); background:#ffffff33; }
@media(max-width:760px) { .sx-currency-dialog { height:82dvh; max-height:calc(100dvh - 36px); } }
.sx-currency-search input::-webkit-search-cancel-button { display:none; }
.sx-currency-search button[hidden] { display:none; }
@media(min-width:761px) {
 .re-trip-editor__inner { grid-template-columns:minmax(0,220px) minmax(0,220px) minmax(0,220px) minmax(120px,1fr); }
 .re-trip-editor__fields .re-trip-editor__time button { gap:4px; white-space:nowrap; }
 .re-trip-editor__fields .re-trip-editor__time button>span:last-child { flex:none; font-size:14px; line-height:1; }
}
/* Both vehicle actions inherit the real header color in dark and editing states. */
.sx-site-header.is-vehicle-header .sx-site-account,
.sx-site-header.is-vehicle-header .sx-site-account .sx-icon { color:inherit; }

/* Flying Kiwi uses a text wordmark while preserving the shared header rails. */
.sx-site-header .sx-site-brand { width:auto; flex:0 0 auto; }
.sx-site-header .sx-site-brand strong { font-size:22px; white-space:nowrap; }
@media(max-width:640px) {
 .sx-site-header .sx-site-brand strong { font-size:18px; }
}
@media(min-width:761px) {
 .sx-rental-page.is-booking .re-trip-shell { left:calc(max(var(--sx-layout-gutter),(100vw - var(--sx-header-width))/2) + 134px); }
 .sx-rental-page.is-booking .re-trip-editor { left:calc(-1 * (max(var(--sx-layout-gutter),(100vw - var(--sx-header-width))/2) + 134px)); }
}
