/* Shared storefront presentation; palette, type and spacing come from theme.json. */
body {
    --wpsite-border: var(--wp--preset--color--accent);
    --wpsite-radius: var(--wp--custom--radius--card);
}

*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
a, button, input, select, textarea { touch-action: manipulation; }
a { text-underline-offset: 0.2em; }
a:hover { text-decoration-thickness: 2px; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid var(--wp--preset--color--ink);
    outline-offset: 4px;
    box-shadow: 0 0 0 2px var(--wp--preset--color--surface);
}

.wp-site-blocks > header {
    position: sticky;
    top: 0;
    z-index: 30;
    margin-block-start: 0;
    background: var(--wp--preset--color--canvas);
}
.admin-bar .wp-site-blocks > header { top: var(--wp-admin--admin-bar--height, 32px); }
.wpsite-header, .wpsite-checkout-header {
    padding-block: var(--wp--preset--spacing--40);
    border-bottom: 1px solid var(--wpsite-border);
}
.wpsite-header-row, .wpsite-header-tools { gap: var(--wp--preset--spacing--50); }
.wpsite-brand { gap: var(--wp--preset--spacing--30); flex-shrink: 0; }
.wpsite-brand .wp-block-site-title { margin: 0; white-space: nowrap; }
.wpsite-header-tools .wp-block-search { width: 220px; max-width: 100%; margin: 0; }
.wpsite-header-tools .wp-block-navigation { flex-shrink: 0; }
.wpsite-header .wp-block-navigation-item__content { padding-block: var(--wp--preset--spacing--30); }
.wp-block-search__inside-wrapper {
    border: 1px solid var(--wpsite-border);
    border-radius: var(--wp--custom--radius--small);
    background: var(--wp--preset--color--surface);
    padding: 2px;
}
.wp-block-search__input { width: 100%; min-width: 0; border: 0; background: transparent; }
.wp-block-search__button { margin-left: 0; min-height: 44px; padding: var(--wp--preset--spacing--20); flex-shrink: 0; white-space: nowrap; }
.wc-block-mini-cart__button { min-width: 44px; min-height: 44px; }

.wp-site-blocks main {
    padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--80);
    min-height: 50vh;
    overflow-wrap: anywhere;
}
.wp-site-blocks main.wpsite-home { padding-top: var(--wp--preset--spacing--50); }
.wpsite-home > .wp-block-post-content { max-width: var(--wp--style--global--wide-size); }
.wpsite-home .wp-block-post-content > * + * { margin-block-start: var(--wp--preset--spacing--80); }
.wpsite-hero {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    border-radius: var(--wpsite-radius);
    overflow: hidden;
    background: var(--wp--preset--color--canvas);
    gap: 0;
}
.wpsite-hero > .wp-block-column { min-width: 0; height: 100%; }
.wpsite-hero > .wp-block-column:first-child { padding: var(--wp--preset--spacing--70); }
.wpsite-hero h1 { font-size: var(--wp--preset--font-size--display); max-width: 12ch; }
.wpsite-hero p { max-width: 42ch; }
.wpsite-hero .wp-block-image { margin: 0; height: 100%; }
.wpsite-hero img { display: block; width: 100%; height: 100%; min-height: 380px; object-fit: cover; }
.wpsite-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--50); }
.wpsite-category { min-width: 0; }
.wpsite-categories > .wpsite-category { margin-block-start: 0; }
.wpsite-category .wp-block-image { margin: 0 0 var(--wp--preset--spacing--40); }
.wpsite-category img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--wpsite-radius); }
.wpsite-category h3 { margin-block: var(--wp--preset--spacing--30); }
.wpsite-promotion { padding: var(--wp--preset--spacing--70); border-radius: var(--wpsite-radius); overflow: hidden; background: var(--wp--preset--color--accent); }
.wpsite-catalog-filters { padding: var(--wp--preset--spacing--50); border: 1px solid var(--wpsite-border); border-radius: var(--wpsite-radius); gap: var(--wp--preset--spacing--70); }
.wpsite-catalog-filters > * { min-width: 0; margin-block-start: 0; }

