/*
Theme Name: Sense
Theme URI: https://sensesaigon.com
Author: Sense Jewelry Studio
Description: Standalone WooCommerce theme for Sense Jewelry Studio. Brand guideline Edition 01 (2026): White, Mist, Silver, Ink, Midnight blue as the only accent. Cormorant + Be Vietnam Pro.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: sense
*/

:root {
	--white: #ffffff;
	--mist: #eeeeec;
	--silver: #c9ccd3;
	--ink: #0e0e10;
	--midnight: #101e52;
	--muted: #5a5a60;
	--body: #3a3a40;
	--serif: 'Cormorant', 'Cormorant Garamond', Georgia, serif;
	--sans: 'Be Vietnam Pro', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--gutter: clamp(16px, 5.5vw, 80px);
	--section: clamp(64px, 9vw, 120px);
	--maxw: 1440px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--white); color: var(--ink); font-family: var(--sans); font-weight: 300; font-size: 15px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 4px; }
h1, h2, h3 { font-family: var(--serif); font-weight: 300; line-height: 1.08; margin: 0 0 .5em; letter-spacing: 0; }
h1 { font-size: clamp(40px, 5.6vw, 72px); }
h2 { font-size: clamp(32px, 3.6vw, 48px); }
h3 { font-size: clamp(22px, 2vw, 28px); }
p { margin: 0 0 1em; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--midnight); outline-offset: 3px; }
.screen-reader-text, .sense-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sense-skip { position: absolute; left: -9999px; top: 0; background: var(--ink); color: var(--white); padding: 12px 16px; z-index: 100; }
.sense-skip:focus { left: 16px; }
.sense-label { font-family: var(--sans); font-size: 11px; font-weight: 400; letter-spacing: .22em; text-transform: uppercase; line-height: 1.4; margin: 0 0 16px; }
.sense-muted { color: var(--muted); }
.sense-center { text-align: center; }
.sense-ph { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 240px; background: var(--silver); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--ink); }

