/* One autumn palette across the storefront and working desks. */
:root { color-scheme: light; }
body { background: var(--paper); }
.site-header, .site-footer { background: #30382d; --copper: var(--harvest); }
.site-header-overlay { background: linear-gradient(180deg,rgb(36 39 29 / 90%),rgb(36 39 29 / 32%)); }
.account-menu-panel, .mobile-menu-panel { background: #353c2f; }
.mobile-menu-panel { max-height:calc(100svh - 180px); overflow-y:auto; overscroll-behavior:contain; }
.site-nav a, .account-menu summary, .header-link { color: var(--paper); }
.house-menu { position:relative; }
.house-menu summary { display:flex; min-height:44px; align-items:center; gap:.55rem; color:var(--paper); cursor:pointer; list-style:none; font-size:.58rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.house-menu summary::-webkit-details-marker { display:none; }
.house-menu summary > span:last-child { font-size:.9rem; }
.house-menu[open] summary > span:last-child { transform:rotate(180deg); }
.house-menu-panel { position:absolute; top:calc(100% + .65rem); left:0; z-index:80; width:17rem; padding:.5rem; border:1px solid var(--line-light); background:#353c2f; box-shadow:0 1.5rem 3rem rgb(0 0 0 / 25%); }
.house-menu-panel a { display:grid; gap:.4rem; min-height:64px; padding:.9rem; }
.house-menu-panel a + a { border-top:1px solid var(--line-light); }
.house-menu-panel a:hover { background:rgb(226 214 191 / 8%); }
.house-menu-panel small { color:var(--muted-light); font-size:.65rem; font-weight:400; letter-spacing:.02em; text-transform:none; }
.mobile-menu-panel .mobile-house-child { padding-left:1.8rem; border-left:2px solid var(--harvest); }
.mobile-house-child small { margin-left:.7rem; color:var(--harvest); font-size:.6rem; letter-spacing:.06em; }
.about-house-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.about-house-link { display:inline-flex; margin-top:1.6rem; padding-bottom:.3rem; border-bottom:1px solid var(--harvest); font-size:.7rem; }
.dalmora-workshop-entry { max-width:640px; margin-top:2rem; padding:1.5rem; border:1px solid var(--line-light); background:rgb(226 214 191 / 5%); }
.dalmora-workshop-entry h2 { margin:0 0 .6rem; font:400 clamp(1.7rem,3vw,2.5rem)/1.1 var(--font-display); }
.dalmora-workshop-entry p { margin:0 0 1.1rem; color:var(--muted-light); line-height:1.6; }
.dalmora-workshop-entry a { display:flex; width:max-content; max-width:100%; min-height:48px; align-items:center; gap:2rem; padding:.8rem 1.1rem; background:var(--harvest); color:var(--ink); font-size:.75rem; font-weight:700; }
@media(max-width:860px) { .about-house-grid { grid-template-columns:1fr; } }
.hero-shell { background-image: linear-gradient(90deg,rgb(35 37 28 / 94%) 0%,rgb(35 37 28 / 78%) 42%,rgb(35 37 28 / 22%) 76%,rgb(35 37 28 / 5%) 100%),url("south-vinland-storefront-hero.png"); }
.hero-shell::after { background: linear-gradient(180deg,transparent 52%,rgb(38 34 26 / 40%)); }
.south-vinland-hero { background-image: linear-gradient(90deg,rgb(36 40 30 / 95%) 0%,rgb(36 40 30 / 78%) 49%,rgb(36 40 30 / 24%) 100%),url("south-vinland-storefront-hero.png"); }
.hero-shell, .brand-hero, .houses-section, .about-hero, .about-houses, .workshop-hero, .workshop-standard, .dalmora-coming-page { --copper: var(--harvest); }
.houses-section, .about-houses, .workshop-standard { background: #3c4232; }
.house-dalmora::before { background: radial-gradient(circle at 72% 26%,rgb(188 129 68 / 25%),transparent 36%),linear-gradient(145deg,#65503a,#3b382d); }
.house-south-vinland::before { background: radial-gradient(circle at 70% 28%,rgb(141 153 104 / 24%),transparent 36%),linear-gradient(145deg,#4d5840,#2d3a2d); }
.house-card::after { background: linear-gradient(180deg,transparent,rgb(33 36 27 / 40%)); }
.workshop-strip { background: #c8b897; }
.about-hero, .dalmora-coming-hero { background: radial-gradient(circle at 78% 24%,rgb(181 115 58 / 28%),transparent 38%),linear-gradient(135deg,#494d39,#333c2e 78%); }
.workshop-hero::before { background: radial-gradient(circle at 78% 42%,rgb(183 115 58 / 32%),transparent 36%),linear-gradient(rgb(226 214 191 / 5%) 1px,transparent 1px),linear-gradient(90deg,rgb(226 214 191 / 5%) 1px,transparent 1px),linear-gradient(135deg,#4d4937,#343d2e); background-size:auto,8vw 8vw,8vw 8vw,auto; }
.workshop-empty-visual { background: radial-gradient(circle at 54% 45%,rgb(193 132 65 / 25%),transparent 38%),linear-gradient(145deg,#4d5840,#353d2e); }
.catalog-section, .workshop-catalog, .about-story, .brand-lockup-section { background: var(--paper); }
.account-hero, .role-dashboard-hero, .staff-product-intro { background: radial-gradient(ellipse at 85% 20%,rgb(172 113 57 / 22%),transparent 50%),linear-gradient(125deg,#bcbba0,#cfbea0 72%); color: var(--ink); border-bottom:1px solid var(--line-dark); --copper:#6b3d26; }
.account-hero > div > p:last-child, .role-dashboard-hero > div > p:last-child, .staff-product-intro > div > p:last-child, .role-dashboard-user small, .staff-product-intro-note small { color: #454b3d; }
.account-role-links, .account-role-links a, .role-dashboard-user, .role-dashboard-user > span, .staff-product-intro-note { border-color: var(--line-dark); }
.account-shell, .role-dashboard, .staff-product-page { background: var(--canvas); }
.role-dashboard-actions > a:first-child, .sv-account-card-grid .sv-account-work-card, .staff-submit-panel, .staff-apparel-submit, .management-copy-submit, .management-export-panel { background:#434b37; color:var(--paper); --copper:var(--harvest); }
.staff-form-card, .staff-apparel-card, .staff-apparel-empty, .management-review-card, .management-copy-editor, .management-live-card, .staff-login-form, .role-dashboard-stats, .role-dashboard-actions > a, .role-dashboard-actions > div, .sv-account-card-grid > a { box-shadow:none; }
.staff-field input:not([type="file"]), .staff-field select, .staff-field textarea, .staff-login-form input[type="text"], .staff-login-form input[type="password"], .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .single-product .summary .variations select { background:var(--input); color:var(--ink); border-color:#8d927b; }
.staff-sku-code, .staff-sku-output { background:#c6c3a7; }
.staff-codebook section, .staff-check-row, .staff-apparel-checks, .management-review-actions { background:rgb(79 88 58 / 7%); }
.staff-product-page .staff-field label span, .staff-product-page .staff-sku-segment label span { color:var(--muted); }
.management-publish-form button { background:var(--copper); color:var(--input); }
.management-rich-field .mce-panel, .management-rich-field .mce-toolbar-grp { background:var(--input); border-color:var(--line-dark); }
.woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce ul.products li.product .price { color:var(--ink); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { border-radius:0; }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt { background:#414934; color:var(--input); }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background:#30372c; color:var(--input); }
.woocommerce-message, .woocommerce-info { background:#c5c6a8; color:var(--ink); }
.woocommerce-error { background:#e3c7ae; color:#573825; }
.single-product .woocommerce-product-gallery__wrapper { background:var(--input); }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid var(--copper); outline-offset:3px; }

/* Catalog cards: keep a small collection at product-card scale on every screen. */
.catalog-section > h1.page-title { display:none; }
.woocommerce .woocommerce-ordering select, .catalog-section .woocommerce-ordering select { min-height:44px; max-width:100%; padding:.5rem .7rem; border:1px solid #8d927b; border-radius:0; background:var(--input); color:var(--ink); font-size:.85rem; }
.woocommerce .woocommerce-result-count, .catalog-section .woocommerce-result-count { color:var(--muted); font-size:.85rem; }
.woocommerce ul.products, .workshop-products.woocommerce ul.products { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),320px)); gap:2.5rem 1.5rem; justify-content:start; }
.woocommerce ul.products li.product { width:100% !important; max-width:320px; min-width:0; }
.woocommerce ul.products li.product a img { display:block; width:100%; height:auto; max-height:320px; aspect-ratio:1; object-fit:contain; background:var(--input); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:clamp(1.35rem,1.6vw,1.75rem); line-height:1.12; }
.woocommerce ul.products li.product .price { margin-top:.65rem; font-size:.85rem; }
.woocommerce ul.products li.product .button { margin-top:1rem; min-height:44px; background:#414934; color:var(--input); border:0; }
.woocommerce ul.products li.product .button:hover { background:#30372c; }

/* Separate model and artwork records, with comfortable touch targets. */
.sv-reference-form { padding:clamp(1.25rem,3vw,2.5rem); border-bottom:1px solid var(--line-dark); }
.sv-reference-form h3 { margin:0 0 1.2rem; font:400 1.8rem var(--font-display); }
.sv-model-summary { display:grid; grid-template-columns:1fr 1fr 2fr; gap:1rem; padding:1.2rem; background:#c6c3a7; }
.sv-model-summary span { display:block; margin-bottom:.5rem; color:#454b3d; font-size:.7rem; }
.sv-model-summary strong, .sv-model-summary code { font:700 .85rem var(--font-code); overflow-wrap:anywhere; }
.sv-field-help { color:var(--muted); font-size:.85rem; line-height:1.6; }
.sv-graphics-field { min-width:0; margin:1.6rem 0; padding:1rem; border:1px solid var(--line-dark); }
.sv-graphics-field legend { padding:0 .4rem; font-size:.85rem; font-weight:700; }
.sv-graphics-field legend span { display:block; margin-top:.35rem; color:var(--muted); font-size:.75rem; font-weight:400; }
.sv-graphic-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:.65rem; max-height:320px; overflow:auto; }
.sv-graphic-options label { display:flex; align-items:center; gap:.75rem; min-height:48px; padding:.6rem .8rem; background:var(--input); border:1px solid var(--line-dark); cursor:pointer; font-size:.85rem; }
.sv-graphic-options input { flex:0 0 auto; width:20px; height:20px; accent-color:var(--pine); }
.sv-graphic-options b { font-family:var(--font-code); margin-right:.5rem; }
.sv-reference-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.2rem; }
.sv-reference-actions a { font-size:.8rem; text-decoration:underline; text-underline-offset:.25em; }
.sv-reference-actions button, .sv-graphic-register-form button { min-height:48px; padding:.8rem 1.15rem; border:0; background:var(--pine); color:var(--input); cursor:pointer; font-size:.8rem; font-weight:700; }
.sv-reference-variants { margin-top:1.5rem; }
.sv-graphic-register { margin:2rem 0; padding:clamp(1.25rem,3vw,2.5rem); border:1px solid var(--line-dark); background:var(--paper); scroll-margin-top:1.5rem; }
.sv-graphic-register h2 { margin:.5rem 0 1rem; font:400 clamp(2rem,4vw,3.6rem)/1 var(--font-display); }
.sv-graphic-register > p:not(.eyebrow) { max-width:760px; color:var(--muted); line-height:1.6; }
.sv-graphic-register summary { min-height:44px; cursor:pointer; font-size:.85rem; font-weight:700; }
.sv-graphic-register-form { display:grid; grid-template-columns:160px minmax(0,1fr) auto; align-items:end; gap:1rem; margin:1rem 0; }
.sv-graphic-table { width:100%; border-collapse:collapse; margin-top:1.5rem; font-size:.85rem; }
.sv-graphic-table th, .sv-graphic-table td { padding:1rem .8rem; border-bottom:1px solid var(--line-dark); text-align:left; vertical-align:top; }
.sv-graphic-table th { background:#c6c3a7; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; }
.sv-graphic-table ul { margin:0; padding-left:1rem; }
.sv-graphic-table a { text-decoration:underline; text-underline-offset:.2em; }
.sv-register-dashboard-link { grid-column:1 / -1; padding:1.2rem; border:1px solid var(--line-dark); background:var(--paper); font-size:.85rem; text-decoration:underline; text-underline-offset:.2em; }
@media(max-width:560px) {
	.woocommerce ul.products, .workshop-products.woocommerce ul.products { grid-template-columns:minmax(0,320px); justify-content:center; }
	.sv-model-summary, .sv-graphic-register-form { grid-template-columns:1fr; }
	.sv-reference-actions { align-items:stretch; flex-direction:column; }
	.sv-graphic-table th, .sv-graphic-table td { padding:.7rem .4rem; overflow-wrap:anywhere; }
}
/* WooCommerce can choose its sticky checkout state from the narrow cart
   column while its desktop media rule hides that same state. Keep the one
   real checkout control in the document flow at every viewport size. */
body.woocommerce-checkout .wc-block-checkout__form > .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
  margin: 0 0 24px;
  padding: 16px 18px;
  border: 1px solid #a6a18b;
  border-radius: 6px;
  background: #ece2d0;
}
body.woocommerce-checkout .wc-block-checkout__form > .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-totals-coupon__content { margin-bottom: 0; }
body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-container,
body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-container--sticky {
  display: block;
  position: static;
  inset: auto;
  width: 100%;
  padding: 0;
  z-index: auto;
  box-shadow: none;
}
body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-container--sticky::before {
  display: none;
}

