/*
Theme Name: Bling Apparels
Theme URI: https://example.test/
Author: Bling Apparels
Description: Mobile-first WooCommerce theme for Bling Apparels.
Version: 0.1.37
Requires at least: 6.6
Requires PHP: 8.4
Text Domain: bling-apparels
*/

:root {
  --color-bg: #f8f6f1;
  --color-surface: #fff;
  --color-ink: #171411;
  --color-muted: #6d665e;
  --color-line: #d9d4cc;
  --color-gold: #a97d38;
  --color-garnet: #681d2a;
  --color-success: #285d42;
  --color-error: #a12828;
  --font-display: Georgia, "Times New Roman", serif;
  --font-body: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;
  --container: 86rem;
  --header-height: 3.75rem;
  --ease: 180ms ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.has-panel-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: .06em; text-underline-offset: .2em; }
button, input, select { font: inherit; }
button { color: inherit; }
:focus-visible { outline: .15rem solid var(--color-garnet); outline-offset: .2rem; }
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px;
  overflow: hidden; position: absolute !important; white-space: nowrap;
}
.skip-link:focus { clip: auto; clip-path: none; height: auto; width: auto; left: 1rem; top: 1rem; z-index: 1000; background: #fff; padding: .75rem; }
.site-container { width: min(100% - 2rem, var(--container)); margin-inline: auto; }
.section { padding-block: var(--space-7); }
.section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: var(--space-5); }
.eyebrow { margin: 0 0 .6rem; font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 400; line-height: 1.03; }
h1 { font-size: clamp(2.35rem, 10vw, 5.7rem); }
h2 { font-size: clamp(2rem, 7vw, 3.9rem); }
h3 { font-size: 1.35rem; }
.text-link { font-size: .875rem; font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; }
.button, button.button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; gap: .5rem;
  border: 1px solid var(--color-ink); border-radius: 0; padding: .8rem 1.25rem;
  background: var(--color-ink); color: #fff; font-size: .8125rem; font-weight: 700;
  letter-spacing: .09em; text-decoration: none; text-transform: uppercase; cursor: pointer; transition: background var(--ease), color var(--ease);
}
.button:hover, button.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--color-garnet); color: #fff; }
.button--light { background: #fff; border-color: #fff; color: var(--color-ink); }
.button--ghost { background: transparent; color: var(--color-ink); }
.icon-button { display: inline-grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 0; background: transparent; cursor: pointer; }
.icon-button svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.6; }

.announcement { min-height: 2rem; display: grid; place-items: center; background: var(--color-garnet); color: #fff; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.site-header { position: sticky; top: 0; z-index: 80; border-bottom: 1px solid rgba(23,20,17,.12); background: rgba(248,246,241,.96); backdrop-filter: blur(12px); }
.site-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: var(--header-height); }
.site-header__left, .site-header__tools { display: flex; align-items: center; }
.site-header__tools { justify-content: flex-end; gap: .1rem; }
.site-header__tools .icon-button { position: relative; flex: 0 0 2.75rem; }
.wordmark { font-family: var(--font-display); font-size: 1.25rem; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.desktop-nav { display: none; }
.desktop-nav ul { display: flex; gap: 1.35rem; margin: 0; padding: 0; list-style: none; }
.bag-count { position: absolute; top: .15rem; right: .05rem; display: grid; width: 1.1rem; height: 1.1rem; place-items: center; border: 1.5px solid var(--color-bg); border-radius: 50%; background: var(--color-ink); color: #fff; font-size: .61rem; font-variant-numeric: tabular-nums; line-height: 1; }

.panel-overlay { position: fixed; inset: 0; z-index: 89; background: rgba(15,12,10,.45); opacity: 0; pointer-events: none; transition: opacity var(--ease); }
.panel-overlay.is-open { opacity: 1; pointer-events: auto; }
.drawer { position: fixed; inset-block: 0; z-index: 90; width: min(92vw, 30rem); background: var(--color-bg); box-shadow: 0 0 3rem rgba(0,0,0,.16); transition: transform 260ms ease; overflow-y: auto; }
.drawer--left { left: 0; transform: translateX(-102%); }
.drawer--right { right: 0; transform: translateX(102%); }
.drawer.is-open { transform: translateX(0); }
.drawer--fallback { position: relative; inset: auto; width: 100%; transform: none; box-shadow: none; }
.drawer--fallback .drawer__head { position: static; }
.drawer__head { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center; min-height: 4.5rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--color-line); background: var(--color-bg); }
.drawer__title { margin: 0; font-family: var(--font-display); font-size: 1.5rem; }
.drawer__body { padding: 1.25rem; }
.drawer__nav, .drawer__nav ul { margin: 0; padding: 0; list-style: none; }
.drawer__nav a { display: flex; min-height: 3.25rem; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--color-line); font-family: var(--font-display); font-size: 1.45rem; text-decoration: none; }
#menu-drawer .drawer__body { padding: 0 1.25rem 1.5rem; }
.drawer__secondary { margin-top: 2rem; }
.drawer__secondary a { font-family: var(--font-body); font-size: .9rem; }

