:root {
  --ink: #111c44;
  --paper: #fbf8f4;
  --hotpink: #ff2cb4;
  --electric: #146cff;
  --green: #35ae68;
  --line: #dcd9df;
  --muted: #42516d;
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'DM Sans', Arial, sans-serif;
  --mono: 'DM Mono', monospace;
  --content-width: 1200px;
  --site-gutter: max(24px, calc((100vw - var(--content-width)) / 2));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }

/* Header — deliberately compact, with pigment only at the outer edges. */
.site-header {
  min-height: 82px; position: relative; isolation: isolate; overflow: hidden;
  border-bottom: 1px solid var(--line); background: var(--paper);
}
.site-header__inner { width: min(100% - 48px, var(--content-width)); min-height: 82px; margin: auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.site-header::before, .site-header::after {
  content: ''; position: absolute; z-index: -1; top: 0; width: 330px; height: 100%;
  opacity: .27; pointer-events: none; background: url('../images/header-watercolor.png') left center / auto 142px no-repeat;
}
.site-header::before { left: -58px; }
.site-header::after { right: -58px; transform: scaleX(-1); }
.brand { display: flex; align-items: center; gap: 8px; white-space: nowrap; color: var(--ink); font: 500 23px var(--serif); letter-spacing: -.055em; }
.brand-mark { width: 36px; height: 36px; object-fit: contain; }
.primary-nav ul { display: flex; gap: 31px; padding: 0; margin: 0; list-style: none; }
.primary-nav a, .header-tools button, .text-link { color: var(--ink); font: 500 10px var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.primary-nav a { position: relative; padding: 9px 0; }
.primary-nav a::after { content: ''; position: absolute; right: 0; bottom: 3px; left: 0; height: 1px; background: var(--hotpink); transform: scaleX(0); transition: transform .2s; }
.primary-nav a:hover::after { transform: scaleX(1); }
.header-tools { display: flex; justify-self: end; align-items: center; gap: 20px; }
.header-tools button { padding: 0; border: 0; background: none; cursor: pointer; }
.language-switcher { display: flex; align-items: center; gap: 7px; }
.language-switcher a { color: #738095; font: 500 10px var(--mono); letter-spacing: .09em; text-decoration: none; }
.language-switcher a[aria-current="page"] { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.search-toggle { font-size: 22px !important; }
.cart-count { display: inline-block; min-width: 16px; min-height: 16px; padding: 2px 5px; border-radius: 50%; background: var(--hotpink); color: #fff; text-align: center; font-weight: 400; }

/* Homepage — ported directly from the approved preview proportions. */
.home-editorial > * { margin: 0; }
.sg-home-hero-copy { min-height: 545px; padding: 70px 10vw; display: grid; align-content: center; position: relative; overflow: hidden; }
.sg-home-hero-copy::before { content: ''; position: absolute; inset: 0 0 0 38%; background: url('../images/watercolor-pigment.png') right 45% / min(940px,100%) auto no-repeat; filter: saturate(2.1) contrast(1.12); opacity: .73; pointer-events: none; }
.sg-home-hero-copy::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 68% 47%, #146cff22 0 14%, transparent 38%), radial-gradient(circle at 79% 35%, #ff2cb42c 0 11%, transparent 33%); pointer-events: none; }
.sg-home-hero-copy > * { position: relative; z-index: 1; max-width: 620px; }
.sg-home-hero-copy h1 { margin: 0; font: 500 clamp(57px, 7.2vw, 98px) / .91 var(--serif); letter-spacing: -.07em; }
.sg-home-hero-copy h1 em, .sg-home-note h2 em { color: var(--hotpink); }
.sg-home-hero-copy > p:not(.eyebrow) { max-width: 340px; margin: 29px 0; color: #263758; font-size: 15px; line-height: 1.7; }
.sg-home-hero-copy .wp-block-buttons { margin-top: 27px; }.sg-home-hero-copy .wp-block-button__link { padding: 0 0 9px; border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; background: transparent; color: var(--ink); font: 500 10px var(--mono); letter-spacing: .09em; text-transform: uppercase; }.sg-home-products { padding: 94px 6vw; }.sg-home-products > .wp-block-shortcode { margin: 0; }.sg-home-products h2 { margin: 0 0 24px; padding-bottom: 24px; border-bottom: 1px solid var(--line); font: 500 clamp(36px,4vw,54px) / 1 var(--serif); letter-spacing: -.06em; }
.sg-home-note { min-height: 410px; margin: 0 6vw 80px; padding: 75px 10%; position: relative; overflow: hidden; background: var(--ink); color: #fff; }.sg-home-note::before, .sg-home-note::after { content: ''; position: absolute; width: 550px; height: 480px; border-radius: 50%; filter: blur(30px); opacity: .68; pointer-events: none; }.sg-home-note::before { top: -175px; right: -120px; background: radial-gradient(circle, #ff22ad, transparent 62%); }.sg-home-note::after { right: 80px; bottom: -295px; background: radial-gradient(circle, #146cff, transparent 62%); }.sg-home-note > * { position: relative; z-index: 1; }.sg-home-note .eyebrow { color: #a7c1ff; }.sg-home-note h2 { max-width: 720px; margin: 0; color: #fff; font: 500 clamp(37px, 5vw, 65px) / .99 var(--serif); letter-spacing: -.06em; }
.home-hero { min-height: 545px; padding: 70px 10vw; display: grid; grid-template-columns: 1fr 1fr; align-items: center; position: relative; overflow: hidden; }
.home-hero::before { content: ''; position: absolute; inset: 0 0 0 38%; background: url('../images/watercolor-pigment.png') right 45% / min(940px,100%) auto no-repeat; filter: saturate(2.1) contrast(1.12); opacity: .73; pointer-events: none; }
.home-hero::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 68% 47%, #146cff22 0 14%, transparent 38%), radial-gradient(circle at 79% 35%, #ff2cb42c 0 11%, transparent 33%); pointer-events: none; }
.hero-copy { position: relative; z-index: 1; max-width: 620px; }
.eyebrow { margin: 0 0 19px; color: var(--muted); font: 500 10px var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.home-hero h1 { margin: 0; font: 500 clamp(57px, 7.2vw, 98px) / .91 var(--serif); letter-spacing: -.07em; }
.home-hero h1 em, .home-note h2 em { color: var(--hotpink); }
.hero-copy > p:not(.eyebrow) { max-width: 340px; margin: 29px 0; color: #263758; font-size: 15px; line-height: 1.7; }
.text-link { display: inline-flex; gap: 23px; padding-bottom: 9px; border-bottom: 1px solid var(--ink); }
.text-link span { color: var(--hotpink); font-size: 17px; }
.collection-rail { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 6vw; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.collection-rail a { padding: 20px 10px; border-right: 1px solid var(--line); text-align: center; font: 500 11px var(--mono); letter-spacing: .07em; text-transform: uppercase; transition: background .2s; }
.collection-rail a:last-child { border: 0; }
.collection-rail a:hover { background: #fff; }
.collection-rail b { margin-left: 9px; color: var(--hotpink); font-size: 17px; }
.home-products, .shop-archive { padding: 94px 6vw; }
.section-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 0; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.section-heading h2 { margin: 0; font: 500 clamp(36px, 4vw, 54px) / 1 var(--serif); letter-spacing: -.06em; }

/* Woo product cards. Reset the legacy float layout before applying the preview grid. */
.products, .woocommerce ul.products.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 39px 20px !important; padding: 30px 0 0 !important; margin: 0 !important; list-style: none; }
.woocommerce ul.products.products::before, .woocommerce ul.products.products::after { display: none !important; }
.woocommerce ul.products.products li.product.wc-product-card { display: block !important; float: none !important; clear: none !important; width: auto !important; margin: 0 !important; }
.wc-product-card .product-image { aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; background: #f2eff0; }
.wc-product-card .product-image { position: relative; }
.wc-product-card .product-image img { width: 100%; height: 100%; object-fit: contain; transition: transform .35s ease; }
.wc-product-card .product-image:hover img { transform: scale(1.025); }
.product-badge { position: absolute; top: 12px; left: 12px; padding: 7px 8px; background: var(--ink); color: #fff; font: 500 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.product-category { margin: 14px 0 6px; color: #52617c; font: 500 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.woocommerce-loop-product__title { margin: 0; font: 500 21px var(--serif); letter-spacing: -.035em; }
.product-buy-row { display: flex; align-items: flex-end; gap: 11px; margin-top: 14px; }
.product-price { display: inline-flex; flex-direction: column; margin-right: 10px; color: #142453; font: 700 21px / .88 var(--sans); letter-spacing: -.03em; }
.product-price small { margin-top: 6px; color: #4d5f7d; font: 500 8px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.product-buy-row .button { display: inline-flex !important; align-items: center; justify-content: space-between; min-width: 132px; margin: 0 !important; padding: 12px 13px !important; border: 1px solid #b9c2d4 !important; background: transparent !important; color: var(--ink) !important; font: 700 10px var(--mono) !important; letter-spacing: .1em !important; text-transform: uppercase !important; transition: .22s ease; }
.product-buy-row .button::after { content: '+'; margin-left: 14px; color: var(--hotpink); font: 400 17px / 0 var(--sans); }
.product-buy-row .button:hover, .product-buy-row .button.added { border-color: var(--green) !important; background: var(--green) !important; color: #fff !important; }
.product-buy-row .button:hover::after, .product-buy-row .button.added::after { color: #fff; }
.home-note { min-height: 410px; margin: 0 6vw 80px; padding: 75px 10%; position: relative; overflow: hidden; background: var(--ink); color: #fff; }
.home-note::before, .home-note::after { content: ''; position: absolute; width: 550px; height: 480px; border-radius: 50%; filter: blur(30px); opacity: .68; pointer-events: none; }
.home-note::before { top: -175px; right: -120px; background: radial-gradient(circle, #ff22ad, transparent 62%); }
.home-note::after { right: 80px; bottom: -295px; background: radial-gradient(circle, #146cff, transparent 62%); }
.home-note > * { position: relative; z-index: 1; }
.home-note .eyebrow { color: #a7c1ff; }
.home-note h2 { max-width: 720px; margin: 0; color: #fff; font: 500 clamp(37px, 5vw, 65px) / .99 var(--serif); letter-spacing: -.06em; }
.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 25px 6vw; border-top: 1px solid var(--line); color: #738095; font: 10px var(--mono); }
.site-footer .brand { font-size: 20px; }
.site-footer__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 17px; }.site-footer__links a { color: #40506e; text-decoration: none; }.site-footer__links a:hover { color: var(--hotpink); }

/* One shared 1,200px content frame. Full-width surfaces keep their visual impact. */
.sg-home-hero-copy, .home-hero, .sg-home-products, .home-products, .shop-archive { padding-inline: var(--site-gutter); }
.collection-rail { padding-inline: var(--site-gutter); }
.sg-home-note, .home-note { margin-right: var(--site-gutter); margin-left: var(--site-gutter); }
.site-footer { padding-right: var(--site-gutter); padding-left: var(--site-gutter); }
body.single-product #site-content { max-width: var(--content-width); padding-right: 0; padding-left: 0; }
.standard-page { max-width: var(--content-width); padding-right: 0; padding-left: 0; }

/* Explicit frame for archive and editorial sections: never wider than 1,200px. */
.shop-archive, .home-products, .sg-home-products { width: min(calc(100% - 48px), var(--content-width)); margin-right: auto; margin-left: auto; padding-right: 0; padding-left: 0; }
.site-header > .site-header__inner { width: min(calc(100% - 48px), var(--content-width)); }

/* Woo category and shop archive. */
.shop-archive { padding-top: 78px; }
.collection-intro { min-height: 355px; padding: 58px 9%; position: relative; overflow: hidden; background: linear-gradient(105deg,#f4f1f5,#faf8f4 46%,#e8efff); }
.collection-intro::after { content: ''; position: absolute; inset: 0 0 0 44%; background: url('../images/watercolor-pigment.png') right center / 680px auto no-repeat; opacity: .58; pointer-events: none; }
.collection-intro > * { position: relative; z-index: 1; }
.collection-intro h1 { margin: 0; font: 500 clamp(55px,7vw,92px) / .9 var(--serif); letter-spacing: -.07em; }
.collection-intro__copy { max-width: 390px; margin-top: 26px; color: #263758; font-size: 16px; line-height: 1.65; }
.collection-intro__copy p { margin: 0; }
.editor-link { display: inline-block; margin-top: 20px; padding-bottom: 4px; border-bottom: 1px solid var(--electric); color: var(--electric); font: 500 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.shop-archive > .eyebrow { margin-bottom: 16px; }
.shop-archive > h1 { margin: 0; font: 500 clamp(55px, 7vw, 92px) / .9 var(--serif); letter-spacing: -.07em; }
.shop-toolbar { display: flex; align-items: center; justify-content: space-between; margin-top: 36px; padding: 21px 0; border-bottom: 1px solid var(--line); color: #3e4f6d; font-size: 13px; }
.shop-toolbar select { padding: 8px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); }
.collection-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 31px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }.collection-filters > span { margin-right: 5px; color: #52617c; font: 500 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; }.collection-filters a { display: inline-flex; align-items: center; gap: 7px; padding: 9px 11px; border: 1px solid #c9d0de; color: #263758; font: 500 10px var(--mono); letter-spacing: .05em; text-transform: uppercase; transition: .2s ease; }.collection-filters a:hover, .collection-filters a.is-current { border-color: var(--ink); background: var(--ink); color: #fff; }.collection-filters small { color: var(--hotpink); font: 500 9px var(--mono); }.collection-filters a.is-current small { color: #7da9ff; }
.product-search-refine { display: grid; grid-template-columns: 1fr auto; gap: 9px; max-width: 650px; margin: 34px 0 12px; }.product-search-refine label { grid-column: 1 / -1; color: #52617c; font: 500 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; }.product-search-refine input { min-width: 0; padding: 14px; border: 1px solid var(--ink); background: #fff; color: var(--ink); }.product-search-refine button { padding: 0 20px; border: 0; background: var(--green); color: #fff; font: 700 10px var(--mono); letter-spacing: .09em; text-transform: uppercase; }.search-result-count { margin: 26px 0 -5px; color: #40506e; font-size: 13px; }.search-empty { padding: 76px 0 25px; text-align: center; }.search-empty h2 { margin: 0 0 23px; font: 500 46px var(--serif); letter-spacing: -.06em; }.search-empty .text-link { justify-content: center; }

/* Product sheet. */
body.single-product #site-content { max-width: 1320px; margin: auto; padding: 35px 6vw 100px; }
body.single-product .woocommerce div.product { display: grid !important; grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr) !important; gap: 8vw !important; align-items: start !important; }
body.single-product .woocommerce div.product div.images, body.single-product .woocommerce div.product div.summary, body.single-product .woocommerce div.product .woocommerce-product-gallery { float: none !important; width: auto !important; margin: 0 !important; }
body.single-product .woocommerce-breadcrumb { grid-column: 1 / -1; margin: 0 0 4px; color: var(--muted); font: 500 10px var(--mono); letter-spacing: .06em; }
.woocommerce-product-gallery__wrapper { margin: 0 !important; }
.woocommerce-product-gallery__image { aspect-ratio: 1; background: #f1eeee; }
.woocommerce-product-gallery__image > a { display: block; height: 100%; }
.woocommerce-product-gallery__image img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
.woocommerce div.product form.variations_form { display: block; }
.woocommerce div.product form.variations_form table.variations { width: 100%; }
.woocommerce-variation-add-to-cart { display: flex; align-items: center; gap: 12px; }
.woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.summary { padding-top: 16px; }
.summary .product_title { margin: 0; font: 500 clamp(45px, 5vw, 70px) / .97 var(--serif) !important; letter-spacing: -.065em; }
.summary .price { margin: 19px 0 25px !important; color: #142453 !important; font: 700 21px var(--sans) !important; }
.product-availability { display: inline-flex; align-items: center; gap: 8px; margin: -7px 0 18px; color: #2e7c51; font: 500 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }.product-availability span { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px #35ae681a; }.product-availability.is-unavailable { color: #9a4554; }
.summary .woocommerce-product-details__short-description { max-width: 490px; margin: 0 0 27px !important; color: #263758; font-size: 17px; line-height: 1.65; }
.product-specs { margin: 0 0 22px; padding: 6px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-specs div { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; font-size: 14px; }
.product-specs dt { color: #3e4f6d; }.product-specs dd { margin: 0; color: #213154; font-weight: 600; text-align: right; }
.summary .product_meta { padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: #3e4f6d; font-size: 13px; }
.summary form.cart { display: flex; align-items: stretch; gap: 12px; margin: 24px 0 8px !important; }
.summary .quantity input { width: 64px; height: 56px; border: 1px solid var(--line); color: var(--ink); }
.summary .single_add_to_cart_button { flex: 1; min-height: 56px !important; padding: 0 18px !important; border: 0 !important; background: var(--green) !important; color: #fff !important; font: 700 13px var(--mono) !important; letter-spacing: .14em !important; text-transform: uppercase !important; transition: .22s ease !important; }
.summary .single_add_to_cart_button::after { content: '+'; float: right; font: 700 23px / .65 var(--sans); }
.summary .single_add_to_cart_button:hover { border: 3px solid transparent !important; background: linear-gradient(var(--hotpink),var(--hotpink)) padding-box, conic-gradient(from 0deg,#ff1493,#057cff,#ff1493,#057cff,#ff1493) border-box !important; }
.shipping-note { margin: 12px 0 24px; color: #3e4f6d; font-size: 11px; text-align: center; }
.purchase-reassurance { margin-top: 26px; border-top: 1px solid var(--line); }.purchase-reassurance details { border-bottom: 1px solid var(--line); }.purchase-reassurance summary { display: flex; align-items: center; justify-content: space-between; padding: 15px 0; cursor: pointer; color: var(--ink); font: 600 11px var(--mono); letter-spacing: .05em; text-transform: uppercase; list-style: none; }.purchase-reassurance summary::-webkit-details-marker { display: none; }.purchase-reassurance summary::after { content: '+'; color: var(--hotpink); font: 400 19px/1 var(--sans); }.purchase-reassurance details[open] summary::after { content: '–'; }.purchase-reassurance p { max-width: 450px; margin: -2px 0 16px; color: #40506e; font-size: 13px; line-height: 1.55; }.product-purchase-points { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 17px 0 0; color: #3e4f6d; font: 500 9px var(--mono); letter-spacing: .07em; text-transform: uppercase; }.product-purchase-points span::before { content: '✦'; margin-right: 6px; color: var(--electric); }
.woocommerce div.product form.variations_form { margin: 24px 0 8px; }.woocommerce div.product table.variations { margin-bottom: 16px; }.woocommerce div.product table.variations th { color: #3e4f6d; font: 500 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }.woocommerce div.product table.variations select { min-width: 210px; min-height: 46px; padding: 0 12px; border: 1px solid var(--line); background: #fff; color: var(--ink); }.woocommerce-variation-description, .woocommerce-variation-price { margin: 13px 0; color: #40506e; font-size: 13px; }.woocommerce div.product .stock { margin: 10px 0; color: #2e7c51; font: 500 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs { margin-top: 34px; border-top: 1px solid var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs, .woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 18px 0; font: 500 11px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.woocommerce div.product .woocommerce-tabs .panel { padding: 2px 0 18px; color: #57637a; font-size: 14px; line-height: 1.65; }
.woocommerce div.product .related { display: block !important; margin-top: 30px; }
.woocommerce div.product .related > h2 { margin: 0 0 26px; font: 500 42px var(--serif); letter-spacing: -.06em; }
.woocommerce div.product .related ul.products { display: grid !important; width: 100% !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 25px !important; }
.woocommerce div.product .related ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; }
.woocommerce div.product .related .product-buy-row { display: block; }
.woocommerce div.product .related .product-buy-row .button { width: 100%; margin-top: 12px !important; }
.mobile-product-bar { display: none; }

/* Cart, checkout, drawer and search. */
.standard-page { max-width: 1100px; margin: auto; padding: 60px 6vw 100px; }
.standard-page h1 { margin: 0 0 34px; font: 500 clamp(52px,6vw,78px) / .95 var(--serif); letter-spacing: -.07em; }
.standard-page__content > p:first-child { max-width: 670px; margin: -12px 0 35px; padding: 17px 20px; border-left: 3px solid var(--hotpink); background: #fff2fb; color: #263758; font-size: 14px; line-height: 1.55; }
.standard-page table { width: 100%; border-collapse: collapse; }
.standard-page th, .standard-page td { padding: 15px; border-bottom: 1px solid var(--line); text-align: left; }
.standard-page .button, .standard-page button { padding: 13px 16px; border: 0; background: var(--green); color: #fff; font: 700 11px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.standard-page input { padding: 11px; border: 1px solid var(--line); }
.woocommerce-cart-form { border-top: 1px solid var(--ink); }
.woocommerce-cart-form .product-thumbnail { width: 118px; }.woocommerce-cart-form .product-thumbnail img { width: 86px; height: 86px; object-fit: contain; background: #f2eff0; }
.woocommerce-cart-form .product-name { font: 500 22px var(--serif); letter-spacing: -.035em; }.woocommerce-cart-form .product-name a { color: var(--ink); }
.woocommerce-cart-form .product-price, .woocommerce-cart-form .product-subtotal { color: var(--ink); font-weight: 700; }
.woocommerce-cart-form .product-remove a { color: var(--hotpink); font: 500 26px/1 var(--sans); }
.woocommerce-cart-form .quantity input { width: 58px; padding: 9px; text-align: center; }
.woocommerce-cart-form .actions { padding: 22px 0; }.woocommerce-cart-form .coupon { display: inline-flex; gap: 8px; }.woocommerce-cart-form .actions > .button { float: right; }
.cart-progress { margin: 26px 0 38px; padding: 20px 22px; background: #eef4ff; border-left: 3px solid var(--electric); }
.cart-progress__eyebrow { display: block; margin-bottom: 7px; color: var(--electric); font: 500 9px var(--mono); letter-spacing: .12em; text-transform: uppercase; }.cart-progress p { margin: 0; color: var(--ink); font-size: 14px; }.cart-progress__track { display: block; height: 3px; margin-top: 14px; background: #cad5ee; }.cart-progress__track span { display: block; height: 100%; background: linear-gradient(90deg,var(--electric),var(--hotpink)); transition: width .25s ease; }
.cart-collaterals { display: grid; grid-template-columns: minmax(0,1fr) 350px; gap: 42px; align-items: start; }.cart-collaterals .cross-sells { grid-column: 1; }.cart-collaterals .cart_totals { grid-column: 2; grid-row: 1; padding: 26px; border: 1px solid var(--ink); background: #fff; }.cart-collaterals .cart_totals h2 { margin: 0 0 16px; font: 500 32px var(--serif); letter-spacing: -.06em; }.cart-collaterals .wc-proceed-to-checkout { margin: 22px 0 0; }.cart-collaterals .checkout-button { display: block; width: 100%; padding: 17px !important; background: var(--green) !important; text-align: center; }
.cart-assurances { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 65px; padding-top: 22px; border-top: 1px solid var(--line); }.cart-assurances p { margin: 0; }.cart-assurances b { display: block; margin-bottom: 7px; font: 500 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }.cart-assurances span { color: #40506e; font-size: 12px; line-height: 1.45; }
.checkout-intro { max-width: 670px; margin: -12px 0 35px; padding: 17px 20px; border-left: 3px solid var(--hotpink); background: #fff2fb; }.checkout-intro .eyebrow { margin-bottom: 7px; color: var(--hotpink); }.checkout-intro p:last-child { margin: 0; color: #263758; font-size: 14px; line-height: 1.55; }
form.woocommerce-checkout { display: grid; grid-template-columns: minmax(0,1fr) 370px; gap: 44px; align-items: start; }form.woocommerce-checkout #customer_details { display: block; }form.woocommerce-checkout #customer_details .col-1, form.woocommerce-checkout #customer_details .col-2 { width: 100% !important; float: none !important; }form.woocommerce-checkout #customer_details .col-2 { margin-top: 32px; }form.woocommerce-checkout h3 { margin: 0 0 20px; font: 500 31px var(--serif); letter-spacing: -.05em; }form.woocommerce-checkout .form-row { margin: 0 0 16px; }form.woocommerce-checkout label { display: block; margin-bottom: 7px; color: #283858; font: 500 10px var(--mono); letter-spacing: .07em; text-transform: uppercase; }form.woocommerce-checkout .input-text, form.woocommerce-checkout select { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #bcc5d5; background: #fff; color: var(--ink); }form.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; }form.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; padding: 25px; border: 1px solid var(--ink); background: #fff; }.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: 12px 0; }.woocommerce-checkout-review-order-table .order-total th, .woocommerce-checkout-review-order-table .order-total td { padding-top: 18px; border-top: 1px solid var(--ink); font-size: 18px; }form.woocommerce-checkout #payment { margin-top: 20px; background: transparent; }form.woocommerce-checkout #payment ul.payment_methods { padding: 0; border-bottom: 1px solid var(--line); }form.woocommerce-checkout #payment div.payment_box { margin: 10px 0; background: #f4f5f8; color: #40506e; font-size: 13px; }form.woocommerce-checkout #place_order { width: 100%; min-height: 56px; background: var(--green); color: #fff; font: 700 11px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.cart-scrim { position: fixed; z-index: 20; inset: 0; background: #111c4466; opacity: 0; pointer-events: none; transition: .25s; }
.cart-drawer { position: fixed; z-index: 21; top: 0; right: 0; bottom: 0; width: min(425px,100vw); padding: 25px 28px; background: #fff; box-shadow: -14px 0 40px #111c4420; transform: translateX(100%); transition: transform .28s ease; }
.cart-open .cart-drawer { transform: none; }
.cart-open .cart-scrim { opacity: 1; pointer-events: auto; }
.cart-drawer header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.cart-drawer header p { margin: 0; font: 500 10px var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.cart-drawer header button, .search-close { border: 0; background: none; color: var(--ink); font-size: 27px; cursor: pointer; }
.shipping-message { padding: 14px 0; color: #3e4f6d; font-size: 12px; }
.woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.woocommerce-mini-cart-item { display: grid; grid-template-columns: 72px 1fr; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.woocommerce-mini-cart-item img { float: left; width: 72px; height: 72px; margin-right: 12px; object-fit: contain; background: #f2eff0; }
.woocommerce-mini-cart__total { padding-top: 14px; }
.woocommerce-mini-cart__buttons { display: grid; gap: 9px; }
.woocommerce-mini-cart__buttons .button { padding: 14px; background: var(--green); color: #fff; text-align: center; font: 700 11px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.search-overlay { position: fixed; z-index: 30; inset: 0; display: grid; place-items: start center; padding-top: 12vh; background: #111c4455; opacity: 0; pointer-events: none; transition: .2s; }
.search-overlay.is-open { opacity: 1; pointer-events: auto; }
.search-panel { position: relative; width: min(590px,calc(100vw - 32px)); padding: 29px; background: #fff; box-shadow: 0 18px 55px #111c4430; }
.search-panel label { display: block; margin-bottom: 20px; font: 500 38px / .95 var(--serif); letter-spacing: -.06em; }
.search-panel input { width: 100%; padding: 14px; border: 1px solid var(--ink); }
.search-close { position: absolute; top: 12px; right: 14px; }

/* Shared card typography must win over homepage section-heading styles. */
.products .wc-product-card .woocommerce-loop-product__title {
  padding: 0; border: 0; margin: 8px 0 0;
  font: 500 23px/1.22 var(--serif); letter-spacing: -.025em;
}
.products .wc-product-card { min-width: 0; }
.wc-product-card .product-buy-row { flex-wrap: wrap; align-items: center; }
.wc-product-card .product-price { line-height: 1.2; margin-right: auto; }
.product-price-value { display: block; white-space: nowrap; }
.wc-product-card .added_to_cart { flex-basis: 100%; font-size: 12px; }
.woocommerce div.product .related .product-image { max-height: 240px; aspect-ratio: auto; height: 240px; }
.woocommerce div.product .related .product-image img { object-fit: contain; }
.menu-toggle { display: none; }
.cart-drawer { overflow-y: auto; visibility: hidden; }
.cart-open .cart-drawer { visibility: visible; }
.search-overlay { visibility: hidden; }
.search-overlay.is-open { visibility: visible; }
.woocommerce-mini-cart-item { display: block; position: relative; min-height: 100px; padding-left: 24px; }
.woocommerce-mini-cart-item > .remove { position: absolute; left: 0; top: 18px; }
.woocommerce-mini-cart-item > a:not(.remove) { display: block; min-height: 72px; }
.woocommerce-mini-cart-item > .quantity { display: block; margin: 8px 0 0 84px; }
.woocommerce-cart .woocommerce-cart-form .coupon #coupon_code { width: 155px; }
.woocommerce-cart-form td.product-price { display: table-cell; line-height: 1.4; }
.woocommerce .cart-collaterals .cart_totals { width: 100%; float: none; }
.woocommerce .cart-collaterals::before, .woocommerce .cart-collaterals::after { display: none; }
form.woocommerce-checkout { column-gap: 32px; row-gap: 18px; grid-template-rows: auto 1fr; }
form.woocommerce-checkout::before, form.woocommerce-checkout::after { display: none; }
form.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
form.woocommerce-checkout #order_review_heading { margin-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--ink); color: white; }
:focus-visible { outline: 2px solid var(--electric); outline-offset: 3px; }

@media (max-width:720px) {
  .site-header { min-height: 70px; }
  .site-header__inner { min-height: 70px; grid-template-columns: 1fr auto; }
  .site-header::before, .site-header::after { width: 190px; background-size: auto 112px; opacity: .22; }
  .brand { font-size: 20px; }.brand-mark { width: 32px; height: 32px; }.primary-nav { display: none; }
  .home-hero { display: block; min-height: 610px; padding: 67px 24px 34px; }.home-hero::before { inset: 42% -20% -7% 8%; background-size: 650px auto; }.home-hero h1 { font-size: 61px; }
  .sg-home-hero-copy { display: block; min-height: 610px; padding: 67px 24px 34px; }.sg-home-hero-copy::before { inset: 42% -20% -7% 8%; background-size: 650px auto; }.sg-home-hero-copy h1 { font-size: 61px; }.sg-home-products { padding: 74px 22px; }.sg-home-note { min-height: 410px; margin: 0 22px 61px; padding: 57px 27px; }.sg-home-note h2 { font-size: 41px; }
  .collection-rail { grid-template-columns: 1fr; padding: 0; }.collection-rail a { border-right: 0; border-bottom: 1px solid var(--line); }.collection-rail a:last-child { border-bottom: 0; }
  .home-products, .shop-archive { padding: 74px 22px; }.section-heading .text-link { display: none; }.section-heading h2 { font-size: 39px; }
  .collection-intro { min-height: 400px; padding: 50px 26px; }.collection-intro::after { inset: 40% -30% -15% 0; background-size: 600px auto; }.collection-intro h1 { font-size: 56px; }.collection-filters { gap: 7px; margin-top: 24px; }.collection-filters > span { flex-basis: 100%; }.collection-filters a { padding: 8px 9px; font-size: 9px; }.product-search-refine { grid-template-columns: 1fr; }.product-search-refine button { min-height: 46px; }
  .products, .woocommerce ul.products.products { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 29px 12px !important; }.woocommerce-loop-product__title { font-size: 18px; }.product-buy-row { display: block; }.product-price { margin-top: 14px; margin-right: 6px; font-size: 19px; }.product-buy-row .button { min-width: 0; padding: 11px 10px; font-size: 9px; }
  .home-note { min-height: 410px; margin: 0 22px 61px; padding: 57px 27px; }.home-note h2 { font-size: 41px; }.site-footer { align-items: flex-start; flex-direction: column; padding: 22px; }.site-footer .brand { font-size: 18px; }.site-footer__links { justify-content: flex-start; gap: 8px 14px; }
  body.single-product #site-content { padding: 25px 22px 110px; }body.single-product .woocommerce div.product { grid-template-columns: 1fr !important; gap: 28px !important; }.summary { padding: 0; }.summary .product_title { font-size: 49px !important; }.woocommerce div.product .related ul.products { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }.purchase-reassurance p { font-size: 12px; }.mobile-product-bar { position: fixed; z-index: 19; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 22px; border-top: 1px solid var(--ink); background: #fffdf9ed; backdrop-filter: blur(10px); box-shadow: 0 -8px 24px #111c4412; }.mobile-product-bar span { display: flex; flex-direction: column; color: var(--ink); font: 700 18px var(--sans); }.mobile-product-bar small { margin-bottom: 3px; color: #51617d; font: 500 8px var(--mono); letter-spacing: .1em; text-transform: uppercase; }.mobile-product-bar button { min-width: 154px; padding: 14px 16px; border: 0; background: var(--green); color: #fff; font: 700 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; }.mobile-product-bar b { margin-left: 15px; color: #fff; font: 400 19px/0 var(--sans); }
  .standard-page { padding: 40px 22px 75px; }.cart-drawer { padding: 24px; }.search-panel { padding: 27px; }
  .woocommerce-cart-form thead { display: none; }.woocommerce-cart-form tr { display: grid; grid-template-columns: 26px 75px 1fr; column-gap: 10px; position: relative; padding: 16px 0; }.woocommerce-cart-form td { padding: 0; border: 0; }.woocommerce-cart-form .product-thumbnail { width: auto; grid-column: 2; grid-row: 1 / span 3; }.woocommerce-cart-form .product-thumbnail img { width: 75px; height: 75px; }.woocommerce-cart-form .product-name { grid-column: 3; font-size: 19px; }.woocommerce-cart-form .product-price { display: none; }.woocommerce-cart-form .product-quantity { grid-column: 3; margin-top: 11px; }.woocommerce-cart-form .product-subtotal { position: absolute; right: 0; bottom: 18px; }.woocommerce-cart-form .actions { display: block; padding: 18px 0 0; }.woocommerce-cart-form .actions .coupon { display: flex; }.woocommerce-cart-form .coupon input { min-width: 0; flex: 1; }.woocommerce-cart-form .actions > .button { float: none; width: 100%; margin-top: 10px; }.cart-collaterals { display: block; }.cart-collaterals .cart_totals { margin-top: 36px; }.cart-assurances { grid-template-columns: 1fr; margin-top: 46px; gap: 20px; }form.woocommerce-checkout { display: block; }form.woocommerce-checkout #order_review_heading { margin-top: 40px; }form.woocommerce-checkout #order_review { padding: 20px; }.checkout-intro { margin-top: -2px; }
}

@media (max-width:720px) {
  .site-header { height: auto; min-height: 70px; overflow: clip; }
  .site-header__inner { width: calc(100% - 36px); min-height: 70px; padding: 14px 0; gap: 12px; }
  .header-tools { gap: 14px; }
  .menu-toggle { display: inline-block; min-height: 40px; }
  .primary-nav { grid-column: 1 / -1; grid-row: 2; width: 100%; }
  .site-header.menu-open .primary-nav { display: block; }
  .primary-nav ul { flex-direction: column; gap: 0; }
  .primary-nav a { display: block; padding: 14px 6px; border-top: 1px solid var(--line); }
  .products .wc-product-card .woocommerce-loop-product__title { font-size: 19px; }
  .wc-product-card .product-price { font-size: 17px; margin: 0 0 10px; }
  .wc-product-card .product-buy-row .button { width: 100%; min-height: 42px; padding: 10px !important; letter-spacing: .03em !important; }
  .wc-product-card .product-buy-row .button::after { margin-left: 4px; }
  .mobile-product-bar > span { display: block; min-width: 0; line-height: 1.25; }
  .mobile-product-bar span span { display: inline; font: inherit; }
  .mobile-product-bar small { display: block; }
  .mobile-product-bar bdi { white-space: nowrap; }
  .mobile-product-bar button { min-width: 130px; }
  .woocommerce div.product .related .product-image { height: 170px; }
  .woocommerce-cart-form td.product-price { display: none; }
  .woocommerce-cart .woocommerce-cart-form .coupon #coupon_code { width: auto; }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive tr { display: grid; grid-template-columns: 22px 64px minmax(0,1fr); }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive tr td { display: block !important; text-align: left !important; background: none; border: 0; padding: 0; }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive tr td::before { display: none; }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive td.product-price { display: none !important; }
  .woocommerce .woocommerce-cart-form table.shop_table_responsive td.product-thumbnail { display: block !important; }
  .woocommerce-cart-form .product-thumbnail img { width: 64px; height: 64px; }
  .woocommerce-cart-form .product-quantity { grid-row: 2; margin: 10px 0; }
  .woocommerce-cart-form .product-subtotal { position: static; grid-column: 3; grid-row: 3; }
  .woocommerce-cart-form td.actions { grid-column: 1 / -1; }
  .woocommerce-cart-form .coupon { flex-wrap: wrap; }
  .woocommerce-cart-form .coupon .button { min-width: 135px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
