/* ============================================================
   SINCERE AFRICA: components + motion (on top of custom.css)
   Design: Lola layout, Host Grotesk only, black on white,
   studio grey #E4E3E1, no accent colour (the prints are the colour).
   ============================================================ */

@font-face { font-family: 'Instrument Serif'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/instrument-serif-italic-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212; }
@font-face {
	font-family: 'Host Grotesk';
	font-style: normal;
	font-weight: 300 600;
	font-display: swap;
	src: url('../fonts/host-grotesk-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Host Grotesk';
	font-style: normal;
	font-weight: 300 600;
	font-display: swap;
	src: url('../fonts/host-grotesk-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
	--sa-ink: #1A1A1A;
	--sa-mute: #5F5F5F;
	--sa-line: #E8E6E3;
	--sa-grey: #E4E3E1;
	--sa-soft: #F6F5F3;
	--sa-warn: #A33A1E;
	--sa-font: 'Host Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--sa-ease: cubic-bezier(.2, .7, .2, 1);
	--sa-pad: clamp(16px, 2.8vw, 40px);
}

/* Cross-page fade (supported browsers only, no JS). */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .28s; }

/* ---------- Base type: Host Grotesk everywhere ---------- */
body, button, input, select, textarea, .site, h1, h2, h3, h4, h5, h6,
.woocommerce, .woocommerce-page, .main-navigation, .menu, .site-header, .site-footer,
.product_title, .price, .woocommerce-loop-product__title, .button, .woocommerce .button {
	font-family: var(--sa-font) !important;
}
body { color: var(--sa-ink); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, .product_title, .woocommerce-loop-product__title {
	text-transform: none !important;
	letter-spacing: -0.01em !important;
	font-weight: 400 !important;
}
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.sa-hidden, .sa-trap { display: none !important; }
html.sa-locked, html.sa-locked body { overflow: hidden; }

/* ---------- Shared bits ---------- */
.sa-eyebrow { display: block; font: 500 12px/1 var(--sa-font); letter-spacing: .14em; text-transform: uppercase; color: var(--sa-mute); }
.sa-link { font: 500 12px/1 var(--sa-font); letter-spacing: .14em; text-transform: uppercase; color: var(--sa-ink) !important; text-decoration: none !important; padding-bottom: 4px; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; transition: background-size .35s var(--sa-ease); }
.sa-link:hover { background-size: 0 1px; background-position: 100% 100%; }
.sa-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 28px; background: var(--sa-ink); color: #fff !important; border: 1px solid var(--sa-ink); border-radius: 0; font: 500 12px/1 var(--sa-font); letter-spacing: .14em; text-transform: uppercase; text-decoration: none !important; cursor: pointer; transition: background-color .25s, color .25s, transform .15s; }
.sa-btn:hover { background: #000; }
.sa-btn:active { transform: scale(.98); }
.sa-btn--outline { background: transparent; color: var(--sa-ink) !important; }
.sa-btn--outline:hover { background: var(--sa-ink); color: #fff !important; }
.sa-btn--block { width: 100%; box-sizing: border-box; }
.sa-icon { flex: none; }

/* ---------- Announcement bar ---------- */
.sa-announce { background: var(--sa-ink); color: #fff; height: 38px; overflow: hidden; }
.sa-announce__track { position: relative; height: 100%; max-width: 1440px; margin: 0 auto; }
.sa-announce__msg { position: absolute; inset: 0; margin: 0; display: flex; align-items: center; justify-content: center; font: 400 12px/1 var(--sa-font); letter-spacing: .12em; text-transform: uppercase; opacity: 0; transform: translateY(70%); transition: opacity .5s var(--sa-ease), transform .5s var(--sa-ease); }
.sa-announce__msg.is-active { opacity: 1; transform: none; }

/* ---------- Header (Konte custom header: menu left, logo centre, icons right) ---------- */
.site-header { border-bottom: 1px solid var(--sa-line); }
.site-header .site-branding .logo-text, .site-header .logo .logo-text, .site-header .site-title, .site-header .logo a {
	font: 500 22px/1 var(--sa-font) !important; letter-spacing: .32em !important; text-transform: uppercase; color: var(--sa-ink) !important;
}
.site-header .main-navigation a, .site-header .menu > li > a {
	font: 400 12px/1 var(--sa-font) !important; letter-spacing: .14em !important; text-transform: uppercase;
}
.site-header .main-navigation .menu > li > a { position: relative; }
.site-header .main-navigation .menu > li > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -6px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .35s var(--sa-ease); }
.site-header .main-navigation .menu > li > a:hover::after, .site-header .main-navigation .menu > li.current-menu-item > a::after { transform: scaleX(1); transform-origin: left; }
.sa-bump { animation: saBump .5s var(--sa-ease); }
@keyframes saBump { 30% { transform: scale(1.22); } 60% { transform: scale(.94); } 100% { transform: none; } }

/* ---------- Homepage ---------- */
.sa-home .site-content { padding-top: 0 !important; }
.sa-home .site-content-container { max-width: none; padding: 0; }
.sa-home-main { width: 100%; }
.sa-hero { position: relative; }
.sa-hero__track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sa-hero__item { display: block; aspect-ratio: 3 / 3.7; overflow: hidden; background: var(--sa-grey); }
.sa-hero__img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; transform: scale(1.04); will-change: transform; }
html.sa-anim .sa-hero__item { opacity: 0; transform: translateY(24px); transition: opacity .9s var(--sa-ease), transform 1.1s var(--sa-ease); transition-delay: calc(var(--i, 0) * .12s); }
html.sa-anim .sa-hero.is-ready .sa-hero__item { opacity: 1; transform: none; }
html.sa-anim .sa-hero__img { transition: transform 1.6s var(--sa-ease); }
.sa-hero__item:hover .sa-hero__img { transform: scale(1.07) !important; }
.sa-hero__bar { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px 40px; flex-wrap: wrap; padding: 40px var(--sa-pad) 44px; border-bottom: 1px solid var(--sa-line); }
.sa-hero__copy { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.sa-hero__eyebrow { color: var(--sa-ink); display: inline-flex; align-items: center; gap: 10px; }
.sa-hero__eyebrow::before { content: ''; width: 28px; height: 1px; background: currentColor; }
html body .sa-hero__title { margin: 0 !important; font: 300 clamp(30px, 3.6vw, 52px)/1.05 var(--sa-font) !important; letter-spacing: -.025em !important; color: var(--sa-ink) !important; text-transform: none !important; }
.sa-nowrap { white-space: nowrap; }
.sa-hero__cta { flex: 0 0 auto; padding: 0 30px 0 32px; }
.sa-hero__cta svg { transition: transform .35s var(--sa-ease); }
.sa-hero__cta:hover svg { transform: translateX(5px); }
html.sa-anim .sa-hero__eyebrow, html.sa-anim .sa-hero__title, html.sa-anim .sa-hero__cta { opacity: 0; transform: translateY(18px); transition: opacity .8s var(--sa-ease), transform .9s var(--sa-ease); }
html.sa-anim .sa-hero.is-ready .sa-hero__eyebrow { opacity: 1; transform: none; transition-delay: .35s; }
html.sa-anim .sa-hero.is-ready .sa-hero__title { opacity: 1; transform: none; transition-delay: .45s; }
html.sa-anim .sa-hero.is-ready .sa-hero__cta { opacity: 1; transform: none; transition-delay: .6s; }
.sa-hero__dots { display: none; gap: 6px; align-items: center; }
.sa-hero__dots span { width: 6px; height: 2px; background: #BDBDBD; transition: width .35s var(--sa-ease), background-color .35s; }
.sa-hero__dots span.is-active { width: 18px; background: var(--sa-ink); }

.sa-section { max-width: 1440px; margin: 0 auto; padding: 72px var(--sa-pad) 24px; }
.sa-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; margin-bottom: 28px; }
.sa-section-head h2 { margin: 0; font: 400 26px/1.1 var(--sa-font) !important; letter-spacing: -.01em; }
.sa-products .woocommerce { margin: 0; }

.sa-cats { padding-bottom: 56px; }
.sa-cats__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sa-cat { display: flex; flex-direction: column; gap: 14px; color: var(--sa-ink) !important; text-decoration: none !important; }
.sa-cat__img { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--sa-grey); }
.sa-cat__img img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; transition: transform 1.2s var(--sa-ease); }
.sa-cat:hover .sa-cat__img img { transform: scale(1.05); }
.sa-cat__label { display: flex; justify-content: space-between; align-items: center; font: 500 13px/1 var(--sa-font); letter-spacing: .14em; text-transform: uppercase; }
.sa-cat__label .sa-icon { transition: transform .35s var(--sa-ease); }
.sa-cat:hover .sa-cat__label .sa-icon { transform: translateX(6px); }

.sa-fit { background: var(--sa-grey); padding: 88px var(--sa-pad); text-align: center; display: flex; flex-direction: column; align-items: center; gap: 18px; margin-top: 48px; }
.sa-fit h2 { margin: 0; max-width: 720px; font: 300 44px/1.12 var(--sa-font) !important; letter-spacing: -.02em !important; }
.sa-fit p { margin: 0; max-width: 620px; font: 400 16px/1.6 var(--sa-font); color: #4A4A4A; }
.sa-fit__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 8px; }

.sa-signup { padding: 72px var(--sa-pad); border-top: 1px solid var(--sa-line); text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; margin-top: 56px; }
.sa-signup h2 { margin: 0; font: 400 28px/1.2 var(--sa-font) !important; }
.sa-signup p { margin: 0; font: 400 15px/1.5 var(--sa-font); color: var(--sa-mute); }
.sa-subscribe { display: flex; flex-wrap: wrap; gap: 10px; width: 100%; max-width: 480px; margin: 8px auto 0; }
.sa-subscribe input[type="email"] { flex: 1 1 220px; min-height: 52px; padding: 0 16px; border: 1px solid var(--sa-ink); border-radius: 0; font: 400 15px/1 var(--sa-font); background: #fff; color: var(--sa-ink); box-shadow: none; }
.sa-subscribe .sa-btn { flex: 0 0 auto; }
.sa-subscribe__msg { flex-basis: 100%; margin: 4px 0 0; min-height: 1.4em; font: 400 14px/1.4 var(--sa-font); color: var(--sa-ink); text-align: left; }
.sa-subscribe.is-done input, .sa-subscribe.is-done .sa-btn { display: none; }

/* ---------- Product cards (Konte loop) ---------- */
ul.products li.product { position: relative; }
ul.products li.product .woocommerce-loop-product__title, ul.products li.product .woocommerce-loop-product__title a { font: 400 15px/1.35 var(--sa-font) !important; text-transform: none !important; letter-spacing: 0 !important; }
ul.products li.product .price { font: 500 15px/1 var(--sa-font) !important; color: var(--sa-ink) !important; }
ul.products li.product img { transition: transform 1.2s var(--sa-ease), opacity .45s var(--sa-ease) !important; }
ul.products li.product:hover img { transform: scale(1.03); }
.sa-card-tag { position: absolute; top: 10px; left: 10px; z-index: 3; background: #fff; color: var(--sa-ink); padding: 6px 9px; font: 500 10px/1 var(--sa-font); letter-spacing: .14em; text-transform: uppercase; pointer-events: none; }

/* Clean card: no Konte hover panel or shadow, no empty button area; the text never moves. */
html body ul.products .product-inner,
html body ul.products .product-inner:hover { background: transparent !important; box-shadow: none !important; }
html body ul.products .product-inner:hover .product-summary { transform: none !important; background: transparent !important; }
html body ul.products li.product .buttons { display: none !important; }
ul.products li.product .product-thumbnail { position: relative; overflow: hidden; background: var(--sa-soft); }
ul.products li.product .product-thumbnail { margin-bottom: 14px !important; }
ul.products li.product .woocommerce-loop-product__title { margin: 0 0 4px !important; }

/* Desktop quick add: strip slides up over the bottom of the image. */
.sa-quickadd { display: none; }
@media (hover: hover) and (min-width: 1024px) {
  .product-thumbnail .sa-quickadd { display: flex; position: absolute; left: 10px; right: 10px; bottom: 10px; z-index: 4; flex-direction: column; gap: 8px; padding: 12px 12px 10px; background: rgba(255,255,255,.94); backdrop-filter: blur(6px); transform: translateY(calc(100% + 12px)); transition: transform .45s var(--sa-ease); }
  ul.products li.product:hover .sa-quickadd, .sa-quickadd:focus-within { transform: none; }
  .sa-quickadd__label { font: 500 10px/1 var(--sa-font); letter-spacing: .14em; text-transform: uppercase; color: var(--sa-mute); }
  .sa-quickadd__sizes { display: flex; flex-wrap: wrap; gap: 4px; }
  html body .sa-quickadd__size { flex: 1 1 0; min-width: 28px; height: 32px; padding: 0 2px !important; border: 1px solid var(--sa-line) !important; background: #fff !important; color: var(--sa-ink) !important; font: 400 12px/1 var(--sa-font) !important; letter-spacing: 0 !important; border-radius: 0 !important; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s; }
  html body .sa-quickadd__size:hover:not(:disabled) { background: var(--sa-ink) !important; border-color: var(--sa-ink) !important; color: #fff !important; }
  html body .sa-quickadd__size:disabled { color: #B9B7B4 !important; text-decoration: line-through; cursor: not-allowed; }
  html body .sa-quickadd__size.is-loading { opacity: .5; pointer-events: none; }
  html body .sa-quickadd__size.is-added { background: var(--sa-ink) !important; border-color: var(--sa-ink) !important; color: #fff !important; }
}

/* ---------- Scroll reveals ---------- */
html.sa-anim .sa-reveal { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--sa-ease), transform .9s var(--sa-ease); transition-delay: calc(var(--i, 0) * .08s); }
html.sa-anim .sa-reveal.is-in { opacity: 1; transform: none; }

/* ---------- Shop header + size filter ---------- */
.sa-shop-head { padding: 12px 0 20px; display: flex; flex-direction: column; gap: 14px; border-bottom: 1px solid var(--sa-line); margin-bottom: 28px; }
.sa-crumbs { font: 400 13px/1 var(--sa-font); color: var(--sa-mute); }
.sa-crumbs a { color: var(--sa-mute) !important; text-decoration: none; }
.sa-shop-head__row { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 12px; }
.sa-shop-head h1 { margin: 0; font: 300 48px/1 var(--sa-font) !important; letter-spacing: -.02em !important; }
.sa-shop-head__count { font: 400 14px/1.4 var(--sa-font); color: var(--sa-mute); }
.sa-sizebar { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.sa-sizebar__label { font: 500 12px/1 var(--sa-font); letter-spacing: .14em; text-transform: uppercase; color: var(--sa-mute); }
.sa-sizebar__list { display: flex; gap: 8px; flex-wrap: wrap; }
.sa-size-chip { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid var(--sa-line); color: var(--sa-ink) !important; text-decoration: none !important; font: 400 13px/1 var(--sa-font); transition: border-color .2s, background-color .2s, color .2s; }
.sa-size-chip:hover { border-color: var(--sa-ink); }
.sa-size-chip.is-active { background: var(--sa-ink); border-color: var(--sa-ink); color: #fff !important; }
.sa-empty { font: 400 16px/1.6 var(--sa-font); padding: 40px 0; }

/* ---------- Product page ---------- */
.single-product .sa-product-cat { margin-bottom: 12px; }
.single-product .product_title { font: 400 34px/1.1 var(--sa-font) !important; letter-spacing: -.01em !important; }
.single-product .summary .price { font: 500 20px/1 var(--sa-font) !important; color: var(--sa-ink) !important; }
.sa-paynote { display: flex; align-items: center; gap: 8px; margin: 8px 0 18px; font: 400 13px/1.4 var(--sa-font); color: var(--sa-mute); }
.sa-size-head { display: flex; justify-content: space-between; align-items: center; margin: 8px 0 12px; font: 400 14px/1 var(--sa-font); }
.sa-size-head strong { font-weight: 500; }
.sa-size-head__guide { display: inline-flex; align-items: center; gap: 6px; color: var(--sa-ink) !important; }
.single-product table.variations { display: none !important; }
.sa-sizes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 6px; }
.sa-size { min-height: 48px; border: 1px solid var(--sa-line); background: #fff; color: var(--sa-ink); font: 400 14px/1 var(--sa-font); cursor: pointer; transition: border-color .2s, background-color .2s, color .2s, transform .15s; }
.sa-size:hover { border-color: var(--sa-ink); }
.sa-size:active { transform: scale(.96); }
.sa-size.is-selected { background: var(--sa-ink); border-color: var(--sa-ink); color: #fff; }
.sa-size.is-soldout { color: #9A9A9A; text-decoration: line-through; cursor: not-allowed; }
.sa-size.is-soldout:hover { border-color: var(--sa-line); }
.sa-size-msg { margin: 6px 0 0; min-height: 1.3em; font: 400 13px/1.4 var(--sa-font); color: var(--sa-mute); }
.sa-size-msg a { color: var(--sa-ink); }
.sa-lowstock { margin: 0 0 10px; font: 500 13px/1.4 var(--sa-font); color: var(--sa-warn); max-height: 0; opacity: 0; overflow: hidden; transition: max-height .3s var(--sa-ease), opacity .3s; }
.sa-lowstock.is-visible { max-height: 40px; opacity: 1; }
.sa-shake { animation: saShake .4s; }
@keyframes saShake { 20%, 60% { transform: translateX(-4px); } 40%, 80% { transform: translateX(4px); } }
.sa-pulse { animation: saPulse .9s var(--sa-ease); }
@keyframes saPulse { 0% { box-shadow: 0 0 0 0 rgba(26,26,26,.35); } 100% { box-shadow: 0 0 0 14px rgba(26,26,26,0); } }

.single-product form.cart { flex-wrap: wrap; }
.single-product .single_add_to_cart_button { width: 100%; min-height: 54px; border-radius: 0 !important; background: var(--sa-ink) !important; color: #fff !important; font: 500 12px/1 var(--sa-font) !important; letter-spacing: .14em !important; text-transform: uppercase !important; position: relative; transition: background-color .25s; }
.single-product .single_add_to_cart_button.disabled { opacity: 1 !important; }
.single_add_to_cart_button.sa-added { color: transparent !important; }
.single_add_to_cart_button.sa-added::after { content: 'Added to bag'; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; animation: saFadeUp .35s var(--sa-ease); }
@keyframes saFadeUp { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.single-product .quantity { display: none !important; }
.sa-infobox { display: flex; flex-direction: column; gap: 14px; padding: 20px; background: var(--sa-soft); margin-bottom: 8px; }
.sa-infobox p { display: flex; gap: 12px; align-items: flex-start; margin: 0; font: 400 14px/1.5 var(--sa-font); }
.sa-infobox .sa-icon { color: var(--sa-mute); margin-top: 1px; }
.sa-infobox a { color: var(--sa-ink); }
.sa-accordion { border-bottom: 1px solid var(--sa-line); margin-top: 8px; }
.sa-acc { border-top: 1px solid var(--sa-line); }
.sa-acc summary { display: flex; justify-content: space-between; align-items: center; min-height: 56px; cursor: pointer; list-style: none; font: 500 13px/1 var(--sa-font); letter-spacing: .14em; text-transform: uppercase; }
.sa-acc summary::-webkit-details-marker { display: none; }
.sa-acc summary .sa-icon { transition: transform .3s var(--sa-ease); }
.sa-acc[open] summary .sa-icon { transform: rotate(45deg); }
.sa-acc__body { overflow: hidden; padding-bottom: 18px; font: 400 14px/1.7 var(--sa-font); color: #4A4A4A; }
.sa-acc__body p { margin: 0 0 8px; }
.related.products > h2, .upsells.products > h2 { font: 400 26px/1.1 var(--sa-font) !important; text-transform: none !important; letter-spacing: -.01em !important; text-align: left !important; }

/* Mobile sticky Add to bag */
.sa-stickybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; gap: 12px; align-items: center; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--sa-line); transform: translateY(110%); transition: transform .35s var(--sa-ease); }
.sa-stickybar.is-visible { transform: none; }
.sa-stickybar__info { display: flex; flex-direction: column; gap: 4px; font: 400 12px/1 var(--sa-font); color: var(--sa-mute); }
.sa-stickybar__info strong, .sa-stickybar__info .amount { font: 500 16px/1 var(--sa-font); color: var(--sa-ink); }
.sa-stickybar .sa-btn { flex: 1; }
@media (min-width: 768px) { .sa-stickybar { display: none; } }

/* ---------- Sheets: size guide + pop-up ---------- */
.sa-sheet, .sa-popup { position: fixed; inset: 0; z-index: 10000; visibility: hidden; }
.sa-sheet.is-open, .sa-popup.is-open { visibility: visible; }
.sa-sheet__backdrop, .sa-popup__backdrop { position: absolute; inset: 0; background: rgba(26,26,26,.45); opacity: 0; transition: opacity .35s var(--sa-ease); }
.is-open > .sa-sheet__backdrop, .is-open > .sa-popup__backdrop { opacity: 1; }
.sa-sheet__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(480px, 100%); background: #fff; padding: 28px; overflow-y: auto; display: flex; flex-direction: column; gap: 18px; transform: translateX(100%); transition: transform .45s var(--sa-ease); box-sizing: border-box; }
.sa-sheet.is-open .sa-sheet__panel { transform: none; }
.sa-sheet__grip { display: none; }
.sa-sheet__head { display: flex; justify-content: space-between; align-items: center; }
.sa-sheet__head h2 { margin: 0; font: 400 24px/1 var(--sa-font) !important; }
.sa-sheet__close, .sa-popup__close { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 0; background: none; color: var(--sa-ink); cursor: pointer; padding: 0; }
.sa-sheet__intro { margin: 0; font: 400 14px/1.6 var(--sa-font); color: #4A4A4A; }
.sa-sheet__table { overflow-x: auto; }
.sa-sheet__table table { width: 100%; border-collapse: collapse; margin: 0; }
.sa-sheet__table th, .sa-sheet__table td { padding: 12px 8px; border: 0; border-bottom: 1px solid var(--sa-line); font: 400 14px/1 var(--sa-font); text-align: center; background: none; }
.sa-sheet__table thead th { border-bottom: 1px solid var(--sa-ink); font: 500 11px/1 var(--sa-font); letter-spacing: .14em; text-transform: uppercase; }
.sa-sheet__table th[scope="row"], .sa-sheet__table thead th:first-child { text-align: left; font-weight: 500; }
.sa-sheet__how { display: flex; flex-direction: column; gap: 8px; padding: 16px; background: var(--sa-soft); font: 400 13px/1.6 var(--sa-font); color: #4A4A4A; }
.sa-sheet__how strong { color: var(--sa-ink); font-weight: 500; font-size: 14px; }

.sa-popup__panel { position: absolute; left: 50%; top: 50%; width: min(460px, calc(100% - 32px)); background: #fff; padding: 40px 32px 28px; text-align: center; transform: translate(-50%, -46%); opacity: 0; transition: transform .45s var(--sa-ease), opacity .35s; box-sizing: border-box; }
.sa-popup.is-open .sa-popup__panel { transform: translate(-50%, -50%); opacity: 1; }
.sa-popup__close { position: absolute; top: 8px; right: 8px; }
.sa-popup h2 { margin: 12px 0 8px; font: 400 28px/1.15 var(--sa-font) !important; }
.sa-popup p { margin: 0 0 12px; font: 400 15px/1.5 var(--sa-font); color: var(--sa-mute); }
.sa-popup .sa-subscribe__msg { text-align: center; }

/* ---------- Footer ---------- */
#colophon.site-footer, #colophon.site-footer.light { background: var(--sa-ink) !important; color: #fff !important; padding: 0 !important; border: 0 !important; margin-top: 0 !important; }
.sa-footer { padding: 64px var(--sa-pad) 28px; }
.sa-footer__grid { max-width: 1360px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 40px; }
.sa-footer__logo { font: 500 18px/1 var(--sa-font); letter-spacing: .32em; color: #fff !important; text-decoration: none !important; }
.sa-footer__brand p { margin: 14px 0 0; max-width: 280px; font: 400 14px/1.6 var(--sa-font); color: #BDBDBD; }
.sa-footer__col { display: flex; flex-direction: column; gap: 12px; }
.sa-footer__col h2 { margin: 0 0 4px; font: 500 12px/1 var(--sa-font) !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: #fff; }
.sa-footer__col a, .sa-footer__col span { color: #BDBDBD !important; text-decoration: none !important; font: 400 14px/1.5 var(--sa-font); transition: color .2s; }
.sa-footer__col a:hover { color: #fff !important; }
.sa-footer__bottom { max-width: 1360px; margin: 48px auto 0; padding-top: 20px; border-top: 1px solid #3A3A3A; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font: 400 13px/1.5 var(--sa-font); color: #BDBDBD; }

/* ---------- Cart + checkout touches ---------- */
.woocommerce-cart h1, .woocommerce-checkout h1, .woocommerce-cart .entry-title, .woocommerce-checkout .entry-title { font: 300 40px/1 var(--sa-font) !important; letter-spacing: -.02em !important; text-transform: none !important; }
.woocommerce-checkout #shipping_method { display: flex; flex-direction: column; gap: 8px; }
.woocommerce-checkout #shipping_method li { margin: 0 !important; padding: 14px 16px !important; border: 1px solid var(--sa-line); transition: border-color .2s; }
.woocommerce-checkout #shipping_method li:has(input:checked) { border-color: var(--sa-ink); }
.woocommerce-checkout #payment ul.payment_methods li { border: 1px solid var(--sa-line); padding: 16px !important; margin-bottom: 8px !important; }
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--sa-ink); }
.woocommerce .button.alt, .woocommerce #place_order, .woocommerce .checkout-button { background: var(--sa-ink) !important; color: #fff !important; border-radius: 0 !important; font: 500 12px/1 var(--sa-font) !important; letter-spacing: .14em !important; text-transform: uppercase !important; min-height: 54px; }

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	.sa-hero__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.sa-hero__track::-webkit-scrollbar { display: none; }
	.sa-hero__item { flex: 0 0 100%; scroll-snap-align: start; aspect-ratio: 3 / 4; }
	html.sa-anim .sa-hero__item { transform: none; }
	.sa-hero__dots { display: flex; }
	.sa-hero__bar { padding: 18px 16px 28px; flex-direction: column; align-items: stretch; gap: 16px; }
	.sa-hero__dots { order: -1; }
	html body .sa-hero__title { font-size: 30px !important; }
	.sa-hero__cta { width: 100%; }
	.sa-section { padding: 40px 16px 8px; }
	.sa-section-head h2 { font-size: 22px !important; }
	.sa-cats__grid { grid-template-columns: 1fr; gap: 28px; }
	.sa-fit { padding: 48px 20px; margin-top: 32px; }
	.sa-fit h2 { font-size: 28px !important; }
	.sa-fit__actions { flex-direction: column; width: 100%; }
	.sa-fit__actions .sa-btn { width: 100%; }
	.sa-signup { padding: 48px 16px; margin-top: 32px; }
	.sa-signup h2 { font-size: 22px !important; }
	.sa-shop-head h1 { font-size: 36px !important; }
	.sa-sizebar { flex-direction: column; align-items: flex-start; gap: 10px; }
	.sa-sizebar__list { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; padding-bottom: 4px; scrollbar-width: none; }
	.sa-size-chip { flex: none; }
	.single-product .product_title { font-size: 28px !important; }
	.single-product { padding-bottom: 76px; }
	.sa-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
	.sa-footer__brand { grid-column: 1 / -1; }
	.sa-sheet__panel { top: auto; left: 0; width: 100%; max-height: 88vh; border-radius: 14px 14px 0 0; padding: 12px 16px calc(24px + env(safe-area-inset-bottom)); transform: translateY(100%); }
	.sa-sheet__grip { display: block; align-self: center; width: 40px; height: 4px; border-radius: 2px; background: #D0CECB; }
}

/* ---------- Respect reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
	@view-transition { navigation: none; }
}

/* ---------- Product page entrance (staggered) ---------- */
html.sa-anim .single-product .woocommerce-product-gallery { animation: saEnter .8s var(--sa-ease) both; }
html.sa-anim .single-product .summary > * { animation: saEnter .6s var(--sa-ease) both; }
html.sa-anim .single-product .summary > *:nth-child(2) { animation-delay: .06s; }
html.sa-anim .single-product .summary > *:nth-child(3) { animation-delay: .12s; }
html.sa-anim .single-product .summary > *:nth-child(4) { animation-delay: .18s; }
html.sa-anim .single-product .summary > *:nth-child(5) { animation-delay: .24s; }
html.sa-anim .single-product .summary > *:nth-child(n+6) { animation-delay: .3s; }
@keyframes saEnter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* ---------- Product grids: true 4-up grid (homepage rows, shop, related) ---------- */
.sa-products ul.products, .woocommerce-shop ul.products, .tax-product_cat ul.products, .related.products ul.products, .upsells.products ul.products {
	display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 20px; margin: 0 !important; padding: 0 !important;
}
.sa-products ul.products::before, .sa-products ul.products::after, .woocommerce-shop ul.products::before, .woocommerce-shop ul.products::after,
.tax-product_cat ul.products::before, .tax-product_cat ul.products::after, .related.products ul.products::before, .related.products ul.products::after { display: none !important; }
.sa-products ul.products li.product, .woocommerce-shop ul.products li.product, .tax-product_cat ul.products li.product, .related.products ul.products li.product, .upsells.products ul.products li.product {
	width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; float: none !important; clear: none !important;
}
ul.products li.product .product-thumbnail { aspect-ratio: 3 / 4; overflow: hidden; background: var(--sa-grey); margin-bottom: 12px; }
ul.products li.product .product-thumbnail img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
@media (max-width: 767px) {
	.sa-products ul.products, .woocommerce-shop ul.products, .tax-product_cat ul.products, .related.products ul.products, .upsells.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
}

/* Card text sits flush with the image; slimmer header. */
ul.products li.product .product-summary { padding: 0 !important; }
ul.products li.product .product-summary .price { margin-top: 6px; display: block; }
/* The sticky-header placeholder (.site-header-space) must match the real header, or a white gap shows under it. */
.site-header .header-main,
.site-header-space .header-main { height: 84px !important; }
@media (max-width: 1199px) { .site-header .header-main, .site-header-space .header-main, .site-header .header-mobile, .site-header-space .header-mobile { height: 72px !important; } }

/* Mobile header logo on one line; categories as a compact list; footer legibility. */
.sa-footer__bottom, .sa-footer__bottom span { color: #BDBDBD !important; }
@media (max-width: 1199px) {
	.header-mobile .site-branding .logo-text, .header-mobile .logo .logo-text, .header-mobile .site-title, .header-mobile .logo a, .mobile-header .logo a, .site-header .header-mobile .logo-text {
		font-size: 15px !important; letter-spacing: .28em !important; white-space: nowrap !important;
	}
}
@media (max-width: 767px) {
	.sa-cats__grid { gap: 0; }
	.sa-cat { flex-direction: row; align-items: center; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--sa-line); }
	.sa-cat__img { width: 64px; flex: none; }
	.sa-cat__label { flex: 1; }
}

/* Product page fixes */
.single-product div.product .summary .product_title.entry-title { text-transform: none !important; letter-spacing: -.01em !important; font: 400 34px/1.1 var(--sa-font) !important; }
.sa-size-row-hidden, .single-product .variations, .single-product .variations_form .variations { display: none !important; }
.single-product .variations_form { display: block !important; }
.sa-size-head { width: 100%; }
.single-product .woocommerce-product-details__short-description { font: 400 15px/1.65 var(--sa-font); color: #4A4A4A; margin: 0 0 18px; }
@media (max-width: 767px) { .single-product div.product .summary .product_title.entry-title { font-size: 28px !important; } }
html body.single-product div.product form.variations_form table.variations,
html body.single-product div.product form.variations_form table.variations tr { display: none !important; }
html body.single-product .woocommerce-variation-availability { display: none !important; }
html body.single-product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; }
html body.single-product .woocommerce-variation-add-to-cart .sa-lowstock { flex-basis: 100%; }
html body.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1 1 100%; margin: 0 !important; }
html body.single-product .woocommerce-product-gallery__image img, html body.single-product .woocommerce-product-gallery__image a { width: 100% !important; height: auto; display: block; }
html body.single-product .single_variation_wrap .woocommerce-variation.single_variation { display: none !important; }
.sa-secure { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 12px 0 0; font: 400 12px/1.4 var(--sa-font); color: var(--sa-mute); }
html body ul.products[class*="columns-"] > li.product, html body ul.products > li.product { width: auto !important; max-width: none !important; margin: 0 !important; float: none !important; }
html body.woocommerce-archive ul.products, html body.tax-product_cat ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 40px 20px !important; }
@media (max-width: 767px) { html body.woocommerce-archive ul.products, html body.tax-product_cat ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 28px 12px !important; } }
/* Konte's own column switcher + "x Products" count duplicate our header; keep sort only. */
.woocommerce-archive .products-toolbar .columns-switcher, .woocommerce-archive .products-toolbar .products-found, .woocommerce-archive .shop-toolbar .columns-switcher { display: none !important; }
/* Beats Lola's "ul.products.columns-N > li.product { width: calc(25% - 15px) }" so cards fill our grid cells. */
html body ul.products.products[class*="columns-"] > li.product.type-product { width: auto !important; max-width: none !important; margin: 0 !important; float: none !important; }
html body .sa-sizes .sa-size { padding: 0 4px !important; min-width: 0; letter-spacing: 0 !important; line-height: 1 !important; height: auto; }
.sa-stickybar { z-index: 9999; }

/* Shop toolbar: Konte pads it ~38px top and bottom and repeats the product count (our header already shows "N pieces"). */
html body .products-toolbar .products-tools { padding: 0 !important; margin: 0 0 24px !important; min-height: 0 !important; border: 0 !important; }
html body .products-toolbar .woocommerce-result-count { display: none !important; }
.sa-shop-head { margin-bottom: 18px !important; }

/* =========================================================
   BAG PAGE: items left, sticky summary right
   ========================================================= */
html body.woocommerce-cart .entry-content > .woocommerce { max-width: 1240px; margin: 0 auto; }
@media (min-width: 1024px) {
  html body.woocommerce-cart .entry-content > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; column-gap: 64px; align-items: start; }
  html body.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
  html body.woocommerce-cart .cart-collaterals { position: sticky; top: 120px; }
}

/* Items */
html body.woocommerce-cart table.shop_table.cart { border: 0 !important; margin: 0 !important; width: 100%; border-collapse: collapse; }
html body.woocommerce-cart table.shop_table.cart thead { display: none !important; }
html body.woocommerce-cart table.shop_table.cart tr.cart_item { border-bottom: 1px solid var(--sa-line) !important; }
html body.woocommerce-cart table.shop_table.cart tr.cart_item:first-child { border-top: 1px solid var(--sa-line) !important; }
html body.woocommerce-cart table.shop_table.cart td { padding: 22px 0 !important; border: 0 !important; vertical-align: middle !important; background: none !important; font: 400 15px/1.4 var(--sa-font) !important; }
html body.woocommerce-cart table.shop_table.cart td.product-thumbnail { width: 112px; padding-right: 20px !important; }
html body.woocommerce-cart table.shop_table.cart td.product-thumbnail img { width: 92px !important; height: 122px !important; object-fit: cover; display: block; max-width: none !important; background: var(--sa-soft); }
html body.woocommerce-cart table.shop_table.cart td.product-name a:not(.remove) { color: var(--sa-ink) !important; font: 400 16px/1.35 var(--sa-font) !important; text-decoration: none !important; text-transform: none !important; letter-spacing: 0 !important; }
html body.woocommerce-cart table.shop_table.cart td.product-name .product-price { display: block !important; margin-top: 6px; color: var(--sa-mute); font: 400 14px/1 var(--sa-font); }
html body.woocommerce-cart table.shop_table.cart td.product-name .product-remove { display: block !important; margin-top: 14px; }
html body.woocommerce-cart table.shop_table.cart td.product-name .product-remove a.remove { display: inline !important; position: static !important; width: auto !important; height: auto !important; cursor: pointer; background: none !important; border: 0 !important; border-bottom: 1px solid currentColor !important; border-radius: 0 !important; padding: 0 0 2px !important; font: 400 13px/1 var(--sa-font) !important; color: var(--sa-mute) !important; text-indent: 0 !important; opacity: 1 !important; transition: color .2s; }
html body.woocommerce-cart table.shop_table.cart td.product-name .product-remove a.remove:hover { color: var(--sa-ink) !important; }
html body.woocommerce-cart table.shop_table.cart td.product-price,
html body.woocommerce-cart table.shop_table.cart td.product-remove { display: none !important; }
html body.woocommerce-cart table.shop_table.cart td.product-quantity { width: 140px; }
html body.woocommerce-cart table.shop_table.cart .quantity { display: inline-flex !important; align-items: center; height: 40px; width: 112px; border: 1px solid var(--sa-line) !important; border-radius: 0 !important; padding: 0 !important; }
html body.woocommerce-cart table.shop_table.cart .quantity .qty { flex: 1; width: 32px !important; height: 38px !important; border: 0 !important; padding: 0 !important; text-align: center; font: 400 14px/1 var(--sa-font) !important; background: none !important; -moz-appearance: textfield; }
html body.woocommerce-cart table.shop_table.cart .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; }
html body.woocommerce-cart table.shop_table.cart .quantity .qty-button { width: 36px; height: 38px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: var(--sa-ink); }
html body.woocommerce-cart table.shop_table.cart .quantity .qty-button svg { width: 14px !important; min-width: 14px; height: 14px !important; flex: 0 0 14px; }
html body.woocommerce-cart table.shop_table.cart td.product-subtotal { width: 120px; text-align: right !important; font-weight: 500 !important; }
html body.woocommerce-cart.sa-cart-updating table.shop_table.cart { opacity: .55; transition: opacity .2s; }

/* Coupon + clear bag row */
html body.woocommerce-cart table.shop_table.cart td.actions { padding: 22px 0 0 !important; display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; border: 0 !important; }
html body.woocommerce-cart td.actions .coupon { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 8px; flex: 0 1 420px; width: auto !important; max-width: 420px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; }
html body.woocommerce-cart td.actions .coupon .sa-coupon-heading { display: none !important; }
html body.woocommerce-cart td.actions .coupon input#coupon_code { flex: 1 1 auto; width: auto !important; min-width: 0; height: 44px !important; margin: 0 !important; padding: 0 14px !important; border: 1px solid var(--sa-line) !important; border-radius: 0 !important; font: 400 14px/1 var(--sa-font) !important; background: #fff !important; box-shadow: none !important; }
html body.woocommerce-cart td.actions .coupon input#coupon_code:focus { border-color: var(--sa-ink) !important; }
html body.woocommerce-cart td.actions .coupon button[name="apply_coupon"] { flex: 0 0 auto; display: inline-flex !important; align-items: center; height: 44px !important; min-height: 0 !important; width: auto !important; margin: 0 !important; padding: 0 20px !important; background: #fff !important; color: var(--sa-ink) !important; border: 1px solid var(--sa-ink) !important; border-radius: 0 !important; font: 500 11px/1 var(--sa-font) !important; letter-spacing: .14em !important; text-transform: uppercase !important; transition: background-color .2s, color .2s; }
html body.woocommerce-cart td.actions .coupon button[name="apply_coupon"]:hover { background: var(--sa-ink) !important; color: #fff !important; }
html body.woocommerce-cart td.actions button[name="update_cart"] { display: none !important; }
html body.woocommerce-cart td.actions .empty-cart-button { cursor: pointer; width: auto !important; height: auto !important; min-height: 0 !important; margin: 0 0 0 auto !important; padding: 0 0 2px !important; background: none !important; border: 0 !important; border-bottom: 1px solid currentColor !important; border-radius: 0 !important; font: 400 13px/1 var(--sa-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--sa-mute) !important; box-shadow: none !important; }
html body.woocommerce-cart td.actions .empty-cart-button:hover { color: var(--sa-ink) !important; }

/* Summary panel */
html body.woocommerce-cart .cart-collaterals { border: 0 !important; padding: 0 !important; margin: 0 !important; width: auto !important; float: none !important; background: none !important; }
html body.woocommerce-cart .cart-collaterals::before, html body.woocommerce-cart .cart-collaterals::after { display: none !important; }
html body.woocommerce-cart .cart_totals { float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 28px !important; background: var(--sa-soft) !important; border: 0 !important; }
html body.woocommerce-cart .cart_totals h2 { margin: 0 0 18px !important; padding: 0 !important; border: 0 !important; font: 400 22px/1.2 var(--sa-font) !important; letter-spacing: -.01em !important; text-transform: none !important; }
html body.woocommerce-cart .cart_totals table { width: 100%; margin: 0 !important; border: 0 !important; }
html body.woocommerce-cart .cart_totals table tr { border-bottom: 1px solid var(--sa-line); }
html body.woocommerce-cart .cart_totals table th, html body.woocommerce-cart .cart_totals table td { padding: 14px 0 !important; border: 0 !important; background: none !important; font: 400 14px/1.4 var(--sa-font) !important; color: var(--sa-ink) !important; text-transform: none !important; letter-spacing: 0 !important; vertical-align: top; }
html body.woocommerce-cart .cart_totals table th { text-align: left; font-weight: 400 !important; color: var(--sa-mute) !important; }
html body.woocommerce-cart .cart_totals table td { text-align: right !important; }
html body.woocommerce-cart .cart_totals table td::before { display: none !important; }
html body.woocommerce-cart .cart_totals tr.shipping th, html body.woocommerce-cart .cart_totals tr.shipping td { display: block; width: 100%; text-align: left !important; }
html body.woocommerce-cart .cart_totals tr.shipping th { padding-bottom: 6px !important; }
html body.woocommerce-cart .cart_totals tr.shipping td { padding-top: 0 !important; }
html body.woocommerce-cart #shipping_method { margin: 0 !important; padding: 0 !important; list-style: none; display: flex; flex-direction: column; gap: 4px; }
html body.woocommerce-cart #shipping_method li { margin: 0 !important; padding: 0 !important; }
html body.woocommerce-cart #shipping_method li label { position: relative; display: flex !important; justify-content: space-between; gap: 12px; padding: 9px 0 9px 30px !important; margin: 0 !important; cursor: pointer; color: var(--sa-ink) !important; font: 400 14px/1.4 var(--sa-font) !important; opacity: 1 !important; }
html body.woocommerce-cart #shipping_method li label::before { content: '' !important; position: absolute !important; left: 0 !important; top: 50% !important; width: 18px !important; height: 18px !important; margin: 0 !important; transform: translateY(-50%) !important; border: 1px solid #A9A7A4 !important; border-radius: 50% !important; background: #fff !important; box-sizing: border-box; }
html body.woocommerce-cart #shipping_method li label::after { content: '' !important; position: absolute !important; left: 5px !important; top: 50% !important; width: 8px !important; height: 8px !important; margin: 0 !important; border: 0 !important; border-radius: 50% !important; background: var(--sa-ink) !important; transform: translateY(-50%) scale(0) !important; transition: transform .2s var(--sa-ease); opacity: 1 !important; }
html body.woocommerce-cart #shipping_method li input:checked + label::before { border-color: var(--sa-ink) !important; }
html body.woocommerce-cart #shipping_method li input:checked + label::after { transform: translateY(-50%) scale(1) !important; }
html body.woocommerce-cart #shipping_method li input:focus-visible + label::before { outline: 2px solid var(--sa-ink); outline-offset: 2px; }
html body.woocommerce-cart .woocommerce-shipping-destination { margin: 10px 0 4px !important; padding: 0 !important; border: 0 !important; font: 400 13px/1.4 var(--sa-font) !important; color: var(--sa-mute) !important; }
html body.woocommerce-cart .woocommerce-shipping-destination strong { font-weight: 500; color: var(--sa-ink); }
html body.woocommerce-cart .shipping-calculator-button { display: inline-block; margin: 0 !important; padding: 0 0 2px !important; border: 0 !important; border-bottom: 1px solid currentColor !important; font: 400 13px/1 var(--sa-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--sa-ink) !important; }
html body.woocommerce-cart .shipping-calculator-button::after { display: none !important; }
html body.woocommerce-cart .cart_totals .order-total-table tr { border-bottom: 0; }
html body.woocommerce-cart .cart_totals .order-total th, html body.woocommerce-cart .cart_totals .order-total td { padding-top: 18px !important; font-size: 17px !important; font-weight: 500 !important; color: var(--sa-ink) !important; }
html body.woocommerce-cart .cart_totals .order-total td strong { font-weight: 500; }
html body.woocommerce-cart .wc-proceed-to-checkout { padding: 8px 0 0 !important; margin: 0 !important; }
html body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex !important; align-items: center; justify-content: center; width: 100% !important; min-height: 56px; margin: 0 !important; padding: 0 20px !important; background: var(--sa-ink) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; font: 500 12px/1 var(--sa-font) !important; letter-spacing: .16em !important; text-transform: uppercase !important; transition: background-color .25s; }
html body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: #000 !important; }
.sa-cart-note { margin: 14px 0 0; display: flex; align-items: center; justify-content: center; gap: 6px; font: 400 12px/1.4 var(--sa-font); color: var(--sa-mute); text-align: center; }
.sa-cart-note svg { flex: 0 0 auto; }
.sa-cart-continue { display: block; margin-top: 14px; text-align: center; font: 400 13px/1 var(--sa-font); color: var(--sa-ink) !important; text-decoration: underline !important; text-underline-offset: 3px; }


/* Bag rows as a grid (table layout collapses the cells once the actions row is flex). */
html body.woocommerce-cart table.shop_table.cart, html body.woocommerce-cart table.shop_table.cart tbody { display: block !important; }
html body.woocommerce-cart table.shop_table.cart tr.cart_item { display: grid !important; grid-template-columns: 92px minmax(0, 1fr) 112px 110px; grid-template-areas: "img name qty sub"; column-gap: 24px; align-items: center; padding: 22px 0; }
html body.woocommerce-cart table.shop_table.cart tr.cart_item td { display: block !important; width: auto !important; padding: 0 !important; text-align: left !important; }
html body.woocommerce-cart table.shop_table.cart tr.cart_item td::before { display: none !important; }
html body.woocommerce-cart table.shop_table.cart td.product-thumbnail { grid-area: img; }
html body.woocommerce-cart table.shop_table.cart td.product-name { grid-area: name; }
html body.woocommerce-cart table.shop_table.cart td.product-quantity { grid-area: qty; }
html body.woocommerce-cart table.shop_table.cart td.product-subtotal { grid-area: sub; text-align: right !important; }
html body.woocommerce-cart table.shop_table.cart tr:not(.cart_item) { display: block !important; }
html body.woocommerce-cart table.shop_table.cart tr.cart_item td.product-price,
html body.woocommerce-cart table.shop_table.cart tr.cart_item td.product-remove { display: none !important; }
html body.woocommerce-cart table.shop_table.cart tr.cart_item td.product-subtotal { text-align: right !important; }
html body.woocommerce-cart table.shop_table.cart tr.cart_item td.product-name .product-remove { text-align: left !important; }

/* Bag page on phones: stacked, compact rows */
@media (max-width: 1023px) {
  html body.woocommerce-cart .cart-collaterals { margin-top: 32px !important; }
  html body.woocommerce-cart table.shop_table.cart tr.cart_item { grid-template-columns: 84px minmax(0, 1fr) auto; grid-template-areas: "img name name" "img qty sub"; column-gap: 16px; row-gap: 12px; align-items: start; padding: 18px 0; }
  html body.woocommerce-cart table.shop_table.cart td.product-thumbnail img { width: 84px !important; height: 112px !important; }
  html body.woocommerce-cart table.shop_table.cart td.product-quantity, html body.woocommerce-cart table.shop_table.cart td.product-subtotal { align-self: end; }
  html body.woocommerce-cart table.shop_table.cart td.product-subtotal { padding-bottom: 10px !important; }
  html body.woocommerce-cart td.actions .coupon { flex: 1 1 100%; }
  html body.woocommerce-cart .cart_totals { padding: 22px 18px !important; }
}
html body.woocommerce-cart table.shop_table.cart tr:not(.cart_item), html body.woocommerce-cart table.shop_table.cart { border-bottom: 0 !important; }

/* Store notices (removed from bag, coupon applied, errors): quiet, on-brand. */
html body.woocommerce-cart .woocommerce-message, html body.woocommerce-cart .woocommerce-info, html body.woocommerce-cart .woocommerce-error,
html body.woocommerce-checkout .woocommerce-message, html body.woocommerce-checkout .woocommerce-info, html body.woocommerce-checkout .woocommerce-error,
html body.single-product .woocommerce-message, html body.single-product .woocommerce-error {
  display: flex !important; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0 0 24px !important; padding: 14px 18px !important; min-height: 0 !important;
  background: var(--sa-soft) !important; color: var(--sa-ink) !important; border: 0 !important; border-left: 2px solid var(--sa-ink) !important; border-radius: 0 !important; box-shadow: none !important;
  font: 400 14px/1.4 var(--sa-font) !important; list-style: none;
}
html body .woocommerce-error { border-left-color: #B3261E !important; }
html body.woocommerce-cart .woocommerce-message::before, html body.woocommerce-checkout .woocommerce-message::before, html body.single-product .woocommerce-message::before,
html body.woocommerce-cart .woocommerce-info::before, html body.woocommerce-checkout .woocommerce-info::before, html body .woocommerce-error::before { display: none !important; }
html body .woocommerce-message .svg-icon, html body .woocommerce-message .close-message, html body .woocommerce-error .svg-icon { display: none !important; }
html body .woocommerce-message a, html body .woocommerce-message .button, html body .woocommerce-message a.restore-item {
  order: 2; margin: 0 0 0 auto !important; padding: 0 0 2px !important; float: none !important; background: none !important; border: 0 !important; border-bottom: 1px solid currentColor !important; border-radius: 0 !important;
  color: var(--sa-ink) !important; font: 500 13px/1 var(--sa-font) !important; letter-spacing: 0 !important; text-transform: none !important; min-height: 0 !important; height: auto !important; width: auto !important;
}

/* Empty bag: centred, quiet. */
html body.woocommerce-cart .entry-content > .woocommerce:has(.cart-empty) { display: block !important; max-width: 520px; text-align: center; }
html body.woocommerce-cart .woocommerce .cart-empty.woocommerce-info { display: flex !important; flex-direction: column; align-items: center; gap: 0; margin: 8px 0 10px !important; padding: 24px 0 0 !important; background: none !important; border: 0 !important; font: 400 22px/1.3 var(--sa-font) !important; color: var(--sa-ink) !important; }
html body.woocommerce-cart .cart-empty img { width: 72px !important; height: auto; margin: 0 0 20px; opacity: .85; }
html body.woocommerce-cart .cart-empty .svg-icon { display: none !important; }
html body.woocommerce-cart .cart-empty::after { content: 'Already sewn, ready to ship. Find your size in New in.'; display: block; margin-top: 8px; font: 400 14px/1.5 var(--sa-font); color: var(--sa-mute); }
html body.woocommerce-cart .return-to-shop { margin: 24px 0 0 !important; text-align: center !important; }
html body.woocommerce-cart .return-to-shop .button { display: inline-flex !important; align-items: center; justify-content: center; min-height: 52px; width: auto !important; padding: 0 36px !important; margin: 0 !important; background: var(--sa-ink) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; font: 500 12px/1 var(--sa-font) !important; letter-spacing: .16em !important; text-transform: uppercase !important; }

/* =========================================================
   HERO BAND (option A): adire indigo, serif italic accent,
   adire line motif, trust points on desktop. Phones: label,
   headline, full-width button only.
   ========================================================= */
:root { --sa-indigo: #1E2550; --sa-cream: #F2EBDD; --sa-cream-2: #E9DFC9; }
html body .sa-hero__bar { position: relative; overflow: hidden; background: var(--sa-indigo); border: 0; padding: 52px var(--sa-pad) 56px; align-items: center; }
.sa-hero__bar::after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; width: 46%; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22160%22%20height%3D%22160%22%20viewBox%3D%220%200%20160%20160%22%20fill%3D%22none%22%20stroke%3D%22%23F2EBDD%22%20stroke-width%3D%221.2%22%3E%3Cg%20opacity%3D%221%22%3E%3Ccircle%20cx%3D%2240%22%20cy%3D%2240%22%20r%3D%226%22/%3E%3Ccircle%20cx%3D%2240%22%20cy%3D%2240%22%20r%3D%2214%22/%3E%3Ccircle%20cx%3D%2240%22%20cy%3D%2240%22%20r%3D%2222%22/%3E%3Ccircle%20cx%3D%2240%22%20cy%3D%2240%22%20r%3D%2230%22%20stroke-dasharray%3D%222%204%22/%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22120%22%20r%3D%226%22/%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22120%22%20r%3D%2214%22/%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22120%22%20r%3D%2222%22/%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22120%22%20r%3D%2230%22%20stroke-dasharray%3D%222%204%22/%3E%3Cpath%20d%3D%22M92%2018v44M100%2018v44M108%2018v44M116%2018v44M124%2018v44M132%2018v44M140%2018v44%22%20stroke-dasharray%3D%223%203%22/%3E%3Cpath%20d%3D%22M18%20100h44M18%20108h44M18%20116h44M18%20124h44M18%20132h44M18%20140h44%22%20stroke-dasharray%3D%223%203%22/%3E%3C/g%3E%3C/svg%3E"); background-size: 150px; opacity: .13; -webkit-mask-image: linear-gradient(90deg, transparent, #000 60%); mask-image: linear-gradient(90deg, transparent, #000 60%); pointer-events: none; }
.sa-hero__bar > * { position: relative; z-index: 1; }
html body .sa-hero__eyebrow { color: var(--sa-cream-2); }
html body .sa-hero__title { color: #FBF7EF !important; }
.sa-hero__accent { font-family: 'Instrument Serif', Georgia, serif; font-style: italic; font-weight: 400; font-size: 1.12em; letter-spacing: -.01em; white-space: nowrap; }
.sa-hero__right { display: flex; align-items: center; gap: 36px; flex-wrap: wrap; }
.sa-hero__points { list-style: none; margin: 0; padding: 0; display: flex; gap: 22px; color: var(--sa-cream-2); font: 400 13px/1.3 var(--sa-font); }
.sa-hero__points li { display: flex; align-items: center; gap: 8px; white-space: nowrap; margin: 0; }
html body .sa-hero__cta { background: var(--sa-cream) !important; color: var(--sa-indigo) !important; border-color: var(--sa-cream) !important; }
html body .sa-hero__cta:hover { background: #fff !important; border-color: #fff !important; }
html body .sa-hero__dots span { background: rgba(255,255,255,.35); }
html body .sa-hero__dots span.is-active { background: #fff; }
html.sa-anim .sa-hero__points { opacity: 0; transform: translateY(18px); transition: opacity .8s var(--sa-ease), transform .9s var(--sa-ease); }
html.sa-anim .sa-hero.is-ready .sa-hero__points { opacity: 1; transform: none; transition-delay: .55s; }
@media (max-width: 1199px) and (min-width: 1024px) { .sa-hero__points li:nth-child(3) { display: none; } }
@media (max-width: 1023px) {
  html body .sa-hero__bar { padding: 22px 16px 30px; flex-direction: column; align-items: stretch; }
  .sa-hero__bar::after { width: 100%; opacity: .05; }
  .sa-hero__points { display: none; }
  .sa-hero__right { width: 100%; }
  html body .sa-hero__cta { width: 100%; }
}

/* =========================================================
   WHATSAPP CHAT WIDGET
   ========================================================= */
.sa-wa { --wa: #25D366; --wa-dark: #1EBE5A; position: fixed; right: 20px; bottom: calc(20px + env(safe-area-inset-bottom)); z-index: 9000; display: flex; flex-direction: column; align-items: flex-end; gap: 14px; transition: bottom .35s var(--sa-ease); pointer-events: none; }
.sa-wa > * { pointer-events: auto; }
body:has(.sa-stickybar.is-visible) .sa-wa { bottom: calc(84px + env(safe-area-inset-bottom)); }
body:has(.sa-sheet.is-open) .sa-wa, body:has(.sa-popup.is-open) .sa-wa, body.offcanvas-opened .sa-wa, body.modal-opened .sa-wa { opacity: 0; pointer-events: none; }

.sa-wa__btn { position: relative; width: 58px; height: 58px; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: var(--wa) !important; color: #fff !important; box-shadow: 0 8px 24px rgba(0,0,0,.18), 0 2px 6px rgba(0,0,0,.08); cursor: pointer; display: grid; place-items: center; transform: scale(0); transition: transform .5s cubic-bezier(.34,1.56,.64,1), background-color .2s, box-shadow .25s; }
.sa-wa.is-in .sa-wa__btn { transform: scale(1); }
.sa-wa__btn:hover { background: var(--wa-dark) !important; box-shadow: 0 10px 28px rgba(0,0,0,.22); }
.sa-wa__btn:focus-visible { outline: 2px solid var(--sa-ink); outline-offset: 3px; }
.sa-wa__btn::after { content: ''; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--wa); opacity: 0; }
.sa-wa.is-in:not(.is-open) .sa-wa__btn::after { animation: saWaRing 2.4s var(--sa-ease) 1.5s 2; }
@keyframes saWaRing { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(1.6); opacity: 0; } }
.sa-wa__icon { grid-area: 1 / 1; display: grid; place-items: center; transition: transform .35s var(--sa-ease), opacity .25s; }
.sa-wa__icon--x { opacity: 0; transform: rotate(-90deg) scale(.6); }
.sa-wa.is-open .sa-wa__icon--wa { opacity: 0; transform: rotate(90deg) scale(.6); }
.sa-wa.is-open .sa-wa__icon--x { opacity: 1; transform: none; }

.sa-wa__card { width: 320px; max-width: calc(100vw - 40px); background: #fff; box-shadow: 0 18px 48px rgba(20,22,40,.2), 0 2px 8px rgba(0,0,0,.06); overflow: hidden; transform-origin: bottom right; opacity: 0; visibility: hidden; transform: translateY(12px) scale(.94); transition: opacity .25s var(--sa-ease), transform .35s var(--sa-ease), visibility 0s .35s; }
.sa-wa.is-open .sa-wa__card { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.sa-wa__head { display: flex; align-items: center; gap: 12px; padding: 16px 14px 16px 18px; background: var(--sa-indigo, #1E2550); color: #FBF7EF; }
.sa-wa__avatar { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--sa-cream, #F2EBDD); color: var(--sa-indigo, #1E2550); font: 500 13px/1 var(--sa-font); letter-spacing: .12em; }
.sa-wa__who { display: flex; flex-direction: column; gap: 5px; flex: 1; min-width: 0; }
.sa-wa__who strong { font: 500 15px/1 var(--sa-font); letter-spacing: .02em; }
.sa-wa__status { display: flex; align-items: center; gap: 6px; font: 400 12px/1.2 var(--sa-font); color: var(--sa-cream-2, #E9DFC9); }
.sa-wa__status i { width: 7px; height: 7px; border-radius: 50%; background: var(--wa); box-shadow: 0 0 0 3px rgba(37,211,102,.22); }
.sa-wa__close { width: 32px; height: 32px; padding: 0 !important; display: grid; place-items: center; background: none !important; border: 0 !important; color: #FBF7EF !important; opacity: .75; cursor: pointer; }
.sa-wa__close:hover { opacity: 1; }
.sa-wa__body { padding: 20px 18px 6px; background: var(--sa-soft); }
.sa-wa__bubble { position: relative; margin: 0; max-width: 92%; padding: 12px 14px; background: #fff; border-radius: 0 12px 12px 12px; font: 400 14px/1.5 var(--sa-font); color: var(--sa-ink); box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.sa-wa.is-open .sa-wa__bubble { animation: saFadeUp .45s var(--sa-ease) .12s both; }
.sa-wa__start { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0; padding: 0 18px; min-height: 52px; background: var(--wa); color: #fff !important; text-decoration: none !important; font: 500 12px/1 var(--sa-font); letter-spacing: .12em; text-transform: uppercase; transition: background-color .2s; border-top: 18px solid var(--sa-soft); box-sizing: content-box; }
.sa-wa__start svg { width: 20px; height: 20px; }
.sa-wa__start:hover { background: var(--wa-dark); }
@media (max-width: 767px) {
  .sa-wa { right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); }
  .sa-wa__btn { width: 54px; height: 54px; }
  .sa-wa__card { width: calc(100vw - 32px); }
}
@media (prefers-reduced-motion: reduce) { .sa-wa__btn, .sa-wa__card, .sa-wa__icon { transition: none !important; } .sa-wa__btn::after { display: none; } }
@media print { .sa-wa { display: none; } }

/* Add to bag: indigo wipe on hover, letters open up a touch, press-in on click. */
html body.single-product .single_add_to_cart_button,
html body .sa-stickybar [data-sa-sticky-add] { isolation: isolate; overflow: hidden; transition: letter-spacing .45s var(--sa-ease), transform .15s, color .2s !important; }
html body.single-product .single_add_to_cart_button::before,
html body .sa-stickybar [data-sa-sticky-add]::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--sa-indigo, #1E2550); transform: scaleX(0); transform-origin: right center; transition: transform .55s var(--sa-ease); }
@media (hover: hover) {
  html body.single-product .single_add_to_cart_button:hover,
  html body .sa-stickybar [data-sa-sticky-add]:hover { background: var(--sa-ink) !important; letter-spacing: .2em !important; }
  html body.single-product .single_add_to_cart_button:hover::before,
  html body .sa-stickybar [data-sa-sticky-add]:hover::before { transform: scaleX(1); transform-origin: left center; }
}
html body.single-product .single_add_to_cart_button:focus-visible::before { transform: scaleX(1); transform-origin: left center; }
html body.single-product .single_add_to_cart_button:active,
html body .sa-stickybar [data-sa-sticky-add]:active { transform: scale(.985); }
html body .sa-stickybar [data-sa-sticky-add] { position: relative; }
@media (prefers-reduced-motion: reduce) { html body.single-product .single_add_to_cart_button::before { transition: none; } }
html body.single-product .sa-infobox { margin-top: 16px !important; }
html body.single-product .sa-lowstock:empty { display: none !important; }
html body.single-product .sa-size-msg:empty { display: none !important; }

/* ---------- Footer: social icons + Google Maps link ---------- */
.sa-footer__maps { display: inline-flex !important; align-items: center; gap: 6px; }
.sa-social { display: flex; gap: 10px; margin-top: 6px; }
.sa-social a { width: 40px; height: 40px; display: grid !important; place-items: center; border: 1px solid #4A4A4A; border-radius: 50%; color: #E4E3E1 !important; transition: background-color .25s, color .25s, border-color .25s, transform .25s var(--sa-ease); }
.sa-social a:hover { background: #fff; border-color: #fff; color: var(--sa-ink) !important; transform: translateY(-2px); }

/* ---------- Contact page: list + live Google map ---------- */
html body .entry-content .sa-contact { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: stretch; margin: 8px 0 40px; }
.sa-contact__list { list-style: none; margin: 0 !important; padding: 0 !important; border-top: 1px solid var(--sa-line); }
.sa-contact__list li { display: flex; align-items: center; gap: 16px; margin: 0 !important; padding: 18px 0; border-bottom: 1px solid var(--sa-line); }
.sa-contact__icon { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: var(--sa-soft); color: var(--sa-ink); }
.sa-contact__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.sa-contact__label { font: 500 11px/1 var(--sa-font); letter-spacing: .14em; text-transform: uppercase; color: var(--sa-mute); }
.sa-contact__text a { font: 400 17px/1.3 var(--sa-font); color: var(--sa-ink) !important; text-decoration: none !important; }
.sa-contact__text a:hover { text-decoration: underline !important; text-underline-offset: 3px; }
.sa-contact__text small { font: 400 13px/1.3 var(--sa-font); color: var(--sa-mute); }
.sa-contact__visit { margin-top: 32px; display: flex; flex-direction: column; gap: 12px; }
html body .sa-contact__address { margin: 0 !important; font: 300 26px/1.25 var(--sa-font) !important; letter-spacing: -.01em; color: var(--sa-ink); }
.sa-contact__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 28px; margin-top: 8px; }
.sa-contact__map { position: relative; min-height: 460px; background: var(--sa-soft); overflow: hidden; }
.sa-contact__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(1) contrast(1.04); transition: filter .6s var(--sa-ease); }
.sa-contact__map:hover iframe, .sa-contact__map:focus-within iframe { filter: none; }
@media (max-width: 900px) {
  html body .entry-content .sa-contact { grid-template-columns: 1fr; gap: 32px; }
  .sa-contact__map { min-height: 340px; }
  html body .sa-contact__address { font-size: 22px !important; }
}

/* =========================================================
   GOOGLE REVIEWS (homepage): rating + two drifting rows
   ========================================================= */
.sa-reviews { padding: 88px 0 80px; overflow: hidden; }
.sa-reviews__head { max-width: 1440px; margin: 0 auto 44px; padding: 0 var(--sa-pad); display: grid; grid-template-columns: auto 1fr auto; align-items: end; gap: 24px 56px; }
.sa-reviews__score { display: flex; align-items: center; gap: 16px; padding-right: 56px; border-right: 1px solid var(--sa-line); }
.sa-reviews__num { font: 300 88px/.85 var(--sa-font); letter-spacing: -.04em; color: var(--sa-ink); }
.sa-reviews__meta { display: flex; flex-direction: column; gap: 8px; }
.sa-reviews__stars, .sa-review__stars { display: flex; gap: 2px; color: #E0A526; }
.sa-reviews__count { display: inline-flex; align-items: center; gap: 7px; font: 400 13px/1.3 var(--sa-font); color: var(--sa-mute); }
.sa-reviews__title { display: flex; flex-direction: column; gap: 12px; }
html body .sa-reviews__title h2 { margin: 0 !important; font: 300 clamp(30px, 3.4vw, 46px)/1.08 var(--sa-font) !important; letter-spacing: -.02em !important; text-transform: none !important; color: var(--sa-ink); }
.sa-reviews__title h2 em, .sa-review blockquote em { font-family: 'Instrument Serif', Georgia, serif; font-style: italic; font-weight: 400; }
.sa-reviews__title h2 em { font-size: 1.1em; }
.sa-reviews__all { justify-self: end; margin-bottom: 6px; }

.sa-reviews__rows { display: flex; flex-direction: column; gap: 18px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.sa-reviews__row { overflow: hidden; }
.sa-reviews__track { display: flex; width: max-content; animation: saReviewsLeft 70s linear infinite; }
.sa-reviews__row--right .sa-reviews__track { animation-name: saReviewsRight; animation-duration: 80s; }
.sa-reviews__row:hover .sa-reviews__track, .sa-reviews__row.is-paused .sa-reviews__track { animation-play-state: paused; }
.sa-reviews__set { display: flex; gap: 18px; padding-right: 18px; }
@keyframes saReviewsLeft { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes saReviewsRight { from { transform: translateX(-50%); } to { transform: translateX(0); } }

.sa-review { flex: 0 0 auto; width: 360px; margin: 0; padding: 26px 26px 22px; background: var(--sa-soft); display: flex; flex-direction: column; gap: 16px; transition: background-color .3s, transform .4s var(--sa-ease); }
.sa-review:hover { background: #EFEDE9; transform: translateY(-3px); }
.sa-review blockquote { margin: 0 !important; padding: 0 !important; border: 0 !important; font: 400 16px/1.55 var(--sa-font) !important; color: var(--sa-ink); quotes: none; flex: 1; }
.sa-review blockquote::before { content: none !important; }
.sa-review blockquote em { font-size: 1.15em; line-height: 1.2; }
.sa-review figcaption { display: flex; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px solid var(--sa-line); }
.sa-review__avatar { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--sa-indigo, #1E2550); color: var(--sa-cream, #F2EBDD); font: 500 14px/1 var(--sa-font); }
.sa-review__who { display: flex; flex-direction: column; gap: 4px; }
.sa-review__who strong { font: 500 14px/1 var(--sa-font); color: var(--sa-ink); }
.sa-review__who span { display: inline-flex; align-items: center; gap: 5px; font: 400 12px/1 var(--sa-font); color: var(--sa-mute); }

@media (max-width: 900px) {
  .sa-reviews { padding: 64px 0 56px; }
  .sa-reviews__head { grid-template-columns: 1fr; gap: 20px; margin-bottom: 28px; }
  .sa-reviews__score { padding-right: 0; border-right: 0; order: 2; }
  .sa-reviews__num { font-size: 64px; }
  .sa-reviews__all { justify-self: start; order: 3; margin: 0; }
  .sa-reviews__rows { -webkit-mask-image: none; mask-image: none; gap: 12px; }
  .sa-review { width: 290px; padding: 22px 20px 18px; }
  .sa-reviews__set { gap: 12px; padding-right: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .sa-reviews__track { animation: none !important; }
  .sa-reviews__row { overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 var(--sa-pad); }
  .sa-reviews__set[aria-hidden="true"] { display: none; }
  .sa-review { scroll-snap-align: start; }
}
