/* HavenCraft 3.7 — shared finishing details and mobile usability. */
:root{--header-height:90px;--dock-height:76px}
html{scroll-padding-top:calc(var(--header-height) + 20px)}
.header{min-height:var(--header-height);gap:20px}.desktop-nav{gap:clamp(12px,1.65vw,26px)}
.btn{border-radius:10px}.btn:active{transform:translateY(1px)}
.service-card{border-radius:18px;overflow:hidden}.service-card .card-image{isolation:isolate}.card-body{padding:22px}.card-actions{gap:12px}
.page-intro{padding-top:clamp(36px,5vw,68px);padding-bottom:36px}
.breadcrumb{font-size:13px}.detail-content .lede{font-size:17px;line-height:1.65}
.service-detail{gap:clamp(26px,5vw,72px)}.detail-photo{border-radius:20px}
.store-toolbar{top:var(--header-height);z-index:19;background:rgba(250,249,246,.97)}
.store-categories{flex-wrap:nowrap;overflow-x:auto;padding:0 0 12px;scrollbar-width:thin}.store-chip{flex-shrink:0;min-height:40px}
.store-search:focus-within{outline:2px solid #927047;outline-offset:2px}
.store-section-head{align-items:center}.store-section-head h1{font-size:clamp(1.7rem,3vw,2.7rem);letter-spacing:-.035em}.store-section-head .eyebrow{margin-bottom:8px}
.store-sort-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.store-sort-row select{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:white;color:var(--ink);min-height:44px;font-size:14px}
.product-grid{gap:20px}.product-card{border-radius:16px;box-shadow:none}.product-card:hover{box-shadow:0 12px 30px #1727240a}.product-media{aspect-ratio:1/1}.product-media img,.product-dialog-image img{object-fit:contain;background:#f5f5f0}
.product-card h3{line-height:1.3}.product-card-body{padding:18px}.product-category{color:#5d6b65}.product-actions button{min-height:44px}.store-empty .btn{margin-top:20px}
.store-dialog,.visit-dialog{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
.store-modal-head,.visit-modal-head{position:sticky;top:-1px;z-index:3;background:white;padding-top:12px}.store-modal-close,.visit-modal-head .icon-btn{flex-shrink:0}
.checkout-form input,.checkout-form select,.checkout-form textarea,.visit-form input,.visit-form textarea,.visit-form select{font-size:16px;min-width:0}
.cart-drawer{width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:hidden}.cart-drawer::backdrop{background:#07191380}.cart-drawer:not([open]){display:none}.cart-panel{height:100%;max-height:100%;padding-bottom:env(safe-area-inset-bottom)}
.cart-list{min-height:0;overscroll-behavior:contain}.cart-foot{flex-shrink:0}.cart-qty button{width:44px;height:44px}.cart-remove{min-height:36px}.cart-item.unavailable{grid-template-columns:1fr;border-color:#ba8070}.cart-note{font-size:12px}.cart-item h3{overflow-wrap:anywhere}
body:has(dialog[open]){overflow:hidden}.visit-policy,.checkout-policy{font-size:13px;line-height:1.65}.checkout-actions{position:relative}.proof-card-body p{max-width:60ch}
@media(min-width:801px) and (max-width:1050px){.desktop-nav{display:none}.menu-button{display:inline-flex}}
@media(max-width:800px){:root{--header-height:77px}.wrap{width:90%}.section{padding-block:48px}.store-toolbar{position:relative;top:0}.store-toolbar-inner{grid-template-columns:minmax(0,1fr) auto}.store-search{grid-column:1/-1}.store-filter{width:100%;min-width:0}.store-cart-button{min-width:88px}.store-section-head{align-items:start;flex-direction:column;gap:14px}.store-sort-row{width:100%;justify-content:space-between}.store-section{padding-top:16px;padding-bottom:40px}.store-section-head h1{font-size:1.7rem}.store-result-count{font-size:13px}.store-sort-row select{font-size:14px;max-width:65%}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card-body{padding:12px}.product-card h3{font-size:1.08rem}.product-price-row{flex-wrap:wrap;gap:4px 8px}.product-actions{grid-template-columns:minmax(0,1fr) 44px}.product-view{width:44px}.product-add{padding-inline:6px}.product-badges{max-width:calc(100% - 12px)}.product-badge{font-size:9px}.store-service-banner h2{font-size:1.5rem}.mobile-dock{grid-template-columns:repeat(4,minmax(0,1fr));min-height:var(--dock-height)}.mobile-dock:has(> :nth-child(5)){grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-dock>a,.mobile-dock>button{font-size:12px;min-width:0;min-height:48px}.service-sticky-cta{bottom:calc(var(--dock-height) + env(safe-area-inset-bottom) + 10px)}.footer{padding-bottom:calc(var(--dock-height) + 30px)}.store-dialog,.visit-dialog{width:calc(100% - 20px);border-radius:18px}.store-modal,.visit-modal{padding:16px}.checkout-form,.visit-form{grid-template-columns:1fr}.checkout-form>* ,.visit-form>*{min-width:0}.product-dialog-body{grid-template-columns:1fr}.product-dialog-image{max-height:260px;aspect-ratio:auto}.product-dialog-image img{max-height:260px}.checkout-actions .btn{width:100%}.cart-item{grid-template-columns:52px minmax(0,1fr);gap:10px}.cart-thumb{width:52px;height:60px}.cart-line{grid-column:2}.cart-head{padding:16px}.cart-panel{width:min(450px,100%)}.page-intro h1{font-size:clamp(2.4rem,8vw,3.6rem)}.detail-content .detail-action{gap:12px}.proof-media-grid.has-video{grid-template-rows:minmax(260px,65vw) 130px}}
@media(max-width:370px){.product-actions{grid-template-columns:1fr}.product-view{width:100%;font-size:14px}.product-view::before{content:'Details '}.product-card h3{font-size:1rem}.store-sort-row{gap:8px}.brand{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