/* Override the collection's saved column count consistently at each viewport. */
.wp-block-woocommerce-product-collection .wc-block-product-template {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50);
}
.wc-block-product-template > li { min-width: 0; display: flex; flex-direction: column; gap: var(--wp--preset--spacing--30); }
.woocommerce .wp-block-woocommerce-product-collection ul.wc-block-product-template > li.product { width: auto; float: none; margin: 0; }
.wc-block-product-template > li > * { margin-block: 0; }
.wc-block-product-template .wc-block-components-product-image { border-radius: var(--wpsite-radius); overflow: hidden; }
.wc-block-product-template .wc-block-components-product-image img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.wc-block-product-template .wp-block-post-title { font-size: var(--wp--preset--font-size--body); line-height: 1.4; }
.wc-block-product-template .wp-block-woocommerce-product-price { color: var(--wp--preset--color--ink); }
.wc-block-product-template .wp-block-woocommerce-product-button { margin-block-start: auto; padding-top: var(--wp--preset--spacing--20); }
.wc-block-product-template .wp-block-button__link { width: 100%; }
.wp-block-query-pagination { gap: var(--wp--preset--spacing--40); padding-block: var(--wp--preset--spacing--60); }
.wp-block-query-pagination :where(a, .page-numbers) { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.woocommerce-product-gallery, .wp-block-woocommerce-product-image-gallery { max-width: 100%; }
.woocommerce-product-gallery img { border-radius: var(--wpsite-radius); }
.woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: var(--wp--preset--spacing--20); flex-wrap: wrap; }
.single-product main > .wp-block-columns { gap: var(--wp--preset--spacing--70); }
.wp-block-woocommerce-product-meta { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.woocommerce div.product form.cart { display: flex; align-items: center; gap: var(--wp--preset--spacing--40); flex-wrap: wrap; }
.woocommerce div.product form.variations_form { display: block; }
.woocommerce .variations_form .variations select { height: auto; line-height: 1.4; padding-block: var(--wp--preset--spacing--30); }

:where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea) {
    max-width: 100%;
    min-height: 44px;
    border: 1px solid var(--wpsite-border);
    border-radius: var(--wp--custom--radius--small);
    padding: var(--wp--preset--spacing--30);
    background-color: var(--wp--preset--color--surface);
    color: var(--wp--preset--color--ink);
    font: inherit;
}
:where(input[type="checkbox"], input[type="radio"]) { accent-color: var(--wp--preset--color--ink); }
:where(button, input[type="submit"], .wp-element-button, .wc-block-components-button, .woocommerce a.button, .woocommerce button.button) { min-height: 44px; }
.woocommerce :where(a.button, button.button, input.button), .wc-block-components-button:not(.is-link) {
    border-radius: var(--wp--custom--radius--small);
    background: var(--wp--preset--color--ink);
    color: var(--wp--preset--color--surface);
    font-size: var(--wp--preset--font-size--body);
    font-weight: 600;
}
.wc-block-cart, .wc-block-checkout { font-size: var(--wp--preset--font-size--body); }
.wc-block-cart__sidebar, .wc-block-checkout__sidebar {
    background: var(--wp--preset--color--surface);
    border: 1px solid var(--wpsite-border);
    border-radius: var(--wpsite-radius);
    padding: var(--wp--preset--spacing--50);
    align-self: start;
}
.wc-block-components-text-input input, .wc-block-components-combobox input { color: var(--wp--preset--color--ink); }
.wc-block-components-validation-error, .woocommerce-invalid label { font-weight: 600; }
.woocommerce-notices-wrapper, .wc-block-components-notice-banner { overflow-wrap: anywhere; }
.woocommerce :where(.woocommerce-message, .woocommerce-info), .wc-block-components-notice-banner.is-info {
    background: var(--wp--preset--color--accent);
    color: var(--wp--preset--color--ink);
    border-color: var(--wp--preset--color--ink);
    border-radius: var(--wp--custom--radius--small);
}
.wpsite-empty-state, .wp-block-woocommerce-empty-cart-block {
    padding-block: var(--wp--preset--spacing--70);
    text-align: center;
}
.wpsite-empty-state .wp-block-buttons { justify-content: center; }
.wpsite-empty-state .wp-block-search { max-width: 480px; margin-inline: auto; }
.wpsite-footer { border-top: 1px solid var(--wpsite-border); padding-block: var(--wp--preset--spacing--70); }
.wpsite-footer .wp-block-navigation { max-width: 820px; }
.wpsite-footer .wp-block-navigation__container { gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50); }
.wpsite-footer .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 44px; }

