/* 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; } }


.js-sort-select {appearance:auto !important;background-image:none !important;padding-right:1.5rem !important}
.catalog-modal-overlay {height:100dvh;overflow-y:auto;align-items:flex-start;padding:12px}
.catalog-modal-container {margin:auto;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
#materials .material-card {height:auto !important}
#materials .card-body {flex:initial !important}
#materials .card,#materials article {justify-content:flex-start !important}
#materials .mt-auto {margin-top:1rem !important}



#materials .ratio > img {height:100% !important;object-fit:cover !important}
#materials .ratio {flex-shrink:0}



.site-scroll-locked #cookieConsentBanner:not([data-site-dialog]),.site-scroll-locked #site-cookie-banner {visibility:hidden}

