/* GA Kit Core. Every selector starts with `html body` on purpose: it keeps kit styles above generic theme rules (WoodMart etc.). Keep that prefix when you add rules. */
/* ---------- 0. Theme shield ----------
   Themes such as WoodMart style every <button>, <input>, <select>, <label> and <table> on the site
   (grey buttons, 42px inputs, uppercase labels, bordered tables). Inside kit areas those theme rules are
   reverted to the browser default, then the kit's own rules (which come later and are prefixed with
   `html body`) style them. Elementor's own widgets are not touched.
   Specificity is deliberate: (0,1,2) beats theme rules like `[type=submit]` or `input[type=email]`,
   and ties with kit rules, which win because they come later. */
html body :where(.ga-kitc, .ga-site-header, .ga-site-footer, .ga-drawer, .ga-modal, .ga-mm__panel, .ga-fab, .ga-tabbar, .ga-pdp-size, .ga-sf, .ga-ob, .ga-quiz, .ga-ml, .ga-search)
	:is(button, input, select, textarea, label, table, thead, tbody, tr, th, td, .ga-shield-x) { all: revert; }
html body :where(.ga-kitc, .ga-site-header, .ga-site-footer, .ga-drawer, .ga-modal, .ga-mm__panel, .ga-fab, .ga-tabbar, .ga-pdp-size, .ga-sf, .ga-ob, .ga-quiz, .ga-ml, .ga-search)
	:is(h1, h2, h3, h4, h5, h6):not(:where(.elementor-heading-title)) { font-family: inherit; color: inherit; text-transform: none; letter-spacing: inherit; line-height: inherit; }
/* Theme focus rules like `input[type=email]:focus` (0,2,1) would otherwise restyle kit fields on focus. */
html body :where(.ga-kitc, .ga-site-header, .ga-drawer, .ga-modal, .ga-mm__panel, .ga-sf, .ga-ob, .ga-quiz, .ga-ml, .ga-search)
	:is(input, select, textarea, .ga-shield-x):is(:focus, .ga-shield-x) { box-shadow: none; }

/* =====================================================================
   GA Kit Core — base styles (shared by all four skins)
   Tokens (colours, fonts, radius) come from skin-*.css. Everything here
   is written against Elementor's container + widget markup, so the kit
   stays editable in the Elementor panel.
   ===================================================================== */

