:root{font:16px/1.55 Inter,system-ui,sans-serif;color:#15283a;background:#f4f6f8}
*{box-sizing:border-box}
body{margin:0}
button,input{font:inherit}
a{color:inherit}
:focus-visible{outline:3px solid #2e73c4;outline-offset:4px}
.shop-wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.shop-header{background:#fff;border-bottom:1px solid #dfe5ed}
.shop-header .shop-wrap,.shop-header nav,.shop-brand{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.shop-header .shop-wrap{justify-content:space-between;min-height:72px;padding-block:10px}
.shop-header a{text-decoration:none}
.shop-brand{gap:9px;font-size:1.1rem}
.shop-hero{background:linear-gradient(90deg,#101e2cf0,#14263970),url('/assets/construction/hero.webp') center 52%/cover;color:#fff;padding:clamp(45px,8vw,110px) 0}
.shop-hero h1{font-size:clamp(2.2rem,6vw,4.6rem);letter-spacing:-.055em;line-height:1.05;margin:0;max-width:720px}
.shop-hero p{max-width:480px;margin:22px 0 28px}
.shop-cta{display:inline-block;background:#efd39f;color:#192c3f;border-radius:8px;padding:12px 16px;text-decoration:none;font-weight:700}
main section[id]{padding-block:26px}
.shop-departments{display:flex;flex-wrap:wrap;gap:8px}
.shop-departments button{background:white;color:#162d42;border:1px solid #d0dae5;border-radius:999px;padding:8px 13px;cursor:pointer}
.shop-departments button[aria-pressed="true"]{background:#17344d;color:white;border-color:#17344d}
.shop-catalog-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:10px}
.shop-catalog-head h2{margin:0}
.shop-catalog-head label{display:grid;gap:4px}
.shop-catalog-head input{background:white;border:1px solid #aebdcd;border-radius:8px;padding:9px 12px;max-width:100%}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:16px}
.shop-product{max-width:400px;border:1px solid #d8e1e9;background:#fff;border-radius:15px;overflow:hidden}
.shop-product img{width:100%;height:190px;object-fit:contain;background:#f1f4f7}
.shop-product div{padding:18px;overflow-wrap:anywhere}
.shop-product h3{margin:5px 0}
.shop-product p{white-space:pre-line}
.shop-product small{color:#435d74}
footer.shop-wrap{display:flex;justify-content:space-between;gap:12px;padding:25px 0;border-top:1px solid #d0dae5}

.shop-announcement{background:#172d43;color:#fff;text-align:center;padding:7px 16px;font-size:.88rem}
.shop-header nav{gap:14px}
.shop-header button,.shop-search button,.shop-product button,.shop-cart button{border:1px solid #ced9e5;border-radius:8px;background:white;color:#17344d;padding:8px 12px;cursor:pointer}
.shop-search{display:flex;gap:6px;flex:1 1 240px}
.shop-search input,.shop-cart input{min-width:0;border:1px solid #aebdcd;border-radius:8px;padding:8px}
.shop-search input{flex:1}
.shop-product button{display:block;margin-top:12px;background:#17344d;color:white}
.shop-cart{width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 24px);border:1px solid #d3dee9;border-radius:18px;padding:22px;color:#172d43}
.shop-cart::backdrop{background:#13273980}
.shop-cart-head,.shop-cart-item{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.shop-cart-item{border-top:1px solid #d3dee9;padding:12px 0}
.shop-cart input{width:65px}
.shop-announcer{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:650px){.shop-search{order:3;flex-basis:100%}.shop-header nav{gap:10px}}

/* Home Pro storefront sections */
:root{background:#f4f6f8}
.shop-announcement{background:#14283a;color:#f7e4bd}
.shop-hero{
  background:linear-gradient(90deg,#0c1d2bf0 4%,#142639a6 42%,#14263912 100%),url('/assets/construction/hero.webp') center 54%/cover;
  padding:clamp(54px,8vw,112px) 0 clamp(70px,9vw,136px);
}
.shop-hero h1{max-width:650px;text-wrap:balance}
.shop-hero p{color:#f3f5f8}
.shop-fulfillment{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-top:-32px}
.shop-fulfillment section{border:1px solid #d5e0e9;border-radius:20px;padding:clamp(17px,3vw,27px);box-shadow:0 12px 28px #142c4215}
.shop-ship-card{background:linear-gradient(125deg,#fff,#e3eff9)}
.shop-local-card{background:linear-gradient(125deg,#fffdf8,#f8ead2)}
.shop-fulfillment h2{margin:0 0 7px;font-size:clamp(1.18rem,2.2vw,1.52rem);letter-spacing:-.02em}
.shop-fulfillment p{margin:0 0 15px;color:#3e5467}
.shop-fulfillment a,.shop-local-inquiry{color:#154674;font-weight:650;text-underline-offset:3px}
.shop-card-actions{display:flex;flex-wrap:wrap;gap:8px 18px}
#departments,#products{padding-block:30px}
.shop-departments{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px}
.shop-departments button{display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:8px;min-height:78px;padding:0;border-radius:14px;overflow:hidden}
.shop-departments button:hover{border-color:#4f7393}
.shop-departments button img{width:100%;height:82px;object-fit:cover}
.shop-departments button span{padding:10px 8px;text-align:center}
.shop-product{box-shadow:0 5px 16px #102b4010}
.shop-product .shop-product-fulfillment{display:table;padding:4px 8px;border-radius:7px;background:#e6f0fa;color:#184870;font-size:.78rem;font-weight:650}
.shop-local-inquiry{display:block;margin-top:10px}
@media(max-width:640px){
 .shop-hero{background-position:61% center}
 .shop-fulfillment{grid-template-columns:1fr;gap:10px;margin-top:-23px}
 .shop-departments{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
}

.shop-footer{margin-top:24px;background:#14283a;color:#eaf2fb;padding:30px 0 100px}
.shop-footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:24px}
.shop-footer-grid :is(div,nav){display:grid;align-content:start;gap:8px}
.shop-footer h2{margin:0;font-size:1rem;color:#f3dbad}
.shop-footer a,.shop-footer button{color:inherit;text-align:left;text-decoration:underline;text-underline-offset:3px}
.shop-footer button{background:none;border:0;padding:0;cursor:pointer;width:fit-content}
@media(max-width:650px){.shop-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.shop-categories{display:flex;gap:10px;flex-wrap:wrap;padding-top:26px}
.shop-categories a{border:1px solid #cbd9e6;border-radius:12px;background:#fff;padding:12px 16px;font-weight:650;color:#183952;text-decoration:none}
.shop-categories a:first-child{background:#e4f0e9;color:#224c39}
#brands select{background:#fff;border:1px solid #aebdcd;border-radius:8px;padding:8px 12px;font:inherit}

.shop-newsletter{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:24px;border:1px solid #d2dee9;border-radius:18px;padding:26px;background:#e8f0f8;margin-top:24px}
.shop-newsletter h2{margin:0}
.shop-newsletter form{display:grid;gap:8px}
.shop-newsletter input[type="email"]{display:block;width:100%;padding:8px;border:1px solid #abbfd0;border-radius:8px}
.shop-newsletter button{width:fit-content;border:0;cursor:pointer}
.shop-newsletter p[role="status"]{margin:0}
@media(max-width:650px){.shop-newsletter{grid-template-columns:1fr}}
.portal-glass .inline-check input[type="checkbox"]{display:inline-block;width:auto;min-height:0;margin:0 6px 0 0}
