/* 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; } }


#catalog img {object-fit:contain !important;padding:8px}
#hero .grid > *,#planner .grid > *,#planner .flex > * {min-width:0}
#hero [class*="flex"] > div {min-width:0}
#hero h3,#hero span {overflow-wrap:anywhere}
#planner .js-spec-items-list > div {display:grid !important;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
#planner .js-spec-items-list > div > span {white-space:nowrap}
#planner .js-furniture-grid-view {display:grid;grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:10px}
#planner .js-furniture-grid-view > div {min-width:0;min-height:80px}
#planner .js-capacity-indicator {white-space:normal;text-align:center;line-height:1.5}
#planner .js-preset-btn.active-btn span {color:white !important}
#site-cookie-banner {position:fixed;bottom:16px;left:16px;right:16px;max-width:920px;margin:auto;z-index:10000;background:#202C42;color:#FFF4DB;padding:20px 24px;border:2px solid #F5B89A;border-radius:16px;box-shadow:0 10px 35px #202C4266;display:flex;align-items:center;gap:24px}
#site-cookie-banner p {font-size:13px;line-height:1.6;margin:0}#site-cookie-banner a {color:#F5B89A;text-decoration:underline}
#site-cookie-banner > div {display:flex;gap:10px;flex-shrink:0}#site-cookie-banner button{padding:10px 14px;border-radius:8px;border:1px solid #FFF4DB;font-size:12px;white-space:nowrap}#site-cookie-banner button:last-child{background:#D93A42;color:white;border-color:#D93A42}
@media(max-width:640px){#site-cookie-banner{flex-direction:column;align-items:stretch;gap:12px;padding:16px;bottom:8px;left:8px;right:8px}#site-cookie-banner > div{justify-content:flex-end}#hero [class*="grid-cols-3"]{grid-template-columns:repeat(3,minmax(0,1fr))}#hero [class*="gap-8"]{gap:12px}#planner .js-furniture-grid-view{grid-template-columns:repeat(3,minmax(0,1fr))}#planner [class*="p-5"]{padding:16px}}


#hero .site-hero-stats {display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#hero .site-hero-stats > .h-8 {display:none}#hero .site-hero-stats span {overflow-wrap:anywhere;font-size:clamp(11px,2.4vw,20px)}


.site-scroll-locked #cookieConsentBanner:not([data-site-dialog]),.site-scroll-locked #site-cookie-banner {visibility:hidden}

/* Center each icon against its own field, rather than the taller filter row. */
#catalog .site-search-control,#catalog .site-sort-control {position:relative;height:48px;align-self:start}
#catalog-search-input,#catalog-sort-select {height:48px;box-sizing:border-box}
#catalog-search-input {padding-left:44px;padding-right:16px}
#catalog-sort-select {padding-left:16px;padding-right:44px}
#catalog .site-search-control > i,#catalog .site-sort-control > i {
  position:absolute;top:50%;transform:translateY(-50%);
  display:flex;align-items:center;justify-content:center;
  width:18px;height:18px;line-height:1;pointer-events:none;
}
#catalog .site-search-control > i {left:16px;right:auto}
#catalog .site-sort-control > i {right:16px;left:auto}
#hero .site-format-heading {gap:16px;flex-wrap:wrap}
#hero .site-format-heading > span {white-space:nowrap;overflow-wrap:normal}
#hero .site-format-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
#hero .site-format-label {gap:8px;flex-wrap:wrap}
#hero .site-format-label h3,#hero .site-format-label span {overflow-wrap:normal;word-break:normal;line-height:1.4}
#hero .site-format-label span {white-space:nowrap;flex-shrink:0}
@media(max-width:767px){
  #hero .site-format-heading {flex-direction:column;align-items:flex-start;gap:12px}
  #hero .site-format-grid {grid-template-columns:1fr;gap:16px}
  #hero .site-format-card {display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center}
  #hero .site-format-image {width:96px;height:112px;margin-bottom:0}
  #hero .site-format-label {flex-direction:column;align-items:flex-start;justify-content:center;gap:8px}
  #hero .site-format-label h3 {font-size:16px}
}
#set-builder .js-step-card:focus-visible {outline:3px solid var(--accent-color);outline-offset:3px}
#set-builder .js-step-card .js-badge {color:var(--contrast-text-color);white-space:nowrap}