/* ---------- 1. Kit scope reset: no default padding/gaps inside kit containers ---------- */
html body .e-con.ga-kitc, html body .ga-kitc .e-con { padding: 0; gap: 0; }
html body .ga-kitc { font-family: var(--ga-f-b); color: var(--ga-ink); line-height: 1.6; -webkit-font-smoothing: antialiased; }
html body .ga-kitc a { color: inherit; }
html body .ga-kitc .elementor-widget-text-editor { color: inherit; font-family: inherit; }
html body .ga-kitc .elementor-widget-text-editor p { margin: 0; }
html body .ga-kitc .elementor-widget-text-editor p + p { margin-top: .8em; }
html body .ga-kitc .elementor-heading-title { font-family: inherit; color: inherit; line-height: inherit; }
html body .ga-kitc :focus-visible { outline: 2px solid var(--ga-focus, #2A6AA3); outline-offset: 3px; }
html body .ga-kitc .elementor-widget { max-width: 100%; }
html body .ga-kitc img { max-width: 100%; }
html body .ga-kitc .screen-reader-text, html body .ga-site-header .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
html.ga-lock { overflow: hidden; }
html body .ga-kit .site-main, html body .ga-kit main#content { overflow-x: clip; }

/* ---------- 2. Bands, wrap, generic layout ---------- */
html body .e-con.ga-sec { padding-block: var(--ga-sec-y, clamp(64px, 4rem + 3vw, 120px)); background: var(--ga-bg); color: var(--ga-ink); }
html body .e-con.ga-pad-s { padding-block: clamp(12px, 1vw + 8px, 28px); }
html body .e-con.ga-bg-2 { background: var(--ga-bg2); }
html body .e-con.ga-wrap { width: 100%; max-width: var(--ga-max, 1360px); margin-inline: auto; padding-left: max(var(--ga-gut, 16px), env(safe-area-inset-left, 0px)); padding-right: max(var(--ga-gut, 16px), env(safe-area-inset-right, 0px)); }
html body .e-con.ga-center { text-align: center; align-items: center; }
html body .e-con.ga-btns { flex-direction: row; flex-wrap: wrap; gap: 12px; }
html body .e-con.ga-head { flex-direction: row; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: clamp(28px, 2rem + 1vw, 52px); }
html body .e-con.ga-head--center { flex-direction: column; align-items: center; text-align: center; }
html body .e-con.ga-head__l { gap: 12px; max-width: 760px; }
html body .ga-head--center .e-con.ga-head__l { align-items: center; }
html body .ga-hide-on-expire[data-expired] { display: none !important; }
@media (max-width: 767px) { html body .ga-kitc .ga-hide-m, html body .ga-site-header .ga-hide-m { display: none !important; } }
@media (min-width: 768px) { html body .ga-kitc .ga-hide-d { display: none !important; } }

/* Dark bands re-map the tokens so every component inside adapts. */
html body .ga-dark.ga-dark, html body .ga-ink.ga-ink, html body .ga-tan.ga-tan, html body .ga-moss.ga-moss, html body .ga-dark2.ga-dark2 {
	--ga-ink: var(--ga-on-dark); --ga-muted: var(--ga-on-dark2); --ga-line: var(--ga-line-dk);
	--ga-gold-ink: var(--ga-dark-gold); --ga-em: var(--ga-dark-gold); --ga-surface: var(--ga-dark-surface);
	--ga-bg: var(--ga-dark); --ga-bg2: var(--ga-dark); --ga-h-color: var(--ga-on-dark); color: var(--ga-on-dark);
}
html body .e-con.ga-dark.ga-dark { background: var(--ga-dark); }
html body .e-con.ga-ink.ga-ink { background: var(--ga-ink-band, #1A1D1C); --ga-dark: var(--ga-ink-band, #1A1D1C); }
html body .e-con.ga-tan.ga-tan { background: var(--ga-tan, #A15D35); --ga-dark: var(--ga-tan, #A15D35); --ga-on-dark2: rgba(255,255,255,.82); --ga-dark-gold: #FBE3CC; }
html body .e-con.ga-moss.ga-moss { background: var(--ga-moss, #3E6B57); --ga-dark: var(--ga-moss, #3E6B57); --ga-dark-gold: #F0DCAF; }
html body .e-con.ga-dark2.ga-dark2 { background: var(--ga-dark2, #1A3328); --ga-dark: var(--ga-dark2, #1A3328); }

/* ---------- 3. Typography hooks ---------- */
html body .ga-kicker .elementor-heading-title { display: inline-flex; align-items: center; gap: 10px; font-family: var(--ga-f-b); font-size: .75rem; font-weight: 700; letter-spacing: var(--ga-kick-ls, .18em); text-transform: uppercase; color: var(--ga-gold-ink); line-height: 1.4; }
html body .ga-kicker .elementor-heading-title::before { content: ""; width: 24px; height: 1px; background: currentColor; opacity: .7; }
html body .ga-head--center .ga-kicker .elementor-heading-title::before, html body .ga-center .ga-kicker .elementor-heading-title::before { display: none; }
html body .ga-h1 .elementor-heading-title, html body .ga-h2 .elementor-heading-title, html body .ga-h3 .elementor-heading-title, html body .ga-h4 .elementor-heading-title {
	font-family: var(--ga-f-d); font-weight: var(--ga-h-w, 500); letter-spacing: var(--ga-h-ls, -.02em); line-height: var(--ga-h-lh, 1.04); text-transform: var(--ga-h-tt, none); color: var(--ga-h-color, inherit); text-wrap: balance;
}
html body .ga-h1 .elementor-heading-title { font-size: var(--ga-h1, clamp(2.6rem, 1.7rem + 4vw, 5.4rem)); }
html body .ga-h2 .elementor-heading-title { font-size: var(--ga-h2, clamp(2.1rem, 1.6rem + 2.2vw, 3.5rem)); }
html body .ga-h3 .elementor-heading-title { font-size: var(--ga-h3, clamp(1.5rem, 1.25rem + 1vw, 2.1rem)); }
html body .ga-h4 .elementor-heading-title { font-size: var(--ga-h4, clamp(1.2rem, 1.05rem + .5vw, 1.45rem)); line-height: 1.15; }
html body .ga-kitc .elementor-heading-title em { font-style: italic; color: var(--ga-em); font-weight: inherit; }
html body .ga-lede { font-size: clamp(1rem, .95rem + .2vw, 1.125rem); color: var(--ga-muted); max-width: 46ch; }
html body .ga-sub, html body .ga-muted { color: var(--ga-muted); max-width: 54ch; }
html body .ga-note { font-size: .875rem; color: var(--ga-muted); }
html body .ga-center .ga-lede, html body .ga-head--center .ga-sub { margin-inline: auto; }
html body .ga-muted a, html body .ga-lede a, html body .ga-sub a { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 4. Buttons (Elementor Button widget + kit buttons) ---------- */
html body .elementor-widget.ga-btn .elementor-button, html body .ga-btn-solid, html body .ga-btn-line {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 28px;
	border-radius: var(--ga-btn-r, 999px); border: 1px solid transparent; font-family: var(--ga-f-b); font-size: var(--ga-btn-fs, .875rem); font-weight: var(--ga-btn-fw, 700);
	letter-spacing: var(--ga-btn-ls, .02em); text-transform: var(--ga-btn-tt, none); line-height: 1.1; text-decoration: none; cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s, transform .2s; background: var(--ga-acc); color: var(--ga-on-acc);
}
html body .elementor-widget.ga-btn .elementor-button:active, html body .ga-btn-solid:active { transform: scale(.98); }
html body .elementor-widget.ga-btn--solid .elementor-button, html body .ga-btn-solid, html body .ga-kitc a.ga-btn-solid { background: var(--ga-acc); color: var(--ga-on-acc); }
html body .elementor-widget.ga-btn--solid .elementor-button:hover, html body .ga-btn-solid:hover, html body .ga-kitc a.ga-btn-solid:hover { background: var(--ga-acc-h); color: var(--ga-on-acc); }
html body .elementor-widget.ga-btn--line .elementor-button, html body .ga-btn-line, html body .ga-kitc a.ga-btn-line { background: transparent; color: var(--ga-ink); border-color: currentColor; }
html body .elementor-widget.ga-btn--line .elementor-button:hover, html body .ga-btn-line:hover, html body .ga-kitc a.ga-btn-line:hover { background: var(--ga-ink); color: var(--ga-bg); border-color: var(--ga-ink); }
html body .elementor-widget.ga-btn--light .elementor-button { background: var(--ga-on-dark); color: var(--ga-dark); }
html body .elementor-widget.ga-btn--light .elementor-button:hover { background: #fff; color: var(--ga-dark); }
html body .elementor-widget.ga-btn--ghost .elementor-button { background: transparent; color: var(--ga-on-dark); border-color: rgba(255,255,255,.4); }
html body .elementor-widget.ga-btn--ghost .elementor-button:hover { background: rgba(255,255,255,.1); border-color: var(--ga-on-dark); }
html body .elementor-widget.ga-btn--pill .elementor-button { background: var(--ga-surface); color: var(--ga-ink); border-color: var(--ga-line); min-height: 44px; padding: 0 18px; }
html body .elementor-widget.ga-btn--pill .elementor-button:hover { border-color: var(--ga-ink); }
html body .elementor-widget.ga-btn--link .elementor-button { background: none; color: var(--ga-ink); min-height: 0; padding: 0 0 3px; border-radius: 0; border: 0; border-bottom: 1px solid var(--ga-gold); text-transform: none; letter-spacing: 0; }
html body .elementor-widget.ga-btn--link .elementor-button:hover { color: var(--ga-acc); }
html body .ga-btn--arrow .elementor-button-text::after { content: "→"; margin-left: 10px; display: inline-block; transition: transform .25s; }
html body .ga-btn--arrow .elementor-button:hover .elementor-button-text::after { transform: translateX(4px); }
html body .ga-btn-block { width: 100%; }
html body .ga-btn-solid.is-busy, html body .ga-btn-solid[disabled] { opacity: .6; pointer-events: none; }

/* ---------- 5. Images ---------- */
html body .ga-img img, html body .ga-img .elementor-widget-container img { display: block; width: 100%; height: auto; border-radius: var(--ga-img-r, 0); }
html body .ga-r34 img { aspect-ratio: 3/4; object-fit: cover; }
html body .ga-r346 img { aspect-ratio: 3/4.6; object-fit: cover; }
html body .ga-r45 img { aspect-ratio: 4/5; object-fit: cover; }
html body .ga-r11 img { aspect-ratio: 1; object-fit: cover; }
html body .ga-r43 img { aspect-ratio: 4/3; object-fit: cover; }
html body .ga-r23 img { aspect-ratio: 2/3; object-fit: cover; }
html body .ga-r169 img { aspect-ratio: 16/9; object-fit: cover; }
html body .elementor-widget.ga-img--cover { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
html body .ga-img--cover > img, html body .ga-img--cover .elementor-widget-container, html body .ga-img--cover .elementor-widget-container > img { width: 100%; height: 100%; object-fit: cover; }
html body .e-con.ga-fig { position: relative; }
html body .ga-fig__cap .elementor-heading-title { position: absolute; top: 12px; left: 12px; z-index: 2; background: rgba(251,248,242,.94); color: var(--ga-dark, #16302A); font-family: var(--ga-f-b); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 6px 12px; border-radius: var(--ga-pill-r, 999px); }
html body .elementor-widget.ga-fig__cap { position: static; }

/* ---------- 6. Ornaments ---------- */
html body .ga-raute { height: 12px; background-color: var(--ga-raute-bg, #fff); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12'%3E%3Cpath d='M12 0 24 6 12 12 0 6z' fill='%232A6AA3' fill-opacity='.22'/%3E%3C/svg%3E"); background-size: 24px 12px; }
html body .ga-orn { display: inline-flex; align-items: center; gap: 14px; color: var(--ga-gold); }
html body .ga-orn::before, html body .ga-orn::after { content: ""; height: 1px; width: clamp(40px, 8vw, 110px); background: linear-gradient(90deg, transparent, currentColor); }
html body .ga-orn::after { background: linear-gradient(90deg, currentColor, transparent); }
html body .ga-orn svg { width: 22px; height: 22px; }
html body .ga-ic { width: 1.25em; height: 1.25em; flex: none; }
html body .ga-inline-icon { display: inline-flex; color: var(--ga-gold); }
html body .ga-inline-icon .ga-ic { width: 28px; height: 28px; }
html body .ga-enote { margin: 8px 0; padding: 10px 14px; border: 1px dashed var(--ga-gold, #B08A43); background: rgba(226,198,142,.15); color: inherit; font: 500 13px/1.4 var(--ga-f-b, sans-serif); border-radius: 6px; }

/* ---------- 7. Stars ---------- */
html body .ga-stars { display: inline-block; font-size: 13px; line-height: 1; letter-spacing: 2px; background: linear-gradient(90deg, var(--ga-star, #C29A52) calc(var(--r) / 5 * 100%), var(--ga-line) 0); -webkit-background-clip: text; background-clip: text; color: transparent; }
html body .ga-stars::before { content: "★★★★★"; }

/* ---------- 8. Header pieces ---------- */
html body .ga-site-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 90; }
html body .admin-bar .ga-site-header { top: calc(32px + env(safe-area-inset-top, 0px)); }
@media (max-width: 782px) { html body .admin-bar .ga-site-header { top: 0; position: relative; } }
html body .ga-site-header .e-con.ga-hdr__bar { overflow: hidden; max-height: 60px; transition: max-height .3s; }
html body .ga-site-header.is-scrolled .e-con.ga-hdr__bar { max-height: 0; }
html body .e-con.ga-hdr__barin { flex-direction: row; align-items: center; justify-content: center; gap: 16px; min-height: 38px; font-size: .8125rem; }
@media (min-width: 1024px) { html body .e-con.ga-hdr__barin { justify-content: space-between; } }
html body .e-con > .elementor-widget.ga-hdr__ann { flex: 1 1 auto; min-width: 0; }
html body .e-con.ga-hdr__barlinks { flex: none; flex-direction: row; align-items: center; gap: 18px; }
html body .ga-hdr__links p { display: flex; gap: 18px; }
html body .ga-hdr__links a { text-decoration: none; opacity: .9; }
html body .ga-hdr__links a:hover { opacity: 1; text-decoration: underline; }
html body .ga-ann { text-align: center; }
html body .ga-ann__msg { margin: 0; transition: opacity .3s; }
html body .ga-ann a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
html body .e-con.ga-hdr__main { background: var(--ga-hdr-bg, var(--ga-bg)); }
html body .e-con.ga-hdr__row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; min-height: 68px; }
html body .e-con.ga-hdr__left, html body .e-con.ga-hdr__right { flex-direction: row; align-items: center; gap: 8px; }
html body .e-con.ga-hdr__right { justify-content: flex-end; }
html body .ga-hdr__icons, html body .ga-hdr__right .ga-hdr__icons { justify-self: end; }
html body .ga-currency { font-size: .8125rem; }
html body .ga-currency select { background: transparent; color: inherit; border: 1px solid currentColor; border-radius: 999px; padding: 2px 10px; font-size: .75rem; }

html body .ga-logo { display: inline-flex; flex-direction: column; align-items: center; text-decoration: none; line-height: 1; gap: 4px; color: var(--ga-logo, var(--ga-ink)); }
html body .ga-logo b { font-family: var(--ga-f-d); font-weight: var(--ga-logo-w, 600); font-size: var(--ga-logo-fs, 1.6rem); letter-spacing: var(--ga-logo-ls, .01em); text-transform: var(--ga-logo-tt, none); }
html body .ga-logo small { font-size: .6rem; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; color: var(--ga-gold-ink); }
html body .ga-logo__mark { width: 11px; height: 11px; background: var(--ga-acc); transform: rotate(45deg); display: inline-block; }

html body .ga-iconbtn { position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 0; background: transparent; color: inherit; cursor: pointer; text-decoration: none; padding: 0; }
html body .ga-iconbtn:hover { background: var(--ga-hover, rgba(127,127,127,.12)); }
html body .ga-iconbtn .ga-ic { width: 21px; height: 21px; }
html body .ga-icons { display: flex; align-items: center; justify-content: flex-end; gap: 2px; }
html body .ga-cart-count { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--ga-acc); color: var(--ga-on-acc); font: 700 10.5px/18px var(--ga-f-b); text-align: center; }
html body .ga-cart-count[data-count="0"] { opacity: .0; }
@media (max-width: 767px) { html body .ga-icons .ga-hide-m { display: none; } }

/* Desktop menu */
html body .ga-menu__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
html body .ga-menu--center .ga-menu__list { justify-content: center; }
html body .ga-menu--right .ga-menu__list { justify-content: flex-end; }
html body .ga-menu__list > li { position: relative; }
html body .ga-menu__list > li > a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; font-family: var(--ga-f-b); font-size: var(--ga-menu-fs, .875rem); font-weight: var(--ga-menu-fw, 600); letter-spacing: var(--ga-menu-ls, .02em); text-transform: var(--ga-menu-tt, none); text-decoration: none; color: inherit; border-radius: var(--ga-menu-r, 999px); }
html body .ga-menu__list > li > a:hover, html body .ga-menu__list > li:focus-within > a { background: var(--ga-hover, rgba(127,127,127,.12)); }
html body .ga-menu .sub-menu { position: absolute; top: calc(100% + 8px); left: 0; min-width: 240px; list-style: none; margin: 0; padding: 14px; background: var(--ga-surface); color: var(--ga-ink); border: 1px solid var(--ga-line); border-radius: var(--ga-r, 12px); box-shadow: 0 24px 48px -24px rgba(0,0,0,.35); visibility: hidden; opacity: 0; transform: translateY(-4px); transition: .18s; z-index: 30; }
html body .ga-menu__list > li:hover > .sub-menu, html body .ga-menu__list > li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: none; }
html body .ga-menu .sub-menu a { display: block; padding: 7px 10px; border-radius: 6px; text-decoration: none; font-size: .9rem; }
html body .ga-menu .sub-menu a:hover { background: var(--ga-bg2); }
html body .ga-menu .ga-mega > .sub-menu { display: grid; grid-template-columns: repeat(3, minmax(170px, 1fr)); gap: 8px 24px; min-width: 620px; padding: 22px; }
html body .ga-menu .ga-mega > .sub-menu > li > a { font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ga-gold-ink); }
html body .ga-menu .ga-mega .sub-menu .sub-menu { position: static; visibility: visible; opacity: 1; transform: none; box-shadow: none; border: 0; padding: 0; min-width: 0; background: none; }
html body .ga-menu .sub-menu .sub-menu { left: 100%; top: 0; }

/* Mobile menu */
html body .ga-mm { display: inline-flex; }
@media (min-width: 1025px) { html body .ga-mm--bp-tablet { display: none; } }
html body .ga-mm__open { width: auto; min-width: 44px; padding: 0 6px; gap: 10px; display: inline-flex; border-radius: 999px; }
html body .ga-mm__label { font-size: .72rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
html body .ga-mm__panel { position: fixed; inset: 0; z-index: 200; font-family: var(--ga-f-b); line-height: 1.6; }
html body .ga-mm__panel[hidden] { display: none; }
html body .ga-mm__scrim { position: absolute; inset: 0; background: rgba(10,16,13,.5); opacity: 0; transition: opacity .3s; }
html body .ga-mm__inner { position: absolute; top: 0; bottom: 0; left: 0; width: min(420px, 92vw); background: var(--ga-bg); color: var(--ga-ink); display: flex; flex-direction: column; overflow: auto; transform: translateX(-102%); transition: transform .35s cubic-bezier(.2,.7,.2,1); padding: env(safe-area-inset-top, 0px) 0 env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px); font-family: var(--ga-f-b); }
html body .ga-mm__panel.is-open .ga-mm__scrim { opacity: 1; }
html body .ga-mm__panel.is-open .ga-mm__inner { transform: none; }
html body .ga-mm-p--sheet .ga-mm__inner { width: 100%; transform: translateY(-100%); }
html body .ga-mm-p--full .ga-mm__inner { width: 100%; background: var(--ga-dark); color: var(--ga-on-dark); transform: none; opacity: 0; transition: opacity .3s; }
html body .ga-mm__panel.is-open .ga-mm__inner { opacity: 1; }
html body .ga-mm__head { display: flex; justify-content: space-between; align-items: center; padding: 14px 20px; border-bottom: 1px solid var(--ga-line); min-height: 68px; }
html body .ga-mm__title { font-family: var(--ga-f-d); font-size: 1.4rem; }
html body .ga-mm__nav { padding: 8px 20px; }
html body .ga-mm__nav ul { list-style: none; margin: 0; padding: 0; }
html body .ga-mm__nav > ul > li { position: relative; border-bottom: 1px solid var(--ga-line); }
html body .ga-mm__nav > ul > li > a { display: block; padding: 16px 48px 16px 0; text-decoration: none; font-family: var(--ga-mm-f, var(--ga-f-d)); font-size: var(--ga-mm-fs, 1.5rem); line-height: 1.15; }
html body .ga-mm__sub { position: absolute; right: 0; top: 10px; width: 40px; height: 40px; border: 0; background: none; color: inherit; font-size: 1.4rem; cursor: pointer; }
html body .ga-mm__nav .sub-menu { display: none; padding: 0 0 14px 4px; }
html body .ga-mm__nav li.is-open > .sub-menu { display: block; }
html body .ga-mm__nav .is-open > .ga-mm__sub span { display: inline-block; transform: rotate(45deg); }
html body .ga-mm__nav .sub-menu a { display: block; padding: 9px 0; text-decoration: none; }
html body .ga-mm__links { display: grid; gap: 4px; padding: 10px 20px; }
html body .ga-mm__links a { padding: 8px 0; text-decoration: none; color: var(--ga-muted); }
html body .ga-mm__foot { margin-top: auto; padding: 18px 20px 28px; }
html body .ga-mm-p--full .ga-mm__nav > ul > li > a { font-size: clamp(2.4rem, 1.6rem + 5vw, 5rem); }
html body .ga-mm__panel .ga-mm__nav, html body .ga-mm__panel .ga-mm__links { --ga-line: rgba(127,127,127,.25); }

/* Search */
html body .ga-search { position: relative; }
html body .ga-search__form { position: relative; display: flex; align-items: center; }
html body .ga-search__form .ga-ic { position: absolute; left: 16px; width: 19px; height: 19px; color: var(--ga-muted); pointer-events: none; }
html body .ga-search__form input[type=search] { width: 100%; height: 46px; border-radius: 999px; border: 1px solid var(--ga-line); background: var(--ga-bg2, #F6F0E3); color: var(--ga-ink); padding: 0 18px 0 44px; font: 400 1rem var(--ga-f-b); }
html body .ga-search--bar { width: 100%; max-width: 560px; justify-self: center; }
html body .ga-search__panel { position: fixed; left: 0; right: 0; top: var(--ga-search-top, 0); z-index: 120; background: var(--ga-bg); color: var(--ga-ink); border-bottom: 1px solid var(--ga-line); box-shadow: 0 30px 60px -30px rgba(0,0,0,.4); }
html body .ga-search__in { max-width: 860px; margin: 0 auto; padding: 18px max(16px, env(safe-area-inset-right, 0px)) 22px max(16px, env(safe-area-inset-left, 0px)); position: relative; }
html body .ga-search__in .ga-search__form { margin-right: 52px; }
html body .ga-search__close { position: absolute; right: 12px; top: 19px; }
html body .ga-search__sugg { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
html body .ga-search__sugg a { font-size: .875rem; padding: 6px 14px; border-radius: 999px; background: var(--ga-bg2); text-decoration: none; }
html body .ga-search__results ul { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 4px; }
html body .ga-search__results a { display: flex; gap: 12px; align-items: center; padding: 6px; border-radius: 8px; text-decoration: none; }
html body .ga-search__results a:hover { background: var(--ga-bg2); }
html body .ga-search__results img { width: 44px; height: 44px; object-fit: cover; border-radius: 6px; }
html body .ga-search__results small { display: block; color: var(--ga-muted); }
html body .ga-search--bar .ga-search__results:not(:empty) { position: absolute; left: 0; right: 0; top: 52px; z-index: 40; background: var(--ga-surface); border: 1px solid var(--ga-line); border-radius: 14px; padding: 8px; box-shadow: 0 20px 40px -20px rgba(0,0,0,.3); }
html body .ga-search__all { display: block; padding: 8px; font-weight: 700; font-size: .875rem; }

/* ---------- 9. Product cards ---------- */
html body .ga-cards { list-style: none; margin: 0; padding: 0; }
html body .ga-grid { display: grid; grid-template-columns: repeat(var(--mcols, 2), minmax(0, 1fr)); gap: clamp(18px, 2vw, 32px) clamp(10px, 1.4vw, 22px); }
@media (min-width: 768px) { html body .ga-grid { grid-template-columns: repeat(min(3, var(--cols, 4)), minmax(0, 1fr)); } }
@media (min-width: 1024px) { html body .ga-grid { grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); } }
html body .ga-grid--feature { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html body .ga-grid--feature .ga-card--feat { grid-column: span 2; }
@media (min-width: 1024px) { html body .ga-grid--feature { grid-template-columns: repeat(4, minmax(0, 1fr)); } html body .ga-grid--feature .ga-card--feat { grid-row: span 2; } }
html body .ga-grid--mini { grid-template-columns: 1fr; }
html body .ga-card { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
html body .ga-card__media { position: relative; overflow: hidden; border-radius: var(--ga-card-r, var(--ga-r)); background: var(--ga-bg2); }
html body .ga-card__img { display: block; }
html body .ga-card__img img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1), opacity .4s; }
html body .ga-card__alt { position: absolute; inset: 0; height: 100%; opacity: 0; }
html body .ga-card:hover .ga-card__alt { opacity: 1; }
html body .ga-card--feat .ga-card__img img { height: 100%; }
html body .ga-card--feat .ga-card__media { flex: 1; }
html body .ga-card__badge { position: absolute; top: 10px; left: 10px; background: var(--ga-surface); color: var(--ga-ink); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 5px 10px; border-radius: var(--ga-pill-r, 999px); }
html body .ga-card__add { position: absolute; left: 10px; right: 10px; bottom: 10px; display: flex; align-items: center; justify-content: center; min-height: 44px; border: 0; border-radius: var(--ga-btn-r, 999px); background: var(--ga-surface); color: var(--ga-ink); font: 700 .8125rem var(--ga-f-b); letter-spacing: var(--ga-btn-ls, .02em); text-transform: var(--ga-btn-tt, none); text-decoration: none; cursor: pointer; transform: translateY(130%); transition: transform .35s cubic-bezier(.2,.7,.2,1), background .2s, color .2s; box-shadow: 0 10px 24px -12px rgba(0,0,0,.4); }
html body .ga-card:hover .ga-card__add, html body .ga-card:focus-within .ga-card__add { transform: none; }
html body .ga-card__add:hover { background: var(--ga-acc); color: var(--ga-on-acc); }
@media (hover: none) { html body .ga-card__add { position: static; transform: none; margin: 8px; width: auto; box-shadow: none; border: 1px solid var(--ga-line); } }
html body .ga-card__body { display: flex; flex-direction: column; gap: 5px; }
html body .ga-card__cat { font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ga-gold-ink); }
html body .ga-card__title { margin: 0; font-family: var(--ga-card-tf, var(--ga-f-b)); font-size: var(--ga-card-tfs, .95rem); font-weight: var(--ga-card-tw, 600); line-height: 1.35; letter-spacing: 0; text-transform: none; }
html body .ga-card__title a { text-decoration: none; color: inherit; }
html body .ga-card__title a:hover { text-decoration: underline; text-underline-offset: 3px; }
html body .ga-card__meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 10px; font-size: .8125rem; color: var(--ga-muted); }
html body .ga-card__price { font-weight: 700; color: var(--ga-ink); font-variant-numeric: tabular-nums; font-size: var(--ga-price-fs, .95rem); }
html body .ga-card__price del { opacity: .55; font-weight: 400; margin-right: 6px; }
html body .ga-card__price ins { text-decoration: none; }
html body .ga-card__rating { display: inline-flex; align-items: center; gap: 6px; }
html body .ga-card__sizes { font-size: .75rem; color: var(--ga-muted); }
html body .ga-card--feat .ga-card__title { font-family: var(--ga-f-d); font-size: var(--ga-h4); }
/* Carousel */
html body .ga-rail { position: relative; }
html body .ga-rail__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px, 72%); gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
html body .ga-rail__track::-webkit-scrollbar { display: none; }
html body .ga-rail__track > li { scroll-snap-align: start; }
@media (min-width: 768px) { html body .ga-rail__track { grid-auto-columns: calc((100% - 28px) / 3); } }
@media (min-width: 1024px) { html body .ga-rail__track { grid-auto-columns: calc((100% - 14px * (var(--cols, 4) - 1)) / var(--cols, 4)); } }
html body .ga-rail__nav { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
html body .ga-rail__btn { width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--ga-line); background: var(--ga-surface); color: var(--ga-ink); display: grid; place-items: center; cursor: pointer; }
html body .ga-rail__btn:hover { border-color: var(--ga-ink); }
html body .ga-rail__btn .ga-ic { width: 18px; height: 18px; }
/* Tabs */
html body .ga-tabs__bar { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; margin-bottom: 26px; border-radius: 999px; background: var(--ga-surface); border: 1px solid var(--ga-line); }
html body .ga-tabs__bar button { border: 0; background: transparent; color: var(--ga-muted); padding: 9px 18px; border-radius: 999px; font: 700 .875rem var(--ga-f-b); cursor: pointer; }
html body .ga-tabs__bar button[aria-selected="true"] { background: var(--ga-acc); color: var(--ga-on-acc); }

/* ---------- 10. Size finder ---------- */
html body .ga-sf { display: grid; gap: 22px; color: var(--ga-ink); }
html body .ga-sf--side { gap: clamp(20px, 2vw, 40px); }
@media (min-width: 1024px) { html body .ga-sf--side { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; } }
html body .ga-sf__side { display: grid; gap: 14px; align-content: start; min-width: 0; }
html body .ga-sf__legend { margin: 0; font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ga-muted); }
html body .ga-sf__types { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 600px) { html body .ga-sf--stack .ga-sf__types { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
html body .ga-sf__type { position: relative; cursor: pointer; }
html body .ga-sf__type input { position: absolute; opacity: 0; pointer-events: none; }
html body .ga-sf__type span { display: flex; flex-direction: column; gap: 2px; min-height: 62px; padding: 11px 14px; border-radius: var(--ga-r, 14px); border: 1px solid var(--ga-line); font-weight: 700; font-size: .85rem; line-height: 1.25; transition: .15s; }
html body .ga-sf__type small { font-weight: 500; font-size: .72rem; color: var(--ga-muted); }
html body .ga-sf__type:hover span { border-color: var(--ga-ink); }
html body .ga-sf__type input:checked + span { background: var(--ga-ink); color: var(--ga-bg); border-color: var(--ga-ink); }
html body .ga-sf__type input:checked + span small { color: inherit; opacity: .75; }
html body .ga-sf__type input:focus-visible + span { outline: 2px solid var(--ga-focus); outline-offset: 2px; }
html body .ga-sf__steps { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 14px; counter-reset: s; }
html body .ga-sf__steps li { counter-increment: s; display: grid; grid-template-columns: 34px 1fr; gap: 0 12px; font-size: .9rem; color: var(--ga-muted); }
html body .ga-sf__steps li::before { content: counter(s); grid-row: span 2; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--ga-line); display: grid; place-items: center; color: var(--ga-ink); font-weight: 700; font-size: .8rem; }
html body .ga-sf__steps b { color: var(--ga-ink); }
html body .ga-sf__panel { background: var(--ga-sf-panel, var(--ga-surface)); color: var(--ga-sf-ink, #1E2421); border-radius: var(--ga-r-lg, 18px); overflow: hidden; min-width: 0; border: 1px solid var(--ga-sf-line, rgba(0,0,0,.08)); --ga-line: var(--ga-sf-line, #E2D8C6); --ga-muted: var(--ga-sf-muted, #5B615E); --ga-ink: var(--ga-sf-ink, #1E2421); }
html body .ga-sf__in { padding: clamp(18px, 1rem + 1vw, 30px); display: grid; gap: 18px; }
html body .ga-sf__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
html body .ga-sf__title { margin: 0; font-family: var(--ga-f-d); font-size: var(--ga-h4); font-weight: var(--ga-h-w, 500); text-transform: var(--ga-h-tt, none); line-height: 1.15; color: var(--ga-ink); }
html body .ga-sf__unit { display: inline-flex; padding: 3px; border-radius: 999px; background: rgba(0,0,0,.06); }
html body .ga-sf__unit button { border: 0; background: transparent; padding: 6px 14px; border-radius: 999px; font: 700 .78rem var(--ga-f-b); color: var(--ga-muted); cursor: pointer; }
html body .ga-sf__unit button[aria-pressed="true"] { background: #fff; color: #1E2421; box-shadow: 0 1px 3px rgba(0,0,0,.14); }
html body .ga-sf__fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; }
html body .ga-sf__field { display: grid; gap: 6px; min-width: 0; }
html body .ga-sf__field label { font-weight: 700; font-size: .85rem; display: flex; justify-content: space-between; gap: 6px; color: var(--ga-ink); }
html body .ga-sf__field label span { font-weight: 500; font-size: .75rem; color: var(--ga-muted); }
html body .ga-sf__inp { position: relative; }
html body .ga-sf__inp input { width: 100%; height: 52px; border-radius: 12px; border: 1px solid #D2C7B1; background: #fff; color: #1E2421; padding: 0 48px 0 14px; font: 600 1.1rem var(--ga-f-b); font-variant-numeric: tabular-nums; }
html body .ga-sf__inp input:focus { border-color: var(--ga-acc); outline: none; box-shadow: 0 0 0 3px rgba(42,106,163,.18); }
html body .ga-sf__u { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); font-style: normal; font-size: .8rem; font-weight: 600; color: var(--ga-muted); }
html body .ga-sf__field small { font-size: .75rem; color: var(--ga-muted); line-height: 1.4; }
html body .ga-sf__over { display: flex; align-items: center; gap: 10px; font-size: .875rem; font-weight: 600; margin-top: 12px; }
html body .ga-sf__over[hidden] { display: none; }
html body .ga-sf__result { display: grid; gap: 10px; padding: clamp(18px, 1rem + 1vw, 30px); background: var(--ga-sf-res, var(--ga-dark, #16302A)); color: var(--ga-on-dark, #F4EEE2); }
html body .ga-sf__k { font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; opacity: .75; }
html body .ga-sf__big { font-family: var(--ga-f-d); font-size: clamp(2.2rem, 1.8rem + 2vw, 3.4rem); line-height: 1; font-weight: var(--ga-h-w, 500); text-transform: var(--ga-h-tt, none); color: var(--ga-sf-big, var(--ga-dark-gold, #E2C68E)); }
html body .ga-sf__big--sm { font-size: 1.5rem; }
html body .ga-sf__result.is-out .ga-sf__big { color: #F2A48C; }
html body .ga-sf__eq { display: flex; flex-wrap: wrap; gap: 6px; }
html body .ga-sf__eq span { font-size: .78rem; font-weight: 700; padding: 5px 11px; border-radius: 999px; border: 1px solid rgba(255,255,255,.22); }
html body .ga-sf__why { margin: 0; font-size: .875rem; opacity: .85; }
html body .ga-sf__why a { color: inherit; text-decoration: underline; }
html body .ga-sf__note { margin: 0; font-size: .82rem; border-left: 3px solid var(--ga-dark-gold, #E2C68E); padding-left: 12px; }
html body .ga-sf__note.is-warn { border-color: #F0C66E; }
html body .ga-sf__result .ga-btn-solid { justify-self: start; background: var(--ga-on-dark, #F4EEE2); color: var(--ga-dark, #16302A); margin-top: 4px; }
html body .ga-sf__result .ga-btn-solid:hover { background: #fff; color: var(--ga-dark, #16302A); }
html body .ga-sf__chart { border-top: 1px solid var(--ga-line); }
html body .ga-sf__chart summary { cursor: pointer; padding: 16px clamp(18px, 1rem + 1vw, 30px); font-weight: 700; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; list-style: none; display: flex; justify-content: space-between; color: var(--ga-ink); }
html body .ga-sf__chart summary::-webkit-details-marker { display: none; }
html body .ga-sf__chart summary::after { content: "+"; font-size: 1.2rem; line-height: 1; }
html body .ga-sf__chart[open] summary::after { content: "–"; }
html body .ga-sf__how { margin: 0; padding: 0 clamp(18px, 1rem + 1vw, 30px) 12px; font-size: .85rem; color: var(--ga-muted); }
html body .ga-sf__tbl { overflow-x: auto; padding: 0 clamp(18px, 1rem + 1vw, 30px) 22px; }
html body .ga-sf__tbl table { width: 100%; border-collapse: collapse; font-size: .8rem; font-variant-numeric: tabular-nums; min-width: 460px; color: var(--ga-ink); margin: 0; }
html body .ga-sf__tbl th, html body .ga-sf__tbl td { padding: 8px 10px; text-align: left; border: 0; border-bottom: 1px solid var(--ga-line); white-space: nowrap; background: none; }
html body .ga-sf__tbl th { font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ga-muted); }
html body .ga-sf__tbl tr.is-hit td { background: var(--ga-sf-hit, #E3EEE7); font-weight: 700; color: #16302A; }
/* Quick size check */
html body .ga-sc { display: grid; gap: 8px; }
html body .ga-sc label { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ga-muted); }
html body .ga-sc__row { display: flex; gap: 10px; align-items: center; }
html body .ga-sc input { width: 100%; min-width: 0; height: 46px; border: 1px solid var(--ga-line); border-radius: 12px; background: #fff; color: #1E2421; padding: 0 12px; font: 600 1.05rem var(--ga-f-b); }
html body .ga-sc output { font-family: var(--ga-f-d); font-size: 1.5rem; color: var(--ga-ink); white-space: nowrap; line-height: 1; }
html body .ga-sc small { color: var(--ga-muted); font-size: .75rem; }
html body .ga-sc a { font-size: .85rem; font-weight: 700; }

/* ---------- 11. Multi-add list (complete the look, look pieces) ---------- */
html body .ga-ml { display: grid; gap: 14px; }
html body .ga-ml__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
html body .ga-ml__row { display: grid; grid-template-columns: auto 56px 1fr auto; align-items: center; gap: 12px; padding: 8px; border: 1px solid var(--ga-line); border-radius: var(--ga-r, 12px); background: var(--ga-surface); transition: border-color .2s, box-shadow .2s; font-size: .9rem; }
html body .ga-ml__row.is-active { border-color: var(--ga-ink); box-shadow: 0 0 0 1px var(--ga-ink); }
html body .ga-ml__row--missing { opacity: .65; border-style: dashed; }
html body .ga-ml__check { width: 18px; height: 18px; accent-color: var(--ga-acc); }
html body span.ga-ml__check { width: 18px; }
html body .ga-ml__thumb { display: block; width: 56px; aspect-ratio: 4/5; border-radius: 8px; overflow: hidden; background: var(--ga-bg2); }
html body .ga-ml__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
html body .ga-ml__name { display: flex; flex-direction: column; gap: 6px; min-width: 0; font-weight: 600; line-height: 1.3; }
html body .ga-ml__name a { text-decoration: none; }
html body .ga-ml__name small { font-weight: 500; color: var(--ga-muted); font-size: .75rem; }
html body .ga-ml__size { max-width: 160px; height: 36px; border-radius: 8px; border: 1px solid var(--ga-line); background: #fff; color: #1E2421; padding: 0 8px; font: 500 .85rem var(--ga-f-b); }
html body .ga-ml__size.is-error { border-color: #B3261E; box-shadow: 0 0 0 2px rgba(179,38,30,.2); }
html body .ga-ml__price { font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
html body .ga-ml__price del { display: none; }
html body .ga-ml__price ins { text-decoration: none; }
html body .ga-ml__link { font-size: .8rem; font-weight: 700; }
html body .ga-ml__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px solid var(--ga-line); }
html body .ga-ml__total { display: grid; }
html body .ga-ml__total span { font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ga-muted); }
html body .ga-ml__total b { font-family: var(--ga-f-d); font-size: 1.7rem; font-weight: var(--ga-h-w, 500); line-height: 1.1; font-variant-numeric: tabular-nums; }
html body .ga-ml__total small { color: var(--ga-acc); font-weight: 700; font-size: .78rem; }
html body .ga-ml__msg { margin: 0; font-size: .85rem; color: #B3261E; min-height: 1em; }
html body .ga-ml__msg:empty { display: none; }
/* Hotspot dots (place in a container that also holds an Image widget) */
html body .ga-dots { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
html body .elementor-widget-shortcode:has(.ga-dots), html body .elementor-widget-ga-hotspot-dots { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
html body .ga-dot { position: absolute; width: 34px; height: 34px; margin: -17px 0 0 -17px; border-radius: 50%; border: 0; background: #fff; cursor: pointer; pointer-events: auto; display: grid; place-items: center; box-shadow: 0 0 0 6px rgba(255,255,255,.35); padding: 0; }
html body .ga-dot::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--ga-dark, #16302A); }
html body .ga-dot[aria-pressed="true"] { background: var(--ga-dark, #16302A); box-shadow: 0 0 0 6px rgba(22,48,42,.3); }
html body .ga-dot[aria-pressed="true"]::after { background: #fff; }
@media (prefers-reduced-motion: no-preference) { html body .ga-dot { animation: ga-pulse 2.4s ease-in-out infinite; } }
@keyframes ga-pulse { 50% { box-shadow: 0 0 0 12px rgba(255,255,255,0); } }

/* ---------- 12. Outfit builder ---------- */
html body .ga-ob { display: grid; gap: clamp(20px, 2vw, 40px); }
@media (min-width: 1024px) { html body .ga-ob { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); } }
html body .ga-ob__stage { position: relative; min-height: 440px; display: grid; place-items: center; padding: 64px 28px 48px; overflow: hidden; border-radius: var(--ga-r, 6px); background: radial-gradient(70% 60% at 50% 40%, var(--ga-ob-glow, #22406A) 0%, var(--ga-ob-mid, #1A3150) 55%, var(--ga-ob-edge, #0B1828) 100%); }
html body .ga-ob__fig { width: min(300px, 78%); height: auto; filter: drop-shadow(0 30px 30px rgba(0,0,0,.35)); }
html body .ga-ob__fig[hidden] { display: none; }
html body .ga-ob__fig * { transition: fill .45s ease, opacity .45s ease; }
html body .ga-ob__who { position: absolute; top: 16px; left: 16px; display: flex; padding: 4px; border-radius: 999px; background: rgba(255,255,255,.1); }
html body .ga-ob__who button { border: 0; background: transparent; color: rgba(255,255,255,.75); padding: 8px 16px; border-radius: 999px; font: 700 .75rem var(--ga-f-b); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
html body .ga-ob__who button[aria-pressed="true"] { background: #F6F3EC; color: #0E1D30; }
html body .ga-ob__tag { position: absolute; left: 16px; right: 16px; bottom: 14px; display: flex; justify-content: space-between; gap: 10px; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.7); font-weight: 600; }
html body .ga-ob__steps { display: grid; gap: 22px; min-width: 0; align-content: start; }
html body .ga-ob__step { border: 0; margin: 0; padding: 0; min-width: 0; }
html body .ga-ob__step legend { display: flex; justify-content: space-between; gap: 10px; width: 100%; padding: 0; margin-bottom: 10px; font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--ga-muted); }
html body .ga-ob__step legend b { color: var(--ga-ink); letter-spacing: 0; text-transform: none; font-weight: 600; font-size: .85rem; }
html body .ga-ob__tbc { font-weight: 500; font-size: .75rem; border: 1px dashed currentColor; border-radius: 4px; padding: 0 5px; opacity: .8; }
html body .ga-ob__opts { display: flex; flex-wrap: wrap; gap: 8px; }
html body .ga-ob__opt { position: relative; cursor: pointer; }
html body .ga-ob__opt input { position: absolute; opacity: 0; pointer-events: none; }
html body .ga-ob__opt span { display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px 7px 7px; border-radius: 999px; border: 1px solid var(--ga-line); font-size: .85rem; font-weight: 600; transition: .2s; }
html body .ga-ob__opt i { width: 26px; height: 26px; border-radius: 50%; flex: none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); color: var(--ga-muted); }
html body .ga-ob__opt:hover span { border-color: var(--ga-ink); }
html body .ga-ob__opt input:checked + span { background: var(--ga-ink); color: var(--ga-bg); border-color: var(--ga-ink); }
html body .ga-ob__opt input:focus-visible + span { outline: 2px solid var(--ga-focus); outline-offset: 2px; }
html body .ga-ob__sum { display: grid; gap: 12px; padding-top: 20px; border-top: 1px solid var(--ga-line); }
html body .ga-ob__row { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 10px; }
html body .ga-ob__row span { font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--ga-muted); }
html body .ga-ob__tot { font-family: var(--ga-f-d); font-size: clamp(2.4rem, 2rem + 2vw, 3.4rem); line-height: 1; font-weight: var(--ga-h-w, 600); font-variant-numeric: tabular-nums; }
html body .ga-ob__meter { height: 6px; border-radius: 3px; background: rgba(127,127,127,.25); overflow: hidden; }
html body .ga-ob__meter i { display: block; height: 100%; width: 0; background: var(--ga-dark-gold, var(--ga-gold)); transition: width .5s; }
html body .ga-ob__note { margin: 0; font-size: .85rem; color: var(--ga-muted); }
html body .ga-ob__note b { color: var(--ga-em); }
html body .ga-ob__sizes { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
html body .ga-ob__sizes label { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: .85rem; }
html body .ga-ob__sizes select { height: 36px; border-radius: 8px; border: 1px solid var(--ga-line); background: #fff; color: #1E2421; padding: 0 8px; }
html body .ga-ob__add { justify-self: start; }
html body .ga-ob__msg { margin: 0; font-size: .82rem; color: var(--ga-muted); }
html body .ga-ob__msg:empty { display: none; }

/* ---------- 13. Style quiz ---------- */
html body .ga-quiz__body { display: grid; gap: 22px; align-content: start; }
html body .ga-quiz__prog { display: flex; gap: 6px; }
html body .ga-quiz__prog i { flex: 1; height: 2px; background: var(--ga-line); }
html body .ga-quiz__prog i.on { background: var(--ga-gold); }
html body .ga-quiz__n { margin: 0; font-size: .7rem; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: var(--ga-gold-ink); }
html body .ga-quiz__q { margin: 0; font-family: var(--ga-f-d); font-weight: var(--ga-h-w, 500); font-size: var(--ga-h3); line-height: 1.1; text-transform: var(--ga-h-tt, none); }
html body .ga-quiz__opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
html body .ga-quiz__opts button { display: grid; gap: 4px; min-height: 84px; padding: 18px 16px; text-align: left; border: 1px solid var(--ga-line); background: transparent; color: var(--ga-ink); cursor: pointer; border-radius: var(--ga-r, 0); transition: border-color .2s, background .2s; }
html body .ga-quiz__opts button:hover { border-color: var(--ga-ink); }
html body .ga-quiz__opts b { font-family: var(--ga-f-d); font-size: 1.4rem; font-weight: 500; line-height: 1.1; }
html body .ga-quiz__opts span { font-size: .82rem; color: var(--ga-muted); }
html body .ga-quiz__opts button[aria-pressed="true"] { background: var(--ga-ink); color: var(--ga-bg); }
html body .ga-quiz__back { justify-self: start; border: 0; background: none; padding: 8px 0; cursor: pointer; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ga-muted); }
html body .ga-quiz__back[hidden] { display: none; }
html body .ga-quiz__res { display: grid; grid-template-columns: 120px 1fr; gap: 20px; align-items: center; }
@media (max-width: 480px) { html body .ga-quiz__res { grid-template-columns: 90px 1fr; } }
html body .ga-quiz__res img, html body .ga-quiz__ph { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; background: var(--ga-bg2); }
html body .ga-quiz__res small { font-size: .7rem; letter-spacing: .24em; text-transform: uppercase; color: var(--ga-gold-ink); }
html body .ga-quiz__res .ga-quiz__q { font-size: 1.6rem; margin-top: 6px; }
html body .ga-quiz__price { margin: 8px 0 0; font-weight: 600; }
html body .ga-quiz__why { grid-column: 1/-1; margin: 0; color: var(--ga-muted); border-left: 2px solid var(--ga-gold); padding-left: 14px; }
html body .ga-quiz__acts { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
html body .ga-quiz__size { height: 52px; border: 1px solid var(--ga-line); background: #fff; color: #1E2421; padding: 0 12px; border-radius: var(--ga-btn-r, 0); }
html body .ga-quiz__msg { margin: 0; color: #B3261E; font-size: .85rem; }
html body .ga-quiz__msg:empty { display: none; }

/* ---------- 14. Collection index ---------- */
html body .ga-ix { list-style: none; margin: 0; padding: 0; border-top: 1.5px solid var(--ga-ink); }
html body .ga-ix a { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--ga-line); text-decoration: none; transition: padding .35s cubic-bezier(.2,.7,.2,1), color .2s; }
html body .ga-ix__thumb { width: 64px; aspect-ratio: 4/5; object-fit: cover; border-radius: 4px; display: block; }
html body .ga-ix__name { font-family: var(--ga-f-d); font-weight: var(--ga-h-w, 800); text-transform: var(--ga-h-tt, none); font-size: clamp(1.8rem, 1.2rem + 3vw, 4.4rem); line-height: .92; min-width: 0; letter-spacing: var(--ga-h-ls, 0); }
html body .ga-ix__name small { display: block; font-family: var(--ga-f-b); font-weight: 500; text-transform: none; font-size: .82rem; color: var(--ga-muted); margin-top: 6px; letter-spacing: 0; line-height: 1.4; }
html body .ga-ix__count { font-family: var(--ga-f-d); font-weight: 700; font-size: clamp(1.2rem, 1rem + .8vw, 1.8rem); color: var(--ga-acc); text-align: right; line-height: 1; white-space: nowrap; }
html body .ga-ix__count small { display: block; font-family: var(--ga-f-b); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ga-muted); font-weight: 700; }
@media (hover: hover) and (pointer: fine) and (min-width: 1024px) {
	html body .ga-ix a { grid-template-columns: minmax(0, 1fr) auto; }
	html body .ga-ix__thumb { display: none; }
	html body .ga-ix a:hover { padding-left: 24px; color: var(--ga-acc); }
}
html body .ga-ix__follow { position: fixed; top: 0; left: 0; width: 240px; z-index: 60; pointer-events: none; opacity: 0; transition: opacity .25s; border-radius: 6px; overflow: hidden; box-shadow: 0 30px 60px -20px rgba(14,29,48,.45); rotate: -4deg; }
html body .ga-ix__follow.is-on { opacity: 1; }
html body .ga-ix__follow img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; }
html body .elementor-shortcode > .ga-ix__follow { display: none; }

/* ---------- 15. Ticker ---------- */
html body .ga-ticker { overflow: hidden; }
html body .ga-ticker__track { display: flex; width: max-content; animation: ga-tick var(--speed, 38s) linear infinite; }
html body .ga-ticker:hover .ga-ticker__track { animation-play-state: paused; }
html body .ga-ticker__dup { display: contents; }
html body .ga-ticker__item { display: inline-flex; align-items: center; gap: 12px; white-space: nowrap; padding-right: 48px; font-weight: 600; font-size: .875rem; }
html body .ga-ticker__item .ga-ic { color: var(--ga-acc); width: 18px; height: 18px; }
html body .ga-ticker__sep { display: none; }
html body .ga-ticker--outline .ga-ticker__item { font-family: var(--ga-f-d); font-weight: 900; text-transform: uppercase; font-size: clamp(2.6rem, 1.6rem + 4vw, 6rem); line-height: 1; padding-right: 40px; gap: 40px; }
html body .ga-ticker--outline .ga-ticker__item.is-outline { color: transparent; -webkit-text-stroke: 1.5px var(--ga-ink); }
html body .ga-ticker--outline .ga-ticker__sep { display: block; width: .26em; height: .26em; background: var(--ga-acc); transform: rotate(45deg); }
@keyframes ga-tick { to { transform: translateX(-50%); } }

/* ---------- 16. Countdown, free bar ---------- */
html body .ga-cd { display: flex; gap: 8px; }
html body .ga-cd div { min-width: 70px; text-align: center; padding: 12px 8px; border-radius: var(--ga-r, 12px); background: var(--ga-cd-bg, rgba(127,127,127,.12)); }
html body .ga-cd b { display: block; font-family: var(--ga-f-d); font-size: 2rem; line-height: 1; font-weight: var(--ga-h-w, 500); font-variant-numeric: tabular-nums; }
html body .ga-cd span { font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; opacity: .8; }
html body .ga-freebar { display: grid; gap: 10px; }
html body .ga-freebar p { margin: 0; font-size: .9rem; }
html body .ga-freebar__track { height: 6px; border-radius: 3px; background: rgba(0,0,0,.15); overflow: hidden; }
html body .ga-freebar__track i { display: block; height: 100%; background: var(--ga-dark, #16302A); }

/* ---------- 17. Reviews ---------- */
html body .ga-reviews { display: grid; gap: 16px; }
html body .ga-reviews--cards { grid-auto-flow: column; grid-auto-columns: minmax(270px, 85%); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; }
@media (min-width: 900px) { html body .ga-reviews--cards { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; } }
html body .ga-review { margin: 0; display: flex; flex-direction: column; gap: 14px; padding: 22px; border: 1px solid var(--ga-line); border-radius: var(--ga-r-lg, 16px); background: var(--ga-surface); scroll-snap-align: start; }
html body .ga-review blockquote { margin: 0; padding: 0; border: 0; font-family: var(--ga-f-d); font-size: 1.2rem; line-height: 1.4; font-style: normal; }
html body .ga-review blockquote p { margin: 0; }
html body .ga-review figcaption { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--ga-line); font-size: .85rem; }
html body .ga-review figcaption span { display: block; color: var(--ga-muted); }
html body .ga-review figcaption a { text-decoration: none; }
html body .ga-reviews--feature { }
@media (min-width: 900px) { html body .ga-reviews--feature { grid-template-columns: 1.2fr 1fr 1fr; } }
html body .ga-review--big { background: var(--ga-dark); color: var(--ga-on-dark); border-color: transparent; --ga-muted: var(--ga-on-dark2); --ga-line: var(--ga-line-dk); }
html body .ga-review--big blockquote { font-size: 1.5rem; }
html body .ga-reviews--single { justify-items: center; text-align: center; max-width: 920px; margin: 0 auto; }
html body .ga-reviews--single .ga-review { border: 0; background: none; padding: 0; align-items: center; }
html body .ga-reviews--single .ga-review[hidden] { display: none; }
html body .ga-reviews--single blockquote { font-size: clamp(1.6rem, 1.2rem + 1.8vw, 2.8rem); font-style: italic; line-height: 1.25; }
html body .ga-reviews--single figcaption { border: 0; text-transform: uppercase; letter-spacing: .2em; font-size: .72rem; color: var(--ga-muted); }
html body .ga-reviews__dots { display: flex; gap: 6px; justify-content: center; }
html body .ga-reviews__dots button { width: 34px; height: 34px; border: 0; background: none; cursor: pointer; display: grid; place-items: center; }
html body .ga-reviews__dots button::after { content: ""; width: 8px; height: 8px; transform: rotate(45deg); border: 1px solid var(--ga-gold); }
html body .ga-reviews__dots button[aria-pressed="true"]::after { background: var(--ga-gold); }
html body .ga-score { display: flex; align-items: center; gap: 14px; }
html body .ga-score > b { font-family: var(--ga-f-d); font-size: 3rem; line-height: 1; font-weight: var(--ga-h-w, 500); }
html body .ga-score small { display: block; color: var(--ga-muted); font-size: .8rem; }

/* ---------- 18. Posts ---------- */
html body .ga-posts { display: grid; gap: 22px; }
@media (min-width: 768px) { html body .ga-posts--grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; } }
html body .ga-post a { display: grid; gap: 12px; text-decoration: none; }
html body .ga-post__img { display: block; overflow: hidden; border-radius: var(--ga-r, 12px); }
html body .ga-post__img img { display: block; width: 100%; aspect-ratio: 3/2; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
html body .ga-post a:hover .ga-post__img img { transform: scale(1.04); }
html body .ga-post__body { display: grid; gap: 6px; }
html body .ga-post__cat { font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ga-gold-ink); }
html body .ga-post__title { font-family: var(--ga-f-d); font-size: var(--ga-h4); line-height: 1.18; font-weight: var(--ga-h-w, 500); text-transform: var(--ga-h-tt, none); }
html body .ga-post a:hover .ga-post__title { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
@media (min-width: 900px) {
	html body .ga-posts--lead { grid-template-columns: 1.3fr 1fr; grid-template-rows: repeat(3, auto); column-gap: clamp(24px, 3vw, 56px); }
	html body .ga-posts--lead .ga-post--lead { grid-row: 1 / span 3; }
	html body .ga-posts--lead .ga-post--lead .ga-post__title { font-size: var(--ga-h3); }
	html body .ga-posts--lead .ga-post:not(.ga-post--lead) a { grid-template-columns: 120px 1fr; align-items: center; gap: 18px; padding-bottom: 20px; border-bottom: 1px solid var(--ga-line); }
	html body .ga-posts--lead .ga-post:not(.ga-post--lead) .ga-post__img img { aspect-ratio: 1; }
}

/* ---------- 19. Newsletter ---------- */
html body .ga-nl { display: grid; gap: 10px; width: 100%; max-width: 540px; }
html body .ga-center .ga-nl, html body .ga-center .elementor-shortcode .ga-nl { margin-inline: auto; }
html body .ga-nl__form { display: flex; flex-wrap: wrap; gap: 8px; padding: 6px; border-radius: var(--ga-nl-r, 999px); border: 1px solid var(--ga-nl-line, rgba(255,255,255,.35)); background: var(--ga-nl-bg, rgba(255,255,255,.08)); }
html body .ga-nl__form[hidden] { display: none; }
html body .ga-nl__form:focus-within { border-color: var(--ga-dark-gold, var(--ga-gold)); }
html body .ga-nl__form input[type=email] { flex: 1 1 200px; min-width: 0; height: 48px; border: 0; background: transparent; color: inherit; padding: 0 16px; font: 400 1rem var(--ga-f-b); outline: none; }
html body .ga-nl__form input::placeholder { color: inherit; opacity: .7; }
html body .ga-nl__form button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 24px; border: 0; border-radius: var(--ga-btn-r, 999px); background: var(--ga-on-dark, #F4EEE2); color: var(--ga-dark, #16302A); font: 700 .875rem var(--ga-f-b); letter-spacing: var(--ga-btn-ls, .02em); text-transform: var(--ga-btn-tt, none); cursor: pointer; }
html body .ga-nl__form button .ga-ic { width: 16px; height: 16px; }
html body .ga-nl__form button:hover { background: #fff; }
html body .ga-nl__form button[disabled] { opacity: .6; }
html body .ga-hp { position: absolute !important; left: -9999px; opacity: 0; }
html body .ga-nl__msg { margin: 0; font-weight: 600; color: var(--ga-dark-gold, var(--ga-acc)); }
html body .ga-nl__msg.is-error { color: #F2A48C; }
html body .ga-nl__msg:empty { display: none; }
html body .ga-nl small { font-size: .78rem; opacity: .75; }

/* ---------- 20. Product stage (hero 4) ---------- */
html body .ga-stage { position: relative; display: grid; gap: 28px; align-items: center; justify-items: center; text-align: center; }
@media (min-width: 1024px) { html body .ga-stage { grid-template-columns: minmax(320px, 440px) 1fr; text-align: left; justify-items: start; } }
html body .ga-stage__word { position: absolute; left: 50%; top: 44%; transform: translate(-50%, -50%); font-family: var(--ga-f-d); font-style: italic; font-size: clamp(4.5rem, 2rem + 12vw, 14rem); line-height: 1; color: var(--ga-ink); opacity: .06; white-space: nowrap; pointer-events: none; z-index: 0; }
html body .ga-stage__fig { position: relative; width: min(440px, 84vw); z-index: 1; }
html body .ga-stage__fig::before { content: ""; position: absolute; left: 6%; right: 6%; bottom: -2%; height: 16%; border-radius: 50%; background: radial-gradient(closest-side, rgba(31,58,46,.28), transparent); filter: blur(4px); }
html body .ga-stage__ring { position: absolute; inset: -4%; border-radius: 50%; border: 1px solid rgba(176,138,67,.45); }
html body .ga-stage__ring--2 { inset: 4%; border-style: dashed; border-color: rgba(176,138,67,.35); }
html body .ga-stage__img { position: relative; display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 220px 220px 24px 24px; transition: opacity .25s; }
html body .ga-stage__dot { position: absolute; display: flex; align-items: center; gap: 10px; font-size: .78rem; font-weight: 700; color: var(--ga-dark, #1F3A2E); white-space: nowrap; z-index: 2; }
html body .ga-stage__dot i { width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px rgba(31,58,46,.18), inset 0 0 0 4px var(--ga-dark, #1F3A2E); flex: none; }
html body .ga-stage__dot span { background: #fff; padding: 6px 12px; border-radius: 999px; box-shadow: 0 8px 20px -12px rgba(0,0,0,.35); }
html body .ga-stage__dot--1 { left: -6%; top: 18%; flex-direction: row-reverse; }
html body .ga-stage__dot--2 { right: 4%; top: 44%; flex-direction: row-reverse; }
@media (max-width: 600px) { html body .ga-stage__dot--1, html body .ga-stage__dot--3 { left: 4%; } html body .ga-stage__dot--2 { right: 4%; } }
html body .ga-stage__dot--3 { left: -2%; bottom: 16%; flex-direction: row-reverse; }
@media (max-width: 600px) { html body .ga-stage__dot span { display: none; } }
html body .ga-stage__info { position: relative; z-index: 1; display: grid; gap: 16px; justify-items: inherit; }
html body .ga-stage__name { margin: 0; font-family: var(--ga-f-d); font-size: 1.6rem; line-height: 1.15; }
html body .ga-stage__meta { display: flex; align-items: center; gap: 14px; font-size: .9rem; }
html body .ga-stage__price { font-size: 1.4rem; font-weight: 700; font-variant-numeric: tabular-nums; }
html body .ga-stage__sw { display: flex; gap: 10px; }
html body .ga-stage__sw button { width: 40px; height: 40px; border-radius: 50%; border: 0; cursor: pointer; box-shadow: 0 0 0 2px var(--ga-bg), 0 0 0 3px transparent; transition: box-shadow .2s; }
html body .ga-stage__sw button[aria-pressed="true"] { box-shadow: 0 0 0 3px var(--ga-bg), 0 0 0 5px var(--ga-ink); }
html body .ga-stage__go .ga-ic { width: 18px; height: 18px; }

/* ---------- 21. Mobile tab bar + floating size button ---------- */
html body .ga-tabbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; display: grid; grid-template-columns: repeat(4, 1fr); padding: 6px max(8px, env(safe-area-inset-right, 0px)) calc(6px + env(safe-area-inset-bottom, 0px)) max(8px, env(safe-area-inset-left, 0px)); background: rgba(14,29,48,.96); color: #F6F3EC; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-top: 1px solid rgba(246,243,236,.16); }
html body .ga-tabbar a, html body .ga-tabbar button { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 6px 0; font: 600 10.5px var(--ga-f-b); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; color: #A9B6C6; background: none; border: 0; cursor: pointer; }
html body .ga-tabbar .ga-ic { width: 22px; height: 22px; }
html body .ga-tabbar .is-hot { color: var(--ga-dark-gold, #E8B48A); }
html body .ga-tabbar .ga-cart-count { top: 0; right: calc(50% - 22px); }
html body:has(.ga-tabbar) { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)); }
@media (min-width: 900px) { html body .ga-tabbar { display: none; } html body:has(.ga-tabbar) { padding-bottom: 0; } }
html body .ga-fab { position: fixed; left: 50%; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); z-index: 70; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; border-radius: 999px; background: var(--ga-acc); color: var(--ga-on-acc); font: 700 .85rem var(--ga-f-b); text-decoration: none; box-shadow: 0 14px 30px -12px rgba(22,48,42,.6); transition: opacity .25s, transform .25s; }
html body .ga-fab .ga-ic { width: 18px; height: 18px; }
html body .ga-fab.is-hidden { opacity: 0; pointer-events: none; transform: translate(-50%, 20px); }
@media (min-width: 1024px) { html body .ga-fab { display: none; } }

/* ---------- 22. Basket drawer ---------- */
html body .ga-drawer { position: fixed; inset: 0; z-index: 210; visibility: hidden; font-family: var(--ga-f-b); }
html body .ga-drawer.is-open { visibility: visible; }
html body .ga-drawer__scrim { position: absolute; inset: 0; background: rgba(10,16,13,.55); opacity: 0; transition: opacity .3s; }
html body .ga-drawer.is-open .ga-drawer__scrim { opacity: 1; }
html body .ga-drawer__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(440px, 94vw); background: var(--ga-bg); color: var(--ga-ink); display: flex; flex-direction: column; transform: translateX(102%); transition: transform .38s cubic-bezier(.2,.7,.2,1); padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) 0; }
html body .ga-drawer.is-open .ga-drawer__panel { transform: none; }
html body .ga-drawer__head { display: flex; justify-content: space-between; align-items: center; padding: 14px 22px; border-bottom: 1px solid var(--ga-line); }
html body .ga-drawer__head h2 { margin: 0; font-family: var(--ga-f-d); font-size: 1.6rem; font-weight: var(--ga-h-w, 500); text-transform: var(--ga-h-tt, none); color: inherit; }
html body .ga-drawer__body { flex: 1; overflow: auto; padding: 18px 22px; display: flex; flex-direction: column; gap: 16px; }
html body .ga-shipbar { padding: 12px 14px; border-radius: var(--ga-r, 12px); background: var(--ga-bg2); font-size: .875rem; }
html body .ga-shipbar p { margin: 0; }
html body .ga-shipbar__track { height: 6px; border-radius: 3px; background: var(--ga-line); margin-top: 8px; overflow: hidden; }
html body .ga-shipbar__track i { display: block; height: 100%; background: var(--ga-acc); transition: width .4s; }
html body .ga-cartlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
html body .ga-cartlist li { display: grid; grid-template-columns: 64px 1fr auto; gap: 12px; align-items: start; font-size: .9rem; transition: opacity .2s; }
html body .ga-cartlist li.is-busy { opacity: .5; }
html body .ga-cartlist__img img { width: 64px; height: 80px; object-fit: cover; border-radius: 8px; display: block; }
html body .ga-cartlist__info { display: grid; gap: 4px; min-width: 0; }
html body .ga-cartlist__info > a { font-weight: 600; text-decoration: none; line-height: 1.3; }
html body .ga-cartlist__info small { color: var(--ga-muted); font-size: .78rem; }
html body .ga-cartlist__price { font-weight: 700; font-variant-numeric: tabular-nums; }
html body .ga-qty { display: flex; align-items: center; gap: 6px; margin-top: 4px; }
html body .ga-qty button { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--ga-line); background: var(--ga-surface); color: var(--ga-ink); cursor: pointer; line-height: 1; }
html body .ga-qty .ga-qty__rm { width: auto; border: 0; background: none; text-decoration: underline; font-size: .78rem; color: var(--ga-muted); margin-left: 8px; }
html body .ga-qty span { min-width: 18px; text-align: center; font-weight: 600; }
html body .ga-cartlist__empty { text-align: center; color: var(--ga-muted); padding: 30px 0; display: grid; gap: 14px; justify-items: center; }
html body .ga-cartlist__empty p { margin: 0; }
html body .ga-cartfoot { margin-top: auto; display: grid; gap: 10px; padding-top: 16px; border-top: 1px solid var(--ga-line); }
html body .ga-cartfoot__sub { display: flex; justify-content: space-between; align-items: baseline; font-weight: 700; }
html body .ga-cartfoot__sub b { font-family: var(--ga-f-d); font-size: 1.5rem; }
html body .ga-cartfoot__view { text-align: center; font-size: .85rem; color: var(--ga-muted); }

/* ---------- 23. Modal (product-page size finder) ---------- */
html body .ga-modal { font-family: var(--ga-f-b); color: var(--ga-ink); line-height: 1.6; position: fixed; inset: 0; z-index: 220; display: grid; place-items: center; padding: 16px; }
html body .ga-modal[hidden] { display: none; }
html body .ga-modal__scrim { position: absolute; inset: 0; background: rgba(10,16,13,.6); }
html body .ga-modal__box { position: relative; width: min(1100px, 100%); max-height: calc(100vh - 32px); overflow: auto; background: var(--ga-bg, #FBF8F2); color: var(--ga-ink, #1A1D1C); border-radius: 18px; padding: clamp(18px, 2vw, 32px); padding-top: 56px; }
html body .ga-modal__x { position: absolute; top: 8px; right: 8px; }
html body .ga-pdp-size { margin: 4px 0 18px; }
html body .ga-pdp-size__btn { display: inline-flex; align-items: center; gap: 8px; border: 0; background: none; padding: 6px 0; font: 700 .9rem var(--ga-f-b, sans-serif); color: var(--ga-acc, #1F3A2E); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
html body .ga-pdp-size__btn .ga-ic { width: 20px; height: 20px; }

/* ---------- 24. FAQ (Elementor nested accordion) ---------- */
html body .ga-faq .e-n-accordion { display: grid; gap: 0; }
html body .ga-faq .e-n-accordion-item { border-bottom: 1px solid var(--ga-line); }
html body .ga-faq .e-n-accordion-item:first-child { border-top: 1px solid var(--ga-line); }
html body .ga-faq .e-n-accordion-item-title { padding: 20px 0; background: none !important; border: 0 !important; color: var(--ga-ink) !important; justify-content: space-between; gap: 16px; }
html body .ga-faq .e-n-accordion-item-title-text { font-family: var(--ga-faq-f, var(--ga-f-b)); font-size: var(--ga-faq-fs, 1.1rem); font-weight: var(--ga-faq-fw, 700); text-transform: var(--ga-faq-tt, none); line-height: 1.25; color: var(--ga-ink); }
html body .ga-faq .e-n-accordion-item-title-icon { color: var(--ga-gold-ink); }
html body .ga-faq .e-n-accordion-item-title-icon svg { fill: currentColor; width: 16px; height: 16px; }
html body .ga-faq .e-n-accordion-item > .e-con { padding: 0 0 22px !important; border: 0 !important; background: none; color: var(--ga-muted); }
html body .ga-faq .e-n-accordion-item > .e-con p { max-width: 62ch; }

/* FAQ section layout (heading left, questions right) */
html body .e-con.ga-faqsec > .e-con.ga-wrap { display: grid; gap: 28px; }
@media (min-width: 1024px) { html body .e-con.ga-faqsec > .e-con.ga-wrap { grid-template-columns: 1fr 1.6fr; gap: 64px; } }
html body .e-con.ga-faq__l { gap: 14px; }

/* ---------- 25. Footer basics ---------- */
html body .e-con.ga-foot__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; padding-block: 48px; }
@media (min-width: 1024px) { html body .e-con.ga-foot__grid { grid-template-columns: 1.5fr repeat(3, 1fr); } }
html body .e-con.ga-foot__brand { grid-column: 1/-1; gap: 14px; }
@media (min-width: 1024px) { html body .e-con.ga-foot__brand { grid-column: auto; } }
html body .ga-foot__brand .ga-logo { align-items: flex-start; }
html body .ga-foot__about { max-width: 34ch; color: var(--ga-muted); font-size: .9rem; }
html body .ga-foot__mail a { text-decoration: none; font-size: .9rem; }
html body .ga-social { display: flex; flex-wrap: wrap; gap: 8px; }
html body .ga-social a { padding: 5px 12px; border-radius: 999px; border: 1px solid var(--ga-line); font-size: .78rem; text-decoration: none; }
html body .ga-social a:hover { border-color: currentColor; }
html body .e-con.ga-foot__col { gap: 12px; }
html body .ga-foot__h .elementor-heading-title { font-family: var(--ga-f-b); font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--ga-gold-ink); }
html body .ga-foot__links ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; font-size: .9rem; }
html body .ga-foot__links a { text-decoration: none; color: var(--ga-muted); }
html body .ga-foot__links a:hover { color: var(--ga-ink); text-decoration: underline; }
html body .e-con.ga-foot__bottom { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; padding-block: 20px calc(20px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--ga-line); font-size: .8rem; color: var(--ga-muted); }
html body .ga-pay { display: flex; flex-wrap: wrap; gap: 6px; }
html body .ga-pay span { border: 1px solid var(--ga-line); border-radius: 4px; padding: 2px 8px; font-weight: 600; color: var(--ga-ink); font-size: .75rem; }
html body .ga-foot__copy a { text-decoration: none; }

/* ---------- 26. Native-container enhancers ---------- */
/* Hero slider: container .ga-slides > .ga-slide */
html body .e-con.ga-slides { position: relative; display: grid; min-height: clamp(560px, 82vh, 780px); overflow: hidden; }
html body .e-con.ga-slide { grid-area: 1 / 1; position: relative; opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility .9s; isolation: isolate; }
html body .e-con.ga-slide.is-on, html body .ga-slides:not([data-ga-ready-slides]) > .e-con.ga-slide:first-child { opacity: 1; visibility: visible; }
html body .ga-slide .ga-slide__img img { transform: scale(1.06); transition: transform 7s ease; }
html body .ga-slide.is-on .ga-slide__img img { transform: scale(1); }
html body .ga-slide::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(22,48,42,.92) 0%, rgba(22,48,42,.62) 45%, rgba(22,48,42,.08) 100%); pointer-events: none; }
@media (max-width: 767px) { html body .ga-slide::before { background: linear-gradient(0deg, rgba(22,48,42,.96) 18%, rgba(22,48,42,.55) 60%, rgba(22,48,42,.2) 100%); } }
html body .e-con.ga-slide__copy { position: relative; z-index: 2; justify-content: flex-end; gap: 18px; padding-block: 48px 150px; min-height: inherit; height: 100%; }
@media (min-width: 768px) { html body .e-con.ga-slide__copy { justify-content: center; padding-block: 80px 150px; } }
html body .ga-slide__copy .ga-h1 .elementor-heading-title { max-width: 12ch; }
html body .ga-slide-label { display: none !important; }
html body .ga-slides__nav { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; }
html body .ga-slides__tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; max-width: var(--ga-max, 1360px); margin: 0 auto; padding: 22px max(var(--ga-gut, 16px), env(safe-area-inset-right, 0px)) 22px max(var(--ga-gut, 16px), env(safe-area-inset-left, 0px)); }
html body .ga-slides__tabs button { position: relative; text-align: left; background: none; border: 0; padding: 12px 0 0; cursor: pointer; color: rgba(255,255,255,.7); min-width: 0; font-family: var(--ga-f-b); }
html body .ga-slides__tabs button::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: rgba(255,255,255,.22); }
html body .ga-slides__tabs i { position: absolute; top: 0; left: 0; height: 2px; width: 0; background: var(--ga-dark-gold, #E2C68E); }
html body .ga-slides__tabs [aria-selected="true"] { color: #fff; }
html body .ga-slides__tabs small { display: block; font-size: 11px; font-weight: 700; letter-spacing: .16em; opacity: .8; }
html body .ga-slides__tabs span { display: block; font-weight: 600; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html body .ga-slides__pause { position: absolute; right: max(16px, env(safe-area-inset-right, 0px)); bottom: calc(100% + 16px); width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); background: rgba(22,48,42,.4); color: #fff; cursor: pointer; }
html body .ga-slides__pause::before { content: ""; display: block; margin: auto; width: 10px; height: 12px; border-left: 3px solid currentColor; border-right: 3px solid currentColor; box-sizing: border-box; }
html body .ga-slides__pause.is-paused::before { width: 0; height: 0; border: 0; border-left: 11px solid currentColor; border-top: 7px solid transparent; border-bottom: 7px solid transparent; margin-left: 15px; }
/* Occasion switcher: .ga-occ > .ga-occ-panels > .ga-occ-panel */
html body .ga-occ__tabs { display: flex; flex-wrap: wrap; gap: 6px; }
html body .ga-occ__tabs button { border: 1px solid rgba(255,255,255,.25); background: transparent; color: var(--ga-muted); padding: 8px 16px; border-radius: 999px; font: 600 .85rem var(--ga-f-b); cursor: pointer; transition: .2s; }
html body .ga-occ__tabs button:hover { color: var(--ga-ink); border-color: var(--ga-ink); }
html body .ga-occ__tabs button[aria-selected="true"] { background: var(--ga-dark-gold); border-color: var(--ga-dark-gold); color: var(--ga-dark); }
html body .e-con.ga-occ-panels { display: grid; }
html body .e-con.ga-occ-panel { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .35s, visibility .35s; }
html body .e-con.ga-occ-panel.is-on, html body .ga-occ-panels > .e-con.ga-occ-panel:first-child:not(:has(~ .is-on)) { opacity: 1; visibility: visible; }
html body .ga-occ-label { display: none !important; }
/* Lookbook rail: .ga-lookbook > .ga-look */
html body .e-con.ga-lookbook { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 82%); gap: clamp(14px, 1.5vw, 28px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-inline: max(var(--ga-gut, 16px), env(safe-area-inset-left, 0px)); scroll-padding-inline: max(var(--ga-gut, 16px), env(safe-area-inset-left, 0px)); padding-bottom: 6px; }
html body .e-con.ga-lookbook::-webkit-scrollbar { display: none; }
@media (min-width: 768px) { html body .e-con.ga-lookbook { grid-auto-columns: minmax(300px, 44%); } }
@media (min-width: 1200px) { html body .e-con.ga-lookbook { grid-auto-columns: calc((min(100vw, 1400px) - 96px - 56px) / 3.2); } }
html body .e-con.ga-look { scroll-snap-align: start; gap: 12px; min-width: 0; }
html body .e-con.ga-look-media { position: relative; overflow: hidden; }
html body .ga-look-media .ga-img img { transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
html body .ga-look:hover .ga-look-media .ga-img img { transform: scale(1.04); }
html body .ga-look__no { position: absolute; top: 16px; left: 16px; z-index: 2; font-family: var(--ga-f-d); font-style: italic; font-size: 1.3rem; color: var(--ga-dark-gold, #E2C68E); }
html body .ga-look__open { position: absolute; right: 16px; bottom: 16px; z-index: 4; width: 52px; height: 52px; border-radius: 50%; border: 1px solid var(--ga-gold); background: rgba(15,35,27,.75); color: #F3EBDC; font-size: 1.6rem; line-height: 1; cursor: pointer; display: grid; place-items: center; transition: background .3s; }
html body .ga-look__open span { display: inline-block; transition: transform .35s; }
html body .ga-look.is-open .ga-look__open span { transform: rotate(45deg); }
html body .ga-look__open:hover { background: var(--ga-gold); color: #0F231B; }
html body .ga-look-media .ga-pieces { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; max-height: 92%; overflow: auto; padding: 18px 18px 80px; background: rgba(246,240,227,.97); color: #1E2421; transform: translateY(102%); transition: transform .45s cubic-bezier(.2,.7,.2,1); --ga-ink: #1E2421; --ga-muted: #5D625E; --ga-line: #E3D9C4; --ga-surface: #fff; --ga-bg: #F6F0E3; }
html body .ga-look.is-open .ga-pieces { transform: none; }
html body .ga-pieces .ga-ml__row { grid-template-columns: auto 44px 1fr auto; padding: 6px; font-size: .82rem; }
html body .ga-pieces .ga-ml__thumb { width: 44px; }
html body .ga-pieces .ga-ml__total b { font-size: 1.3rem; }
html body .ga-look .ga-look__d { color: var(--ga-muted); font-size: .9rem; }
html body .elementor-widget-shortcode:has(> .elementor-shortcode > .ga-pieces), html body .elementor-widget-ga-complete-look:has(.ga-pieces), html body .elementor-widget-ga-complete-look:has(.ga-pieces) > .elementor-widget-container { display: contents; }
html body .ga-lookbook__ctrl { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 28px; }
html body .ga-lookbook__ctrl button { width: 52px; height: 52px; border-radius: 50%; border: 1px solid var(--ga-line); background: transparent; color: var(--ga-ink); font-size: 1.5rem; cursor: pointer; }
html body .ga-lookbook__ctrl button:hover { border-color: var(--ga-gold); color: var(--ga-gold); }
html body .ga-lookbook__prog { position: relative; width: min(260px, 50vw); height: 1px; background: var(--ga-line); }
html body .ga-lookbook__prog i { position: absolute; left: 0; top: -1px; height: 3px; width: 20%; background: var(--ga-gold); transition: left .2s; }

@media (prefers-reduced-motion: reduce) {
	html body .ga-kitc *, html body .ga-kitc *::before, html body .ga-kitc *::after, html body .ga-drawer *, html body .ga-mm__panel * { animation: none !important; transition: none !important; }
	html body .ga-ticker__track { width: auto; flex-wrap: wrap; justify-content: center; }
	html body .ga-ticker__dup { display: none; }
}

/* ---------- 27. WooCommerce pages (body.ga-store) ---------- */
html body.ga-store { background: var(--ga-bg); color: var(--ga-ink); font-family: var(--ga-f-b); }
html body.ga-store .woocommerce h1, html body.ga-store .woocommerce-products-header__title, html body.ga-store .product_title { font-family: var(--ga-f-d); font-weight: var(--ga-h-w, 500); text-transform: var(--ga-h-tt, none); letter-spacing: var(--ga-h-ls, -.01em); color: var(--ga-ink); }
html body.ga-store .woocommerce a.button, html body.ga-store .woocommerce button.button, html body.ga-store .woocommerce .button.alt, html body.ga-store .single_add_to_cart_button, html body.ga-store .checkout-button, html body.ga-store #place_order {
	background: var(--ga-acc) !important; color: var(--ga-on-acc) !important; border-radius: var(--ga-btn-r, 999px) !important; min-height: 48px; padding: 0 26px !important; font-family: var(--ga-f-b); font-weight: 700; text-transform: var(--ga-btn-tt, none); letter-spacing: var(--ga-btn-ls, .02em); border: 0; display: inline-flex; align-items: center; justify-content: center;
}
html body.ga-store .woocommerce a.button:hover, html body.ga-store .single_add_to_cart_button:hover { background: var(--ga-acc-h) !important; }
html body.ga-store ul.products li.product .woocommerce-loop-product__title { font-family: var(--ga-f-b); font-size: .95rem; font-weight: 600; color: var(--ga-ink); }
html body.ga-store ul.products li.product img { aspect-ratio: 4/5; object-fit: cover; border-radius: var(--ga-r, 12px); }
html body.ga-store .price { color: var(--ga-ink) !important; font-weight: 700; }
html body.ga-store .woocommerce-breadcrumb { font-size: .8rem; color: var(--ga-muted); }
html body.ga-store .onsale { display: none; }
html body.ga-store .woocommerce-tabs ul.tabs li a { font-family: var(--ga-f-b); }
html body.ga-store .quantity .qty { height: 48px; border-radius: 10px; border: 1px solid var(--ga-line); }
html body.ga-store select, html body.ga-store .woocommerce input.input-text { border-radius: 10px; border: 1px solid var(--ga-line); min-height: 44px; padding: 0 12px; }

/* ---------- 28. Small-screen refinements ---------- */
@media (max-width: 480px) {
	html body .ga-nl__form { border-radius: 18px; }
	html body .ga-nl__form button { flex: 1 1 100%; }
	html body .ga-sf__result .ga-btn-solid { justify-self: stretch; text-align: center; }
	html body .ga-ml__row { grid-template-columns: auto 48px 1fr; }
	html body .ga-ml__row .ga-ml__price { grid-column: 3; }
	html body .ga-ml__thumb { width: 48px; }
}

/* Tablet visibility helper: desktop menus hide at the same width the mobile menu appears (1024px). */
@media (max-width: 1024px) { html body .ga-kitc .ga-hide-t, html body .ga-site-header .ga-hide-t { display: none !important; } }
html body .e-con.ga-hdr__barlinks { width: auto; }

/* ---------- 29. Theme-proofing: the kit does not rely on the theme's reset ---------- */
html body .ga-kitc *, html body .ga-kitc *::before, html body .ga-kitc *::after, html body .ga-drawer, html body .ga-drawer *, html body .ga-modal, html body .ga-modal *, html body .ga-mm__panel, html body .ga-mm__panel *, html body .ga-sf, html body .ga-sf * { box-sizing: border-box; }
html body .ga-drawer a:not(.ga-btn-solid):not(.ga-btn-line), html body .ga-modal a:not(.ga-btn-solid):not(.ga-btn-line), html body .ga-mm__panel a:not(.ga-btn-solid):not(.ga-btn-line) { color: inherit; }
html body .ga-drawer .ga-cartlist a:hover { text-decoration: underline; }
html body.ga-store .woocommerce-breadcrumb a, html body.ga-store .product_meta a, html body.ga-store .woocommerce-review-link { color: var(--ga-ink); }
html body.ga-store .product_meta { font-size: .85rem; color: var(--ga-muted); }
/* Store wrapper when the theme gives none (Hello on Woo pages) */
html body.ga-store main.site-main, html body.ga-store #primary > main, html body.ga-store .woocommerce-notices-wrapper { width: 100%; max-width: var(--ga-max, 1320px); margin-inline: auto; padding-inline: var(--ga-gut, 16px); }
html body.ga-store main.site-main { padding-block: 24px 64px; }
html body.ga-store a.button, html body.ga-store button.button, html body.ga-store .button.alt { background: var(--ga-acc) !important; color: var(--ga-on-acc) !important; border-radius: var(--ga-btn-r, 999px) !important; font-family: var(--ga-f-b); font-weight: var(--ga-btn-fw, 700); text-transform: var(--ga-btn-tt, none); letter-spacing: var(--ga-btn-ls, .02em); font-size: .85rem; padding: .85em 1.4em !important; border: 0 !important; }
html body.ga-store a.button:hover, html body.ga-store button.button:hover { background: var(--ga-acc-h) !important; }
html body.ga-store .star-rating, html body.ga-store .star-rating::before, html body.ga-store p.stars a { color: var(--ga-star, #B08A43); }
html body.ga-store ul.products li.product .price { font-weight: 600; }
@media (max-width: 480px) { html body .ga-mm__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } }
html body .ga-icons > *, html body .ga-iconbtn { flex: none; } html body .ga-iconbtn .ga-ic { width: 22px; height: 22px; flex: none; }

/* ---------- 30. WoodMart ---------- */
/* Kit pages use the "Elementor Full Width" template: no gap between WoodMart's header and the first kit section. */
html body.ga-theme-woodmart.elementor-template-full-width .main-page-wrapper { padding-top: 0; }
/* Sticky elements (kit header, Alpenglow stacking cards) break under overflow:hidden wrappers; clip keeps the no-sideways-scroll effect without that. */
html body.ga-theme-woodmart, html body.ga-theme-woodmart .website-wrapper, html body.ga-theme-woodmart .main-page-wrapper { overflow: visible; overflow-x: clip; }
html body.ga-theme-woodmart .ga-site-header { z-index: 390; }
/* Kit sections own their spacing; WoodMart's default paragraph and list margins would add to it. */
html body.ga-theme-woodmart .ga-kitc .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
/* Kit overlays above WoodMart's sticky header, side panels and mobile toolbar. */
html body.ga-theme-woodmart .ga-mm__panel { z-index: 100100; }
html body.ga-theme-woodmart .ga-drawer { z-index: 100110; }
html body.ga-theme-woodmart .ga-modal { z-index: 100120; }
html body.ga-theme-woodmart .ga-search__panel { z-index: 100090; }

/* ---------- 31. Card quick add + size picker + badge ---------- */
html body .ga-card__add .ga-ic { width: 16px; height: 16px; flex: none; }
html body .ga-card__add .ga-l2 { display: none; }
html body .ga-card__add { gap: 6px; }
html body .ga-card__flag { border-radius: var(--ga-pill-r, 999px); }
html body .ga-qs { position: absolute; left: 10px; right: 10px; bottom: 10px; z-index: 4; padding: 12px; border-radius: calc(var(--ga-card-r, 12px) * .8); background: rgba(255,255,255,.97); color: #1E2421; box-shadow: 0 16px 34px -18px rgba(0,0,0,.45); animation: ga-qs-in .2s ease; }
@keyframes ga-qs-in { from { opacity: 0; transform: translateY(8px); } }
html body .ga-qs p { margin: 0 0 8px; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #5B615E; }
html body .ga-qs > div { display: flex; flex-wrap: wrap; gap: 6px; }
html body .ga-qs button { min-width: 42px; min-height: 36px; padding: 0 10px; border: 1px solid #D9D2C5; border-radius: 8px; background: #fff; color: #1E2421; font: 600 .82rem/1 var(--ga-f-b); cursor: pointer; }
html body .ga-qs button:hover { border-color: #1E2421; }
html body .ga-qs button[disabled] { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
html body .ga-qs button.is-busy { opacity: .6; }
/* Modern + Heritage cards follow the designs: no category line above the name. */
html body .ga-skin-modern .ga-card__cat, html body .ga-skin-heritage .ga-card__cat { display: none; }
/* Modern: small white "+ Add" pill in the photo corner, always visible (as in the design). */
html body .ga-skin-modern .ga-card__add { left: auto; right: 10px; bottom: 10px; transform: none; min-height: 42px; padding: 0 16px; border-radius: 999px; background: #fff; color: #1A1D1C; font-weight: 700; font-size: 13px; letter-spacing: 0; text-transform: none; box-shadow: 0 8px 20px -10px rgba(0,0,0,.35); }
html body .ga-skin-modern .ga-card__add:hover { background: #16302A; color: #F4EEE2; }
html body .ga-skin-modern .ga-card__add .ga-l1 { display: none; }
html body .ga-skin-modern .ga-card__add .ga-l2 { display: inline; }
@media (hover: none) { html body .ga-skin-modern .ga-card__add { position: absolute; margin: 0; border: 0; } }
html body .ga-skin-modern .ga-card__flag { background: #fff; color: #1A1D1C; letter-spacing: 0; text-transform: none; font-size: 11px; }

/* ---------- 32. Design parity details ---------- */
/* Side text in a section head sits to the right of the heading on desktop (as in the designs). */
@media (min-width: 900px) { html body .e-con.ga-head > .elementor-widget-text-editor { flex: 0 1 380px; min-width: 0; } }
/* Customer photo strip under reviews */
html body .e-con.ga-ugc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: clamp(20px, 2vw, 32px); }
@media (min-width: 768px) { html body .e-con.ga-ugc { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; } }
html body .ga-ugc .ga-ugc__img img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--ga-img-r, var(--ga-r, 0)); display: block; }
html body .ga-head > .ga-tabs__bar--head { margin: 0; }
@media (max-width: 767px) { html body .ga-head > .ga-tabs__bar--head { width: 100%; } }
html body .ga-toast { position: fixed; left: 50%; bottom: 24px; z-index: 100200; display: flex; align-items: center; gap: 16px; padding: 12px 18px; border-radius: 999px; background: #1E2421; color: #fff; font: 600 .9rem/1.2 var(--ga-f-b, sans-serif); box-shadow: 0 18px 40px -18px rgba(0,0,0,.55); transform: translate(-50%, 140%); opacity: 0; transition: transform .3s, opacity .3s; }
html body .ga-toast.is-on { transform: translate(-50%, 0); opacity: 1; }
html body .ga-toast a { color: #E2C68E; text-decoration: underline; text-underline-offset: 3px; }

/* Carousel: add the class "ga-carousel" to any container (Advanced → CSS Classes) and its direct children slide.
   Visible on desktop: ga-carousel--2 / --3 / --4 (default 4). Arrows and progress bar are added by ga-kit.js. */
html body .ga-kitc .e-con.e-con.e-con.e-con.e-con.ga-carousel { display: flex; flex-direction: row; flex-wrap: nowrap; grid-template-columns: none; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; gap: var(--ga-car-gap, 20px); --ga-car-w: 78%; }
html body .ga-kitc .e-con.ga-carousel::-webkit-scrollbar { display: none; }
html body .ga-kitc .e-con.e-con.ga-carousel > .elementor-element { flex: 0 0 var(--ga-car-w); width: auto; max-width: none; min-width: 0; scroll-snap-align: start; }
@media (min-width: 768px) { html body .ga-kitc .e-con.e-con.e-con.e-con.e-con.ga-carousel { --ga-car-w: calc((100% - var(--ga-car-gap, 20px) * 1.4) / 2.4); } html body .ga-kitc .e-con.e-con.e-con.e-con.e-con.ga-carousel--2 { --ga-car-w: 70%; } }
@media (min-width: 1024px) {
	html body .ga-kitc .e-con.e-con.e-con.e-con.e-con.ga-carousel, html body .ga-kitc .e-con.e-con.e-con.e-con.e-con.ga-carousel--4 { --ga-car-w: calc((100% - var(--ga-car-gap, 20px) * 3) / 4); }
	html body .ga-kitc .e-con.e-con.e-con.e-con.e-con.ga-carousel--3 { --ga-car-w: calc((100% - var(--ga-car-gap, 20px) * 2) / 3); }
	html body .ga-kitc .e-con.e-con.e-con.e-con.e-con.ga-carousel--2 { --ga-car-w: calc((100% - var(--ga-car-gap, 20px)) / 2); }
}
html body .ga-car__ctrl[hidden] { display: none; }
html body .ga-car__ctrl button[disabled] { opacity: .35; cursor: default; }