/* ---------- Buttons & links ---------- */
.sense-btn, .woocommerce .button, .woocommerce button.button, .woocommerce a.button, .wp-element-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 32px;
	background: var(--ink); color: var(--white); border: 1px solid var(--ink); border-radius: 0;
	font-family: var(--sans); font-size: 11px; font-weight: 400; letter-spacing: .22em; text-transform: uppercase; line-height: 1; cursor: pointer; text-decoration: none;
	transition: background .2s, color .2s;
}
.sense-btn:hover, .woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce a.button:hover { background: #2a2a2e; border-color: #2a2a2e; color: var(--white); text-decoration: none; }
.sense-btn--accent, .woocommerce button.single_add_to_cart_button.button, .woocommerce button.single_add_to_cart_button.button.alt { background: var(--midnight); border-color: var(--midnight); }
.sense-btn--accent:hover, .woocommerce button.single_add_to_cart_button.button:hover { background: #0b1640; border-color: #0b1640; }
.sense-btn--light { background: var(--white); color: var(--ink); border-color: var(--white); }
.sense-btn--light:hover { background: var(--mist); color: var(--ink); border-color: var(--mist); }
.sense-textlink { display: inline-block; font-size: 11px; font-weight: 400; letter-spacing: .22em; text-transform: uppercase; border-bottom: 1px solid currentColor; padding-bottom: 6px; }
.sense-textlink:hover { text-decoration: none; opacity: .75; }
.sense-textlink--light { color: var(--white); }
.sense-link { background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; font-size: 13px; }
.sense-iconbtn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: none; border: 0; cursor: pointer; color: var(--ink); position: relative; }
.woocommerce .button.disabled, .woocommerce button.button:disabled, .woocommerce button.button.disabled { opacity: .45; cursor: not-allowed; }

/* ---------- Header ---------- */
.sense-announce { background: var(--ink); color: var(--white); text-align: center; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; padding: 11px 16px; line-height: 1.4; }
.sense-header { position: sticky; top: 0; z-index: 50; background: var(--white); border-bottom: 1px solid var(--mist); }
.admin-bar .sense-header { top: 32px; }
.sense-header__inner { max-width: var(--maxw); margin: 0 auto; height: 88px; padding: 0 var(--gutter); display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; transition: height .25s; }
.sense-header.is-scrolled .sense-header__inner { height: 68px; }
.sense-header__logo { display: flex; justify-self: center; }
.sense-header__logo .sense-logo { width: 150px; height: auto; transition: width .25s; }
.sense-header.is-scrolled .sense-logo { width: 124px; }
.sense-header__menu { display: none; }
.sense-nav__list { list-style: none; margin: 0; padding: 0; display: flex; gap: 32px; font-size: 13px; letter-spacing: .06em; font-weight: 400; }
.sense-header__tools { display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
.sense-bagcount { position: absolute; top: 6px; right: 2px; min-width: 16px; height: 16px; border-radius: 8px; background: var(--ink); color: var(--white); font-size: 10px; line-height: 16px; text-align: center; font-weight: 400; }
.sense-bagcount.is-empty { display: none; }
.sense-search { max-width: var(--maxw); margin: 0 auto; padding: 16px var(--gutter) 24px; display: flex; gap: 0; }
.sense-search input { flex: 1; height: 52px; border: 1px solid var(--ink); border-right: 0; padding: 0 16px; background: var(--white); }

/* ---------- Home ---------- */
.sense-hero { position: relative; min-height: clamp(560px, 72vh, 760px); background: var(--ink); color: var(--white); display: flex; align-items: flex-end; overflow: hidden; }
.sense-hero__img { position: absolute; top: 0; right: 0; width: 62%; height: 100%; object-fit: cover; }
.sense-hero__text { position: relative; max-width: 640px; padding: 0 var(--gutter) clamp(56px, 8vw, 96px); }
.sense-hero .sense-label { color: var(--silver); }
.sense-hero h1 { color: var(--white); }
.sense-hero__lead { color: var(--mist); max-width: 460px; }
.sense-hero__ctas { display: flex; gap: 32px; align-items: center; flex-wrap: wrap; margin-top: 12px; }

.sense-section { max-width: var(--maxw); margin: 0 auto; padding: var(--section) var(--gutter); }
.sense-section--flush { padding-top: 0; }
.sense-section__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 40px; }
.sense-section__head h2 { margin: 0; }
.sense-section__head .sense-label { margin: 0; }
.sense-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.sense-tile { display: flex; flex-direction: column; gap: 16px; }
.sense-tile:hover { text-decoration: none; }
.sense-tile__img { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--mist); }
.sense-tile__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.sense-tile:hover img { transform: scale(1.03); }
.sense-tile__name { font-family: var(--serif); font-size: 28px; }

.sense-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(40px, 7vw, 96px); align-items: center; padding: var(--section) var(--gutter); max-width: var(--maxw); margin: 0 auto; }
.sense-split--mist { background: var(--mist); max-width: none; padding-left: max(var(--gutter), calc((100vw - var(--maxw)) / 2 + var(--gutter))); padding-right: max(var(--gutter), calc((100vw - var(--maxw)) / 2 + var(--gutter))); }
.sense-split--reverse .sense-split__media { order: 2; }
.sense-split__media { aspect-ratio: 4 / 5; overflow: hidden; }
.sense-split__media img { width: 100%; height: 100%; object-fit: cover; }
.sense-split__text { max-width: 520px; }
.sense-split__text p { max-width: 460px; }
.sense-split--hero h1 { font-size: clamp(40px, 5vw, 64px); }
.sense-steps { list-style: none; margin: 24px 0 32px; padding: 0; border-top: 1px solid var(--silver); }
.sense-steps li { display: flex; gap: 24px; padding: 16px 0; border-bottom: 1px solid var(--silver); font-size: 14px; font-weight: 400; }
.sense-steps span { color: var(--muted); width: 28px; font-weight: 300; }

.sense-promises { max-width: var(--maxw); margin: 0 auto; padding: 56px var(--gutter); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; border-top: 1px solid var(--mist); border-bottom: 1px solid var(--mist); }
.sense-promises .sense-ico { width: 28px; height: 28px; margin-bottom: 12px; }
.sense-promises h3 { font-family: var(--sans); font-size: 14px; font-weight: 400; margin: 0 0 6px; line-height: 1.4; }
.sense-promises p { font-size: 13px; color: var(--muted); margin: 0; }

