/* Local layout and interaction corrections. */
html { scroll-padding-top: 6rem; }
html.site-scroll-locked { overflow: hidden !important; overscroll-behavior: none; }
.site-scroll-locked body { position: fixed !important; top: var(--locked-scroll-top, 0) !important; left: 0; right: 0; width: 100%; overflow: hidden !important; }
[data-site-dialog] { overscroll-behavior: contain; }
[data-site-dialog].hidden, [data-site-dialog].d-none, [hidden] { display: none !important; }
[data-site-dialog] > :first-child { min-width: 0; }
.site-price { white-space: nowrap; flex-shrink: 0; }
.site-independent-grid { align-items: start !important; }
.site-independent-card { height: auto !important; align-self: start !important; }
.site-independent-card .card { height: auto !important; }
select { text-indent: 0; }
@media (max-width: 640px) {
  [data-site-dialog] { max-height: 100dvh; overflow-y: auto; padding: .75rem !important; align-items: flex-start !important; }
  [data-site-dialog] > :first-child { margin-block: auto; max-height: calc(100dvh - 1.5rem) !important; overflow-y: auto; }
}
.policy-page .site-policy-main { padding: 2rem 1.25rem 3rem !important; width: 100% !important; max-width: 1120px !important; margin: 0 auto !important; min-height: 55vh !important; }
.policy-page .site-policy-shell { padding-block: 0 !important; margin-block: 0 !important; min-height: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; max-width: 100% !important; width: 100% !important; }
.policy-page .site-policy-main > :first-child { margin-top: 0 !important; }
.policy-page .site-policy-main header { padding-top: 0 !important; margin-top: 0 !important; }
.confirmation-page { min-height: 100vh; display: flex; flex-direction: column; }
.confirmation-page > .site-confirmation-main { flex: 1; min-height: calc(100svh - var(--site-header-height, 80px)) !important; padding: 2rem 1.25rem !important; display: flex; align-items: center; justify-content: center; }
.confirmation-page .site-confirmation-shell { padding-block: 0 !important; margin-block: 0 !important; min-height: 0 !important; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } }


#fit-finder .row > *,#fit-finder .d-flex > * {min-width:0}
#fit-finder .js-rec-length,#fit-finder .js-rec-depth,#fit-finder .js-corridor-margin {display:block;line-height:1.5;white-space:normal;overflow-wrap:anywhere;font-size:clamp(.85rem,1.2vw,1.1rem)}
#fit-finder .d-flex.justify-content-between {gap:12px;flex-wrap:wrap}
#fit-finder svg {width:100%;height:auto;min-height:200px}



#configurator .js-config-btn.active {background:var(--walnut-brown) !important;color:var(--warm-white) !important;border-color:var(--walnut-brown) !important}
#configurator .js-config-btn:not(.active) {background:transparent !important;color:var(--walnut-brown) !important;border-color:var(--border-light) !important}
#configurator .js-config-btn:hover {background:var(--wheat-beige) !important;color:var(--walnut-brown) !important}
#fit-finder .badge {white-space:normal;line-height:1.5;max-width:100%}
#fit-finder .js-svg-piece-label {font-size:12px}
#fit-finder .h6 {line-height:1.5;overflow-wrap:anywhere}



.site-scroll-locked #cookieConsentBanner:not([data-site-dialog]),.site-scroll-locked #site-cookie-banner {visibility:hidden}

/* Brand and enquiry on the first row; the full collection navigation below. */
html {scroll-padding-top:148px}
#header .navbar {padding:12px 0 !important}
#header .navbar > .container-xl {
  display:grid !important; grid-template-columns:minmax(0,1fr) auto;
  align-items:center; column-gap:24px; row-gap:12px;
}
#header .header-brand-wrap {grid-column:1;grid-row:1;justify-content:flex-start !important;min-width:0}
#header .navbar-brand {min-width:0;white-space:nowrap;gap:12px !important}
#header .brand-logo-img {width:44px;max-width:44px;flex-shrink:0}
#header .brand-site-title {font-size:22px;line-height:1.2;letter-spacing:.045em}
#header .header-right-action {grid-column:2;grid-row:1}
#header .cta-inquire-btn {min-height:44px;white-space:nowrap;padding:10px 24px !important}
#header .header-left-nav {grid-column:1 / -1;grid-row:2;min-width:0;border-top:1px solid var(--border-light);padding-top:8px}
#header .navbar-nav {width:100%;justify-content:space-between;align-items:center;gap:16px !important}
#header .nav-anchor-link {display:flex;align-items:center;min-height:40px;font-size:14px;white-space:nowrap}
#header .custom-hamburger {width:44px;height:44px;flex-shrink:0}
@media(max-width:991.98px){
  html {scroll-padding-top:88px}
  #header .navbar > .container-xl {padding-inline:20px;column-gap:16px;row-gap:0}
  #header .brand-site-title {font-size:20px}
  #header .brand-logo-img {width:40px;max-width:40px}
}
@media(max-width:575.98px){
  #header .navbar > .container-xl {padding-inline:16px;column-gap:12px}
  #header .brand-site-title {font-size:18px}
  #header .navbar-brand {gap:8px !important}
}

/* Keep the full-screen menu independent from centered modal card spacing. */
#mobile-nav-panel[data-site-dialog] {
  height:100dvh;max-height:100dvh;padding:0 !important;align-items:stretch !important;
}
#mobile-nav-panel .mobile-menu-container {
  width:100%;height:100dvh !important;max-height:none !important;
  margin:0 !important;padding:20px 16px !important;overflow-y:auto;
}
#mobile-nav-panel .mobile-menu-top {flex-shrink:0}
#mobile-nav-panel .mobile-brand-title {font-size:18px}
#mobile-nav-panel .brand-logo-img {width:40px;max-width:40px;flex-shrink:0}
#mobile-nav-panel .mobile-close-btn {width:44px;height:44px;flex-shrink:0}
#mobile-nav-panel .mobile-menu-links {
  flex-grow:0 !important;align-items:stretch !important;
  justify-content:flex-start !important;gap:8px !important;padding:20px 0;
}
#mobile-nav-panel .mobile-nav-link {
  min-height:44px;font-size:16px;padding:10px 12px;
  justify-content:flex-start;text-align:left !important;
}
#mobile-nav-panel .mobile-cta-btn {min-height:48px;margin-top:8px !important;padding:12px !important}
#mobile-nav-panel .mobile-menu-footer {margin-top:auto;flex-shrink:0;text-align:left !important}