@media (max-width: 1024px) {
    .wpsite-header-row { gap: var(--wp--preset--spacing--40); }
    .wpsite-header-tools { gap: var(--wp--preset--spacing--30); }
    .wpsite-header-tools .wp-block-search { width: 170px; }
    .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .wpsite-hero > .wp-block-column:first-child { padding: var(--wp--preset--spacing--60); }
    .single-product main > .wp-block-columns { gap: var(--wp--preset--spacing--50); }
    .single-product main > .wp-block-columns > .wp-block-column { flex-basis: 0 !important; flex-grow: 1; }
}

@media (max-width: 720px) {
    .wpsite-catalog-filters { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--50); }
    .wpsite-header-tools { width: 100%; justify-content: space-between; }
    .wpsite-header-tools .wp-block-search { flex: 1; width: auto; }
    .wpsite-header-row > .wp-block-navigation { margin-left: auto; }
    .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wpsite-categories, .wpsite-hero { grid-template-columns: 1fr; }
    .wpsite-categories { gap: var(--wp--preset--spacing--40); }
    .wpsite-hero { flex-direction: column; }
    .wpsite-hero img { min-height: 0; max-height: none; height: auto; aspect-ratio: 4 / 3; }
    .single-product main > .wp-block-columns { flex-direction: column; }
    .single-product main > .wp-block-columns > .wp-block-column { flex-basis: auto !important; }
    .wc-block-cart .wc-block-components-main, .wc-block-checkout .wc-block-components-main,
    .wc-block-cart__sidebar, .wc-block-checkout__sidebar { width: 100%; padding-inline: var(--wp--preset--spacing--40); }
    .wc-block-cart .wc-block-components-sidebar-layout, .wc-block-checkout .wc-block-components-sidebar-layout { flex-direction: column; }
    .wpsite-footer > .wp-block-group { flex-direction: column; }
    .wpsite-promotion { padding: var(--wp--preset--spacing--60); }
}

@media (max-width: 480px) {
    .wp-site-blocks main { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70); }
    .wpsite-home .wp-block-post-content > * + * { margin-block-start: var(--wp--preset--spacing--70); }
    .wpsite-header-tools { flex-wrap: wrap; }
    .wpsite-header-tools .wp-block-search { min-width: 140px; }
    .wpsite-header-tools .wp-block-navigation { font-size: var(--wp--preset--font-size--small); }
    .wpsite-hero > .wp-block-column:first-child, .wpsite-promotion { padding: var(--wp--preset--spacing--50); }
    .wp-block-woocommerce-product-collection .wc-block-product-template { gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--30); }
    .wc-block-product-template .wp-block-button__link { padding-inline: var(--wp--preset--spacing--20); font-size: var(--wp--preset--font-size--small); }
    .wc-block-cart__sidebar, .wc-block-checkout__sidebar { padding: var(--wp--preset--spacing--40); }
    .wpsite-checkout-header .wp-block-group { gap: var(--wp--preset--spacing--30); }
}