.sense-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 40px; }
.sense-reviews figure { margin: 0; background: var(--mist); padding: 40px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.sense-reviews blockquote { margin: 0; font-family: var(--serif); font-style: italic; font-size: 24px; line-height: 1.35; }

.sense-newsletter { background: var(--mist); padding: 64px var(--gutter); display: flex; justify-content: space-between; align-items: center; gap: 40px; flex-wrap: wrap; }
.sense-newsletter h2 { font-size: 36px; margin: 0 0 6px; }
.sense-newsletter p { margin: 0; font-size: 14px; }

/* ---------- Product cards (shop, home, related) ---------- */
.woocommerce ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 24px; row-gap: 56px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; padding: 0; position: relative; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; gap: 10px; }
.woocommerce ul.products li.product a:hover { text-decoration: none; }
.sense-card__media { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--mist); }
.sense-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; margin: 0 !important; transition: opacity .35s; }
.sense-card__alt { opacity: 0; }
.woocommerce ul.products li.product:hover .sense-card__alt { opacity: 1; }
.sense-badge { position: absolute; top: 14px; left: 14px; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; font-weight: 400; background: rgba(255,255,255,.85); padding: 5px 8px; line-height: 1; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--sans); font-size: 14px; font-weight: 400; padding: 6px 0 0; margin: 0; line-height: 1.4; }
.woocommerce ul.products li.product .price { color: var(--ink); font-size: 13px; font-weight: 300; margin: 0; display: block; }
.sense-from { color: var(--muted); }
.sense-dots { display: flex; gap: 6px; margin-top: 2px; }
.sense-dot { width: 12px; height: 12px; border-radius: 50%; border: 1px solid var(--silver); display: inline-block; }

/* ---------- Shop archive ---------- */
.sense-wc { max-width: var(--maxw); margin: 0 auto; padding: 40px var(--gutter) var(--section); }
.woocommerce-breadcrumb { font-size: 12px; color: var(--muted); margin-bottom: 24px !important; }
.woocommerce-products-header__title, .woocommerce-products-header h1 { margin: 8px 0 16px; }
.term-description { max-width: 560px; color: var(--body); }
.sense-pills { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 20px 0 0; border-top: 1px solid var(--mist); margin-top: 24px; }
.sense-pills--sub { border-top: 0; padding-top: 12px; }
.sense-pills__label { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); margin-right: 8px; }
.sense-pill { border: 1px solid var(--silver); padding: 9px 16px; font-size: 13px; line-height: 1.2; }
.sense-pill:hover { border-color: var(--ink); text-decoration: none; }
.sense-pill.is-on { background: var(--ink); color: var(--white); border-color: var(--ink); }
.woocommerce .woocommerce-result-count { font-size: 12px; color: var(--muted); margin: 24px 0 32px; float: left; }
.woocommerce .woocommerce-ordering { float: right; margin: 16px 0 32px; }
.woocommerce .woocommerce-ordering select { height: 44px; border: 1px solid var(--silver); padding: 0 36px 0 14px; background: var(--white); font-size: 13px; }
.woocommerce ul.products { clear: both; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; justify-content: center; gap: 8px; margin-top: 56px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--silver); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ink); color: var(--white); border-color: var(--ink); }