.hero { position: relative; min-height: min(72vh, 44rem); overflow: hidden; background: #d7c8b4; }
.hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% center; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(248,246,241,.99) 0%, rgba(248,246,241,.95) 68%, rgba(248,246,241,.2) 100%); }
.hero__content { position: relative; z-index: 1; display: flex; min-height: min(72vh, 44rem); flex-direction: column; justify-content: flex-end; align-items: flex-start; padding-block: 3rem; }
.hero__content > * { max-width: 25rem; }
.hero__content h1 { max-width: 38rem; }
.hero h1 { margin-bottom: 1rem; }
.hero p:not(.eyebrow) { max-width: 25rem; margin-bottom: 1.5rem; font-size: 1.05rem; }

.category-showcase { position: relative; width: 100vw; margin-inline: calc((100vw - 100%) / -2); overflow: hidden; }
.category-showcase__viewport { max-width: 100%; overflow-x: auto; padding-inline: 0; scrollbar-width: none; scroll-snap-type: none; overscroll-behavior-inline: contain; }
.category-showcase.is-user-scrolling .category-showcase__viewport { scroll-snap-type: x mandatory; }
.category-showcase__viewport::-webkit-scrollbar { display: none; }
.category-showcase__viewport:focus-visible { outline: 2px solid var(--color-garnet); outline-offset: -2px; }
.category-showcase__track { display: flex; width: max-content; gap: .75rem; }
.category-card { position: relative; flex: 0 0 min(76vw, 18rem); aspect-ratio: .82; overflow: hidden; background: #ece7dd; color: #fff; scroll-snap-align: start; text-decoration: none; }
.category-card::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(10,8,7,.7)); pointer-events: none; }
.category-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 420ms ease; }
.category-card:hover img { transform: scale(1.025); }
.category-card__label { position: absolute; z-index: 1; inset: auto 1rem 1rem; display: grid; gap: .2rem; max-width: calc(100% - 2rem); }
.category-card__label small { font-family: var(--font-body); font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.category-card__label strong { font-family: var(--font-display); font-size: clamp(1.35rem, 5vw, 1.8rem); font-weight: 400; line-height: 1.05; }
.category-directory { display: grid; gap: 1rem; }
.category-directory__group { display: grid; gap: .35rem; }
.category-directory__parent { font-family: var(--font-display); font-size: 1.18rem; text-decoration: none; }
.category-directory__children { display: flex; flex-wrap: wrap; gap: .35rem .7rem; }
.category-directory__children a { color: var(--color-muted); font-size: .8rem; }
.category-directory--mobile { display: grid; gap: 0; padding: 0 0 .5rem; }
.category-directory--mobile .category-directory__group { display: grid; gap: 0; padding: 1rem 0; border-top: 1px solid var(--color-line); }
.category-directory--mobile .category-directory__parent { display: block; min-height: 0; padding: 0 0 .45rem; border: 0; font-family: var(--font-body); font-size: .74rem; font-weight: 700; letter-spacing: .13em; line-height: 1.35; text-transform: uppercase; }
.category-directory--mobile .category-directory__children { display: grid; gap: 0; }
.category-directory--mobile .category-directory__children a { display: flex; min-height: 2.35rem; align-items: center; justify-content: flex-start; padding: .15rem 0; border: 0; color: var(--color-muted); font-family: var(--font-body); font-size: .92rem; line-height: 1.35; }

.products, .woocommerce ul.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem .75rem; margin: 0; padding: 0; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .product-card { float: none !important; width: auto !important; margin: 0 !important; }
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product img { width: 100%; aspect-ratio: 1; margin: 0 0 .75rem; object-fit: cover; background: #fff; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; font-family: var(--font-body); font-size: .9rem; font-weight: 500; line-height: 1.35; }
.woocommerce ul.products li.product .price { color: var(--color-ink); font-size: .84rem; }
.woocommerce ul.products li.product .button { width: 100%; min-height: 2.65rem; margin-top: .65rem; font-size: .72rem; }

.story { display: grid; background: var(--color-garnet); color: #fff; }
.story__image { min-height: 22rem; overflow: hidden; }
.story__image img { width: 100%; min-height: 22rem; height: 100%; object-fit: cover; }
.story__copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 2.25rem 1.25rem; }
.story__copy p { max-width: 33rem; }
.trust-row { display: grid; gap: 1rem; padding-block: 1.5rem; border-block: 1px solid var(--color-line); }
.trust-row div { display: grid; grid-template-columns: 2rem 1fr; gap: .6rem; align-items: start; }
.trust-row strong { display: block; font-family: var(--font-display); font-size: 1.05rem; font-weight: 400; }
.trust-row span { color: var(--color-muted); font-size: .78rem; }

.shop-header { padding-block: 2.75rem 1rem; }
.shop-header h1 { margin-bottom: .65rem; font-size: clamp(2.5rem, 10vw, 5rem); }
.shop-toolbar { position: sticky; top: calc(var(--header-height) + 2rem); z-index: 30; display: flex; justify-content: space-between; align-items: center; gap: .75rem; margin-bottom: 1.5rem; padding-block: .8rem; background: var(--color-bg); border-block: 1px solid var(--color-line); }
.shop-toolbar .button { flex: 1; background: transparent; color: var(--color-ink); }
.woocommerce .woocommerce-ordering, .woocommerce .woocommerce-result-count { float: none; margin: 0; }
.woocommerce .woocommerce-ordering select { min-height: 3rem; max-width: 12rem; border: 1px solid var(--color-ink); background: transparent; padding: .55rem 2rem .55rem .75rem; }
.active-filters { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.filter-chip { border: 1px solid var(--color-line); padding: .45rem .7rem; font-size: .78rem; text-decoration: none; }
.filter-form fieldset { margin: 0 0 1.75rem; padding: 0; border: 0; }
.filter-form legend { margin-bottom: .75rem; font-family: var(--font-display); font-size: 1.2rem; }
.filter-form label { display: flex; min-height: 2.75rem; align-items: center; gap: .6rem; }
.filter-form input[type="number"] { width: 48%; min-height: 2.8rem; border: 1px solid var(--color-line); background: #fff; padding: .65rem; }
.filter-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.category-seo { margin-top: 3rem; padding: 2rem 0; border-top: 1px solid var(--color-line); }
.category-seo > p { max-width: 48rem; color: var(--color-muted); }
.category-seo__faq { display: grid; gap: .75rem; max-width: 48rem; margin-top: 1.5rem; }
.category-seo__faq h3 { margin-bottom: .25rem; font-family: var(--font-body); font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.category-seo__faq details { border: 1px solid var(--color-line); background: rgba(255,255,255,.45); padding: .85rem 1rem; }
.category-seo__faq summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; list-style: none; cursor: pointer; font-weight: 700; }
.category-seo__faq summary::-webkit-details-marker { display: none; }
.category-seo__faq summary::after { content: ""; flex: 0 0 auto; width: .45rem; height: .45rem; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); transition: transform 280ms cubic-bezier(.22, .61, .36, 1); }
.category-seo__faq details[open] summary::after { transform: rotate(225deg); }
.category-seo__answer { overflow: hidden; color: var(--color-muted); line-height: 1.55; will-change: height, opacity; }
.category-seo__answer p { margin: .65rem 0 .1rem; }

.single-product { background: #fff; }
.woocommerce div.product { position: relative; padding-block: 1rem 3rem; }
.single-product main.site-container { width: min(100% - 2rem, 112rem); }
.single-product .woocommerce-breadcrumb { display: none; }
.woocommerce-product-gallery { position: relative; opacity: 1 !important; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: 100%; }
.woocommerce div.product div.summary { position: relative; }
.woocommerce div.product div.images img { width: 100%; background: #f4f3ef; object-fit: cover; }
.woocommerce div.product .product_title { max-width: 17ch; margin: 0 3.5rem .9rem 0; font-size: clamp(2rem, 5vw, 2.75rem); line-height: 1; }
.product-intro { max-width: 34rem; margin-bottom: 1.15rem; font-size: 1.05rem; line-height: 1.5; }
.woocommerce div.product p.price { margin-bottom: .65rem; color: var(--color-ink); font-size: 1.15rem; }
.product-rating-summary { display: inline-flex; align-items: center; gap: .65rem; margin-bottom: 1.35rem; color: var(--color-ink); text-decoration: none; }
.product-rating-summary span { color: var(--color-ink); font-size: 1.05rem; letter-spacing: .12em; }
.product-rating-summary small { font-size: .8rem; }
.product-finish { position: relative; display: grid; grid-template-columns: 1fr auto; gap: .7rem 1rem; align-items: center; margin-bottom: 1rem; padding-top: 1rem; border-top: 1px solid var(--color-line); }
.product-finish__label { font-size: 1rem; }
.product-finish__label span { color: var(--color-muted); }
.product-finish__swatches { display: flex; grid-column: 1; gap: .55rem; }
.product-finish__swatch { width: 1.8rem; height: 1.8rem; border: .35rem solid #fff; border-radius: 50%; background: var(--swatch); box-shadow: 0 0 0 1px var(--color-ink); }
.product-finish__guide { grid-column: 2; grid-row: 1; color: var(--color-ink); text-underline-offset: .22em; }
.product-service-strip { display: grid; gap: .1rem; margin: .8rem 0 1rem; padding: .7rem 1rem; background: #f3f0eb; text-align: center; }
.product-service-strip strong { font-size: .9rem; font-weight: 500; }
.product-service-strip span { color: var(--color-muted); font-size: .72rem; }
.product-tags { margin: .75rem 0; color: var(--color-muted); font-size: .8rem; }
.product-tags__label { margin-right: .3rem; color: var(--color-ink); font-weight: 700; }
.product-tags a { color: inherit; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: .65rem; margin-bottom: 0; }
.woocommerce div.product form.cart .variations { width: 100%; }
.woocommerce div.product form.cart .variations th { text-align: left; }
.woocommerce div.product form.cart .variations select { width: 100%; min-height: 3rem; border: 1px solid var(--color-ink); background: #fff; padding: .6rem; }
.woocommerce div.product form.cart .quantity { display: none; }
.woocommerce div.product form.cart .button { flex: 1 1 100%; width: 100%; min-height: 3.75rem; border-radius: .7rem; font-size: .95rem; font-weight: 500; letter-spacing: .02em; text-transform: none; }
.woocommerce .quantity .qty { min-height: 3.35rem; border: 1px solid var(--color-ink); }
.woocommerce div.product p.stock.in-stock { display: none; }
.wishlist-button--product { position: absolute; top: -.4rem; right: 0; z-index: 2; width: 3rem; height: 3rem; border: 0; background: transparent; font-size: 2rem; cursor: pointer; }
.product-details { margin-top: 1.25rem; border-top: 0; }
.product-details details { border-bottom: 1px solid var(--color-line); }
.product-details summary { min-height: 3.55rem; display: flex; align-items: center; justify-content: space-between; cursor: pointer; font-family: var(--font-display); font-size: 1.18rem; list-style: none; }
.product-details summary::-webkit-details-marker { display: none; }
.product-details summary::after { content: "›"; font-family: var(--font-body); font-size: 1.65rem; font-weight: 300; transition: transform 280ms cubic-bezier(.22, .61, .36, 1); }
.product-details details[open] summary::after { transform: rotate(90deg); }
.product-details__content { overflow: hidden; padding: 0 2rem 1rem 0; color: var(--color-muted); font-size: .88rem; line-height: 1.6; will-change: height, opacity; }
.product-details__content > :last-child { margin-bottom: 0; }
.product-spec-list { display: grid; gap: .35rem; margin: 0; }
.product-spec-list div { display: grid; grid-template-columns: 6rem 1fr; }
.product-spec-list dt { color: var(--color-ink); font-weight: 700; }
.product-spec-list dd { margin: 0; }
.product-complete-notes { display: grid; gap: .75rem; margin-top: 1rem; padding: 1rem 0; border-block: 1px solid var(--color-line); font-size: .84rem; }
.product-complete-notes span { display: grid; gap: .2rem; }
.product-complete-notes strong { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--color-garnet); background: #fff; }

.widget_shopping_cart_content .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.widget_shopping_cart_content .mini_cart_item { position: relative; min-height: 6rem; padding: 0 1.5rem 1rem 5.75rem !important; margin-bottom: 1rem; border-bottom: 1px solid var(--color-line); }
.widget_shopping_cart_content .mini_cart_item img { position: absolute; left: 0; width: 4.75rem !important; aspect-ratio: 1; object-fit: cover; }
.widget_shopping_cart_content .remove { left: auto !important; right: 0; color: var(--color-muted) !important; }
.widget_shopping_cart_content .woocommerce-mini-cart__total { display: flex; justify-content: space-between; padding: 1rem 0; border-bottom: 1px solid var(--color-line); }
.widget_shopping_cart_content .woocommerce-mini-cart__buttons { display: grid; gap: .5rem; }
.widget_shopping_cart_content .woocommerce-mini-cart__buttons .button { margin: 0; }

#cart-drawer { display: flex; height: 100vh; height: 100dvh; flex-direction: column; overflow: hidden; background: var(--color-surface); }
#cart-drawer .drawer__head { position: relative; flex: 0 0 auto; min-height: 4rem; background: var(--color-surface); }
#cart-drawer .drawer__title { font-family: var(--font-body); font-size: 1rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
#cart-drawer .drawer__count { font-weight: 400; }
#cart-drawer .widget_shopping_cart_content { display: flex; min-width: 0; min-height: 0; flex: 1 1 auto; flex-direction: column; padding: 1.25rem; overflow: hidden; }
#cart-drawer .bag-delivery-progress { order: 1; flex: 0 0 auto; margin: -1.25rem -1.25rem 1.25rem; padding: .9rem 1.25rem 1rem; background: #f4f0e9; }
#cart-drawer .bag-delivery-progress p { margin: 0 0 .7rem; font-size: .9rem; line-height: 1.35; }
#cart-drawer .bag-delivery-progress__track { height: .38rem; overflow: hidden; border-radius: 999px; background: #d8d3ca; }
#cart-drawer .bag-delivery-progress__track span { display: block; width: var(--bag-progress, 0%); height: 100%; border-radius: inherit; background: var(--color-ink); transition: width .45s ease; }
#cart-drawer .woocommerce-mini-cart { order: 2; min-height: 0; flex: 1 1 auto; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
#cart-drawer .mini_cart_item { display: grid; min-height: 0; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem 1rem; margin: 0; padding: 0 2rem 1.25rem 0 !important; }
#cart-drawer .mini_cart_item > a:not(.remove) { display: grid; min-width: 0; grid-column: 1 / -1; grid-template-columns: 5rem minmax(0, 1fr); gap: 1rem; align-items: start; font-size: .9rem; font-weight: 600; line-height: 1.35; text-decoration: none; }
#cart-drawer .mini_cart_item img { position: static; width: 5rem !important; aspect-ratio: 4 / 5; object-fit: contain; background: var(--color-bg); }
#cart-drawer .mini_cart_item .remove { position: absolute; top: 0; right: 0; display: grid; width: 1.75rem; height: 1.75rem; place-items: center; font-size: 1.25rem; text-decoration: none; }
#cart-drawer .mini-cart-quantity { margin: 0 0 0 6rem; }
#cart-drawer .mini-cart-line-price { align-self: center; margin: 0; font-size: .86rem; font-weight: 600; white-space: nowrap; }
#cart-drawer .woocommerce-mini-cart__total { order: 5; flex: 0 0 auto; margin: 0; padding: 1rem 0 .5rem; border: 0; font-size: .95rem; }
#cart-drawer .gift-wrap-control { order: 4; flex: 0 0 auto; margin: 0 -1.25rem; border-top: 1px solid var(--color-line); }
.gift-wrap-control button { display: flex; width: 100%; min-height: 3.75rem; align-items: center; justify-content: space-between; border: 0; background: transparent; padding: .8rem 1.25rem; color: var(--color-ink); text-align: left; cursor: pointer; }
.gift-wrap-control button > span:first-child { display: grid; gap: .18rem; }
.gift-wrap-control strong { font-size: .82rem; letter-spacing: .04em; text-transform: uppercase; }
.gift-wrap-control small { color: var(--color-muted); font-size: .75rem; }
.gift-wrap-control__state { font-size: 1.25rem; }
.gift-wrap-control p { display: none; margin: -.25rem 1.25rem .8rem; color: var(--color-muted); font-size: .72rem; }
.gift-wrap-control button[aria-pressed="true"] + p { display: block; }
#cart-drawer .gift-wrap-control + .woocommerce-mini-cart__total { border-top: 1px solid var(--color-line); }
#cart-drawer .mini-cart-delivery-note { order: 6; flex: 0 0 auto; margin: 0 0 1rem; color: var(--color-muted); font-size: .78rem; }
#cart-drawer .woocommerce-mini-cart__buttons { order: 7; flex: 0 0 auto; margin: 0; }
#cart-drawer .woocommerce-mini-cart__buttons .checkout { width: 100%; }
#cart-drawer .woocommerce-mini-cart__buttons .view-bag { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
#cart-drawer .woocommerce-mini-cart__empty-message { display: none; }
#cart-drawer .mini-cart-empty-action { order: 2; margin: auto; padding: 2rem 0; text-align: center; }
#cart-drawer .mini-cart-empty-action h3 { margin-bottom: .6rem; font-size: 1.75rem; }
#cart-drawer .mini-cart-empty-action p { margin-bottom: 1.25rem; color: var(--color-muted); font-size: .9rem; }
.cart-recommendations { min-width: 0; background: #fff; }
.cart-recommendations h3 { margin: 0; font-family: var(--font-body); font-size: .9rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.cart-recommendations__track { display: flex; gap: .75rem; padding-top: 1rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
.cart-recommendations__track::-webkit-scrollbar { display: none; }
.cart-recommendations__item { flex: 0 0 8.5rem; min-width: 0; scroll-snap-align: start; }
.cart-recommendations__media { display: block; margin-bottom: .55rem; background: var(--color-bg); }
.cart-recommendations__image { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: contain; }
.cart-recommendations__content { display: grid; gap: .35rem; }
.cart-recommendations__name { min-height: 2.4em; font-size: .78rem; font-weight: 700; line-height: 1.2; text-decoration: none; }
.cart-recommendations__price { font-size: .75rem; }
.cart-recommendations .button { min-height: 2.5rem; margin: .2rem 0 0; border: 1px solid var(--color-ink); border-radius: .55rem; background: transparent; color: var(--color-ink); padding: .55rem .35rem; font-size: .64rem; letter-spacing: .04em; }
.cart-recommendations--desktop { display: none; }
#cart-drawer .cart-recommendations--mobile { order: 3; flex: 0 0 auto; margin: 0 -1.25rem; padding: 1rem 1.25rem; border-block: 1px solid var(--color-line); }

@media (max-width: 47.99rem) {
  .shop-toolbar { display: grid; grid-template-columns: auto minmax(0, 1fr); }
  .shop-toolbar .button { flex: none; }
  .shop-toolbar .woocommerce-result-count { justify-self: end; text-align: right; }
  .shop-toolbar .woocommerce-ordering { grid-column: 1 / -1; width: 100%; }
  .woocommerce .woocommerce-ordering select { width: 100%; max-width: none; }
  #cart-drawer { width: 100%; max-width: none; }
  #cart-drawer .woocommerce-mini-cart { min-height: 10rem; }
  #cart-drawer .cart-recommendations--mobile { padding-block: .75rem; }
  #cart-drawer .cart-recommendations--mobile .cart-recommendations__track { padding-top: .75rem; }
  #cart-drawer .cart-recommendations__item { flex-basis: 7rem; }
  #cart-drawer .cart-recommendations__image { height: 5.5rem; aspect-ratio: auto; object-fit: contain; }
  #cart-drawer .cart-recommendations__name { min-height: 2.4em; }
  #cart-drawer .cart-recommendations .button { min-height: 2.25rem; padding: .4rem .15rem; font-size: .58rem; white-space: nowrap; }
}

@media (max-width: 63.99rem) {
  .single-product main.site-container { width: min(100% - 2rem, 45rem); }
  .single-product .woocommerce-breadcrumb { margin: .75rem 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .single-product .woocommerce div.product { padding-top: 0; }
  .single-product .woocommerce div.product div.images { width: calc(100% + 2rem); margin: 0 -1rem 1.25rem; overflow: hidden; }
  .woocommerce-product-gallery .flex-viewport { overflow: hidden; background: #fff; }
  .woocommerce-product-gallery .woocommerce-product-gallery__image { overflow: hidden; background: #f4f3ef; }
  .woocommerce-product-gallery .woocommerce-product-gallery__image img { width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: contain !important; }
  .woocommerce-product-gallery .flex-control-thumbs { position: absolute; z-index: 3; bottom: 1rem; left: 50%; display: flex; width: auto; gap: .45rem; margin: 0 !important; padding: .45rem .6rem !important; border-radius: 999px; background: rgba(248,246,241,.84); list-style: none; translate: -50% 0; }
  .woocommerce-product-gallery .flex-control-thumbs li { float: none !important; width: 2.75rem !important; height: 2.75rem; }
  .woocommerce-product-gallery .flex-control-thumbs img { width: 2.75rem !important; height: 2.75rem !important; box-sizing: border-box; padding: 1.125rem; border-radius: 50%; background: var(--color-ink); opacity: .2; cursor: pointer; }
  .woocommerce-product-gallery .flex-control-thumbs img.flex-active { opacity: 1; }
  .woocommerce-product-gallery .flex-control-thumbs img:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 2px; }
  .woocommerce div.product div.summary { margin-bottom: 2rem; }
  .woocommerce div.product .product_title { max-width: 16ch; font-size: clamp(1.9rem, 7vw, 2.25rem); line-height: 1; }
  .product-intro { font-size: .98rem; }
  .product-rating-summary { margin-bottom: 1.5rem; }
  .woocommerce div.product form.cart { display: grid; grid-template-columns: minmax(0, 1fr); }
  .woocommerce div.product form.cart .variations,
  .woocommerce div.product form.cart .single_variation_wrap,
  .woocommerce div.product form.cart .product-size-guide { grid-column: 1 / -1; }
  .woocommerce div.product form.cart .button { min-width: 0; }
  .single-product { padding-bottom: 5rem; }
  .sticky-add-to-bag { padding-bottom: max(.65rem, env(safe-area-inset-bottom)); }
}

.site-footer { padding-block: 3rem 1.5rem; background: var(--color-ink); color: #fff; }
.site-footer__grid { display: grid; gap: 2.5rem; }
.site-footer h2 { font-size: 2rem; }
.site-footer h3 { font-family: var(--font-body); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li { margin-bottom: .5rem; }
.site-footer a { color: rgba(255,255,255,.78); font-size: .88rem; text-decoration: none; }
.site-footer__bottom { margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.58); font-size: .75rem; }

@media (min-width: 48rem) {
  .site-container { width: min(100% - 4rem, var(--container)); }
  .section { padding-block: var(--space-8); }
  .mobile-menu-button { display: none; }
  .site-header__inner { grid-template-columns: 1fr auto 1fr; min-height: 4.5rem; }
  #cart-drawer { display: grid; width: min(94vw, 48rem); grid-template-columns: 13rem minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
  #cart-drawer .cart-recommendations--desktop { display: block; grid-column: 1; grid-row: 1 / 3; padding: 1.25rem; border-right: 1px solid var(--color-line); overflow-y: auto; }
  #cart-drawer .cart-recommendations--desktop .cart-recommendations__track { display: grid; overflow: visible; }
  #cart-drawer .cart-recommendations--desktop .cart-recommendations__item { min-width: 0; }
  #cart-drawer .drawer__head { grid-column: 2; grid-row: 1; }
  #cart-drawer .widget_shopping_cart_content { grid-column: 2; grid-row: 2; }
  #cart-drawer .cart-recommendations--mobile { display: none; }
  .hero::after { background: linear-gradient(90deg, rgba(248,246,241,.96) 0%, rgba(248,246,241,.65) 38%, rgba(248,246,241,0) 70%); }
  .desktop-nav { display: flex; gap: 1.35rem; }
  .desktop-nav a { font-size: .76rem; font-weight: 700; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
  .category-showcase__track { gap: 1rem; }
  .category-card { flex-basis: clamp(15rem, 20vw, 21rem); }
  .products, .woocommerce ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem 1rem; }
  .story { grid-template-columns: 1.2fr .8fr; }
  .story__image { min-height: 38rem; }
  .story__copy { padding: 4rem; }
  .trust-row { grid-template-columns: repeat(3, 1fr); }
  .category-seo { display: grid; grid-template-columns: minmax(0, .9fr) minmax(22rem, .7fr); gap: 3rem; }
  .category-seo__faq { margin-top: 0; }
  .shop-toolbar .filter-button { flex: 0 0 12rem; }
  .site-footer__grid { grid-template-columns: 1.6fr repeat(3, 1fr); }
}

@media (min-width: 64rem) {
  .single-product main.site-container { width: min(100% - 3rem, 112rem); }
  .woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.68fr) minmax(28rem, .9fr); align-items: start; gap: clamp(2rem, 3.5vw, 4rem); }
  .woocommerce div.product div.images, .woocommerce div.product div.summary { margin: 0; }
  .woocommerce div.product div.images { grid-column: 1; grid-row: 1; }
  .woocommerce div.product div.summary { position: sticky; grid-column: 2; grid-row: 1; top: calc(var(--header-height) + 1.25rem); align-self: start; padding-top: .2rem; }
  .woocommerce div.product .product_title { font-size: clamp(2rem, 2.45vw, 2.4rem); }
  .woocommerce-product-gallery { display: grid; height: clamp(38rem, calc(100vh - 8rem), 52rem); grid-template-columns: minmax(0, 2fr) minmax(12rem, .92fr); gap: .75rem; }
  .woocommerce-product-gallery .flex-viewport { min-width: 0; height: 100% !important; overflow: hidden !important; border-radius: .75rem; background: #f4f3ef; }
  .woocommerce-product-gallery__wrapper { display: flex !important; height: 100%; transition-property: transform !important; transition-timing-function: ease !important; will-change: transform; }
  .woocommerce-product-gallery__image { display: block !important; flex: 0 0 auto; min-height: 0; overflow: hidden; background: #f4f3ef; }
  .woocommerce-product-gallery__image a { display: block; height: 100%; overflow: hidden; }
  .woocommerce-product-gallery__image img { width: 100% !important; height: 100% !important; object-fit: contain !important; background: #f4f3ef; transform: none; }
  .woocommerce-product-gallery .flex-control-thumbs { display: flex !important; min-width: 0; height: 100%; flex-direction: column; gap: .75rem; margin: 0; padding: 0; overflow-x: hidden; overflow-y: auto; list-style: none; scrollbar-width: none; scroll-snap-type: y proximity; }
  .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar { display: none; }
  .woocommerce-product-gallery .flex-control-thumbs li { float: none; width: 100%; min-height: 0; flex: 0 0 calc((100% - .75rem) / 2); margin: 0; overflow: hidden; border: 1px solid transparent; border-radius: .75rem; background: #f4f3ef; scroll-snap-align: start; }
  .woocommerce-product-gallery .flex-control-thumbs img { display: block; width: 100% !important; height: 100% !important; padding: 0; object-fit: cover; opacity: .72; transition: opacity 180ms ease, border-color 180ms ease; }
  .woocommerce-product-gallery .flex-control-thumbs img:hover,
  .woocommerce-product-gallery .flex-control-thumbs img:focus-visible,
  .woocommerce-product-gallery .flex-control-thumbs img.flex-active { opacity: 1; }
  .woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active) { border-color: var(--color-ink); }
  .woocommerce div.product .product-reviews,
  .woocommerce div.product .product-rail,
  .woocommerce div.product .related.products { grid-column: 1 / -1; }
}

@media (max-width: 22rem) {
  .site-container { width: min(100% - 1rem, var(--container)); }
  .icon-button { width: 2.25rem; }
  .site-header__tools .icon-button { flex-basis: 2.25rem; }
  .wordmark { font-size: .98rem; letter-spacing: .07em; }
  .shop-toolbar { display: grid; grid-template-columns: auto 1fr; }
  .shop-toolbar .woocommerce-ordering { grid-column: 1 / -1; width: 100%; }
  .woocommerce .woocommerce-ordering select { width: 100%; max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
