/* Customer browsing only. The working desks and single-product layout stay intact. */
.sv-skip-link { position:absolute; left:1rem; top:-8rem; z-index:1000; padding:1rem; background:var(--input); color:var(--ink); }
.sv-skip-link:focus { top:1rem; }
#sv-main-content { scroll-margin-top:1rem; outline:none; }
.site-nav { gap:clamp(1rem,2vw,2rem); }
.site-nav a, .house-menu summary { min-height:44px; display:inline-flex; align-items:center; font-size:.65rem; }
.sv-store-home .sv-store-hero { min-height:0; padding:clamp(3.5rem,6vw,6rem) 4.5vw; align-items:center; }
.sv-store-hero .hero-copy { width:min(100%,680px); animation:none; }
.sv-store-hero .hero-copy h1 { max-width:12ch; margin:1rem 0 1.5rem; font-size:clamp(3.4rem,6vw,6.4rem); line-height:.96; letter-spacing:-.045em; }
.sv-store-hero .hero-lede { max-width:440px; font-size:1rem; }
.sv-hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.75rem; }
.sv-primary-button, .sv-outline-button { display:inline-flex; min-height:48px; align-items:center; justify-content:space-between; gap:1.8rem; padding:.9rem 1.2rem; font-size:.85rem; font-weight:700; }
.sv-primary-button { background:#704a34; border:1px solid #b48b65; color:#f1e9d9; }
.sv-primary-button:hover { background:#80553b; }
.sv-outline-button { border:1px solid var(--line-light); color:var(--paper); background:rgb(30 40 30 / 45%); }
.sv-outline-button:hover { background:#414934; }
.sv-store-home .houses-section { padding:3.5rem 4.5vw; }
.sv-store-home .section-intro { grid-template-columns:1fr 1fr; gap:1rem 3rem; margin-bottom:2rem; }
.sv-store-home .section-intro > .eyebrow { grid-column:1 / -1; }
.sv-store-home .section-intro h2 { max-width:15ch; font-size:clamp(2.4rem,4vw,4rem); line-height:1; }
.sv-store-home .house-card { min-height:330px; gap:2rem; padding:2rem; }
.sv-store-home .house-card h3 { font-size:clamp(2.4rem,4vw,4rem); line-height:1; }
.sv-store-home .house-number { display:none; }
.sv-store-home .house-description { font-size:.92rem; }
.sv-discover-section { padding:clamp(2.5rem,5vw,4.5rem) 4.5vw; background:var(--paper); color:var(--ink); }
.sv-section-heading { display:flex; justify-content:space-between; align-items:end; gap:1.5rem; margin-bottom:1.75rem; }
.sv-section-heading h2 { margin:.5rem 0 0; font:400 clamp(2.2rem,4vw,3.7rem)/1.05 var(--font-display); letter-spacing:-.04em; }
.sv-section-heading > p { max-width:310px; margin:0; color:var(--muted); font-size:.92rem; line-height:1.7; }
.sv-discovery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; }
.sv-product-card { min-width:0; }
.sv-product-card > a { display:flex; flex-direction:column; height:100%; }
.sv-product-image { aspect-ratio:1; background:var(--input); overflow:hidden; border:1px solid var(--line-dark); }
.sv-product-image img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .2s ease; }
.sv-product-card a:hover img { transform:scale(1.025); }
.sv-product-house { margin:1rem 0 .5rem; font-size:.65rem; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); }
.sv-product-card h3 { margin:0 0 1rem; font:400 clamp(1.2rem,1.8vw,1.6rem)/1.2 var(--font-display); overflow-wrap:anywhere; }
.sv-product-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem; margin-top:auto; padding-top:.75rem; border-top:1px solid var(--line-dark); font-size:.85rem; }
.sv-product-bottom > span:last-child { font-size:.73rem; font-weight:700; }
.sv-discovery-status { min-height:1.2rem; margin:.8rem 0 0; color:var(--muted); font-size:.85rem; }
.sv-discovery-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1.8rem; }
.sv-discovery-actions a, .sv-discovery-actions button { display:inline-flex; align-items:center; min-height:44px; gap:1rem; font:700 .82rem var(--font-body); }
.sv-discovery-actions a { text-decoration:underline; text-underline-offset:.3rem; }
.sv-discovery-actions button { padding:.8rem 1rem; border:1px solid var(--line-dark); background:transparent; color:var(--ink); cursor:pointer; }
.sv-discovery-actions button:hover { background:var(--canvas); }
.sv-discovery-actions [hidden] { display:none; }
.sv-catalog-page { background:var(--paper); color:var(--ink); min-height:65vh; }
.sv-catalog-intro { padding:1.6rem 4.5vw 0; background:#c8c3a7; border-bottom:1px solid var(--line-dark); }
.sv-breadcrumb { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; font-size:.75rem; color:var(--muted); }
.sv-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:.2em; }
.sv-catalog-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; padding:1.25rem 0 1.75rem; }
.sv-catalog-heading h1 { max-width:17ch; margin:.6rem 0 0; font:400 clamp(2.6rem,4vw,4rem)/1.02 var(--font-display); letter-spacing:-.04em; }
.sv-catalog-heading > p { max-width:350px; margin:0; color:var(--muted); font-size:.92rem; line-height:1.7; }
.sv-collection-links { display:flex; gap:1.5rem; flex-wrap:wrap; }
.sv-collection-links a { display:inline-flex; min-height:48px; align-items:center; padding:.7rem 0; border-bottom:3px solid transparent; font-size:.82rem; font-weight:700; }
.sv-collection-links a[aria-current] { border-color:var(--copper); }
.sv-catalog-section { padding:1.8rem 4.5vw 4rem; scroll-margin-top:1rem; }
.sv-catalog-filters { display:grid; grid-template-columns:minmax(200px,1.7fr) minmax(160px,1fr) minmax(160px,1fr) auto; gap:.8rem; align-items:end; margin-bottom:1.4rem; }
.sv-catalog-filters label { min-width:0; display:grid; gap:.5rem; font-size:.77rem; font-weight:700; }
.sv-catalog-filters input, .sv-catalog-filters select { width:100%; min-width:0; min-height:48px; padding:.65rem .8rem; border:1px solid #848772; border-radius:0; background:var(--input); color:var(--ink); font:400 .9rem var(--font-body); }
.sv-catalog-filters button { display:flex; align-items:center; justify-content:space-between; gap:1.2rem; min-height:48px; padding:.7rem 1rem; border:1px solid var(--pine); border-radius:0; background:var(--pine); color:var(--input); font-size:.85rem; font-weight:700; cursor:pointer; }
.sv-filter-summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:1rem; border-bottom:1px solid var(--line-dark); font-size:.85rem; }
.sv-filter-summary p { margin:0; }
.sv-filter-summary a { display:inline-flex; min-height:44px; align-items:center; text-decoration:underline; text-underline-offset:.2em; }
.sv-catalog-section .woocommerce-result-count { float:none; margin:0 0 1.25rem; font-size:.8rem; }
.sv-catalog-section ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2.25rem 1.25rem; margin:0; padding:0; list-style:none; }
.sv-catalog-section ul.products::before, .sv-catalog-section ul.products::after { display:none; }
.sv-catalog-section ul.products li.product { display:flex; flex-direction:column; width:100% !important; max-width:none; float:none; margin:0; }
.sv-catalog-section ul.products li.product a img { width:100%; height:auto; max-height:320px; margin:0 0 .9rem; aspect-ratio:1; object-fit:contain; border:1px solid var(--line-dark); }
.sv-catalog-section ul.products li.product .woocommerce-loop-product__title { font:400 clamp(1.15rem,1.7vw,1.55rem)/1.2 var(--font-display); padding:0; }
.sv-catalog-section ul.products li.product .button { display:flex; align-items:center; justify-content:center; min-height:44px; margin-top:auto; font-size:.8rem; }
.sv-catalog-section ul.products li.product .price { margin:.8rem 0 1rem; font-size:.9rem; }
.sv-catalog-help { margin-top:2rem; font-size:.9rem; line-height:1.6; }
.sv-catalog-help a { text-decoration:underline; text-underline-offset:.2em; }
.sv-catalog-section .woocommerce-pagination { margin-top:2rem; }
.sv-catalog-section .woocommerce-pagination ul li a, .sv-catalog-section .woocommerce-pagination ul li span { display:grid; place-items:center; min-width:44px; min-height:44px; }
.sv-discover-section > *, .sv-catalog-intro > *, .sv-catalog-section > * { max-width:1360px; margin-inline:auto; }
@media(max-width:1000px) { .sv-catalog-filters { grid-template-columns:1fr 1fr; } .sv-catalog-section ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); } .sv-discovery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .sv-store-hero .hero-copy h1 { font-size:clamp(3rem,9vw,4rem); } .sv-store-home .sv-store-hero { padding-block:3rem; } .sv-section-heading,.sv-catalog-heading { display:block; } .sv-section-heading > p,.sv-catalog-heading > p { margin-top:1rem; max-width:32rem; } .sv-store-home .section-intro { grid-template-columns:1fr; } .sv-store-home .house-card { min-height:270px; padding:1.5rem; } .sv-store-home .houses-grid { grid-template-columns:1fr; } .sv-catalog-section ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.6rem .75rem; } .sv-catalog-heading { padding-top:.75rem; } .sv-catalog-heading h1 { font-size:2.7rem; } .sv-catalog-filters { gap:.8rem .65rem; } .sv-search-field { grid-column:1 / -1; } .sv-catalog-filters button { grid-column:1 / -1; } .sv-catalog-section ul.products li.product .woocommerce-loop-product__title { font-size:1.12rem; } .sv-discovery-grid { gap:1.5rem .75rem; } .sv-product-card h3 { font-size:1.2rem; } .sv-discovery-actions { gap:.25rem 1rem; } }
@media(max-width:380px) { .sv-catalog-filters { grid-template-columns:1fr; } .sv-catalog-heading h1 { font-size:2.35rem; } .sv-hero-actions { flex-direction:column; } .sv-collection-links { gap:.6rem; } .sv-collection-links a { font-size:.75rem; } }
@media(max-width:700px) { .sv-catalog-intro { padding-top:.5rem; } .sv-catalog-heading { padding-block:.5rem 1rem; } .sv-catalog-heading h1 { font-size:2.5rem; } .sv-catalog-heading > p { margin-top:.7rem; line-height:1.5; } .sv-catalog-section { padding-top:1.25rem; } }
@media(prefers-reduced-motion:reduce) { .sv-product-image img { transition:none; } }