/* ---------- Single product ---------- */
.sense-wc--product { padding-top: 24px; }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: clamp(32px, 6vw, 96px); align-items: start; }
.woocommerce div.product > * { grid-column: 1 / -1; }
.woocommerce div.product div.images.woocommerce-product-gallery { grid-column: 1; width: auto !important; float: none !important; margin: 0 !important; opacity: 1 !important; }
.woocommerce div.product div.summary { grid-column: 2; width: auto !important; float: none !important; margin: 0; position: sticky; top: 110px; }
.woocommerce-product-gallery__wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 !important; transform: none !important; }
.woocommerce-product-gallery__image { background: var(--mist); aspect-ratio: 4 / 5; overflow: hidden; }
.woocommerce-product-gallery__image:first-child { grid-column: 1 / -1; }
.woocommerce-product-gallery__image a, .woocommerce-product-gallery__image img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; aspect-ratio: auto !important; }
.woocommerce-product-gallery__trigger { display: none !important; }
.sense-gdots { display: none; }
.sense-eyebrow { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); margin-bottom: 12px; font-weight: 400; }
.woocommerce div.product .product_title { font-size: clamp(36px, 3.4vw, 48px); margin: 0 0 12px; }
.woocommerce div.product .summary > .price { color: var(--ink); font-size: 20px; font-weight: 300; margin: 0 0 16px; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--body); font-size: 14px; }
.woocommerce div.product form.cart { margin: 24px 0 0; }
.woocommerce div.product form.cart .variations { border: 0; margin: 0 0 8px; width: 100%; }
.woocommerce div.product form.cart .variations tr { display: block; margin-bottom: 20px; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0; text-align: left; line-height: 1.4; }
.woocommerce div.product form.cart .variations th label { font-size: 13px; font-weight: 400; margin-bottom: 10px; display: block; }
.woocommerce div.product form.cart .reset_variations { display: none !important; }
.sense-hidden-select { position: absolute !important; opacity: 0; pointer-events: none; width: 1px !important; height: 1px; }
.sense-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.sense-chips--grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.sense-chip { min-height: 44px; padding: 10px 14px; border: 1px solid var(--silver); background: var(--white); cursor: pointer; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; line-height: 1.2; }
.sense-chip:hover { border-color: var(--ink); }
.sense-chip.is-on { background: var(--ink); color: var(--white); border-color: var(--ink); }
.sense-chip.is-off { opacity: .35; text-decoration: line-through; }
.sense-chip__sw { width: 14px; height: 14px; border-radius: 50%; border: 1px solid var(--silver); flex: none; }
.woocommerce div.product .single_variation_wrap .woocommerce-variation-price { display: none; }
.woocommerce-variation-availability p { font-size: 13px; margin: 0 0 12px; }
.sense-size { margin: 4px 0 20px; }
.sense-size__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; }
.sense-size__head label { font-size: 13px; font-weight: 400; }
.sense-size__chosen { color: var(--muted); font-weight: 300; }
.sense-size select { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.sense-size select:not(.sense-hidden-select) { position: static; opacity: 1; pointer-events: auto; width: 100%; height: 48px; }
.sense-size__note { font-size: 12px; color: var(--muted); margin: 10px 0 0; }
.sense-size__note a { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart, .woocommerce div.product form.cart:not(.variations_form) { display: flex; gap: 12px; flex-wrap: wrap; align-items: stretch; }
.woocommerce div.product form.cart .quantity { margin: 0 !important; }
.woocommerce div.product form.cart .quantity .qty { width: 72px; height: 60px; border: 1px solid var(--silver); text-align: center; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-height: 60px; }
.woocommerce div.product form.cart:not(.variations_form) .sense-size { flex-basis: 100%; }
.sense-customnote { background: var(--mist); padding: 18px 22px; font-size: 13px; color: var(--body); margin-top: 16px; }
.sense-customnote a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.woocommerce div.product .woocommerce-tabs { margin-top: 32px; border-top: 1px solid var(--mist); padding-top: 24px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { list-style: none; display: flex; flex-wrap: wrap; gap: 24px; padding: 0 !important; margin: 0 0 16px !important; border: 0; overflow: visible; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important; border-radius: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: 13px; font-weight: 400; color: var(--muted); padding: 0 0 10px !important; border-bottom: 1px solid transparent; display: inline-block; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ink); border-bottom-color: var(--ink); }
.woocommerce div.product .woocommerce-tabs .panel { font-size: 14px; color: var(--body); margin: 0; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.sense-specs { display: grid; grid-template-columns: 140px 1fr; row-gap: 10px; font-size: 13px; margin: 16px 0 0; }
.sense-specs dt { color: var(--muted); }
.sense-specs dd { margin: 0; }
.woocommerce div.product .related.products, .woocommerce div.product .upsells.products { grid-column: 1 / -1; margin-top: var(--section); }
.woocommerce div.product .related.products > h2 { margin-bottom: 40px; }

/* ---------- Modal ---------- */
.sense-modal { border: 0; padding: 40px; max-width: 880px; width: calc(100% - 32px); max-height: calc(100vh - 64px); background: var(--white); color: var(--ink); }
.sense-modal::backdrop { background: rgba(14, 14, 16, .55); }
.sense-modal__close { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; border: 0; background: none; font-size: 28px; cursor: pointer; line-height: 1; }

/* ---------- Size guide ---------- */
.sense-sizeguide { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 48px; align-items: start; }
.sense-sizeguide__how h3 { margin-top: 0; }
.sense-sizeguide__how ol { padding-left: 20px; font-size: 14px; }
.sense-sizeguide__how li { margin-bottom: 12px; }
.sense-sizeguide__how a { text-decoration: underline; text-underline-offset: 3px; }
.sense-sizeguide__tablewrap { max-height: 560px; overflow: auto; border: 1px solid var(--mist); }
.sense-sizeguide__table { width: 100%; border-collapse: collapse; font-size: 13px; }
.sense-sizeguide__table th { position: sticky; top: 0; background: var(--mist); text-align: left; font-weight: 400; padding: 12px 14px; }
.sense-sizeguide__table td { padding: 9px 14px; border-top: 1px solid var(--mist); }
.sense-sizeguide__table tr:hover td { background: #f7f7f6; }

/* ---------- Pages & prose ---------- */
.sense-page { max-width: 760px; margin: 0 auto; padding: 72px var(--gutter) var(--section); }
.sense-page--wide { max-width: var(--maxw); }
.sense-page__head { margin-bottom: 32px; }
.sense-prose { font-size: 15px; color: var(--body); }
.sense-prose h2 { font-size: 32px; margin-top: 1.4em; color: var(--ink); }
.sense-prose h3 { font-size: 24px; margin-top: 1.4em; color: var(--ink); }
.sense-prose a { text-decoration: underline; text-underline-offset: 3px; color: var(--ink); }
.sense-prose ul, .sense-prose ol { padding-left: 20px; }
.sense-prose li { margin-bottom: 8px; }
.sense-prose--wide { max-width: var(--maxw); }
.sense-listitem { padding: 24px 0; border-bottom: 1px solid var(--mist); }

/* Custom orders page */
.sense-howto { list-style: none; padding: 0; margin: 40px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.sense-howto li { border-top: 1px solid var(--ink); padding-top: 24px; display: flex; flex-direction: column; gap: 12px; }
.sense-howto__n { font-family: var(--serif); font-size: 40px; line-height: 1; }
.sense-howto strong { font-weight: 400; font-size: 15px; }
.sense-howto p { font-size: 13px; color: var(--body); margin: 0; }
.sense-formwrap { background: var(--mist); padding: var(--section) var(--gutter); display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); }
.sense-formwrap__intro h2 { font-size: clamp(32px, 3.4vw, 44px); }
.sense-formwrap__intro p { font-size: 14px; }

/* ---------- Forms ---------- */
.sense-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.sense-field { display: flex; flex-direction: column; gap: 8px; }
.sense-field--wide { grid-column: 1 / -1; }
.sense-field label { font-size: 12px; letter-spacing: .06em; font-weight: 400; }
.sense-field input, .sense-field select, .sense-field textarea { min-height: 52px; border: 1px solid var(--silver); background: var(--white); padding: 12px 16px; font-size: 14px; border-radius: 0; width: 100%; }
.sense-field input[type=file] { padding: 14px; }
.sense-field textarea { min-height: 140px; resize: vertical; }
.sense-field input:focus, .sense-field select:focus, .sense-field textarea:focus { border-color: var(--ink); outline: none; }
.sense-form > button { grid-column: 1 / -1; justify-self: start; }
.sense-form--inline { display: flex; gap: 0; width: min(520px, 100%); }
.sense-form--inline .sense-field { flex: 1; }
.sense-form--inline .sense-field label { position: absolute; left: -9999px; }
.sense-form--inline input { border-color: var(--ink); border-right: 0; }
.sense-notice { padding: 16px 20px; margin-bottom: 20px; font-size: 14px; grid-column: 1 / -1; }
.sense-notice--ok { background: var(--white); border-left: 2px solid var(--ink); }
.sense-notice--err { background: #fff4f2; border-left: 2px solid #9b2c1e; color: #6e1d12; }

/* ---------- WooCommerce notices, cart, checkout ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { border: 0 !important; border-left: 2px solid var(--ink) !important; background: var(--mist) !important; color: var(--ink) !important; font-size: 14px; list-style: none; padding: 16px 20px !important; margin: 0 0 24px !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-error { border-left-color: #9b2c1e !important; }
.woocommerce-message .button { float: right; min-height: 40px; }
.wc-block-cart, .wc-block-checkout { font-family: var(--sans); }
.wc-block-components-button:not(.is-link) { border-radius: 0 !important; min-height: 56px; letter-spacing: .22em; text-transform: uppercase; font-size: 11px !important; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--midnight) !important; color: var(--white) !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input, .wc-blocks-components-select__select { border-radius: 0 !important; }
.wc-block-components-product-name { font-weight: 400; }
.wc-block-components-product-details { font-size: 12px; color: var(--muted); }
.wp-block-woocommerce-empty-cart-block .wp-block-heading { font-family: var(--serif); }

/* ---------- Footer ---------- */
.sense-footer { background: var(--ink); color: var(--white); padding: 80px var(--gutter) 32px; }
.sense-footer__grid { max-width: var(--maxw); margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
.sense-footer__brand .sense-logo { width: 140px; margin-bottom: 20px; }
.sense-footer__brand p { color: var(--silver); font-size: 13px; }
.sense-footer .sense-label { color: var(--silver); font-size: 11px; }
.sense-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 13px; }
.sense-footer__bottom { max-width: var(--maxw); margin: 64px auto 0; padding-top: 24px; border-top: 1px solid #2a2a2e; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 12px; color: var(--silver); }
.sense-footer__bottom .sense-label { margin: 0; }
.sense-tabbar { display: none; }
.sense-dm { position: fixed; right: 20px; bottom: 20px; width: 52px; height: 52px; border-radius: 50%; background: var(--ink); color: var(--white); display: flex; align-items: center; justify-content: center; z-index: 40; box-shadow: 0 6px 20px rgba(14,14,16,.18); }
.sense-dm:hover { text-decoration: none; background: #2a2a2e; }

/* ---------- Tablet ---------- */
@media (max-width: 1080px) {
	.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sense-promises { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sense-howto { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sense-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sense-sizeguide { grid-template-columns: 1fr; }
}

/* ---------- Phone ---------- */
@media (max-width: 782px) {
	body { font-size: 14px; padding-bottom: 72px; }
	.admin-bar .sense-header { top: 0; }
	.sense-announce { font-size: 9px; letter-spacing: .16em; padding: 9px 12px; }
	.sense-header__inner { height: 60px; padding: 0 8px; }
	.sense-header.is-scrolled .sense-header__inner { height: 56px; }
	.sense-header__logo .sense-logo, .sense-header.is-scrolled .sense-logo { width: 120px; }
	.sense-header__menu { display: inline-flex; justify-self: start; }
	.sense-nav { position: fixed; inset: 0 0 0 0; top: var(--sense-nav-top, 92px); background: var(--white); padding: 24px 24px 120px; transform: translateX(-100%); transition: transform .3s; z-index: 49; overflow: auto; }
	.sense-nav-open .sense-nav { transform: none; }
	.sense-nav__list { flex-direction: column; gap: 0; font-family: var(--serif); font-size: 32px; letter-spacing: 0; font-weight: 300; }
	.sense-nav__list a { display: block; padding: 12px 0; border-bottom: 1px solid var(--mist); }
	.sense-header__inner { grid-template-columns: 44px 1fr auto; }
	.sense-header__tools { gap: 0; }

	.sense-hero { flex-direction: column; align-items: stretch; min-height: 0; }
	.sense-hero__img { position: static; width: 100%; height: 300px; }
	.sense-hero__text { padding: 8px 20px 40px; }
	.sense-hero h1 { font-size: 40px; }
	.sense-hero__ctas { flex-direction: column; align-items: stretch; gap: 20px; }
	.sense-hero__ctas .sense-textlink { align-self: flex-start; }
	.sense-section { padding: 56px 20px; }
	.sense-section__head { margin-bottom: 24px; }
	.sense-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.sense-tile:nth-child(3) { grid-column: 1 / -1; }
	.sense-tile:nth-child(3) .sense-tile__img { aspect-ratio: 16 / 9; }
	.sense-tile__name { font-size: 22px; }
	.sense-split { grid-template-columns: 1fr; padding: 56px 20px; gap: 32px; }
	.sense-split--reverse .sense-split__media { order: 0; }
	.sense-split--hero .sense-split__media { order: -1; }
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; row-gap: 32px; }
	.sense-promises { grid-template-columns: 1fr 1fr; gap: 28px 20px; padding: 40px 20px; }
	.sense-reviews { grid-template-columns: 1fr; }
	.sense-newsletter { padding: 48px 20px; }
	.sense-wc { padding: 24px 20px 56px; }
	.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none; margin: 16px 0; }
	.sense-pills { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
	.sense-pill { white-space: nowrap; }

	.woocommerce div.product { display: block; }
	.sense-wc--product { padding: 0 0 56px; }
	.sense-wc--product .woocommerce-breadcrumb { padding: 16px 20px 0; }
	.woocommerce div.product div.images.woocommerce-product-gallery { position: relative; }
	.woocommerce-product-gallery__wrapper { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 0; scrollbar-width: none; }
	.woocommerce-product-gallery__wrapper::-webkit-scrollbar { display: none; }
	.woocommerce-product-gallery__image { flex: 0 0 100%; scroll-snap-align: start; }
	.sense-gdots { display: flex; justify-content: center; gap: 6px; position: absolute; bottom: 14px; left: 0; right: 0; }
	.sense-gdots span { width: 18px; height: 2px; background: var(--silver); }
	.sense-gdots span.is-on { background: var(--ink); }
	.woocommerce div.product div.summary { position: static; padding: 20px; }
	.woocommerce div.product .woocommerce-tabs { padding: 24px 20px 0; }
	.woocommerce div.product .related.products { padding: 0 20px; }
	.sense-chips--grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.woocommerce div.product form.cart .woocommerce-variation-add-to-cart, .woocommerce div.product form.cart:not(.variations_form) { position: sticky; bottom: 72px; background: var(--white); padding: 12px 0; z-index: 5; }

	.sense-page { padding: 40px 20px 64px; }
	.sense-howto { grid-template-columns: 1fr; }
	.sense-formwrap { grid-template-columns: 1fr; padding: 56px 20px; }
	.sense-form { grid-template-columns: 1fr; }
	.sense-modal { padding: 48px 20px 24px; }

	.sense-footer { padding: 56px 20px 32px; }
	.sense-footer__grid { grid-template-columns: 1fr 1fr; }
	.sense-footer__brand { grid-column: 1 / -1; }

	.sense-tabbar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); position: fixed; left: 0; right: 0; bottom: 0; height: 72px; background: var(--white); border-top: 1px solid var(--mist); z-index: 45; padding-bottom: env(safe-area-inset-bottom); }
	.sense-tabbar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
	.sense-tabbar a.is-on { color: var(--ink); }
	.sense-tabbar a:hover { text-decoration: none; }
	.sense-dm { bottom: 88px; right: 16px; }
	.single-product .sense-dm { bottom: 160px; }
}

/* ---------- R2 fixes ---------- */
.sense-search[hidden] { display: none; }
.woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce ul.products li.product .price { color: var(--ink); }
.woocommerce div.product form.cart .sense-size { flex: 0 0 100%; }
.woocommerce div.product div.summary { position: static; }
.sense-hidden-select { left: 0; top: 0; min-width: 0 !important; max-width: 1px !important; clip: rect(0 0 0 0); }
.woocommerce div.product form.cart .variations td, .sense-size { position: relative; }
.sense-insta #sb_instagram { padding: 0 !important; }
.sense-insta #sb_instagram .sbi_photo { aspect-ratio: 3 / 4; height: auto !important; }