/* Editorial rhythm without relying on remote fonts or motion to expose content. */
.wpsite-hero > .wp-block-column:first-child { display: flex; flex-direction: column; justify-content: center; }
.wpsite-hero h1 { max-width: 11ch; margin-top: 0; }
.wpsite-hero img { aspect-ratio: 4 / 5; object-position: right center; }
.wpsite-category a { color: var(--wp--preset--color--ink); text-decoration: none; }
.wpsite-category h3 { font-size: clamp(1.6rem, 3vw, 2.5rem); }
.wpsite-category img, .wc-block-components-product-image img { transition: filter 180ms ease; }
.wpsite-category a:hover img, .wc-block-components-product-image a:hover img { filter: brightness(0.96); }
.wpsite-curated-products > h2 { margin-bottom: var(--wp--preset--spacing--70); }
.wpsite-promotion { align-items: center; gap: var(--wp--preset--spacing--70); }
.wpsite-promotion .wp-block-image { margin: 0; }
.wpsite-promotion img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.wpsite-promotion h2 { font-family: var(--wp--preset--font-family--system); font-size: clamp(1.25rem, 2.5vw, 2rem); line-height: 1.4; letter-spacing: 0.08em; }
.wpsite-footer .wp-block-site-title { white-space: nowrap; }
.wpsite-header-row > .wp-block-navigation { font-size: 0.8rem; }
.wpsite-header-row > .wp-block-navigation .wp-block-navigation__container { gap: 1.1rem; }
.wpsite-header-tools .wp-block-search { width: 180px; }
.wc-block-product-template .wp-block-post-title { font-family: var(--wp--preset--font-family--system); font-weight: 400; letter-spacing: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding-block: 0.6rem; }
.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; overflow-x: auto; }
@media (max-width: 1024px) {
    .wpsite-header-tools { width: 100%; justify-content: flex-end; }
    .wpsite-header-tools .wp-block-search { width: 240px; }
    .wpsite-hero h1 { font-size: clamp(3rem, 5.6vw, 4.5rem); }
}
@media (max-width: 720px) {
    .wpsite-header-tools .wp-block-search { width: auto; }
    .wpsite-hero img { aspect-ratio: 4 / 3; }
    .wpsite-promotion { flex-direction: column; gap: var(--wp--preset--spacing--50); }
    .wpsite-footer .wp-block-navigation__container { align-items: flex-start; flex-direction: column; }
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Xylvar: garment-catalog typography, open margins and warm clay. */
@font-face{font-family:'Source Serif 4';src:url('../fonts/source-serif.woff2') format('woff2');font-weight:200 900;font-display:swap}
@font-face{font-family:'DM Sans';src:url('../fonts/dm-sans.woff2') format('woff2');font-weight:400;font-display:swap}
::selection{background:#9c513a;color:white}body{caret-color:#9c513a;scrollbar-color:#9c513a #faf7f2}
h1,h2,h3{text-wrap:balance}p{max-width:72ch}
.xylvar-wordmark{font-family:'Source Serif 4',serif;font-size:2.2rem;letter-spacing:.09em;text-decoration:none;white-space:nowrap;line-height:1.1;display:inline-flex;align-items:baseline;gap:8px}
.xylvar-wordmark span{font-family:'DM Sans',sans-serif;font-size:.65rem;letter-spacing:.16em}
.wpsite-header-row{flex-wrap:nowrap!important;gap:24px}.wpsite-header-tools{gap:16px}.wpsite-header-tools .wp-block-search{width:156px}
.wpsite-hero{background:#eadfd2}.wpsite-hero > .wp-block-column:first-child{padding:clamp(28px,5vw,76px)}
.wpsite-hero h1{font-size:clamp(3rem,5.2vw,5rem);font-weight:400;line-height:1.04;letter-spacing:-.035em;max-width:11ch;margin-bottom:24px}
.wpsite-hero p{line-height:1.65}.wpsite-hero img{min-height:540px;aspect-ratio:1/1;object-fit:cover}
.wp-element-button,.wpsite-hero .wp-block-button__link{background:#84432f;color:#fff;border-radius:0}.wp-element-button:hover{background:#623120;color:#fff}
.wpsite-categories{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.wpsite-category img{aspect-ratio:3/4;border-radius:0}.wpsite-category h3{font-family:'Source Serif 4',serif;font-size:1.65rem;font-weight:400}.wpsite-category p{font-size:.9rem}
.wpsite-promotion{background:#eadfd2;padding:0;gap:0}.wpsite-promotion > .wp-block-column:last-child{padding:40px}.wpsite-promotion h2{font-family:'Source Serif 4',serif;font-size:clamp(2rem,3vw,3rem);font-weight:400;letter-spacing:-.025em;line-height:1.15}
.wpsite-footer{background:#302820;color:#faf7f2;padding-block:64px 24px}.wpsite-footer a{color:inherit}.xylvar-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:40px;max-width:1320px;margin:auto}.xylvar-footer-grid h2{font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:600;margin:0 0 20px}.xylvar-footer-grid nav a{display:block;margin-bottom:12px;font-size:.9rem;text-decoration:none}.xylvar-footer-grid nav a:hover{text-decoration:underline}.xylvar-footer-grid p{font-size:.9rem;line-height:1.8}.xylvar-copyright{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #75695e;margin:40px auto 0;padding-top:24px;font-size:.8rem;max-width:1320px}
@media(max-width:1150px){.wpsite-header-tools .wp-block-search{display:none}.wpsite-header-tools{width:auto}.wpsite-header-row > .wp-block-navigation .wp-block-navigation__container{gap:14px}}
@media(max-width:760px){.wpsite-header-row{gap:12px!important}.xylvar-wordmark{font-size:1.8rem}.wpsite-header-row > .wp-block-navigation{margin-left:auto}.wpsite-header-tools > .wp-block-navigation{display:none}.wpsite-header-tools{width:auto;gap:0}.wpsite-hero{grid-template-columns:1fr!important}.wpsite-hero h1{font-size:3.4rem}.wpsite-hero img{min-height:0;aspect-ratio:5/4}.wpsite-hero > .wp-block-column:first-child{padding:32px}.wpsite-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.xylvar-footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px}.xylvar-footer-grid > div{grid-column:1/-1}.xylvar-copyright{flex-direction:column;gap:8px}.wpsite-promotion > .wp-block-column:last-child{padding:28px}.wpsite-footer{padding-top:40px}}
@media(min-width:600px) and (max-width:760px){.wpsite-header-row > .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}.wpsite-header-row > .wp-block-navigation .wp-block-navigation__responsive-container-open{display:flex!important}}
@media(prefers-reduced-motion:no-preference){.wpsite-hero img{animation:xylvar-reveal .8s ease-out}@keyframes xylvar-reveal{from{clip-path:inset(0 0 8% 0)}to{clip-path:inset(0)}}}

.xylvar-search{position:relative}.xylvar-search summary{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer;list-style:none}.xylvar-search summary::-webkit-details-marker{display:none}.xylvar-search form{position:absolute;z-index:40;right:0;top:52px;background:#faf7f2;border:1px solid #d7c7b7;padding:20px;width:340px;box-shadow:0 12px 24px #30282020}.xylvar-search form label{display:block;margin-bottom:10px}.xylvar-search form>div{display:flex;gap:8px}.xylvar-search input{min-width:0;width:100%}.xylvar-search button{background:#84432f;color:white;border:0;padding:10px;font:inherit;cursor:pointer}@media(max-width:760px){.xylvar-search form{position:fixed;top:90px;left:16px;right:16px;width:auto}.wpsite-header-tools{gap:0}.wpsite-header-row{gap:4px!important}.xylvar-wordmark{font-size:1.6rem}}

.xylvar-size-table{max-width:100%;overflow:auto;margin-block:20px}.xylvar-size-table table{border-collapse:collapse;width:100%;font-size:.9rem;font-variant-numeric:tabular-nums}.xylvar-size-table th,.xylvar-size-table td{padding:12px;border-bottom:1px solid #d7c7b7;text-align:left;white-space:nowrap}.xylvar-size-table th{font-weight:600}
