/* ergastiri24 — main.css
   ─────────────────────────────────────────────────────────────────────────────
   SIMPLE MODERN (v2.1.0). One flat stylesheet, written once.

   Replaces the 16 stacked redesign layers of v2.0.5 (5.486 lines), where every
   change was appended at the end and the earlier rules stayed behind as dead
   weight. Rules here are grouped by component and each property is declared in
   exactly ONE place — if a value looks wrong, that place is the only place.

   Design:  white background · near-black ink · greys · a single gold accent
            reserved for prices, links and small marks. One typeface (Inter);
            the display serif is gone. Light only — no dark mode.

   Rules for editing this file:
   · Never append an override block at the bottom. Edit the component's section.
   · Colours and sizes come from the tokens below. No raw hex in components.
   · Anything on a permanently dark band (footer, trust strip, campaign hero)
     writes light values explicitly — there is no theme flipping to fight.
   ───────────────────────────────────────────────────────────────────────────── */

/* ═══════════════════════════════════════════════════════════════════════════
   1. TOKENS
   ═══════════════════════════════════════════════════════════════════════════ */
:root {
  color-scheme: light;

  /* Surfaces */
  --bg: #FFFFFF;
  --bg-rgb: 255,255,255;
  --bg-2: #F6F5F4;          /* quiet fill: photo stages, panels, hovers */
  --surface: #FAF9F8;       /* softer still: summary panels, cards on white */

  /* Ink */
  --ink: #14120F;
  --ink-rgb: 20,18,15;
  --ink-2: #45403B;         /* body copy on white */
  /* Και τα δύο greys είναι ΧΡΩΜΑΤΑ ΚΕΙΜΕΝΟΥ, οπότε πρέπει να περνούν 4.5:1 όχι
     μόνο σε λευκό αλλά και πάνω στο --bg-2, όπου κάθονται οι ετικέτες μέσα σε
     πάνελ. Οι προηγούμενες τιμές (#8B857E / #A9A39C) έδιναν 3.35:1 και 2.50:1. */
  --muted: #6E6862;         /* labels, meta — 5.50:1 σε λευκό, 5.05:1 σε --bg-2 */
  --muted-2: #767067;       /* placeholders, disabled — 4.90:1 σε λευκό, 4.50:1 σε --bg-2 */

  /* Hairlines */
  --line: #EAE8E5;
  --line-2: #D9D5D1;

  /* Accent — warm gold. `--accent` is for marks, borders and decoration;
     `--accent-deep` is the only one allowed on TEXT (4.9:1 on white → AA). */
  --accent: #9A7B2E;
  --accent-deep: #8A6D1F;

  /* Feedback */
  --clr-err: #B3261E;
  --clr-err-bg: #FDF3F2;
  --clr-ok: #1B7A46;

  /* Type — one family. `--serif` and `--display` are kept as aliases so the
     PHP templates' existing .serif / .display classes keep working. */
  --sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --serif: var(--sans);
  --display: var(--sans);
  /* System monospace — used only for small uppercase labels and counters.
     No web font is loaded for it (Menlo/Consolas both cover Greek). */
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;

  --type-body: 14px;
  --type-meta: 12px;
  --type-small: 11px;
  --type-eyebrow: 10.5px;
  --type-h3: 18px;
  --type-h2: clamp(22px, 2.4vw, 30px);
  --type-h1: clamp(28px, 3vw, 40px);
  --type-display-3: clamp(26px, 2.8vw, 40px);
  --type-display-2: clamp(28px, 3.2vw, 46px);
  --type-display-1: clamp(32px, 4.2vw, 58px);
  --type-display-xl: clamp(36px, 5vw, 68px);

  /* Space */
  --sp-1: 4px;   --sp-2: 8px;   --sp-3: 12px;  --sp-4: 16px;
  --sp-5: 20px;  --sp-6: 24px;  --sp-7: 32px;  --sp-8: 40px;
  --sp-9: 56px;  --sp-10: 80px; --sp-11: 104px; --sp-12: 128px;

  /* Shape + motion */
  --radius: 0;
  --card-radius: 12px;
  --pill: 999px;
  --header-h: 76px;
  --tap-target: 44px;
  --soft-shadow: 0 2px 12px -9px rgba(var(--ink-rgb), .22);
  --lift-shadow: 0 14px 30px -18px rgba(var(--ink-rgb), .30);
  --ease: cubic-bezier(.22,1,.36,1);
  --ease-in: cubic-bezier(.55,0,1,.45);
  --dur-fast: .12s;
  --dur-base: .22s;
  --dur-slow: .38s;
}

/* ═══════════════════════════════════════════════════════════════════════════
   2. RESET + BASE
   ═══════════════════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }

/* overflow-x: clip on BOTH html AND body — neither alone suppresses the
   horizontal scrollbar (the root element's overflow has special propagation).
   `clip`, not `hidden`, or position:sticky on the header stops working. */
html, body { margin: 0; padding: 0; overflow-x: clip; }

body {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-size: var(--type-body);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "kern","liga";
  font-optical-sizing: auto;
  text-wrap: pretty;
  position: relative;
}
@media (max-width: 768px) {
  body { font-size: 15px; line-height: 1.6; }
}

a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3, h4 { margin: 0; font-weight: 600; }

/* Focus — one ring, everywhere. */
*:focus:not(:focus-visible) { outline: none; }
*:focus-visible {
  outline: 2px solid var(--accent-deep);
  outline-offset: 2px;
  border-radius: 2px;
}
.btn:focus-visible,
.icon-btn:focus-visible,
.hamburger-btn:focus-visible { outline-offset: 4px; }

::-webkit-scrollbar        { width: 4px; height: 4px; }
::-webkit-scrollbar-track  { background: var(--bg); }
::-webkit-scrollbar-thumb  { background: var(--line-2); }
::-webkit-scrollbar-thumb:hover { background: var(--muted-2); }
html { scrollbar-color: var(--line-2) var(--bg); scrollbar-width: thin; }

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

/* ═══════════════════════════════════════════════════════════════════════════
   3. TYPOGRAPHY
   ═══════════════════════════════════════════════════════════════════════════ */
.display, h1.display, h2.display {
  font-family: var(--sans);
  font-weight: 700;
  letter-spacing: -.022em;
  line-height: 1.06;
  text-wrap: balance;
}
h1.display { font-size: var(--type-display-1); }
h2.display { font-size: var(--type-display-2); }

/* Η Inter δεν έχει άξονα italic — η μηχανική κλίση φαίνεται λάθος στα ελληνικά.
   Το παλιό `.italic` δεν γέρνει πλέον τίποτα· βάφει μια λέξη χρυσή (το «24» στο
   σήμα, ο δεύτερος στίχος του hero). Το σωστό όνομα είναι `.accent-word`· το
   `.italic` μένει ως alias γιατί υπάρχει σε 23 σημεία στα templates.
   ΜΗΝ γράψεις `.italic` σε νέο markup: το όνομα λέει κλίση, το CSS δίνει χρώμα. */
.accent-word,
.italic { font-style: normal; color: var(--accent-deep); }

/* Ομοίως: `--serif` είναι alias της Inter από την 2.1.0, οπότε το `.serif` δεν
   δίνει serif. Δίνει μια βαρύτερη, πιο σφιχτή επικεφαλίδα. */
.heading-sans,
.serif, .display-serif { font-family: var(--sans); font-weight: 600; letter-spacing: -.01em; }
.mono { font-family: var(--mono); font-size: 10.5px; letter-spacing: .02em; }
.smcp { font-size: .8em; letter-spacing: .13em; text-transform: uppercase; }
.text-muted { color: var(--muted); }
.text-center { text-align: center; }
.uppercase { text-transform: uppercase; letter-spacing: .12em; font-size: 11px; }

/* Eyebrow — small label above a heading, with a short gold rule that draws in
   when the section scrolls into view. */
.eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: var(--type-eyebrow); font-weight: 600;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--muted);
}
/* The rule is drawn by default and only animates inside a .reveal block, so a
   section that never receives .is-visible (JS off, or not observed) still shows
   a complete eyebrow instead of a floating label. */
.eyebrow::before {
  content: ""; width: 22px; height: 1px; flex-shrink: 0;
  background: var(--accent);
  transform: scaleX(1); transform-origin: left;
  transition: transform .6s var(--ease) .1s;
}
.reveal .eyebrow::before,
.reveal-stagger .eyebrow::before { transform: scaleX(0); }
.reveal.is-visible .eyebrow::before,
.reveal-stagger.is-visible .eyebrow::before,
.is-visible .eyebrow::before { transform: scaleX(1); }
.hero-fullbleed__content .eyebrow::before,
.hero-split__text .eyebrow::before { animation: lineDraw .6s var(--ease) .4s both; }
@keyframes lineDraw { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.eyebrow--no-rule::before { display: none; }
.eyebrow--muted { color: var(--muted-2); }
.eyebrow--ruled { gap: 10px; }
/* On a dark band the label goes light; the gold rule stays gold. */
.eyebrow--on-dark { color: rgba(255,255,255,.72); }

@media (prefers-reduced-motion: reduce) {
  .eyebrow::before { transform: scaleX(1); transition: none; }
  .hero-fullbleed__content .eyebrow::before,
  .hero-split__text .eyebrow::before { animation: none; }
}

/* Long-form content (pages, posts, term descriptions) */
.entry-content { font-size: 16px; color: var(--ink-2); }
.entry-content > * + * { margin-top: var(--sp-5); }
.entry-content h2 { font-size: var(--type-h1); color: var(--ink); margin-top: var(--sp-8); letter-spacing: -.015em; }
.entry-content h3 { font-size: var(--type-h2); color: var(--ink); margin-top: var(--sp-7); letter-spacing: -.01em; }
.entry-content p { line-height: 1.8; }
.entry-content strong { color: var(--ink); font-weight: 600; }
.entry-content ul, .entry-content ol { padding-left: 1.25em; }
.entry-content li + li { margin-top: 10px; }
.entry-content figure { margin-inline: 0; }
.entry-content figure img,
.entry-content > img { border-radius: var(--card-radius); }
.entry-content a { color: var(--accent-deep); border-bottom: 1px solid var(--line-2); transition: border-color var(--dur-base) ease; }
.entry-content a:hover { border-bottom-color: var(--accent-deep); }
@media (max-width: 768px) { .entry-content { font-size: 15px; } }

.archive-term-desc { margin: clamp(40px, 6vw, 72px) auto 0; }
.archive-term-desc .entry-content { max-width: 72ch; }

/* ═══════════════════════════════════════════════════════════════════════════
   4. LAYOUT + UTILITIES
   ═══════════════════════════════════════════════════════════════════════════ */
.container      { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.container-wide { max-width: 1680px; margin: 0 auto; padding: 0 48px; }
@media (max-width: 1024px) { .container, .container-wide { padding: 0 24px; } }
@media (max-width: 768px)  { .container, .container-wide { padding: 0 16px; } }

.hr   { height: 1px; background: var(--line);   border: 0; margin: 0; }
.hr-2 { height: 1px; background: var(--line-2); border: 0; margin: 0; }

.row     { display: flex; }
.col     { display: flex; flex-direction: column; }
.center  { align-items: center; }
.between { justify-content: space-between; }
.grow    { flex: 1; }
.cta-row { display: flex; gap: 16px; flex-wrap: wrap; }

.gap-1{gap:var(--sp-1)} .gap-2{gap:var(--sp-2)} .gap-3{gap:var(--sp-3)} .gap-4{gap:var(--sp-4)}
.gap-5{gap:var(--sp-5)} .gap-6{gap:var(--sp-6)} .gap-7{gap:var(--sp-7)} .gap-8{gap:var(--sp-8)}
.gap-12{gap:12px} .gap-16{gap:16px} .gap-24{gap:24px} .gap-32{gap:32px} .gap-48{gap:48px}
.mt-1{margin-top:var(--sp-1)} .mt-2{margin-top:var(--sp-2)} .mt-3{margin-top:var(--sp-3)} .mt-4{margin-top:var(--sp-4)}
.mt-5{margin-top:var(--sp-5)} .mt-6{margin-top:var(--sp-6)} .mt-7{margin-top:var(--sp-7)} .mt-8{margin-top:var(--sp-8)}
.mt-9{margin-top:var(--sp-9)} .mt-10{margin-top:var(--sp-10)}
.mb-1{margin-bottom:var(--sp-1)} .mb-2{margin-bottom:var(--sp-2)} .mb-3{margin-bottom:var(--sp-3)} .mb-4{margin-bottom:var(--sp-4)}
.mb-5{margin-bottom:var(--sp-5)} .mb-6{margin-bottom:var(--sp-6)} .mb-7{margin-bottom:var(--sp-7)} .mb-8{margin-bottom:var(--sp-8)}
.mb-9{margin-bottom:var(--sp-9)} .mb-10{margin-bottom:var(--sp-10)}

.no-scrollbar { scrollbar-width: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.is-hidden { display: none !important; }

.sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0;
  margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link:focus-visible {
  position: fixed !important; top: 8px; left: 8px; z-index: 9999;
  padding: 10px 18px; background: var(--ink); color: var(--bg);
  font-size: 13px; letter-spacing: .04em;
  clip: auto !important; width: auto !important; height: auto !important;
  overflow: visible !important; white-space: nowrap;
}

/* Page / section shells */
.page-head { padding-top: var(--sp-7); padding-bottom: var(--sp-5); }
.page-head__crumb {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--mono); font-size: var(--type-eyebrow);
  letter-spacing: .1em; color: var(--accent-deep);
  margin-bottom: var(--sp-4);
}
.page-head__title { font-size: clamp(28px, 3.2vw, 44px); font-weight: 700; letter-spacing: -.022em; line-height: 1.06; margin: 0 0 var(--sp-4); }
.page-head__sub   { font-size: 14px; line-height: 1.75; color: var(--muted); max-width: 60ch; }
.section-pad      { padding-top: var(--sp-7); padding-bottom: var(--sp-9); }
.section-pad-sm   { padding-top: var(--sp-9); padding-bottom: var(--sp-9); }
.section-body     { color: var(--ink-2); }

/* The editorial "§ III" chapter marks belonged to the old direction. The markup
   still prints them on some sections; a simple storefront doesn't want them. */
.section-mark { display: none; }

/* Layout grids used by the PHP templates */
.product-layout-grid  { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,460px); gap: clamp(40px,5vw,72px); align-items: start; }
.cart-layout-grid     { display: grid; grid-template-columns: 1fr 420px; gap: 80px; }
.checkout-layout-grid { display: grid; grid-template-columns: 1fr 400px; gap: 64px; align-items: start; }
.account-layout-grid  { display: grid; grid-template-columns: 220px 1fr; gap: 56px; align-items: start; }
.shop-filter-grid     { display: grid; grid-template-columns: 240px 1fr; gap: 48px; }
/* Desktop only: × on the sidebar header collapses it and the grid reflows.
   The column change is applied INSTANTLY (grid-template-columns is a layout
   property — animating it reflows the whole product grid every frame). The
   smooth feel comes from the sidebar's own transform/opacity, which are
   compositor-only. */
.shop-filter-grid.filters-collapsed { grid-template-columns: 0px 1fr; gap: 0; }
.shop-filter-grid > .filter-sidebar { overflow: hidden; opacity: 1; transform: translateX(0); transition: opacity .3s ease, transform .35s var(--ease); }
.shop-filter-grid.filters-collapsed > .filter-sidebar { opacity: 0; transform: translateX(-12px); pointer-events: none; }

@media (max-width: 1024px) {
  .product-layout-grid  { grid-template-columns: minmax(0,1fr) minmax(320px,380px); gap: 36px; }
  .cart-layout-grid     { grid-template-columns: 1fr 320px; gap: 40px; }
  .checkout-layout-grid { grid-template-columns: 1fr 300px; gap: 40px; }
  .shop-filter-grid     { grid-template-columns: 200px 1fr; gap: 32px; }
}
@media (max-width: 768px) {
  .product-layout-grid,
  .cart-layout-grid,
  .checkout-layout-grid,
  .account-layout-grid,
  .shop-filter-grid { grid-template-columns: 1fr; gap: 40px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   5. BUTTONS
   ═══════════════════════════════════════════════════════════════════════════ */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 0 26px;
  border-radius: var(--pill);
  border: 1px solid var(--ink); background: var(--ink); color: var(--bg);
  font-family: var(--sans); font-size: 11.5px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--dur-base) var(--ease),
              color var(--dur-base) var(--ease),
              border-color var(--dur-base) var(--ease),
              transform var(--dur-fast) ease;
}
.btn:hover    { background: transparent; color: var(--ink); }
.btn:active   { transform: translateY(1px) scale(.99); }
.btn:disabled { opacity: .45; cursor: not-allowed; pointer-events: none; }
.btn-sm       { min-height: var(--tap-target); padding: 0 18px; font-size: 10.5px; }

/* On a dark band: paper fill, ink text. */
.btn--inverted, .btn.btn--inverted { background: #fff; color: var(--ink); border-color: #fff; }
.btn--inverted:hover { background: transparent; color: #fff; border-color: #fff; }
/* On a photo: outlined in paper. */
.btn--on-dark, .btn.btn--on-dark { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.btn--on-dark:hover { background: #fff; color: var(--ink); border-color: #fff; }

.btn-ghost { background: transparent; color: var(--ink); border-color: var(--line-2); }
.btn-ghost:hover { background: var(--ink); color: var(--bg); border-color: var(--ink); }

/* Text link with a rule under it — used for secondary actions everywhere. */
.btn-line, .btn-link {
  display: inline-flex; align-items: center; gap: 8px;
  background: transparent; color: var(--ink);
  border: 0; border-bottom: 1px solid var(--line-2);
  border-radius: 0; height: auto; padding: 5px 0;
  font-family: var(--sans); font-size: 11.5px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; cursor: pointer;
  transition: color var(--dur-base) ease, border-color var(--dur-base) ease;
}
.btn-line:hover, .btn-link:hover { color: var(--accent-deep); border-bottom-color: var(--accent-deep); }

/* Buttons rendered by plugins / WooCommerce shortcodes */
.button, .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 46px; padding: 0 26px; border-radius: var(--pill);
  background: var(--ink); color: var(--bg); border: 1px solid var(--ink);
  font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  cursor: pointer; transition: background var(--dur-base) ease, color var(--dur-base) ease;
}
.button:hover { background: transparent; color: var(--ink); }

/* ═══════════════════════════════════════════════════════════════════════════
   6. FORMS
   ═══════════════════════════════════════════════════════════════════════════ */
.input,
.input-text,
.contact-input, .contact-select, .contact-textarea,
form .form-row .input-text,
form .form-row input[type="text"],
form .form-row input[type="email"],
form .form-row input[type="tel"],
form .form-row input[type="number"],
form .form-row input[type="password"],
form .form-row select,
form .form-row textarea,
.woocommerce-form input[type="text"],
.woocommerce-form input[type="email"],
.woocommerce-form input[type="tel"],
.woocommerce-form input[type="number"],
.woocommerce-form input[type="password"],
.woocommerce-form select,
.woocommerce-form textarea,
.entry-content input[type="text"],
.entry-content input[type="email"],
.entry-content input[type="tel"],
.entry-content input[type="number"],
.entry-content input[type="url"],
.entry-content input[type="search"],
.entry-content textarea,
.entry-content select,
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"],
.wpcf7 input[type="number"], .wpcf7 textarea, .wpcf7 select,
.wpforms-field input[type="text"], .wpforms-field input[type="email"],
.wpforms-field input[type="tel"], .wpforms-field textarea,
.gform_wrapper input[type="text"], .gform_wrapper input[type="email"], .gform_wrapper textarea {
  width: 100%; height: var(--tap-target); padding: 0 14px;
  background: var(--bg); color: var(--ink);
  border: 1px solid var(--line-2); border-radius: 8px;
  font: inherit; font-size: 14px; outline: none; box-sizing: border-box;
  transition: border-color var(--dur-base) ease, box-shadow var(--dur-base) ease;
}
textarea, textarea.input-text, .contact-textarea,
form .form-row textarea, .woocommerce-form textarea,
.entry-content textarea, .wpcf7 textarea, .wpforms-field textarea, .gform_wrapper textarea {
  height: auto; min-height: 120px; padding: 12px 14px; resize: vertical;
}
.input:focus, .input-text:focus,
.contact-input:focus, .contact-select:focus, .contact-textarea:focus,
form .form-row input:focus, form .form-row select:focus, form .form-row textarea:focus,
.woocommerce-form input:focus, .woocommerce-form select:focus, .woocommerce-form textarea:focus,
.entry-content input:focus, .entry-content textarea:focus, .entry-content select:focus,
.wpcf7 input:focus, .wpcf7 textarea:focus,
.wpforms-field input:focus, .wpforms-field textarea:focus {
  border-color: var(--ink);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);
}
::placeholder { color: var(--muted-2); }

.field-label,
.contact-label,
.wpcf7-form label, .wpforms-field-label, .gform_wrapper label,
form .form-row > label,
form .form-row > .optional {
  display: block; font-size: var(--type-eyebrow); font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--muted); margin-bottom: var(--sp-2);
}
form .form-row { margin-bottom: 16px; min-width: 0; }
form .form-row .required, .contact-required { color: var(--accent-deep); margin-left: 2px; }
/* Inline labels (terms, privacy, payment radios) keep sentence case. */
form .form-row label.checkbox,
form .form-row .woocommerce-form__label,
form .form-row .woocommerce-terms-and-conditions-checkbox-text {
  display: inline; font-size: 13px; font-weight: 400; letter-spacing: 0;
  text-transform: none; color: var(--ink); margin-bottom: 0;
}
.form-row.form-row-wide, .form-row-wide { grid-column: 1 / -1; }
.form-row.form-row-first { grid-column: 1; }
.form-row.form-row-last  { grid-column: 2; }

.contact-select {
  appearance: none; cursor: pointer; padding-right: 36px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236E6862' stroke-width='1.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
}

.wpcf7-submit, .wpforms-submit, .gform_button {
  min-height: var(--tap-target); padding: 0 24px; border-radius: var(--pill);
  border: 1px solid var(--ink); background: var(--ink); color: var(--bg);
  font-family: var(--sans); font-size: 11.5px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; cursor: pointer;
  transition: background var(--dur-base) ease, color var(--dur-base) ease;
}
.wpcf7-submit:hover, .wpforms-submit:hover, .gform_button:hover { background: transparent; color: var(--ink); }

/* Error state */
.is-invalid, input.is-invalid, select.is-invalid, textarea.is-invalid,
.has-error input, .has-error select, .has-error textarea,
.form-row.woocommerce-invalid input,
.form-row.woocommerce-invalid select {
  border-color: var(--clr-err) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--clr-err) 14%, transparent);
}
.e24-field-error { display: block; margin-top: 6px; font-size: 11px; color: var(--clr-err); }

/* Select2 (WooCommerce country/state pickers) */
.select2-container--default .select2-selection--single {
  height: var(--tap-target) !important; border: 1px solid var(--line-2) !important;
  border-radius: 8px !important; background: var(--bg) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: var(--tap-target) !important; padding-left: 14px !important; color: var(--ink) !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow { height: var(--tap-target) !important; }
.select2-dropdown { border: 1px solid var(--line-2) !important; border-radius: 8px !important; }

.password-input, .show-password-input { position: relative; display: block; }
.password-strength { margin-top: var(--sp-2); padding: var(--sp-2); font-size: 11px; }

/* ═══════════════════════════════════════════════════════════════════════════
   7. TOP BAR + HEADER
   ═══════════════════════════════════════════════════════════════════════════ */
.top-bar {
  background: var(--ink); color: #fff;
  text-align: center; padding: 8px 16px;
  font-size: 10.5px; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase;
}
.top-bar a { color: #fff; border-bottom: 1px solid rgba(255,255,255,.4); }

.header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
  transition: background-color .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.header.is-condensed {
  background: rgba(255,255,255,.97);
  border-bottom-color: transparent;
  box-shadow: 0 10px 30px -26px rgba(var(--ink-rgb), .5);
}
.header-inner {
  max-width: 1680px; margin: 0 auto;
  display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center; height: var(--header-h); padding: 0 48px; gap: 24px;
}
/* Condense changes height instantly — height is a layout property and must
   never be transitioned; the smooth feel comes from the shadow/background. */
.header.is-condensed .header-inner { height: 58px; }

.header-nav {
  display: flex; align-items: center; gap: 22px;
  min-width: 0; flex-wrap: nowrap; overflow: hidden;
}
.header-nav ul, .header-nav ol { list-style: none; margin: 0; padding: 0; display: contents; }
.header-nav li { list-style: none !important; display: contents; }
.header-nav li::marker { content: none; }
.header-nav a {
  position: relative; flex-shrink: 0; white-space: nowrap; padding: 6px 0;
  font-size: 11.5px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase;
  color: var(--ink-2); transition: color var(--dur-base) ease;
}
.header-nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px;
  background: var(--accent-deep);
  transform: scaleX(0); transform-origin: left center;
  transition: transform var(--dur-base) var(--ease);
}
.header-nav a:hover { color: var(--accent-deep); }
.header-nav a:hover::after { transform: scaleX(1); }
.header-nav a.active::after,
.header-nav a.current-menu-item::after { transform: scaleX(1); transition: none; }
/* Tighten when the menu grows so it stays on one row. */
.header-nav:has(> a:nth-child(5))   { gap: 16px; }
.header-nav:has(> a:nth-child(5)) a { font-size: 11px; }
.header-nav:has(> a:nth-child(7))   { gap: 12px; }
.header-nav:has(> a:nth-child(7)) a { font-size: 10.5px; letter-spacing: .08em; }

.custom-logo-link { display: inline-flex; align-items: center; justify-content: center; line-height: 1; cursor: pointer; }
/* Text brand mark: name + number sit on one line (both inline), the tagline
   drops below it via `small { display:block }` — so this must NOT be a flex
   container, or each child becomes its own row. */
.brand {
  display: inline-block; line-height: 1.05; cursor: pointer; text-align: center;
  font-size: 24px; font-weight: 700; letter-spacing: -.02em; text-transform: lowercase;
}
.brand small {
  display: block; font-size: 8.5px; font-weight: 500;
  letter-spacing: .3em; text-transform: uppercase;
  color: var(--muted); margin-top: 2px;
  overflow: hidden; transition: opacity .25s ease;
}
.header.is-condensed .brand small { opacity: 0; max-height: 0; }
.brand img, .custom-logo, .custom-logo-link img {
  display: block; height: 64px !important; width: auto !important;
  max-width: 320px; object-fit: contain;
}
.header.is-condensed .custom-logo-link img,
.header.is-condensed .custom-logo,
.header.is-condensed .brand img { height: 46px !important; }
/* Desktop: logo hard-left, nav in the centre `auto` column, actions right. */
@media (min-width: 769px) {
  .custom-logo-link, .brand { order: -1; justify-self: start; }
  .brand { text-align: left; }
}

.header-actions { display: flex; align-items: center; gap: 8px; justify-content: flex-end; }

.icon-btn {
  appearance: none; background: transparent; border: 0;
  width: var(--tap-target); height: var(--tap-target);
  min-width: var(--tap-target); min-height: var(--tap-target);
  border-radius: 50%; position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--ink); cursor: pointer;
  transition: background var(--dur-base) ease, color var(--dur-base) ease, transform var(--dur-base) ease;
}
.icon-btn:hover  { background: var(--bg-2); color: var(--accent-deep); }
.icon-btn:active { transform: scale(.94); }
.icon-btn svg    { display: block; width: 22px; height: 22px; stroke-width: 1.5; }

.cart-count, .wishlist-count {
  position: absolute; top: 4px; right: 4px;
  min-width: 18px; height: 18px; padding: 0 5px;
  background: var(--accent-deep); color: #fff;
  border: 2px solid var(--bg); border-radius: 9px;
  font-family: var(--mono); font-size: 10px; font-weight: 600; line-height: 1;
  display: flex; align-items: center; justify-content: center;
  pointer-events: none;
}
.cart-count--empty { opacity: .45; }

@keyframes cartPop  { 0%{transform:scale(1)} 32%{transform:scale(1.2)} 64%{transform:scale(.93)} 100%{transform:scale(1)} }
.icon-btn.is-cart-pop { animation: cartPop .42s var(--ease); }

/* Hamburger */
.hamburger-btn {
  display: none; appearance: none; background: transparent; border: 0;
  width: 40px; height: 40px; padding: 0; cursor: pointer; flex-shrink: 0;
  flex-direction: column; align-items: center; justify-content: center; gap: 6px;
}
.hamburger-btn span {
  display: block; width: 22px; height: 1.5px; background: var(--ink); border-radius: 1px;
  transform-origin: center;
  transition: transform .3s var(--ease), opacity .2s ease;
}
.hamburger-btn span:nth-child(2) { width: 16px; align-self: flex-start; margin-left: 9px; }
.hamburger-btn.is-open span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); width: 22px; }
.hamburger-btn.is-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.hamburger-btn.is-open span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); width: 22px; }

@media (max-width: 1024px) { .header-inner { padding: 0 24px; } }
@media (max-width: 768px) {
  .header-inner  { grid-template-columns: auto 1fr auto; gap: 0; padding: 0 16px; }
  .header-nav    { display: none; }
  .header-actions{ display: none; }   /* search/wishlist/cart live in the bottom nav */
  .hamburger-btn { display: flex; }
  .brand         { font-size: 19px; text-align: left; }
  .brand img, .custom-logo, .custom-logo-link img { height: 32px !important; max-width: 180px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   8. MEGA MENU
   A light panel under the header: slim title row, then a plain 3-column list
   of category links. No thumbnails, no dark intro panel, no index numbers.
   ═══════════════════════════════════════════════════════════════════════════ */
.mega {
  position: absolute; left: 0; right: 0; top: 100%; z-index: 49;
  background: var(--bg);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 30px 60px -34px rgba(var(--ink-rgb), .35);
  opacity: 0; pointer-events: none; transform: translateY(-10px);
  transition: opacity .26s var(--ease), transform .26s var(--ease);
}
.mega.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }

.mega__inner, .mega__inner--tiles {
  display: block;
  max-width: 1680px; margin: 0 auto;
  padding: 24px clamp(24px, 4vw, 48px) 30px;
}
.mega__sheet { display: block; }

.mega__intro {
  display: flex; flex-direction: row; align-items: baseline;
  justify-content: space-between; gap: 24px;
  padding: 0 0 14px; margin-bottom: 4px;
  border-bottom: 1px solid var(--line);
}
.mega__kicker { display: none; }
.mega__title  { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: -.01em; color: var(--ink); }
.mega__all {
  display: inline-flex; align-items: center; gap: 8px; width: fit-content;
  font-size: 12px; font-weight: 600; letter-spacing: .02em;
  color: var(--accent-deep); text-transform: none;
  transition: color var(--dur-base) var(--ease);
}
.mega__all:hover { color: var(--ink); }
.mega__all svg { width: 14px; height: 14px; transition: transform var(--dur-base) var(--ease); }
.mega__all:hover svg { transform: translateX(3px); }

.mega__links {
  display: grid; grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 0 44px; align-content: start; padding: 16px 0 0;
}
.mega__link {
  display: grid; grid-template-columns: minmax(0,1fr) 15px; align-items: center;
  gap: 12px; padding: 12px 4px;
  border-bottom: 1px solid var(--line);
  transition: color var(--dur-base) var(--ease);
}
.mega__link-thumb, .mega__link-index { display: none; }
.mega__link-name {
  font-size: 14.5px; font-weight: 500; letter-spacing: -.006em; color: var(--ink);
  transition: color var(--dur-base) var(--ease);
}
.mega__link svg {
  width: 15px; height: 15px; color: var(--accent);
  opacity: 0; transform: translateX(-4px);
  transition: opacity var(--dur-base) var(--ease), transform var(--dur-base) var(--ease);
}
.mega__link:hover .mega__link-name { color: var(--accent-deep); }
.mega__link:hover svg { opacity: 1; transform: translateX(0); }

/* Brand row under the categories */
.mega-brands { margin-top: 24px; padding: 18px 0 2px; border-top: 1px solid var(--line); }
.mega-brands__head  { display: flex; align-items: baseline; gap: 10px; justify-content: space-between; }
.mega-brands__label { font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin-bottom: 14px; }
.mega-brands__count { font-size: 10px; color: var(--muted); }
.mega .mega-brands__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 26px; }
.mega .mega-brands__list li { margin: 0; }
.mega .mega-brand {
  display: inline-flex; align-items: center; gap: 9px;
  min-height: 46px; padding: 4px 0; line-height: 1;
}
.mega-brand__logo { display: inline-flex; }
.mega-brand__logo img {
  height: 28px; width: auto; max-width: 104px; object-fit: contain; display: block;
  filter: grayscale(1); opacity: .8;
  transition: filter .25s ease, opacity .25s ease;
}
.mega .mega-brand:hover .mega-brand__logo img { filter: grayscale(0); opacity: 1; }
.mega .mega-brand__name { font-size: 13px; color: var(--ink); transition: color .2s var(--ease); }
.mega .mega-brand:hover .mega-brand__name { color: var(--accent-deep); }

/* Fallback tile/column markup, if an older panel shape is ever rendered */
.mega-tile__svg { position: absolute; inset: 0; margin: auto; width: 40%; height: 40%; color: var(--muted); }
.e24-filter-svg { width: 17px; height: 17px; flex: none; color: var(--muted); }

@media (max-width: 1024px) { .mega__links { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 768px)  { .mega { display: none !important; } }

/* ═══════════════════════════════════════════════════════════════════════════
   9. SEARCH OVERLAY
   ═══════════════════════════════════════════════════════════════════════════ */
.search-overlay {
  position: fixed; inset: 0; z-index: 200;
  background: var(--bg);
  display: flex; flex-direction: column; overflow: hidden;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .18s ease, visibility 0s .18s;
}
.search-overlay.is-open {
  opacity: 1; visibility: visible; pointer-events: auto;
  transition: opacity .18s ease;
}
@keyframes searchContentIn { from { opacity: 0; transform: translateY(-14px); } to { opacity: 1; transform: none; } }
.search-overlay.is-open .search-inner { animation: searchContentIn .4s var(--ease) .05s both; }

.search-overlay-top {
  flex-shrink: 0; display: flex; justify-content: flex-end;
  max-width: 860px; width: 100%; margin: 0 auto; padding: 28px 48px 0;
}
.search-close-btn {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  min-width: var(--tap-target); min-height: var(--tap-target);
  background: transparent; border: 0; color: var(--muted);
  transition: color .2s ease;
}
.search-close-btn:hover { color: var(--ink); }

.search-inner {
  flex: 1; overflow-y: auto; overflow-x: hidden; position: relative;
  max-width: 860px; width: 100%; margin: 0 auto; padding: 32px 48px 80px;
  scrollbar-width: none;
}
.search-inner::-webkit-scrollbar { display: none; }

.search-field-wrap {
  position: relative; border-bottom: 1px solid var(--line-2);
  padding-bottom: 14px; margin-bottom: 36px;
  transition: border-color .2s ease;
}
.search-field-wrap:focus-within { border-color: var(--ink); }
.search-field {
  width: 100%; border: 0; background: transparent; outline: none; border-radius: 0;
  height: auto; padding: 0 40px 0 0;
  font-size: clamp(26px, 4.6vw, 46px); font-weight: 600; letter-spacing: -.03em;
  color: var(--ink); line-height: 1.15;
}
.search-field::placeholder { color: var(--line-2); }
.search-field-icon { position: absolute; right: 0; bottom: 16px; color: var(--muted-2); transition: opacity .2s ease; }
.search-field-icon.is-hidden { opacity: 0; pointer-events: none; }

.search-quicklinks { margin-top: 8px; }
.search-quicklinks.is-hidden { display: none; }
.search-quicklinks__label {
  font-family: var(--mono); font-size: 10px; letter-spacing: .12em;
  text-transform: uppercase; color: var(--muted); margin-bottom: 14px;
}
.search-quicklinks__list { display: flex; flex-wrap: wrap; gap: 8px; }
.search-quicklinks__list a {
  display: inline-flex; align-items: center; min-height: var(--tap-target); padding: 0 18px;
  border: 1px solid var(--line-2); border-radius: var(--pill);
  font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink-2);
  transition: border-color .18s var(--ease), color .18s var(--ease);
}
.search-quicklinks__list a:hover { border-color: var(--ink); color: var(--ink); }
.search-occasions { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.search-occasions .search-quicklinks__list a:last-child { color: var(--accent-deep); }

.search-results { display: flex; flex-direction: column; }
@keyframes resultIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.live-search-result-row {
  display: grid; grid-template-columns: 88px 1fr auto; gap: 22px; align-items: center;
  padding: 18px 20px; margin: 0 -20px;
  border-bottom: 1px solid var(--line); color: inherit;
  transition: background .18s var(--ease);
  animation: resultIn .3s var(--ease) both;
}
.live-search-result-row:hover { background: var(--bg-2); }
.live-search-result-row img { width: 88px; height: 88px; aspect-ratio: 1/1; object-fit: cover; display: block; border-radius: 8px; }
.search-result-ph    { width: 88px; height: 88px; aspect-ratio: 1/1; border-radius: 8px; }
.search-result-name  { font-size: 16px; font-weight: 500; letter-spacing: -.015em; color: var(--ink); line-height: 1.3; }
.search-result-cat   { font-family: var(--mono); font-size: 10px; color: var(--muted); letter-spacing: .1em; text-transform: uppercase; margin-top: 6px; }
.search-result-price { font-size: 14px; font-weight: 600; color: var(--accent-deep); white-space: nowrap; }
.search-view-all {
  display: block; padding: 18px 0 4px;
  font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--muted); transition: color .18s var(--ease);
  animation: resultIn .3s var(--ease) both;
}
.search-view-all:hover { color: var(--ink); }
.search-no-results { padding: 56px 0 32px; font-size: 18px; color: var(--muted-2); }

/* Empty search state — shares the medallion language of .empty-state */
.search-empty {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: 48px 0 36px; animation: e24EmptyIn .45s var(--ease) both;
}
.search-empty__icon {
  width: 56px; height: 56px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--muted); background: var(--bg-2); border: 1px solid var(--line);
  margin-bottom: 16px;
}
.search-empty__title { font-size: 20px; font-weight: 600; color: var(--ink); margin: 0 0 6px; }
.search-empty__hint  { font-size: 12px; color: var(--muted); margin: 0; }

@media (max-width: 768px) {
  .search-overlay-top { padding: 20px 20px 0; }
  .search-inner       { padding: 24px 20px 48px; }
  .search-field       { font-size: 26px; }
  .live-search-result-row { margin: 0 -20px; padding: 14px 20px; grid-template-columns: 68px 1fr auto; gap: 14px; }
  .live-search-result-row img, .search-result-ph { width: 68px; height: 68px; }
  .search-quicklinks__list { gap: 6px; }
  .search-quicklinks__list a { min-height: var(--tap-target); padding: 0 16px; font-size: 10.5px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   10. MOBILE NAV
   ═══════════════════════════════════════════════════════════════════════════ */
.mobile-nav {
  position: fixed; inset: 0; top: var(--header-h); z-index: 99;
  background: var(--bg); overflow-y: auto; overflow-x: hidden;
  padding: 24px 20px 64px;
  transform: translateX(-100%); visibility: hidden; will-change: transform;
  transition: transform .3s var(--ease), visibility 0s .3s;
  -webkit-overflow-scrolling: touch;
}
.mobile-nav.is-open {
  transform: translateX(0); visibility: visible;
  transition: transform .3s var(--ease), visibility 0s 0s;
}
.mobile-nav__list, .mobile-nav__sub { list-style: none; margin: 0; padding: 0; }
.mobile-nav__item { display: block; }
.mobile-nav__row  { display: flex; align-items: center; justify-content: space-between; }
.mobile-nav__item + .mobile-nav__item > .mobile-nav__row { border-top: 1px solid var(--line); }
.mobile-nav__link {
  flex: 1; min-width: 0; display: block; padding: 16px 0;
  font-size: 21px; font-weight: 600; letter-spacing: -.015em; line-height: 1.2;
  color: var(--ink); transition: color var(--dur-base) ease;
}
.mobile-nav__link:hover, .mobile-nav__link:active { color: var(--accent-deep); }
.mobile-nav__link--depth-1 { font-size: 16px; font-weight: 500; color: var(--ink-2); padding: 10px 0; letter-spacing: 0; }
.mobile-nav__link--depth-2 { font-size: 13px; font-weight: 400; color: var(--muted); padding: 7px 0; letter-spacing: 0; }

.mobile-nav__toggle {
  flex-shrink: 0; width: var(--tap-target); height: var(--tap-target); margin: -1px 0;
  padding: 0; background: transparent; border: 0; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--muted-2); transition: color var(--dur-base) ease;
}
.mobile-nav__toggle:hover { color: var(--ink); }
.mobile-nav__plus { position: relative; display: block; width: 14px; height: 14px; }
.mobile-nav__plus::before, .mobile-nav__plus::after {
  content: ""; position: absolute; top: 50%; left: 50%; background: currentColor;
  transition: transform var(--dur-base) ease, opacity var(--dur-base) ease;
}
.mobile-nav__plus::before { width: 14px; height: 1px; transform: translate(-50%,-50%); }
.mobile-nav__plus::after  { width: 1px; height: 14px; transform: translate(-50%,-50%); }
.mobile-nav__item.is-open > .mobile-nav__row > .mobile-nav__toggle .mobile-nav__plus::after {
  transform: translate(-50%,-50%) rotate(90deg); opacity: 0;
}
.mobile-nav__sub { padding: 0 0 12px 16px; }
.mobile-nav__item.is-open > .mobile-nav__sub { animation: mobileSubIn .25s var(--ease) both; }
@keyframes mobileSubIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

.mobile-nav-secondary { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 8px; }
.mobile-nav-secondary ul, .mobile-nav-secondary li { list-style: none; padding: 0; margin: 0; display: contents; }
.mobile-nav-secondary a {
  display: inline-flex; align-items: center; padding: 8px 14px;
  border: 1px solid var(--line-2); border-radius: var(--pill);
  font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted);
}
.mobile-nav-secondary a:hover, .mobile-nav-secondary a:active { color: var(--ink); border-color: var(--ink); }

/* Bottom bar — replaces the header actions on phones */
.mobile-bottom-nav {
  display: none;
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 90;
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--line);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.mobile-bottom-nav__item {
  flex: 1; position: relative;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: 10px 4px 8px; background: none; border: 0; cursor: pointer;
  font-family: var(--mono); font-size: 9px; letter-spacing: .06em; color: var(--muted);
  transition: color .18s ease;
}
.mobile-bottom-nav__item::before {
  content: ""; position: absolute; top: 0; left: 50%;
  width: 22px; height: 2px; background: var(--accent-deep);
  transform: translateX(-50%) scaleX(0);
  transition: transform .3s var(--ease);
}
.mobile-bottom-nav__item:hover,
.mobile-bottom-nav__item.is-active { color: var(--ink); }
.mobile-bottom-nav__item.is-active::before { transform: translateX(-50%) scaleX(1); }
.mobile-bottom-nav__item:active svg { transform: scale(.88); }
.mobile-cart-badge {
  position: absolute; top: 6px; right: calc(50% - 14px);
  min-width: 16px; height: 16px; padding: 0 3px; border-radius: 8px;
  background: var(--accent-deep); color: #fff;
  font-family: var(--mono); font-size: 9px;
  display: flex; align-items: center; justify-content: center;
}
@media (max-width: 768px) {
  .mobile-bottom-nav { display: flex; }
  /* `html body` και όχι σκέτο `body`: το WordPress τυπώνει global-styles-inline-css
     μέσα από το wp_head(), δηλαδή ΜΕΤΑ το <link> του θέματος, και περιέχει
     `body{padding-bottom:0}`. Με ίδια specificity κέρδιζε αυτό, οπότε η κάτω μπάρα
     έκρυβε τα τελευταία 57px της σελίδας (τη γραμμή copyright στο footer). */
  html body { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }
}

/* ═══════════════════════════════════════════════════════════════════════════
   11. PRODUCT CARD
   White card, hairline border, square photo, two-line name, gold price and a
   persistent black pill for add-to-cart. The pill sits in the info block, never
   over the photo, so it works the same with and without a pointer.
   ═══════════════════════════════════════════════════════════════════════════ */
.product-card {
  position: relative; display: flex; flex-direction: column;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--card-radius);
  box-shadow: var(--soft-shadow);
  overflow: hidden;
  transition: box-shadow .3s var(--ease), transform .3s var(--ease), border-color .3s var(--ease);
}
.product-card:hover {
  transform: translateY(-3px);
  border-color: var(--line-2);
  box-shadow: var(--lift-shadow);
}

.product-card .ph-wrap {
  position: relative; aspect-ratio: 1/1; overflow: hidden; background: var(--bg);
}
.product-card .ph-wrap .ph,
.product-card .ph-wrap img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  transition: transform .7s var(--ease);
}
.product-card:hover .ph-wrap img { transform: scale(1.03); }
/* Second image cross-fades in on hover when the product has one. */
.has-hover-img .product-thumb--hover { opacity: 0; transition: opacity .45s var(--ease); }
.has-hover-img:hover .product-thumb--hover { opacity: 1; }

/* Stretched link: ::after with NO position on the anchor covers the whole card
   (it positions against .product-card). Buttons sit above it via z-index. */
.product-card__link { color: inherit; }
.product-card__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }

.product-card__info {
  display: flex; flex-direction: column; gap: 4px;
  padding: 13px 14px 14px; text-align: center;
}
.product-card__kicker {
  font-family: var(--mono); font-size: 9px; letter-spacing: .1em;
  text-transform: uppercase; color: var(--muted);
}
.p-name, .product-card .p-name {
  font-size: 13.5px; font-weight: 500; line-height: 1.35; color: var(--ink);
  /* Clamp to 2 lines and reserve the height so prices line up across a row. */
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 2.7em;
  transition: color .2s ease;
}
.product-card:hover .p-name { color: var(--accent-deep); }
.p-price, .product-card .p-price {
  font-size: 16px; font-weight: 700; letter-spacing: -.01em;
  color: var(--accent-deep); margin-top: 2px;
}
.p-price del { color: var(--muted); font-weight: 400; font-size: 13px; margin-right: 6px; opacity: .8; }
.p-price ins { text-decoration: none; color: var(--accent-deep); }
.price-installments { font-size: 11px; color: var(--muted); }

.p-swatches { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 14px; }
.p-swatches:empty { display: none; }
.p-swatch {
  display: inline-block; width: 11px; height: 11px; border-radius: 50%;
  background: var(--c, var(--muted)); border: 1px solid rgba(20,18,15,.18); flex-shrink: 0;
}
.p-stone { font-family: var(--mono); font-size: 10px; color: var(--muted); letter-spacing: .08em; text-transform: uppercase; }

.product-card__quick-add {
  position: relative; z-index: 2; width: 100%; min-height: var(--tap-target); margin-top: 11px;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--ink); color: var(--bg); border: 0; border-radius: var(--pill);
  font-family: var(--sans); font-size: 11px; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase; cursor: pointer;
  transition: background var(--dur-base) ease, color var(--dur-base) ease;
}
.product-card__quick-add:hover { background: var(--accent-deep); }
.product-card__quick-add svg { width: 14px; height: 14px; }

/* Wishlist heart — always visible, top-right of the photo.
   44×44 is the project's stated floor and this is a thumb-zone action on the
   card, so it does not get an exception for looking tidier. */
.wishlist-card-btn {
  position: absolute; top: 6px; right: 6px; z-index: 4;
  width: var(--tap-target); height: var(--tap-target); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.92);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  border: 1px solid var(--line); color: var(--ink); cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.wishlist-card-btn:hover { background: #fff; color: var(--accent-deep); }
.wishlist-card-btn.is-active { color: var(--accent-deep); }
.wishlist-card-btn.is-active svg { fill: currentColor; }
@keyframes heartPop { 0%{transform:scale(1)} 38%{transform:scale(1.35)} 68%{transform:scale(.9)} 100%{transform:scale(1)} }
.wishlist-card-btn.is-heartpop { animation: heartPop .36s var(--ease); }

/* Legacy hover-reveal quick actions — kept working if the markup still ships them */
.product-card .quick { position: absolute; right: 12px; bottom: 12px; z-index: 3; display: flex; gap: 8px; }
.quick-btn, .quick-btn--ghost {
  flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%;
  min-width: var(--tap-target); min-height: var(--tap-target);
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; color: var(--ink); border: 1px solid var(--line-2);
  font-size: 0; cursor: pointer;
  transition: background .2s var(--ease), color .2s var(--ease);
}
.quick-btn:hover, .quick-btn--ghost:hover { background: var(--ink); color: var(--bg); }
.quick-btn svg { display: block; }
.quick-btn.is-added { background: var(--accent-deep); border-color: var(--accent-deep); color: #fff; }

/* Photo placeholder */
.ph { position: relative; overflow: hidden; background: var(--bg-2); }
.ph-label { display: none; }
/* Σκούρα παραλλαγή placeholder — παράγεται από το e24_placeholder( $t, true ). */
.ph-dark  { background: var(--ink); }

/* Image fade-in, toggled by JS */
.e24-fade-img { opacity: 0; transition: opacity .5s var(--ease); }
.e24-fade-img.is-img-loaded { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .product-card, .product-card:hover { transition: none; transform: none; }
  .e24-fade-img { opacity: 1; transition: none; }
}

/* ── Badges ──────────────────────────────────────────────────────────────── */
.badge, .e24-badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 12px; border-radius: var(--pill);
  background: var(--bg-2); color: var(--ink-2);
  border: 1px solid var(--line-2);
  font-size: 9.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
}
.badge--on-card { position: absolute; top: 12px; left: 12px; z-index: 2; background: var(--ink); color: var(--bg); border-color: var(--ink); }
.badge--dark    { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.badge--muted   { background: var(--bg-2); color: var(--ink); }

/* ── Product grids ───────────────────────────────────────────────────────── */
.shop-grid { display: grid; grid-template-columns: repeat(3,1fr); column-gap: 24px; row-gap: 30px; }
.shop-grid.dense { grid-template-columns: repeat(4,1fr); column-gap: 16px; row-gap: 26px; }
.shop-grid.is-filtering { opacity: .3; pointer-events: none; transition: opacity .25s var(--ease); }
.related-products-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; }
.search-results-grid   { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; }
.bridal-grid  { display: grid; grid-template-columns: repeat(var(--cols,3),1fr); gap: 24px; margin-top: var(--sp-8); }
.journal-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; }
.pdp-cols-4   { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; }

@media (max-width: 1024px) {
  .shop-grid { grid-template-columns: repeat(2,1fr); }
  .shop-grid.dense { grid-template-columns: repeat(3,1fr); }
  .journal-grid { grid-template-columns: 1fr 1fr; }
  .pdp-cols-4 { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .related-products-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .search-results-grid   { grid-template-columns: repeat(2,1fr); gap: 24px; }
}
@media (max-width: 768px) {
  .shop-grid, .shop-grid.dense { grid-template-columns: repeat(2,1fr); gap: 16px 12px; }
  .journal-grid { grid-template-columns: 1fr; }
  .bridal-grid  { grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 28px; }
  .pdp-cols-4   { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
}
@media (max-width: 560px) {
  .shop-grid, .shop-grid.dense,
  .related-products-grid, .search-results-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px 10px; }
  .bridal-grid { grid-template-columns: 1fr; }
  .product-card__info { padding: 10px 10px 12px; }
  .product-card .p-name  { font-size: 12.5px; }
  .product-card .p-price { font-size: 14.5px; }
  /* Το κείμενο και το εικονίδιο μικραίνουν για να χωρέσουν σε στήλη 2-up στα
     320px, αλλά το ΥΨΟΣ μένει στα 44px: είναι η κύρια ενέργεια αγοράς και
     πατιέται με τον αντίχειρα. */
  .product-card__quick-add { margin-top: 9px; font-size: 9.5px; letter-spacing: .02em; gap: 5px; }
  .product-card__quick-add svg { width: 12px; height: 12px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   12. SHOP TOOLBAR + FILTERS
   ═══════════════════════════════════════════════════════════════════════════ */
.shop-toolbar [data-view] { min-width: var(--tap-target); min-height: var(--tap-target); display: inline-flex; align-items: center; justify-content: center; }

.sort-strip { display: flex; align-items: center; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.sort-strip::-webkit-scrollbar { display: none; }
.sort-btn {
  position: relative; appearance: none; background: transparent; border: 0;
  min-height: var(--tap-target); padding: 4px 12px; cursor: pointer; white-space: nowrap;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--mono); font-size: 10px; font-weight: 500;
  letter-spacing: .08em; text-transform: uppercase; color: var(--muted);
  transition: color .18s var(--ease);
}
.sort-btn::after {
  content: ""; position: absolute; bottom: 0; left: 12px; right: 12px; height: 1px;
  background: var(--ink);
  transform: scaleX(0); transform-origin: left center;
  transition: transform .22s var(--ease);
}
.sort-btn:hover, .sort-btn.is-active { color: var(--ink); }
.sort-btn:hover::after { transform: scaleX(1); }
.sort-btn.is-active::after { transform: scaleX(1); transition: none; }

.filter-sidebar { padding-top: 8px; }
.filter-sidebar label { display: flex; align-items: center; gap: 10px; padding: 6px 0; cursor: pointer; font-size: 13px; }
.filter-group { border-top: 1px solid var(--line); padding: 16px 0; }
.filter-group-header {
  width: 100%; display: flex; justify-content: space-between; align-items: center;
  background: transparent; border: 0; padding: 0; cursor: pointer;
  font-family: inherit; font-size: 11px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--ink);
}
.filter-group-header .caret { display: inline-flex; transition: transform .3s var(--ease); }
.filter-group.is-collapsed .filter-group-header .caret { transform: rotate(0) !important; }
/* Only opacity transitions — max-height is a layout property and reflows per frame. */
.filter-group > div:not(.filter-group-header) { overflow: hidden; max-height: 800px; opacity: 1; transition: opacity .25s ease; }
.filter-group.is-collapsed > div:not(.filter-group-header) {
  max-height: 0; opacity: 0; pointer-events: none;
  margin-top: 0 !important; padding-top: 0; padding-bottom: 0;
}
.filter-check {
  width: 15px; height: 15px; border-radius: 3px;
  border: 1px solid var(--line-2); background: transparent; color: var(--bg);
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
  transition: background .2s ease, border-color .2s ease;
}
.filter-check:hover { border-color: var(--ink); }
.filter-check.is-checked { background: var(--ink); border-color: var(--ink); }
.filter-group label > .text-muted { margin-left: auto; }
.filter-group label:has(.filter-check.is-checked) { color: var(--ink); font-weight: 600; }
.filter-check.is-checked + input + .e24-filter-svg,
.filter-sidebar label:hover .e24-filter-svg { color: var(--ink); }

/* Secondary attribute groups stay hidden until "more filters" is opened —
   unless one of them already has a checked value. */
.filter-group--secondary { display: block; }
.filter-sidebar:not(.is-showing-more) .filter-group--secondary { display: none; }
.filter-sidebar:not(.is-showing-more) .filter-group--secondary:has(.filter-check.is-checked) { display: block; }
.filter-more-toggle {
  display: inline-flex; align-items: center; gap: 8px; width: 100%;
  margin: 6px 0 12px; padding: 11px 0;
  background: transparent; border: 0; border-top: 1px solid var(--line);
  color: var(--ink); cursor: pointer; text-align: left;
  font-size: 10.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
}
.filter-more-toggle__count { color: var(--accent-deep); font-size: 10px; }
.filter-more-toggle svg { margin-left: auto; transition: transform var(--dur-base) var(--ease); }
.filter-sidebar.is-showing-more .filter-more-toggle svg { transform: rotate(180deg); }

.filter-backdrop, .filter-sidebar-header, .filter-apply-bar { display: none; }

@media (max-width: 768px) {
  .filter-sidebar {
    position: fixed; inset: 0; z-index: 200;
    background: var(--bg); overflow-y: auto;
    padding: 24px 20px calc(80px + env(safe-area-inset-bottom, 0px));
    transform: translateX(-100%); visibility: hidden;
    transition: transform .3s var(--ease), visibility 0s linear .3s;
  }
  .filter-sidebar.is-open { transform: translateX(0); visibility: visible; transition: transform .3s var(--ease); }
  .filter-backdrop {
    display: block; position: fixed; inset: 0; z-index: 199;
    background: rgba(var(--ink-rgb), .38); backdrop-filter: blur(2px);
    opacity: 0; pointer-events: none; transition: opacity .3s var(--ease);
  }
  .filter-backdrop.is-open { opacity: 1; pointer-events: auto; }
  .filter-sidebar-header { display: flex; justify-content: space-between; align-items: center; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--line); }
  .filter-mobile-head {
    position: sticky; top: 0; z-index: 3;
    margin: -24px -20px 14px; padding: 16px 20px;
    background: var(--bg); border-bottom: 1px solid var(--line);
  }
  .filter-apply-bar {
    display: block; position: sticky; bottom: 0; z-index: 2;
    margin: 24px -20px 0;
    padding: 14px 20px calc(14px + env(safe-area-inset-bottom, 0px));
    background: var(--bg); border-top: 1px solid var(--line);
    box-shadow: 0 -12px 26px -16px rgba(var(--ink-rgb), .35);
  }
  .filter-apply-bar .btn { width: 100%; min-height: 50px; }
  .filter-check { width: 18px; height: 18px; }
  .js-shop-wrapper { display: block !important; }
  .shop-view-toggle { display: none !important; }
  .shop-toolbar__right { flex: 1; min-width: 0; gap: 0 !important; overflow: hidden; }
  .shop-toolbar__right .sort-strip { flex: 1; min-width: 0; }
  .sort-btn { font-size: 9px; padding: 4px 8px; }
}

/* Shop intro rail — a short editorial index above the filters */
.collection-rail { display: grid; grid-template-columns: minmax(230px,.78fr) minmax(0,1.55fr); border-bottom: 1px solid var(--line); }
.collection-rail__copy { padding: clamp(28px,3.6vw,48px) clamp(24px,4vw,64px) clamp(28px,3.6vw,48px) 0; }
.collection-rail__copy .eyebrow { margin-bottom: 13px; }
.collection-rail__copy p { max-width: 62ch; margin: 0; color: var(--ink-2); font-size: 14px; line-height: 1.65; }
.collection-rail__links { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-left: 1px solid var(--line); }
.collection-rail__links a {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  min-height: 50%; padding: 22px 28px; border-bottom: 1px solid var(--line);
  color: var(--ink); font-size: 15px; font-weight: 600; letter-spacing: -.015em;
  transition: color var(--dur-base) var(--ease), background var(--dur-base) var(--ease);
}
.collection-rail__links a:nth-child(odd) { border-right: 1px solid var(--line); }
.collection-rail__links a:hover { background: var(--surface); color: var(--accent-deep); }
.collection-rail__links svg { transition: transform var(--dur-base) var(--ease); }
.collection-rail__links a:hover svg { transform: translateX(4px); }
@media (max-width: 680px) {
  .collection-rail { grid-template-columns: 1fr; }
  .collection-rail__copy { padding: 28px 0; }
  .collection-rail__links { border-left: 0; }
  .collection-rail__links a { min-height: 70px; padding: 18px 14px; }
}

/* ── Pagination ──────────────────────────────────────────────────────────── */
.pagination { display: flex; justify-content: center; gap: 8px; margin-top: 56px; }
.pagination .page-numbers {
  width: 38px; height: 38px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--line-2); font-family: var(--mono); font-size: 12px;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.pagination .page-numbers.current,
.pagination .page-numbers:hover { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.pagination .page-numbers.prev,
.pagination .page-numbers.next { width: auto; padding: 0 16px; border-radius: var(--pill); }
@media (max-width: 768px) {
  .pagination { gap: 6px; margin-top: 36px; }
  .pagination .page-numbers { width: 34px; height: 34px; font-size: 11px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   13. PRODUCT DETAIL PAGE
   ═══════════════════════════════════════════════════════════════════════════ */
.product-main-image {
  position: relative; aspect-ratio: 1/1; overflow: hidden;
  background: var(--bg-2); border-radius: var(--card-radius); cursor: zoom-in;
}
.product-main-image img {
  width: 100%; height: 100%; object-fit: cover;
  transform-origin: var(--zoom-x, 50%) var(--zoom-y, 50%);
  transition: transform .3s ease;
}
.product-main-image:not(.is-zoomed):hover img { transform: scale(1.04); }
.product-main-image.is-zoomed { cursor: zoom-out; }
.product-main-image.is-zoomed img { transform: scale(2.4); }
.zoom-hint {
  position: absolute; top: 16px; right: 16px;
  display: flex; align-items: center; gap: 6px;
  padding: 6px 12px; border-radius: var(--pill);
  background: rgba(255,255,255,.9); color: var(--ink);
  font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
}
@media (hover: none) { .zoom-hint { display: none; } }

.product-thumbnails { display: flex; flex-direction: row; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.product-thumb-btn {
  flex-shrink: 0; width: 82px; height: 82px; padding: 0; overflow: hidden;
  background: transparent; border: 1px solid var(--line); border-radius: 8px;
  cursor: pointer; transition: border-color .2s ease;
}
.product-thumb-btn.is-active { border-color: var(--ink); }
.product-thumb-btn:focus-visible,
.metal-swatch-btn:focus-visible, .size-btn:focus-visible,
.stone-btn:focus-visible, .engrave-font-btn:focus-visible { outline: 2px solid var(--accent-deep); outline-offset: 2px; }

.product-gallery-mobile { display: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.product-gallery-mobile::-webkit-scrollbar { display: none; }
.gallery-dots { display: flex; justify-content: center; gap: 6px; margin-top: 10px; }
.gallery-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--line-2); flex-shrink: 0; transition: background var(--dur-base) ease; }
.gallery-dot.is-active { background: var(--ink); }

.pdp-info { max-width: 460px; position: sticky; top: calc(var(--header-h) + 24px); align-self: start; }
.pdp-info h1 { max-width: 22ch; }
.pdp-info h1.pdp-title {
  margin-top: 14px;
  font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.2rem);
  font-weight: 700; letter-spacing: -.022em; line-height: 1.12; text-wrap: balance;
}
.pdp-brand { margin-bottom: 9px; color: var(--accent-deep); font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.pdp-code  { margin-top: 9px; color: var(--muted); font-size: 10.5px; letter-spacing: .05em; }
.pdp-code span { color: var(--ink-2); }

.pdp-price-row { display: flex; align-items: center; gap: 14px; margin-top: 16px; }
.pdp-price     { font-size: 26px; font-weight: 700; letter-spacing: -.02em; color: var(--accent-deep); }
.pdp-price del { margin-right: 8px; font-size: 18px; font-weight: 400; color: var(--muted); }
.pdp-price ins { text-decoration: none; color: inherit; }
.pdp-short-desc { margin-top: 20px; font-size: 14px; line-height: 1.7; color: var(--ink-2); }
/* Εξηγεί τα σήματα καθαρότητας (925°, 14Κ) που αλλιώς είναι απλώς νούμερα για
   κάποιον που δεν ξέρει κοσμήματα. Εμφανίζεται μόνο όταν υπάρχει σήμα. */
.pdp-facts-note { margin: -18px 0 26px; font-size: 11.5px; line-height: 1.5; color: var(--muted); }
.pdp-variation-error { margin-top: 12px; min-height: 1.4em; font-size: 12px; color: var(--clr-err); }

/* Εξαντλημένο: το CTA αντικαθίσταται από ετικέτα κατάστασης + σύλληψη email. */
.pdp-oos {
  width: 100%; min-height: 52px; margin-top: 24px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--line-2); border-radius: var(--pill);
  font-family: var(--mono); font-size: 11px;
  letter-spacing: .08em; text-transform: uppercase; color: var(--muted);
}
.pdp-notify { margin-top: 20px; }
.pdp-notify__label { margin: 0 0 12px; font-size: 12px; color: var(--muted); }
.pdp-notify__row { display: flex; gap: 10px; }
.pdp-notify__row .input { flex: 1; min-width: 0; font-size: 13px; }
.pdp-notify__row .btn  { flex-shrink: 0; padding: 0 20px; }
.pdp-notify__msg { display: none; margin-top: 10px; font-size: 11px; letter-spacing: .04em; color: var(--accent-deep); }
/* Στα 320px το πεδίο έμενε με ~150px δίπλα στο κουμπί. Στοίβαξέ τα. */
@media (max-width: 380px) {
  .pdp-notify__row { flex-direction: column; }
  .pdp-notify__row .btn { width: 100%; }
}

@keyframes e24PdpIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.pdp-info > * { animation: e24PdpIn .5s var(--ease) both; }
.pdp-info > *:nth-child(1) { animation-delay: .04s; }
.pdp-info > *:nth-child(2) { animation-delay: .10s; }
.pdp-info > *:nth-child(3) { animation-delay: .16s; }
.pdp-info > *:nth-child(4) { animation-delay: .22s; }
.pdp-info > *:nth-child(n+5) { animation-delay: .28s; }

.pdp-facts {
  display: grid; grid-template-columns: repeat(3, minmax(0,1fr));
  margin: 26px 0 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.pdp-fact { min-width: 0; padding: 13px 12px 14px; border-right: 1px solid var(--line); }
.pdp-fact:first-child { padding-left: 0; }
.pdp-fact:last-child  { border-right: 0; padding-right: 0; }
.pdp-fact dt, .pdp-specimen__item dt {
  margin-bottom: 6px; color: var(--muted);
  font-family: var(--mono); font-size: 8.5px; font-weight: 500;
  letter-spacing: .1em; line-height: 1.25; text-transform: uppercase;
}
.pdp-fact dd { margin: 0; color: var(--ink); font-size: 12px; font-weight: 600; line-height: 1.35; }

.pdp-purchase-panel { padding: 16px; border: 1px solid var(--line); border-radius: var(--card-radius); background: var(--surface); }
.pdp-low-stock { margin: 0 0 12px; color: var(--accent-deep); font-size: 10px; font-weight: 600; letter-spacing: .06em; }
.pdp-add-to-cart, .single_add_to_cart_button {
  width: 100%; min-height: 54px; margin-top: 0;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--ink); color: var(--bg); border: 1px solid var(--ink);
  border-radius: var(--pill);
  font-family: var(--sans); font-size: 12px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; cursor: pointer;
  transition: background var(--dur-base) ease, color var(--dur-base) ease;
}
.pdp-add-to-cart:hover, .single_add_to_cart_button:hover { background: var(--accent-deep); border-color: var(--accent-deep); color: #fff; }
.product-configurator button[name="add-to-cart"].is-added,
.single_add_to_cart_button.is-added { background: var(--accent-deep); border-color: var(--accent-deep); color: #fff; }
.pdp-delivery { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 14px; font-size: 11px; color: var(--muted); }
.pdp-delivery svg { color: var(--accent-deep); }
.pdp-purchase-panel .pdp-delivery { justify-content: flex-start; margin: 13px 0 0; font-size: 10px; }
.pdp-purchase-panel .trust-micro {
  display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 7px 13px;
  margin-top: 10px; font-size: 9px; color: var(--muted); letter-spacing: .04em;
}
.pdp-purchase-panel .trust-micro span { display: inline-flex; align-items: center; gap: 4px; }
.pdp-wishlist {
  width: 100%; margin-top: 16px;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
}
.pdp-wishlist.is-active, .pdp-wishlist.is-saved { border-color: var(--ink); background: var(--bg-2); }
.pdp-wishlist.is-active svg, .pdp-wishlist.is-saved svg { fill: var(--ink); }

/* Variation pickers */
.spec-row { border-top: 1px solid var(--line); padding: 16px 0; }
.spec-row-header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.metal-swatch-btn {
  display: inline-flex; align-items: center; gap: 8px;
  min-height: var(--tap-target); min-width: var(--tap-target);
  padding: 5px 14px 5px 5px; background: transparent;
  border: 1px solid var(--line-2); border-radius: var(--pill); cursor: pointer;
  transition: border-color .2s ease;
}
.metal-swatch-btn:hover, .metal-swatch-btn.is-active { border-color: var(--ink); }
.metal-swatch-dot {
  width: 22px; height: 22px; border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.12), inset -3px -4px 6px rgba(0,0,0,.18), inset 3px 4px 6px rgba(255,255,255,.55);
}
.metal-swatch-btn.is-active .metal-swatch-dot { outline: 1px solid var(--ink); outline-offset: 2px; }
.size-btn, .stone-btn {
  min-height: var(--tap-target); min-width: var(--tap-target); padding: 8px 16px;
  background: transparent; color: var(--ink);
  border: 1px solid var(--line-2); border-radius: var(--pill);
  font-family: var(--sans); font-size: 11.5px; cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.size-btn:hover, .stone-btn:hover { border-color: var(--ink); }
.size-btn.is-active, .stone-btn.is-active { background: var(--ink); color: var(--bg); border-color: var(--ink); }

/* Quantity stepper */
.product-configurator .quantity {
  position: relative; display: inline-flex; align-items: center; overflow: hidden;
  width: 132px; height: 48px; margin: 20px 0 4px;
  border: 1px solid var(--line-2); border-radius: var(--pill); background: var(--bg);
}
.product-configurator .quantity .qty {
  -moz-appearance: textfield; appearance: textfield;
  width: 100%; height: 100%; padding: 0 44px;
  border: 0; background: transparent; outline: none; text-align: center;
  font-family: var(--mono); font-size: 14px; color: var(--ink);
}
.product-configurator .quantity .qty::-webkit-outer-spin-button,
.product-configurator .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.product-configurator .quantity .qty-minus,
.product-configurator .quantity .qty-plus {
  position: absolute; top: 0; bottom: 0; width: 44px; z-index: 2;
  display: flex; align-items: center; justify-content: center;
  background: transparent; border: 0; cursor: pointer; user-select: none;
  color: var(--ink); font-family: var(--mono); font-size: 16px;
  transition: background .2s ease;
}
.product-configurator .quantity .qty-minus { left: 0; }
.product-configurator .quantity .qty-plus  { right: 0; }
.product-configurator .quantity .qty-minus:hover,
.product-configurator .quantity .qty-plus:hover { background: var(--bg-2); }
.qty-btn {
  width: var(--tap-target); height: var(--tap-target);
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; border: 0; cursor: pointer;
}

/* Engraving */
.engraving-box { background: var(--bg-2); border-radius: var(--card-radius); padding: 20px; margin-top: 14px; }
.engrave-fonts { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 16px; }
.engrave-font-btn {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 14px 8px 12px; cursor: pointer;
  background: var(--bg); color: var(--ink);
  border: 1px solid var(--line-2); border-radius: 8px;
  transition: border-color var(--dur-base) ease;
}
.engrave-font-btn:hover { border-color: var(--muted-2); }
.engrave-font-btn.is-active { border-color: var(--ink); outline: 1px solid var(--ink); outline-offset: -1px; }
.engrave-font-btn__sample { font-size: 26px; line-height: 1; color: var(--ink); }
.engrave-font-btn__name {
  font-family: var(--mono); font-size: 8.5px; letter-spacing: .05em; text-transform: uppercase;
  color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%;
}
.engrave-font-btn.is-active .engrave-font-btn__name { color: var(--ink); }
.engrave-input { background: var(--bg) !important; }
.engrave-counter-row { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.engrave-bar { flex: 1; height: 2px; background: var(--line-2); overflow: hidden; }
.engrave-bar__fill { height: 100%; background: var(--muted-2); transform: scaleX(0); transform-origin: left; transition: transform .18s var(--ease), background-color .2s ease; }
.engrave-bar__fill.is-near { background: var(--accent); }
.engrave-bar__fill.is-full { background: var(--clr-err); }
#engraving-counter { flex-shrink: 0; font-size: 10px; color: var(--muted); }
.engrave-chars-note { font-size: 11px; margin: 6px 0 0; line-height: 1.5; color: var(--muted); }
.engrave-preview { margin-top: 16px; border: 1px solid var(--line-2); border-radius: 8px; background: var(--bg); overflow: hidden; }
.engrave-preview__label { display: block; padding: 10px 16px; border-bottom: 1px solid var(--line); font-size: 9px; color: var(--muted); letter-spacing: .12em; text-transform: uppercase; }
.engrave-preview__stage { padding: 24px 16px; min-height: 72px; display: flex; align-items: center; justify-content: center; }
.engrave-preview__text  { font-size: 28px; color: var(--ink-2); letter-spacing: .06em; line-height: 1.2; text-align: center; }
.engrave-preview__placeholder { font-size: 14px; color: var(--muted-2); }
.engrave-preview__value { display: inline; }
.engrave-check-icon.is-checked { background: var(--ink); }
label:has(> #engraving-toggle:focus-visible) #engrave-check-icon { outline: 2px solid var(--ink); outline-offset: 2px; }

/* Accordion */
.pdp-accordion { margin-top: 28px; border-top: 1px solid var(--line); }
.pdp-acc { border-bottom: 1px solid var(--line); }
.pdp-acc > summary {
  list-style: none; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 2px;
  font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--ink); transition: color .2s ease;
}
.pdp-acc > summary::-webkit-details-marker { display: none; }
.pdp-acc > summary:hover { color: var(--accent-deep); }
.pdp-acc__icon { position: relative; width: 14px; height: 14px; flex-shrink: 0; }
.pdp-acc__icon::before, .pdp-acc__icon::after {
  content: ""; position: absolute; background: currentColor;
  transition: transform .3s var(--ease), opacity .3s ease;
}
.pdp-acc__icon::before { top: 6px; left: 0; width: 14px; height: 1.5px; }
.pdp-acc__icon::after  { left: 6px; top: 0; width: 1.5px; height: 14px; }
.pdp-acc[open] .pdp-acc__icon::after { transform: scaleY(0); opacity: 0; }
.pdp-acc__body { padding: 0 2px 18px; font-size: 13px; line-height: 1.75; color: var(--ink-2); animation: e24AccIn .3s var(--ease) both; }
.pdp-acc__body p { margin: 0 0 10px; }
.pdp-acc__body p:last-child { margin-bottom: 0; }
@keyframes e24AccIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* Specs + related */
.pdp-specimen { margin-top: 80px; padding-top: 40px; border-top: 1px solid var(--line); }
.pdp-specimen__head { display: flex; align-items: end; justify-content: space-between; gap: 38px; margin-bottom: 28px; }
.pdp-specimen__head .eyebrow { margin-bottom: 10px; }
.pdp-specimen__head h2 { margin: 0; font-size: clamp(24px, 2.8vw, 38px); font-weight: 700; letter-spacing: -.022em; }
.pdp-specimen__head p  { max-width: 34ch; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.pdp-specimen__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.pdp-specimen__item { min-height: 94px; padding: 17px 19px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--surface); }
.pdp-specimen__item dd { margin: 0; color: var(--ink); font-size: 14px; font-weight: 600; line-height: 1.45; }
.pdp-recently-viewed { margin-top: 76px; padding-top: 38px; border-top: 1px solid var(--line); }
.pdp-recently-viewed h2 { margin: 0 0 28px; font-size: clamp(22px, 2.6vw, 32px); font-weight: 700; letter-spacing: -.022em; }
#recently-viewed-grid.is-in > * { opacity: 0; transform: translateY(16px); animation: e24RvIn .5s var(--ease) forwards; }
#recently-viewed-grid.is-in > *:nth-child(1) { animation-delay: .04s; }
#recently-viewed-grid.is-in > *:nth-child(2) { animation-delay: .12s; }
#recently-viewed-grid.is-in > *:nth-child(3) { animation-delay: .20s; }
#recently-viewed-grid.is-in > *:nth-child(4) { animation-delay: .28s; }
@keyframes e24RvIn { to { opacity: 1; transform: none; } }

/* Ratings + reviews */
.e24-stars, .reviews-stars, .review-card__stars { display: inline-flex; align-items: center; gap: 2px; line-height: 0; }
.e24-star { fill: var(--line-2); flex: none; }
.e24-star.is-on { fill: var(--accent); }
.pdp-rating { display: inline-flex; align-items: center; gap: 10px; margin-top: 12px; color: inherit; }
.pdp-rating__count { font-family: var(--mono); font-size: 11px; color: var(--muted); letter-spacing: .04em; transition: color .2s ease; }
.pdp-rating:hover .pdp-rating__count { color: var(--ink); }
.pdp-reviews { margin-top: 88px; padding-top: 48px; border-top: 1px solid var(--line); }
.pdp-reviews__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 36px; }
.pdp-reviews__summary { display: flex; align-items: center; gap: 14px; }
.pdp-reviews__avg { font-size: 42px; font-weight: 700; line-height: 1; letter-spacing: -.03em; }
.pdp-reviews__empty { font-size: 14px; color: var(--muted); margin: 0 0 8px; }
.pdp-reviews__form-title { font-size: 16px; font-weight: 600; margin: 0 0 16px; }
.pdp-reviews__list { list-style: none; margin: 0 0 8px; padding: 0; display: grid; }
.pdp-review { padding: 30px 0; border-top: 1px solid var(--line); }
.pdp-review:first-child { border-top: 0; padding-top: 0; }
.pdp-review__top { display: flex; align-items: center; gap: 12px; }
.pdp-review__author { font-size: 15px; font-weight: 600; }
.pdp-review__date { display: block; font-size: 10.5px; color: var(--muted); letter-spacing: .06em; margin: 4px 0 10px; }
.pdp-review__body { font-size: 14px; line-height: 1.7; color: var(--ink-2); max-width: 68ch; }
.pdp-review__body p { margin: 0 0 8px; }
.pdp-reviews .comment-respond { margin-top: 8px; }
.pdp-reviews .comment-form { max-width: 560px; }
.pdp-reviews .comment-form p { margin: 0 0 16px; }
.pdp-reviews .comment-form label {
  display: block; font-size: 11px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px;
}
.pdp-reviews .form-submit { margin-bottom: 0; }
.e24-rating-field select { max-width: 200px; cursor: pointer; }

/* Sticky add-to-cart (phones) */
.sticky-atc { display: none; }
@media (max-width: 768px) {
  .pdp-info { max-width: none; position: static; }
  .pdp-info h1 { max-width: none; }
  .product-thumbnails-col { display: none; }
  .product-gallery-mobile {
    display: flex !important; gap: 8px; overflow-x: auto;
    margin-bottom: 24px; scroll-snap-type: x mandatory;
  }
  .product-gallery-mobile > * { scroll-snap-align: start; flex: 0 0 85vw; }
  .product-thumbnails .product-thumb-btn { width: 68px; height: 68px; }
  .pdp-facts { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .pdp-fact { min-height: 66px; padding: 11px 8px; }
  .pdp-fact dd { font-size: 10px; }
  .pdp-specimen { margin-top: 60px; padding-top: 30px; }
  .pdp-specimen__head { display: grid; gap: 16px; }
  .pdp-specimen__grid { grid-template-columns: 1fr; }
  .pdp-specimen__item { min-height: auto; padding: 15px 16px; }
  .pdp-recently-viewed { margin-top: 56px; padding-top: 30px; }

  .sticky-atc {
    display: block; position: fixed; z-index: 80;
    bottom: calc(56px + env(safe-area-inset-bottom, 0px)); left: 0; right: 0;
    background: var(--bg); border-top: 1px solid var(--line); padding: 12px 16px;
    transform: translateY(100%); transition: transform .3s var(--ease);
  }
  .sticky-atc.is-visible { transform: translateY(0); }
  .sticky-atc__inner { display: flex; gap: 12px; align-items: center; }
  .sticky-atc__name  { flex: 1; font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .sticky-atc__btn   { flex-shrink: 0; min-height: 44px; padding: 0 20px; font-size: 11px; white-space: nowrap; }
}
@media (max-width: 1024px) {
  .pdp-facts { grid-template-columns: 1fr; }
  .pdp-fact { display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding: 11px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .pdp-fact:last-child { border-bottom: 0; }
  .pdp-fact dt { margin: 0; }
  .pdp-specimen__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 480px) {
  .product-thumbnails { gap: 8px; }
  .product-thumbnails .product-thumb-btn { width: 56px; height: 56px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   14. DRAWERS · QUICK VIEW · TOASTS
   ═══════════════════════════════════════════════════════════════════════════ */
.drawer-bg {
  position: fixed; inset: 0; z-index: 100;
  background: rgba(var(--ink-rgb), .38); backdrop-filter: blur(2px);
  opacity: 0; pointer-events: none; transition: opacity .3s ease;
}
.drawer-bg.is-open { opacity: 1; pointer-events: auto; }
.drawer {
  position: fixed; right: 0; top: 0; bottom: 0; z-index: 101;
  width: 460px; max-width: 100vw;
  background: var(--bg); display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform .4s var(--ease);
}
.drawer.is-open { transform: translateX(0); }
.drawer-hd, .drawer-header {
  flex-shrink: 0; display: flex; align-items: center; justify-content: space-between;
  padding: 22px 28px; border-bottom: 1px solid var(--line);
}
.drawer-title { font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
#cart-drawer-inner { display: flex; flex-direction: column; flex: 1; min-height: 0; overflow: hidden; }
.drawer-body, .wishlist-drawer-body {
  flex: 1; min-height: 0; overflow-y: auto; padding: 20px 28px;
  overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
}
.drawer-ft { border-top: 1px solid var(--line); padding: 22px 28px; display: flex; flex-direction: column; gap: 14px; }

.cart-remove-btn {
  align-self: flex-start; background: transparent; border: 0;
  padding: 12px 0; min-height: var(--tap-target);
  font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--muted); text-decoration: underline; cursor: pointer;
}
.cart-remove-btn:hover { color: var(--ink); }

@keyframes e24CartCollapse { 0% { opacity: 1; transform: translateX(0); } 100% { opacity: 0; transform: translateX(14px); } }
.drawer-body [data-cart-key].is-removing { overflow: hidden; pointer-events: none; animation: e24CartCollapse .4s var(--ease) forwards; }
@keyframes e24NewItem { from { background: var(--bg-2); } to { background: transparent; } }
.drawer-body [data-cart-key].is-new { animation: e24NewItem 1.4s var(--ease); border-radius: 6px; }
@keyframes e24QtyRoll { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }
.js-qty-display.is-rolling { animation: e24QtyRoll .26s var(--ease); }

.js-coupon-msg { display: flex; align-items: center; gap: 6px; transition: color .15s ease; }
.js-coupon-msg.is-ok  { color: var(--clr-ok); }
.js-coupon-msg.is-err { color: var(--clr-err); }
.js-coupon-msg.is-ok::before,
.js-coupon-msg.is-err::before { content: ""; flex-shrink: 0; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }

/* Wishlist drawer rows */
.wishlist-empty { padding: 48px 28px; text-align: center; font-size: 13px; color: var(--muted); }
.wishlist-loading {
  height: 3px; margin: 32px 28px;
  background: linear-gradient(90deg, var(--line-2), var(--accent), var(--line-2));
  background-size: 200% 100%; animation: drawer-load 1.2s ease infinite;
}
@keyframes drawer-load { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
.wishlist-item {
  display: grid; grid-template-columns: 80px 1fr auto; gap: 14px; align-items: start;
  padding: 16px 28px; border-bottom: 1px solid var(--line);
}
.wishlist-item__img { display: block; width: 80px; aspect-ratio: 1/1; overflow: hidden; border-radius: 8px; flex-shrink: 0; }
.wishlist-item__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wishlist-item__info { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.wishlist-item__name { font-size: 14px; font-weight: 500; color: var(--ink); line-height: 1.3; }
.wishlist-item__price { font-size: 13px; font-weight: 600; color: var(--accent-deep); }
.wishlist-item__atc { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.wishlist-item__remove { align-self: start; padding: 4px; background: transparent; border: 0; color: var(--muted); cursor: pointer; }
.wishlist-item__remove:hover { color: var(--ink); }
.wishlist-sk-row { display: flex; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.wishlist-sk-row__body { flex: 1; display: flex; flex-direction: column; justify-content: center; }

/* Quick view */
.qv-overlay {
  position: fixed; inset: 0; z-index: 300; padding: 24px;
  background: rgba(20,18,15,.48); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none; transition: opacity .26s var(--ease);
}
.qv-overlay.is-open { opacity: 1; pointer-events: auto; }
body.qv-open { overflow: hidden; }
.qv-inner {
  position: relative; background: var(--bg); border-radius: var(--card-radius); overflow: hidden;
  max-width: 920px; width: 100%; max-height: 90vh; overflow-y: auto; overscroll-behavior: contain;
  display: grid; grid-template-columns: 1fr 1fr;
  transform: translateY(12px); transition: transform .3s var(--ease);
}
.qv-overlay.is-open .qv-inner { transform: translateY(0); }
.qv-close {
  position: absolute; top: 18px; right: 18px; z-index: 1;
  width: var(--tap-target); height: var(--tap-target); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.92); border: 0; color: var(--ink); cursor: pointer;
}
.qv-spinner { grid-column: 1 / -1; height: 320px; background: linear-gradient(90deg, var(--line-2), var(--bg), var(--line-2)); background-size: 200% 100%; animation: drawer-load 1.2s ease infinite; }
.qv-media { position: relative; }
.qv-main-img { width: 100%; height: 100%; object-fit: cover; display: block; aspect-ratio: 1/1; }
.qv-thumbs { position: absolute; bottom: 0; left: 0; right: 0; display: flex; gap: 6px; padding: 8px; background: linear-gradient(to top, rgba(20,18,15,.3), transparent); }
.qv-thumb { width: 48px; height: 48px; object-fit: cover; cursor: pointer; opacity: .65; border: 1.5px solid transparent; border-radius: 4px; transition: opacity .2s ease; }
.qv-thumb:hover, .qv-thumb.is-active { opacity: 1; border-color: #fff; }
.qv-body { padding: 36px 32px; display: flex; flex-direction: column; gap: 14px; overflow-y: auto; }
.qv-cat  { margin: 0; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.qv-name { margin: 0; font-size: clamp(20px, 2vw, 26px); font-weight: 700; letter-spacing: -.022em; line-height: 1.2; }
.qv-price { font-size: 18px; font-weight: 700; color: var(--accent-deep); }
.qv-swatches { display: flex; flex-direction: column; gap: 6px; }
.qv-swatch-label { font-size: 9.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.qv-swatch-row { display: flex; gap: 8px; flex-wrap: wrap; }
.qv-swatch { display: block; width: 20px; height: 20px; border-radius: 50%; background: var(--c, var(--muted)); border: 2px solid rgba(20,18,15,.1); }
.qv-stone { margin: 0; font-size: 11.5px; color: var(--muted); }
.qv-actions { display: flex; flex-direction: column; gap: 10px; margin-top: auto; padding-top: 16px; }
.qv-sold-out { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.qv-details-link { text-align: center; font-size: 10.5px; letter-spacing: .12em; color: var(--muted); text-decoration: underline; text-underline-offset: 3px; }
.qv-skeleton { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; padding: 8px; }
.qv-skeleton__body { display: flex; flex-direction: column; justify-content: center; padding-right: 24px; }
@media (max-width: 600px) {
  .qv-inner { grid-template-columns: 1fr; max-height: 95vh; }
  .qv-body  { padding: 24px 20px; }
  .qv-skeleton { grid-template-columns: 1fr; }
}

/* Fly-to-cart dot */
@keyframes flyToCart {
  0%   { opacity: 1; transform: translate(0,0) scale(1); }
  55%  { opacity: 1; }
  100% { opacity: 0; transform: var(--end-transform) scale(.15); }
}
.fly-dot {
  position: fixed; z-index: 200; width: 14px; height: 14px; border-radius: 50%;
  background: var(--accent-deep); pointer-events: none;
  animation: flyToCart .65s var(--ease) forwards;
}

/* Toast */
.e24-cart-toast {
  position: fixed; bottom: 28px; left: 50%; z-index: 9999;
  display: inline-flex; align-items: center; gap: 10px;
  max-width: min(440px, 90vw); padding: 13px 20px; border-radius: var(--pill);
  background: var(--ink); color: var(--bg);
  font-size: 12.5px; line-height: 1.35;
  box-shadow: 0 14px 36px -14px rgba(0,0,0,.5);
  transform: translate(-50%, 12px); opacity: 0; pointer-events: none;
  transition: opacity .3s var(--ease), transform .4s var(--ease);
}
.e24-cart-toast.is-visible { transform: translate(-50%, 0); opacity: 1; }
.e24-cart-toast__icon { flex-shrink: 0; display: inline-flex; }
.e24-cart-toast__msg  { min-width: 0; }

/* Shipping meter */
.shipping-meter__text { display: flex; justify-content: space-between; font-size: 11px; margin-bottom: 8px; }
.shipping-meter__unlocked { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--clr-ok); }
.shipping-meter__bar  { height: 3px; background: var(--line); position: relative; border-radius: 2px; overflow: hidden; }
.shipping-meter__fill { position: absolute; inset: 0; width: 100%; transform-origin: left center; background: var(--accent-deep); transition: transform .4s var(--ease); }

/* Skeletons */
.e24-sk { position: relative; overflow: hidden; background: var(--bg-2); border-radius: 4px; }
.e24-sk::after {
  content: ""; position: absolute; inset: 0; transform: translateX(-100%);
  background: linear-gradient(90deg, rgba(255,255,255,0) 0, rgba(255,255,255,.6) 50%, rgba(255,255,255,0) 100%);
  animation: e24Shimmer 1.3s infinite;
}
@keyframes e24Shimmer { 100% { transform: translateX(100%); } }
.e24-sk--line  { height: 12px; margin-bottom: 10px; }
.e24-sk--line.lg { height: 22px; }
.e24-sk--block { height: 48px; margin-top: 18px; }
.e24-sk--media { width: 100%; aspect-ratio: 1/1; margin: 0; }
.e24-sk--thumb { width: 84px; height: 84px; flex-shrink: 0; }

@media (max-width: 768px) {
  .drawer      { width: 100vw; }
  .drawer-hd, .drawer-header, .drawer-body, .drawer-ft { padding: 16px; }
  [data-cart-key] { grid-template-columns: 68px 1fr !important; gap: 12px !important; }
  [data-cart-key] img, [data-cart-key] .ph { width: 68px !important; min-width: 0; }
  .qty-btn { width: 38px; height: 38px; }
  .wishlist-item { padding: 16px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   15. CART · CHECKOUT · ACCOUNT
   ═══════════════════════════════════════════════════════════════════════════ */
.cart-items-header { display: grid; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.cart-item-row { border-bottom: 1px solid var(--line); }

.cart-empty-state {
  max-width: 520px; margin: clamp(24px,4vw,56px) 0 clamp(48px,8vw,88px);
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-4);
}
.cart-empty-state__icon {
  width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center;
  background: var(--bg-2); color: var(--accent-deep); border: 1px solid var(--line);
  margin-bottom: var(--sp-2);
}
.cart-empty-state__title { margin: 0; font-size: clamp(22px,2.8vw,32px); font-weight: 700; letter-spacing: -.022em; line-height: 1.1; }
.cart-empty-state__sub   { margin: 0; max-width: 42ch; color: var(--muted); font-size: 15px; line-height: 1.6; }
.cart-empty-state .btn   { margin-top: var(--sp-2); }
.cart-empty-state__cats  {
  display: flex; flex-wrap: wrap; gap: var(--sp-2); width: 100%;
  margin-top: var(--sp-4); padding-top: var(--sp-5); border-top: 1px solid var(--line);
}
.cart-empty-state__cat {
  display: inline-flex; align-items: center; min-height: var(--tap-target);
  padding: 0 18px; border: 1px solid var(--line-2); border-radius: var(--pill);
  font-family: var(--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink);
  transition: background var(--dur-base) var(--ease), color var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);
}
.cart-empty-state__cat:hover { background: var(--ink); color: var(--bg); border-color: var(--ink); }

/* Generic empty state (drawers, wishlist, account) */
.empty-state {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: 48px 28px 40px; animation: e24EmptyIn .5s var(--ease) both;
}
.empty-state__icon {
  position: relative; width: 64px; height: 64px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--accent-deep); background: var(--bg-2); border: 1px solid var(--line);
  margin-bottom: 20px;
}
.empty-state__title { margin: 0 0 8px; font-size: 20px; font-weight: 700; letter-spacing: -.022em; line-height: 1.15; color: var(--ink); }
/* Επικεφαλίδα «δεν βρέθηκε τίποτα». Ήταν φτιαγμένη στο χέρι με inline styles σε
   πέντε templates (αναζήτηση, blog, κατάστημα, παραγγελίες, checkout). */
.empty-heading {
  margin: 0 0 12px; color: var(--ink);
  font-size: clamp(22px, 2.6vw, 30px); font-weight: 600; letter-spacing: -.02em; line-height: 1.2;
}
.empty-heading--sm { font-size: 17px; margin-bottom: 8px; }
/* Εισαγωγική παράγραφος κάτω από επικεφαλίδα σελίδας. */
.lede { max-width: 60ch; font-size: clamp(15px, 1.6vw, 19px); line-height: 1.65; color: var(--muted); }
.empty-state__text  { margin: 0 0 22px; max-width: 30ch; font-size: 13px; line-height: 1.6; color: var(--muted); }
.empty-state .btn-line { align-self: center; }
@keyframes e24EmptyIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

/* Checkout */
.checkout-title.page-head__title { font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.2rem); line-height: 1.12; }
.checkout-steps { display: flex; gap: 8px; border-bottom: 1px solid var(--line); }
.checkout-step-btn {
  position: relative; display: inline-flex; align-items: center; gap: 10px;
  padding: 0 20px 16px; margin-bottom: -1px;
  background: transparent; border: 0; border-bottom: 2px solid transparent;
  font-family: inherit; font-size: 11px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--muted); cursor: pointer;
  transition: border-color var(--dur-base) ease, color var(--dur-base) ease, opacity var(--dur-base) ease;
}
.checkout-step-btn.is-active { border-bottom-color: var(--ink); color: var(--ink); }
.checkout-step-btn.is-locked { opacity: .4; cursor: not-allowed; pointer-events: none; }
.checkout-step-btn.has-error { opacity: 1; }
.checkout-step-btn.has-error .step-num { border-color: var(--clr-err); color: var(--clr-err); }
.step-num {
  width: 22px; height: 22px; border-radius: 50%; border: 1px solid currentColor;
  font-family: var(--mono); font-size: 10px;
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.step-num.is-done    { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.step-num.is-current { border-color: var(--ink); }
.checkout-panel { min-height: 0; }
.step-actions { margin-top: var(--sp-7); display: flex; justify-content: flex-end; gap: var(--sp-4); }
.step-actions--split { justify-content: space-between; }
.step-actions .btn, .step-actions .btn-line { min-height: 52px; }
.step-actions .btn { padding: 0 40px; }

.ship-method {
  display: flex; align-items: center; gap: 16px;
  padding: 20px; margin-bottom: 12px; cursor: pointer;
  border: 1px solid var(--line-2); border-radius: var(--card-radius);
  transition: border-color .2s ease, background-color .2s ease;
}
.ship-method:hover { border-color: var(--muted-2); }
.ship-method.is-selected { border-color: var(--ink); background: var(--bg-2); }
label.shipping-label-active { border-color: var(--ink) !important; }

.checkout-summary { background: var(--bg-2); border-radius: var(--card-radius); padding: 32px; position: sticky; top: calc(var(--header-h) + 24px); }
.checkout-summary__toggle  { display: none; }
.checkout-summary__heading { margin-bottom: 24px; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.checkout-summary__items   { display: flex; flex-direction: column; gap: 16px; margin-bottom: 24px; }
.checkout-summary__trust   { font-size: 11px; margin-top: 20px; line-height: 1.6; color: var(--muted); }

.order-totals-list  { border-top: 1px solid var(--line-2); padding-top: 16px; display: flex; flex-direction: column; gap: 10px; }
.order-totals-row   { display: flex; justify-content: space-between; font-size: 13px; }
.order-totals-grand { border-top: 1px solid var(--line-2); margin-top: 16px; padding-top: 16px; display: flex; justify-content: space-between; align-items: baseline; }
.order-total-amount { font-size: 24px; font-weight: 700; letter-spacing: -.02em; color: var(--accent-deep); }

@media (max-width: 768px) {
  .checkout-summary { order: -1; position: static; padding: 0; background: transparent; border: 1px solid var(--line-2); }
  .checkout-summary__toggle {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    width: 100%; min-height: 56px; padding: 16px 20px;
    background: var(--bg-2); border: 0; cursor: pointer; font-family: inherit;
  }
  .checkout-summary__peek { display: inline-flex; align-items: center; gap: 10px; }
  .checkout-summary__peek .serif { font-size: 17px; }
  .checkout-summary__chev { flex-shrink: 0; transition: transform .24s var(--ease); }
  .checkout-summary.is-open .checkout-summary__chev { transform: rotate(180deg); }
  .checkout-summary__heading { display: none; }
  .checkout-summary__body { display: none; padding: 20px; }
  .checkout-summary.is-open .checkout-summary__body { display: block; }
  .order-totals-grand .order-total-amount { font-size: 22px; }
  .checkout-steps { overflow-x: auto; }
  .checkout-step-btn { padding: 0 14px 16px; font-size: 10px; }
  .cart-items-header { display: none; }
  .cart-item-row { display: flex !important; flex-direction: column; gap: 12px !important; align-items: flex-start !important; }
}

/* Account */
.account-sidebar-nav { position: sticky; top: calc(var(--header-h) + 24px); display: flex; flex-direction: column; gap: 2px; }
.account-sidebar-nav a,
.account-nav a, .account-nav li a {
  display: block; padding: 12px 0; border-bottom: 1px solid var(--line);
  font-size: 13px; color: var(--muted); transition: color .2s ease;
}
.account-sidebar-nav a:hover,
.account-nav a:hover, .account-nav li a:hover { color: var(--ink); }
.account-sidebar-nav a.is-active,
.account-nav .is-active, .account-nav li.is-active a,
.woocommerce-MyAccount-navigation-link.is-active a { color: var(--ink); font-weight: 600; }

.orders-header { display: grid; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.order-row { border-bottom: 1px solid var(--line); }
.orders-pagination { display: flex; align-items: center; gap: 12px; margin-top: 32px; font-size: 12px; }
.orders-pagination a { border-bottom: 1px solid var(--line); padding-bottom: 1px; transition: border-color .2s ease; }
.orders-pagination a:hover { border-color: var(--ink); }
.orders-pagination .current-page { font-family: var(--mono); font-size: 11px; color: var(--muted); }

.ea-form { max-width: 560px; }
.ea-section-title {
  margin: 32px 0 20px; padding-top: 32px; border-top: 1px solid var(--line);
  font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted);
}
.ea-section-title:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.ea-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ea-hint { font-size: 11px; color: var(--muted); margin-top: 6px; }
.ea-actions { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); }
@media (max-width: 768px) {
  .account-sidebar-nav {
    position: static; flex-direction: row; flex-wrap: wrap; gap: 0;
    border-top: 1px solid var(--line); margin-bottom: 32px;
  }
  .account-sidebar-nav a {
    flex: 1 1 auto; padding: 12px 16px !important;
    border-bottom: none !important; border-right: 1px solid var(--line);
    white-space: nowrap; font-size: 12px !important;
  }
  .account-sidebar-nav a:last-child { border-right: none; }
  .orders-header { display: none !important; }
  .order-row { display: flex !important; flex-direction: column; gap: 8px !important; padding: 16px 0 !important; }
  .order-row .badge { align-self: flex-start; }
  .order-row .btn-line { align-self: flex-start; margin-top: 4px; }
}
@media (max-width: 560px) { .ea-field-row { grid-template-columns: 1fr; } }

/* ═══════════════════════════════════════════════════════════════════════════
   16. WOOCOMMERCE DEFAULTS
   ═══════════════════════════════════════════════════════════════════════════ */
.woocommerce .col2-set,
.woocommerce-checkout .col2-set,
.woocommerce-account .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
/* The custom eyebrow already labels the billing panel — kill WC's duplicate h3. */
.woocommerce-billing-fields > h3 { display: none; }

ul.payment_methods, ul.wc_payment_methods {
  list-style: none !important; padding: 0; margin: 0 0 var(--sp-5);
  display: flex; flex-direction: column; gap: var(--sp-2);
}
ul.payment_methods li, ul.wc_payment_methods li {
  list-style: none !important; display: block;
  padding: 14px 18px; background: var(--bg);
  border: 1px solid var(--line-2); border-radius: var(--card-radius);
  transition: border-color var(--dur-base) ease, background var(--dur-base) ease;
}
ul.payment_methods li::marker, ul.wc_payment_methods li::marker { content: none; }
ul.payment_methods li.wc_payment_method input[type="radio"] { margin-right: 10px; accent-color: var(--ink); }
ul.payment_methods li.wc_payment_method label {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none;
  color: var(--ink); cursor: pointer;
}
ul.payment_methods li.wc_payment_method label img { height: 22px; width: auto; vertical-align: middle; }
ul.payment_methods li.wc_payment_method:has(input:checked) { border-color: var(--ink); background: var(--bg-2); }
.payment_box, .payment_methods .payment_box {
  margin-top: var(--sp-3); padding: var(--sp-4); border: 0; border-radius: 8px;
  background: var(--bg-2); font-size: 13px; line-height: 1.6; color: var(--ink-2);
}
.payment_box p { margin: 0 0 var(--sp-3); }
.payment_box p:last-child { margin-bottom: 0; }
.payment_box::before { display: none; }
.payment_box .form-row, .payment_box #wc-stripe-cc-form, .payment_box .wc-credit-card-form { margin: 0; }

#place_order, button#place_order, .woocommerce #place_order {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 56px; min-width: 240px; padding: 0 var(--sp-7); margin-top: var(--sp-5);
  background: var(--ink); color: var(--bg);
  border: 1px solid var(--ink); border-radius: var(--pill);
  font-family: var(--sans); font-size: 12px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; cursor: pointer;
  transition: background var(--dur-base) ease, color var(--dur-base) ease;
}
#place_order:hover { background: var(--accent-deep); border-color: var(--accent-deep); color: #fff; }
#place_order:disabled, .woocommerce #place_order:disabled { opacity: .5; cursor: not-allowed; }

.woocommerce-terms-and-conditions-wrapper { margin: var(--sp-4) 0; }
.woocommerce-privacy-policy-text { font-size: 12px; line-height: 1.6; color: var(--muted); margin-bottom: var(--sp-4); }
.woocommerce-terms-and-conditions-checkbox-text {
  font-size: 13px !important; text-transform: none !important;
  letter-spacing: 0 !important; color: var(--ink) !important;
}
.form-row.validate-required.terms, .form-row.terms { display: flex; align-items: flex-start; gap: 10px; margin-bottom: var(--sp-5); }
.form-row.terms input[type="checkbox"] { margin-top: 2px; width: 16px; height: 16px; accent-color: var(--ink); }
.woocommerce-SavedPaymentMethods, #wc-stripe-payment-token-cc { margin: var(--sp-3) 0; }
.woocommerce-SavedPaymentMethods-token, .woocommerce-SavedPaymentMethods-new {
  font-size: 13px !important; text-transform: none !important; letter-spacing: 0 !important;
}
.woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 32px; list-style: none; padding: 0; margin: 0 0 32px; }
.woocommerce-order-overview li { font-size: 13px; color: var(--muted); }
.woocommerce-order-overview li strong { display: block; color: var(--ink); font-size: 15px; font-weight: 600; }

/* Notices */
.woocommerce-notices-wrapper, .wc-block-components-notices { margin-bottom: var(--sp-5); }
.woocommerce-message, .woocommerce-error, .woocommerce-info,
.woocommerce-noreviews, .woocommerce-NoticeGroup, .wc-block-components-notice-banner {
  list-style: none; margin: 0 0 var(--sp-4); padding: var(--sp-3) var(--sp-5);
  font-size: var(--type-meta); line-height: 1.6;
  background: var(--bg-2); color: var(--ink);
  border: 1px solid var(--line-2); border-radius: 8px;
}
.woocommerce-message { border-color: var(--accent); }
.woocommerce-error   { border-color: var(--clr-err); background: var(--clr-err-bg); color: var(--clr-err); }
.woocommerce-info    { border-color: var(--line-2); }
.woocommerce-message a, .woocommerce-error a, .woocommerce-info a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button {
  margin-left: var(--sp-3); padding: 6px var(--sp-3); min-height: 0;
  background: transparent; border: 1px solid currentColor; color: inherit;
  font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase;
}
.demo_store, .woocommerce-store-notice {
  background: var(--ink); color: var(--bg); padding: var(--sp-2) var(--sp-5);
  font-size: 11px; letter-spacing: .1em; text-transform: uppercase; text-align: center;
}

@media (max-width: 768px) {
  .woocommerce .col2-set,
  .woocommerce .woocommerce-billing-fields__field-wrapper,
  .woocommerce .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
  .woocommerce-order-overview { gap: 16px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   17. HOMEPAGE SECTIONS
   Every content section owns the same vertical padding and zero margin, so the
   gap between any two sections is identical. Full-bleed dark bands carry their
   own internal padding.
   ═══════════════════════════════════════════════════════════════════════════ */
/* ΜΟΝΟ κάθετα περιθώρια. Το σκέτο `margin: 0` έσπαγε το οριζόντιο κεντράρισμα:
   τα featured templates βάζουν `container-wide` ΚΑΙ `e24-section--featured` στο
   ΙΔΙΟ element, οπότε το margin:0 ακύρωνε το `margin: 0 auto` του container και
   η ενότητα κολλούσε αριστερά με 240px κενό δεξιά σε οθόνη 1920px. Κάτω από
   1680px δεν φαινόταν, γιατί εκεί ο container γεμίζει το viewport. */
.e24-section--featured, .e24-section--featured2, .e24-section--story,
.e24-section--gifts, .gifts-section, .e24-section--brands, .e24-section--reviews {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: clamp(42px, 4.4vw, 64px);
  padding-bottom: clamp(42px, 4.4vw, 64px);
}
.e24-section--repairs, .e24-section--trust,
.e24-section--newsletter, .e24-section--categories, .e24-section--bridal { margin-top: 0; margin-bottom: 0; }

/* ── Hero: full-bleed ────────────────────────────────────────────────────── */
.hero-fullbleed { position: relative; height: 88vh; min-height: 560px; overflow: hidden; }
.hero-fullbleed__media { position: absolute; top: -20%; right: 0; bottom: -20%; left: 0; overflow: hidden; }
.hero-fullbleed__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hero-fullbleed__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(20,18,15,0) 25%, rgba(20,18,15,.6) 100%);
}
.hero-fullbleed__content {
  position: absolute; inset: 0; max-width: 1680px; margin: 0 auto;
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 0 48px 80px;
  color: #fff;
}
.hero-fullbleed__content h1.display { color: #fff; max-width: 18ch; }
.hero-fullbleed__content .eyebrow { color: rgba(255,255,255,.78); margin-bottom: 20px; }
.hero-fullbleed__content .eyebrow::before { background: var(--accent); }
.hero-fullbleed__content .cta-row { margin-top: 36px; }
.hero-counter { position: absolute; left: 48px; top: 32px; color: rgba(255,255,255,.7); font-family: var(--mono); font-size: 10px; letter-spacing: .12em; }

@keyframes heroFadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes heroFadeFromRight { from { opacity: 0; transform: translateX(28px); } to { opacity: 1; transform: none; } }
.hero-fullbleed__content > * { animation: heroFadeUp .9s var(--ease) both; }
.hero-fullbleed__content > *:nth-child(1) { animation-delay: .1s; }
.hero-fullbleed__content > *:nth-child(2) { animation-delay: .26s; }
.hero-fullbleed__content > *:nth-child(3) { animation-delay: .44s; }

/* ── Hero: split / campaign ──────────────────────────────────────────────── */
.hero-split { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--line); }
.hero-split__text { display: flex; flex-direction: column; justify-content: center; padding: clamp(48px,6vw,96px); background: var(--surface); }
.hero-split__text .eyebrow  { margin-bottom: 24px; }
.hero-split__text .cta-row  { margin-top: 44px; }
.hero-split__sub { margin-top: 28px; font-size: 16px; line-height: 1.7; color: var(--ink-2); max-width: 46ch; }
.hero-split__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero-split__text > * { animation: heroFadeUp .8s var(--ease) both; }
.hero-split__text > *:nth-child(1) { animation-delay: .08s; }
.hero-split__text > *:nth-child(2) { animation-delay: .2s; }
.hero-split__text > *:nth-child(3) { animation-delay: .32s; }
.hero-split__text > *:nth-child(4) { animation-delay: .44s; }
.hero-split > *:last-child { animation: heroFadeFromRight .85s var(--ease) .06s both; }

/* The campaign variant is one photographic cover with the copy laid over it. */
.hero-split--campaign {
  position: relative; display: block; padding: 0; overflow: hidden;
  min-height: clamp(600px, 78vh, 860px); background: var(--ink);
}
.hero-split--campaign .hero-split__img,
.hero-split--campaign > .ph {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; border: 0; border-radius: 0;
}
.hero-split--campaign::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(90deg, rgba(20,18,15,.88) 0%, rgba(20,18,15,.6) 44%, rgba(20,18,15,.08) 78%),
    linear-gradient(0deg, rgba(20,18,15,.3), transparent 42%);
}
.hero-split--campaign .hero-split__text {
  position: relative; z-index: 2;
  width: min(760px, 60%); min-height: clamp(600px, 78vh, 860px);
  padding: clamp(48px, 7vw, 128px);
  background: transparent; border: 0; color: #fff;
}
.hero-split--campaign .display    { color: #fff; max-width: 12ch; }
.hero-split--campaign .eyebrow,
.hero-split--campaign .hero-split__sub { color: rgba(255,255,255,.8); }
.hero-split--campaign .eyebrow::before { background: var(--accent); }
.hero-split--campaign .btn { background: #fff; border-color: #fff; color: var(--ink); }
.hero-split--campaign .btn:hover { background: var(--accent); border-color: var(--accent); color: #fff; }

@media (max-width: 1024px) { .hero-counter { left: 24px; } }
@media (max-width: 900px)  { .hero-split--campaign .hero-split__text { width: min(680px, 78%); } }
@media (max-width: 768px) {
  .hero-fullbleed { height: 78vh; min-height: 460px; }
  .hero-fullbleed__content { padding: 0 20px 48px; }
  .hero-counter { left: 16px; top: 20px; }
  .hero-split { grid-template-columns: 1fr; }
  .hero-split__text { padding: 48px 24px 56px; border-top: 1px solid var(--line); }
}
@media (max-width: 680px) {
  .hero-split--campaign,
  .hero-split--campaign .hero-split__text { min-height: 560px; }
  .hero-split--campaign .hero-split__text { width: 100%; padding: 48px 24px 54px; }
  .hero-split--campaign::before {
    background: linear-gradient(90deg, rgba(20,18,15,.86), rgba(20,18,15,.45)),
                linear-gradient(0deg, rgba(20,18,15,.36), transparent 50%);
  }
}

/* ── Category strip ──────────────────────────────────────────────────────── */
/* Ήταν 94px, το λεπτότερο στοιχείο της σελίδας, ενώ είναι ο βασικός μηχανισμός
   «διάλεξε τμήμα» αμέσως μετά το hero. */
.category-strip { padding: 34px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--surface); }
.category-strip__inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: clamp(20px, 3vw, 48px); }
/* Στοιχείο πλοήγησης μέσα σε οριζόντιο scroller, όχι σύνδεσμος μέσα σε κείμενο:
   παίρνει κάθετο padding ώστε ο στόχος αφής να φτάνει τα 44px. */
.cat-strip-link { position: relative; display: flex; align-items: center; min-height: var(--tap-target); gap: 10px; padding: 10px 0; color: inherit; }
.cat-strip-link .cat-strip-name { transition: transform .26s var(--ease), color .2s var(--ease); }
.cat-strip-link:hover .cat-strip-name { transform: translateX(5px); }
.cat-strip-num  { font-family: var(--mono); font-size: 10.5px; color: var(--accent-deep); transition: color .2s var(--ease); }
.cat-strip-name { font-size: clamp(20px, 2vw, 29px); font-weight: 700; letter-spacing: -.025em; line-height: 1; }
.cat-strip-link:hover .cat-strip-name { color: var(--accent-deep); }
.cat-strip-link--italic .cat-strip-name { font-style: normal; }
@media (max-width: 768px) {
  .category-strip { overflow-x: auto; -webkit-overflow-scrolling: touch; padding: 20px 0; }
  .category-strip__inner { flex-wrap: nowrap; justify-content: flex-start; padding-bottom: 4px; gap: 26px; }
  .cat-strip-name { font-size: 19px; }
}

/* ── Featured carousels ──────────────────────────────────────────────────── */
.featured-intro-grid {
  display: grid; grid-template-columns: 3fr 2fr; gap: clamp(32px, 4vw, 64px); align-items: end;
  margin-bottom: var(--sp-8); padding-bottom: var(--sp-7); border-bottom: 1px solid var(--line);
}
.featured-intro-grid .eyebrow { margin-bottom: 18px; }
.featured-carousel-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; padding-bottom: 6px; }
.featured-carousel-copy p { margin: 0; font-size: 15px; line-height: 1.75; color: var(--muted); }

.featured-carousel { position: relative; }
.featured-carousel__head { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-4); padding: 0 0 var(--sp-4); }
.featured-carousel__controls { display: flex; align-items: center; gap: var(--sp-2); }
.featured-carousel__controls .icon-btn { border: 1px solid var(--line-2); background: var(--bg); }
.featured-carousel__controls .js-carousel-prev svg { transform: rotate(180deg); }
.featured-carousel__controls .icon-btn:disabled { opacity: .35; cursor: default; transform: none; }
.featured-carousel__viewport {
  overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; scroll-padding-inline: 0;
  padding: 0 0 var(--sp-3); outline: none; scrollbar-width: none;
}
.featured-carousel__viewport::-webkit-scrollbar { display: none; }
/* Πέντε κάρτες ανά οθόνη, όχι έξι. Στα 1440px οι έξι έδιναν εικόνα 205px, όπου
   μια λεπτή αλυσίδα ή ένα δαχτυλίδι με πέτρα διαβάζεται ως γραμμή. Το κόσμημα
   είναι ο λόγος της αγοράς: η φωτογραφία κερδίζει από την πυκνότητα. */
.featured-carousel__track { display: grid; grid-auto-flow: column; width: 100%; grid-auto-columns: calc((100% - 80px) / 5); gap: 20px; }
.featured-carousel__progress { height: 1px; margin: var(--sp-5) 0 0; background: var(--line); overflow: hidden; }
.featured-carousel__progress span {
  display: block; width: 100%; height: 100%; background: var(--accent-deep);
  transform: scaleX(.12); transform-origin: left center;
  transition: transform var(--dur-base) var(--ease);
}

.featured-carousel-card {
  scroll-snap-align: start; min-width: 0; cursor: default;
  display: flex; flex-direction: column;
  background: var(--bg); border: 1px solid var(--line); border-radius: var(--card-radius);
  box-shadow: var(--soft-shadow); overflow: hidden;
  transition: box-shadow .3s var(--ease), transform .3s var(--ease), border-color .3s var(--ease);
}
.featured-carousel-card:hover { transform: translateY(-3px); border-color: var(--line-2); box-shadow: var(--lift-shadow); }
.featured-carousel-card__media { position: relative; display: block; aspect-ratio: 1/1; overflow: hidden; background: var(--bg); }
.featured-carousel-card__img,
.featured-carousel-card__placeholder {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  transition: transform .7s var(--ease);
}
.featured-carousel-card:hover .featured-carousel-card__img { transform: scale(1.03); }
.featured-carousel-card__index { display: none; }
.featured-carousel-card__body {
  flex: 1; display: flex; flex-direction: column; align-items: center;
  gap: 6px; padding: 13px 14px 14px; text-align: center;
}
.featured-carousel-card__title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  font-size: 13.5px; font-weight: 500; line-height: 1.35; letter-spacing: 0;
}
.featured-carousel-card .p-price { font-size: 16px; font-weight: 700; color: var(--accent-deep); }
.featured-carousel-card__purchase { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: auto; width: 100%; }

.featured-atc {
  appearance: none; width: 100%; min-height: 40px; padding: 0 18px;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--ink); color: var(--bg);
  border: 1px solid var(--ink); border-radius: var(--pill);
  font-family: var(--sans); font-size: 10.5px; font-weight: 600;
  letter-spacing: .06em; line-height: 1; text-transform: uppercase;
  white-space: nowrap; cursor: pointer;
  transition: background-color var(--dur-base) var(--ease), color var(--dur-base) var(--ease),
              border-color var(--dur-base) var(--ease), transform var(--dur-fast) ease;
}
.featured-atc:hover  { background: var(--accent-deep); border-color: var(--accent-deep); color: #fff; }
.featured-atc:active { transform: translateY(1px); }
.featured-atc:disabled { opacity: .6; cursor: wait; }
.featured-atc svg { width: 14px; height: 14px; flex-shrink: 0; }
.featured-atc--link { background: var(--ink); border-color: var(--ink); color: var(--bg); }
.featured-atc--sold-out {
  background: transparent; color: var(--muted); border-color: var(--line);
  font-size: 10px; letter-spacing: .06em; cursor: default; pointer-events: none;
}

/* Η δεύτερη λωρίδα ΔΕΝ είναι αντίγραφο της πρώτης. Το καθρέφτισμα τίτλου και
   κειμένου δεν διαβαζόταν με μια ματιά: και οι δύο ενότητες έβγαιναν 787px με
   ίδιο πλάτος κάρτας και ίδιο ύψος εικόνας, δηλαδή το ένα τέταρτο της αρχικής
   ήταν το ίδιο block δύο φορές. Τώρα η §I είναι λωρίδα ΠΕΡΙΗΓΗΣΗΣ (5 κάρτες,
   πολλά κομμάτια) και η §II είναι ΕΠΙΛΟΓΗ (3 μεγάλες). Διαφορετικός ρυθμός,
   ίδιο markup. */
.e24-section--featured2 .featured-carousel__track {
  grid-auto-columns: calc((100% - 48px) / 3); gap: 24px;
}
.e24-section--featured2 .featured-carousel-card__body { gap: 8px; padding: 18px 20px 20px; }
.e24-section--featured2 .featured-carousel-card__title { font-size: 15.5px; }
.e24-section--featured2 .featured-carousel-card .p-price { font-size: 18px; }
.e24-section--featured2 .featured-atc { min-height: 44px; font-size: 11px; }

.e24-section--featured2 {
  position: relative; background: var(--bg-2);
  box-shadow: 0 0 0 100vmax var(--bg-2); clip-path: inset(0 -100vmax);
}
.e24-section--featured2 .featured-intro-grid { grid-template-columns: 2fr 3fr; }
.e24-section--featured2 .featured-intro-grid > :first-child { order: 2; }
.e24-section--featured2 .featured-carousel-copy { order: 1; text-align: left; }

@media (max-width: 1200px) {
  .featured-carousel__track { grid-auto-columns: calc((100% - 60px) / 4); }
  .e24-section--featured2 .featured-carousel__track { grid-auto-columns: calc((100% - 24px) / 2); }
}
@media (max-width: 1024px) {
  .featured-carousel__track,
  .e24-section--featured2 .featured-carousel__track { grid-auto-columns: calc((100% - 16px) / 2); gap: 16px; }
}
@media (max-width: 900px) {
  .featured-carousel__track,
  .e24-section--featured2 .featured-carousel__track { grid-auto-columns: minmax(240px, 72vw); }
  .e24-section--featured2 .featured-intro-grid { grid-template-columns: 1fr; }
  .e24-section--featured2 .featured-intro-grid > :first-child { order: 1; }
  .e24-section--featured2 .featured-carousel-copy { order: 2; }
}
@media (max-width: 768px) {
  .featured-intro-grid { grid-template-columns: 1fr; gap: 26px; margin-bottom: 32px; align-items: start; }
  .featured-carousel { margin-inline: -16px; }
  .featured-carousel__head { padding-inline: 16px; }
  .featured-carousel__viewport { padding-inline: 16px; scroll-padding-inline: 16px; }
  .featured-carousel__progress { margin-inline: 16px; }
  .featured-carousel__track,
  .e24-section--featured2 .featured-carousel__track { grid-auto-columns: minmax(200px, 46vw); gap: 12px; }
  .featured-carousel-card__title { font-size: 13px; }
}

/* ── Story ───────────────────────────────────────────────────────────────── */
.story-section { display: grid; grid-template-columns: 6fr 5fr; gap: clamp(32px, 4vw, 64px); align-items: center; }
.story-section .eyebrow { margin-bottom: 22px; }
.story-section h2.display { font-size: clamp(26px, 3vw, 42px); }
.story-section .section-body { margin-top: var(--sp-6); max-width: 460px; font-size: 16px; line-height: 1.8; color: var(--ink-2); }
.story-section .stat-row { display: flex; flex-wrap: wrap; gap: 32px; margin-top: var(--sp-8); }
.story-section .section-cta { margin-top: var(--sp-8); }
/* Ήταν 842px ψηλή, που έκανε το «ποιοι είμαστε» το μεγαλύτερο block της
   αρχικής, ψηλότερο και από το hero. Η φωτογραφία του πραγματικού μαγαζιού
   αξίζει να μείνει, όχι όμως να κυριαρχεί σε σελίδα που πουλάει. */
.story-img {
  width: 100%; aspect-ratio: 4/5; max-height: 560px;
  object-fit: cover; display: block; border-radius: var(--card-radius);
}
.stat-number {
  font-size: clamp(22px, 2vw, 30px); font-weight: 700; letter-spacing: -.03em; line-height: 1; color: var(--ink);
  padding-top: var(--sp-4); border-top: 1px solid var(--accent);
}
.stat-label { margin-top: 8px; font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
@media (max-width: 1024px) { .story-section { grid-template-columns: 1fr; gap: 36px; } }
@media (max-width: 768px) {
  .story-img { aspect-ratio: 4/3; max-height: 320px; }
  .story-section .stat-row { gap: 20px; }
  .stat-number { font-size: 20px; }
}

/* ── Gift tiers ──────────────────────────────────────────────────────────── */
.gifts-section .section-body { margin-inline: auto; }
.gifts-section .section-cta  { margin-top: var(--sp-8); }
.gift-tiers { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; max-width: 760px; margin: 36px auto 0; }
.gift-tier {
  display: flex; flex-direction: column; overflow: hidden; color: var(--ink);
  background: var(--bg); border: 1px solid var(--line); border-radius: var(--card-radius);
  box-shadow: var(--soft-shadow);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.gift-tier:hover { transform: translateY(-3px); border-color: var(--line-2); box-shadow: var(--lift-shadow); }
.gift-tier__media { position: relative; display: block; overflow: hidden; aspect-ratio: 4/5; background: var(--bg-2); }
.gift-tier__media .gift-tier__img,
.gift-tier__media img,
.gift-tier__media .ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ease); }
.gift-tier:hover .gift-tier__media img,
.gift-tier:hover .gift-tier__media .ph { transform: scale(1.04); }
.gift-tier__row   { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 16px; }
.gift-tier__label { font-size: 15px; font-weight: 600; letter-spacing: -.01em; }
.gift-tier__arrow { font-family: var(--mono); color: var(--muted); transition: transform .2s ease, color .2s ease; }
.gift-tier:hover .gift-tier__arrow { transform: translateX(4px); color: var(--accent-deep); }
.gift-services {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px;
  margin-top: 26px; font-family: var(--mono); font-size: 11px;
  letter-spacing: .06em; text-transform: uppercase; color: var(--muted);
}
.gift-services__dot { opacity: .5; }
@media (max-width: 768px) { .gift-tiers { grid-template-columns: 1fr; max-width: 420px; } }

/* ── Bridal band (dark) ──────────────────────────────────────────────────── */
.bridal-section { background: var(--ink); color: #fff; padding: clamp(64px, 8vw, 120px) 0; }
.bridal-section .display  { color: #fff; }
.bridal-section .eyebrow  { color: rgba(255,255,255,.68); margin-bottom: 20px; }
.bridal-section .eyebrow::before { background: var(--accent); }
.bridal-section .text-muted { color: rgba(255,255,255,.5); }
.bridal-section h2.display  { max-width: 880px; margin: 0 auto; }
.bridal-section .section-body { max-width: 520px; margin: 26px auto 0; font-size: 15px; color: rgba(255,255,255,.6); }
.bridal-section .section-cta  { margin-top: 48px; display: inline-flex; }
.bridal-section .product-card { background: transparent; border-color: rgba(255,255,255,.14); box-shadow: none; }
.bridal-section .product-card:hover { border-color: rgba(255,255,255,.3); box-shadow: 0 20px 48px -16px rgba(0,0,0,.5); }
.bridal-section .ph-wrap { background: rgba(255,255,255,.06); }
.bridal-section .p-name  { color: #fff; }
.bridal-section .p-price { color: var(--accent); }
.bridal-section .p-stone { color: rgba(255,255,255,.45); }
.bridal-section .product-card__kicker { color: rgba(255,255,255,.5); }
.bridal-section .product-card__quick-add { background: #fff; color: var(--ink); }
.bridal-section .product-card__quick-add:hover { background: var(--accent); color: #fff; }
.bridal-section .btn { background: #fff; color: var(--ink); border-color: #fff; }
.bridal-section .btn:hover { background: transparent; color: #fff; border-color: #fff; }
@media (max-width: 768px) { .bridal-section { padding: 56px 0; } }

/* ── Repairs band (dark) ─────────────────────────────────────────────────── */
.repairs-band { background: var(--ink); color: #fff; padding: clamp(56px, 6vw, 88px) 0; }
.repairs-inner { display: grid; grid-template-columns: 6fr 5fr; gap: clamp(40px, 6vw, 88px); align-items: center; }
.repairs-band .display      { color: #fff; }
.repairs-band .eyebrow      { color: rgba(255,255,255,.68); }
.repairs-band .eyebrow::before { background: var(--accent); }
.repairs-band .section-body { color: rgba(255,255,255,.62); }
.repairs-band .section-cta  { margin-top: var(--sp-7); }
.repairs-band .btn { background: #fff; color: var(--ink); border-color: #fff; }
.repairs-band .btn:hover { background: transparent; color: #fff; border-color: #fff; }
.repairs-steps { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-6) var(--sp-7); }
.repairs-step  { border-top: 1px solid rgba(255,255,255,.18); padding-top: var(--sp-4); }
.repairs-step__num { font-family: var(--mono); font-size: 10px; letter-spacing: .1em; color: var(--accent); }
.repairs-step__lbl { margin-top: 6px; font-size: clamp(17px, 1.6vw, 22px); font-weight: 600; letter-spacing: -.02em; line-height: 1.15; color: #fff; }
.repairs-track { margin-top: var(--sp-8); }
.repairs-track__label {
  display: block; margin-bottom: var(--sp-3);
  font-family: var(--mono); font-size: 10px; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(255,255,255,.55);
}
.repairs-track__row {
  display: flex; overflow: hidden;
  border: 1px solid rgba(255,255,255,.25); border-radius: var(--pill);
  transition: border-color var(--dur-base) var(--ease);
}
.repairs-track__row:focus-within { border-color: rgba(255,255,255,.6); }
.repairs-track__row input {
  flex: 1; min-width: 0; height: 52px; padding: 0 20px;
  background: transparent; border: 0; outline: none; border-radius: 0;
  color: #fff; font-family: var(--mono); font-size: 13px;
  letter-spacing: .08em; text-transform: uppercase;
}
.repairs-track__row input::placeholder {
  color: rgba(255,255,255,.4); font-family: var(--sans); font-size: 13px;
  letter-spacing: .02em; text-transform: none;
}
.repairs-track__row button {
  flex-shrink: 0; width: 56px; display: grid; place-items: center;
  background: transparent; border: 0; border-left: 1px solid rgba(255,255,255,.25); color: #fff;
  transition: background var(--dur-base) var(--ease), color var(--dur-base) var(--ease);
}
.repairs-track__row button:hover { background: #fff; color: var(--ink); }
@media (max-width: 1024px) { .repairs-inner { grid-template-columns: 1fr; gap: 44px; } }
@media (max-width: 640px)  { .repairs-band { padding: 56px 0; } .repairs-steps { gap: var(--sp-5); } }

/* ── Brands ──────────────────────────────────────────────────────────────── */
.e24-section--brands { text-align: center; }
.brands-head { margin-bottom: 26px; }
.brands-head .eyebrow { margin-bottom: 12px; }
.brands-head__title { margin: 0; font-size: clamp(22px, 2.4vw, 32px); font-weight: 700; letter-spacing: -.022em; }
.brands-featured { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.brand-logo, .brand-logo--featured {
  flex: 0 0 auto; min-width: 148px; padding: 20px 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--bg); border: 1px solid var(--line); border-radius: var(--card-radius);
  transition: border-color .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease);
}
.brand-logo:hover, .brand-logo--featured:hover { border-color: var(--line-2); transform: translateY(-3px); box-shadow: var(--lift-shadow); }
.brand-logo__img {
  max-width: 116px; max-height: 38px; width: auto; height: auto; object-fit: contain;
  filter: grayscale(1); opacity: .82;
  transition: filter .3s var(--ease), opacity .3s var(--ease);
}
.brand-logo:hover .brand-logo__img { filter: grayscale(0); opacity: 1; }
.brand-logo__name { font-size: 17px; font-weight: 600; color: var(--muted); transition: color .3s var(--ease); }
.brand-logo:hover .brand-logo__name { color: var(--ink); }
.brands-index { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 8px 18px; margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
.brands-index__label { font-size: 9px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.brands-index__list  { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px 16px; }
.brands-index__list a { font-size: 13px; color: var(--ink-2); }
.brands-index__list a:hover { color: var(--accent-deep); }
@media (max-width: 560px) { .brand-logo, .brand-logo--featured { min-width: 120px; padding: 16px 20px; } }

/* ── Google reviews ──────────────────────────────────────────────────────── */
.reviews-section { padding: clamp(42px, 4.4vw, 64px) 0; }
.reviews-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; flex-wrap: wrap; margin-bottom: clamp(24px, 3vw, 40px); }
.reviews-head h2 { margin: 8px 0 0; font-size: clamp(26px, 3vw, 42px); font-weight: 700; letter-spacing: -.022em; line-height: 1.05; }
.reviews-summary { display: flex; align-items: center; gap: 14px; }
.reviews-summary__score { font-size: clamp(36px, 3.6vw, 50px); font-weight: 700; letter-spacing: -.03em; line-height: 1; color: var(--ink); }
.reviews-summary__meta  { display: flex; flex-direction: column; gap: 3px; }
.reviews-stars, .review-card__stars { color: var(--accent); }
.reviews-stars svg { width: 16px; height: 16px; }
.review-card__stars svg { width: 14px; height: 14px; }
.reviews-summary__count { font-size: 12px; color: var(--muted); }
.reviews-summary__count b { color: var(--ink); font-weight: 600; }
.reviews-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.review-card {
  display: flex; flex-direction: column; gap: 12px; padding: 24px;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--card-radius);
}
.review-card__quote  { margin: 0; font-size: 14px; line-height: 1.65; color: var(--ink-2); }
.review-card__author { margin-top: auto; display: flex; align-items: center; gap: 9px; font-size: 12px; color: var(--muted); }
.review-card__author b { color: var(--ink); font-weight: 600; font-size: 13px; }
.reviews-cta {
  display: inline-flex; align-items: center; gap: 9px; margin-top: clamp(22px, 3vw, 32px);
  padding-bottom: 5px; border-bottom: 1px solid var(--line-2);
  font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink);
  transition: border-color .25s var(--ease), color .25s var(--ease);
}
.reviews-cta svg { transition: transform .25s var(--ease); }
.reviews-cta:hover { border-color: var(--accent-deep); color: var(--accent-deep); }
.reviews-cta:hover svg { transform: translateX(4px); }
@media (max-width: 900px) { .reviews-grid { grid-template-columns: 1fr; } .review-card:nth-child(n+3) { display: none; } }
@media (max-width: 600px) { .reviews-head { gap: 18px; } }

/* ── Trust strip (dark) ──────────────────────────────────────────────────── */
.trust-strip { background: var(--ink); border-top: 1px solid rgba(255,255,255,.08); padding: 22px 0; }
.trust-strip__list { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; list-style: none; margin: 0; padding-left: 0; }
.trust-strip__item {
  padding: 4px 24px; white-space: nowrap;
  font-size: 10.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,.62);
}
.trust-strip__item + .trust-strip__item::before {
  content: "·"; display: inline-block; margin-right: 24px;
  color: var(--accent); font-size: 18px; line-height: 0; vertical-align: -2px;
}
.trust-micro { display: flex; flex-wrap: wrap; gap: 7px 13px; font-size: 9px; color: var(--muted); }
@media (max-width: 768px) {
  .trust-strip__list { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
  .trust-strip__item { flex-shrink: 0; padding: 4px 14px; font-size: 10px; letter-spacing: .1em; }
  .trust-strip__item + .trust-strip__item::before { margin-right: 14px; }
}
@media (max-width: 480px) {
  .trust-strip { padding: 18px 0; }
  .trust-strip__list { justify-content: flex-start; padding: 0 16px; scrollbar-width: none; }
  .trust-strip__list::-webkit-scrollbar { display: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   18. FOOTER (permanently dark — writes light values directly)
   ═══════════════════════════════════════════════════════════════════════════ */
.footer { background: var(--ink); color: #fff; padding: 72px 0 32px; }
.footer h5, .footer-col-title {
  margin: 0 0 18px; font-size: 10px; font-weight: 600;
  letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.55);
}
.footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.footer a { font-size: 13px; color: rgba(255,255,255,.85); transition: color .2s ease; }
.footer a:hover { color: var(--accent); }
.footer-grid { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 48px; padding-bottom: 48px; }
.footer-grid > *:first-child { flex: 1.4 1 200px; }
.footer-grid > *:not(:first-child) { flex: 1 1 160px; }
.footer-brand-name { font-size: clamp(20px, 2.2vw, 26px); font-weight: 700; letter-spacing: -.02em; }
.footer-brand-desc { margin-top: 14px; max-width: 280px; font-size: 13px; line-height: 1.65; color: rgba(255,255,255,.7); }
.footer-contact { display: grid; gap: 4px; margin-top: 20px; font-size: 12px; line-height: 1.5; color: rgba(255,255,255,.64); }
.footer-contact a { width: fit-content; font-family: var(--mono); font-size: 11px; letter-spacing: .06em; color: #fff; }
.footer-social { display: flex; gap: 12px; }
.footer-social-link { display: inline-flex; align-items: center; justify-content: center; color: rgba(255,255,255,.55); transition: color .2s ease; }
.footer-social-link:hover { color: var(--accent); }
.footer-payments { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.12); }
.footer-payments__label { margin-right: 4px; font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.pay-badge { display: inline-flex; align-items: center; }
.pay-badge svg { display: block; }
.pay-badge--text { padding: 6px 12px; border: 1px solid rgba(255,255,255,.22); border-radius: 6px; font-size: 11px; color: rgba(255,255,255,.82); }
.footer-legal {
  display: flex; justify-content: space-between;
  padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12);
  font-size: 11px; color: rgba(255,255,255,.55); letter-spacing: .04em;
}
.footer-legal__links { display: flex; gap: 24px; }
.footer-dev-link { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 768px) {
  .footer { padding: 48px 0 24px; }
  .footer-grid { gap: 32px; }
  .footer-grid > *:first-child,
  .footer-grid > *:not(:first-child) { flex: 1 1 100%; }
  .footer-legal { flex-direction: column; gap: 12px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   19. CONTACT · ORDER TRACKING · REPAIR PORTAL
   ═══════════════════════════════════════════════════════════════════════════ */
.contact-hero { max-width: 640px; padding: var(--sp-7) 0 var(--sp-6); }
.contact-hero__title { margin-top: 16px; font-size: clamp(28px, 3.2vw, 44px); font-weight: 700; letter-spacing: -.022em; line-height: 1.05; }
.contact-hero__sub   { margin-top: 20px; max-width: 520px; font-size: 16px; line-height: 1.75; color: var(--ink-2); }
.contact-layout { display: grid; grid-template-columns: 1fr 340px; gap: 72px; padding-bottom: 96px; align-items: start; }
.contact-form-col { padding: clamp(22px, 3vw, 34px); background: var(--surface); border: 1px solid var(--line); border-radius: var(--card-radius); }
.contact-field-row  { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.contact-field-wrap { display: flex; flex-direction: column; gap: 7px; margin-bottom: 20px; }
.contact-field-row .contact-field-wrap { margin-bottom: 0; }
.contact-form__footer  { margin-top: 8px; }
.contact-form__privacy { margin-bottom: 20px; font-size: 11px; color: var(--muted); letter-spacing: .03em; }
.contact-form__actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.contact-submit { min-width: 220px; }
.contact-status { flex: 1; font-size: 13px; }
.contact-status--ok    { color: var(--clr-ok); }
.contact-status--error { color: var(--clr-err); }
.contact-info-col { position: sticky; top: calc(var(--header-h) + 32px); }
.contact-info { display: flex; flex-direction: column; }
.contact-info__block { padding: 24px 0; border-bottom: 1px solid var(--line); }
.contact-info__block:first-child { padding-top: 0; }
.contact-info__block .eyebrow { margin-bottom: 10px; }
.contact-info__text { margin: 0; font-size: 14px; line-height: 1.8; color: var(--ink-2); font-style: normal; }
.contact-info__link { color: var(--ink); border-bottom: 1px solid var(--line); transition: border-color .2s ease; }
.contact-info__link:hover { border-color: var(--accent-deep); color: var(--accent-deep); }
.contact-info__note { margin-top: 24px; font-size: 11px; line-height: 1.6; color: var(--muted); letter-spacing: .04em; }
@media (max-width: 900px) { .contact-layout { grid-template-columns: 1fr; gap: 44px; } }
@media (max-width: 768px) { .contact-form-col { padding: 22px 18px; } }
@media (max-width: 600px) { .contact-field-row { grid-template-columns: 1fr; } }

.ot-wrap  { max-width: 960px; margin: 0 auto; padding: 0 24px 72px; }
.ot-hero  { padding: 44px 0 30px; }
.ot-hero .display { margin-top: 10px; }
.ot-title { margin: 8px 0 16px; font-size: clamp(28px, 4vw, 44px); font-weight: 700; letter-spacing: -.022em; line-height: 1.1; }
.ot-intro { margin: 0 0 32px; max-width: 520px; font-size: 14px; line-height: 1.7; color: var(--ink-2); }
.ot-layout { display: grid; grid-template-columns: 1fr 280px; gap: 56px; align-items: start; }
.ot-card   { background: var(--surface); border: 1px solid var(--line); border-radius: var(--card-radius); padding: 36px; }
.ot-field-row  { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.ot-field-wrap { display: flex; flex-direction: column; gap: 6px; }
.ot-hint    { font-size: 11px; color: var(--muted); }
.ot-actions { margin-top: 28px; }
.ot-aside   { display: flex; flex-direction: column; gap: 32px; }
.ot-aside__block { padding-top: 24px; border-top: 1px solid var(--line); }
.ot-aside__block:first-child { border-top: 0; padding-top: 0; }
.ot-aside__text { margin: 8px 0 12px; font-size: 13px; line-height: 1.7; color: var(--ink-2); }
.ot-aside__link {
  font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--ink); border-bottom: 1px solid var(--line); padding-bottom: 2px;
  transition: border-color .2s ease;
}
.ot-aside__link:hover { border-color: var(--accent-deep); color: var(--accent-deep); }
/* WooCommerce's own track_order form, reskinned inside .ot-card */
.woocommerce-order-tracking .woocommerce { max-width: 720px; margin: 0 auto; padding: 0 24px 72px; }
.ot-card form.track_order { margin: 0; }
.ot-card form.track_order > p:first-of-type { display: none; }
.ot-card .form-row { display: flex; flex-direction: column; gap: 6px; margin-bottom: 20px; float: none !important; width: 100% !important; padding: 0 !important; }
.ot-card .form-row-first, .ot-card .form-row-last { width: 100% !important; float: none !important; }
.ot-card .form-row [name="track"] {
  appearance: none; -webkit-appearance: none; display: inline-flex;
  align-items: center; justify-content: center; min-height: 48px; padding: 0 32px;
  background: var(--ink); color: var(--bg);
  border: 1px solid var(--ink); border-radius: var(--pill);
  font-family: var(--sans); font-size: 11px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.ot-card .form-row [name="track"]:hover { background: var(--accent-deep); border-color: var(--accent-deep); color: #fff; }
.ot-card .clear { display: none; }
.ot-card .woocommerce-order-overview { list-style: none; padding: 0; margin: 24px 0 0; display: flex; flex-wrap: wrap; gap: 16px; }
.ot-card .woocommerce-order-overview li { font-size: 13px; color: var(--muted); }
.ot-card .woocommerce-order-overview strong { display: block; color: var(--ink); font-size: 15px; font-weight: 600; }
@media (max-width: 768px) { .ot-layout { grid-template-columns: 1fr; gap: 36px; } }
@media (max-width: 560px) { .ot-field-row { grid-template-columns: 1fr; } }

.repair-portal .page-head { margin-bottom: clamp(26px, 4vw, 44px); }
.repair-portal__card { overflow: hidden; background: var(--surface); border: 1px solid var(--line); border-radius: var(--card-radius); }
.repair-portal__steps {
  display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; align-items: center; gap: 10px;
  padding: 18px clamp(20px, 4vw, 42px); background: var(--ink); color: #fff;
  font-family: var(--mono); font-size: 10px; letter-spacing: .12em;
}
.repair-portal__steps i { height: 1px; background: rgba(255,255,255,.28); }
.repair-portal__card .entry-content { margin-top: 0; padding: clamp(24px, 4vw, 44px); }
.repair-portal__help { margin: 16px 0 0; font-size: 12px; text-align: center; color: var(--muted); }
body[class*="page-repair-tracking"] .entry-content {
  margin-top: var(--sp-5); padding: clamp(22px, 4vw, 40px);
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--card-radius);
}
body[class*="page-repair-tracking"] .repair-portal__card .entry-content { border: 0; border-radius: 0; background: transparent; }
@media (max-width: 680px) { .repair-portal__steps { gap: 7px; padding-inline: 18px; } }

/* ═══════════════════════════════════════════════════════════════════════════
   20. COOKIE BANNER
   ═══════════════════════════════════════════════════════════════════════════ */
.e24-cookie {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 9998;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 18px 48px; background: var(--bg); border-top: 1px solid var(--line);
  box-shadow: 0 -14px 34px -26px rgba(var(--ink-rgb), .5);
  transform: translateY(100%); transition: transform .4s var(--ease);
}
.e24-cookie.is-visible { transform: translateY(0); }
.e24-cookie__text { margin: 0; max-width: 640px; font-size: 13px; line-height: 1.6; color: var(--muted); }
.e24-cookie__text a { margin-left: 4px; color: var(--ink); text-decoration: underline; }
.e24-cookie__actions { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.e24-cookie__decline {
  padding: 0; background: none; border: 0; cursor: pointer; color: var(--muted);
  font-family: var(--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase;
}
.e24-cookie__decline:hover { color: var(--ink); }
.e24-cookie .btn { min-height: 40px; padding: 0 22px; font-size: 11px; }
@media (max-width: 768px) {
  .e24-cookie { flex-direction: column; align-items: flex-start; padding: 18px 20px; }
  .e24-cookie__actions { width: 100%; justify-content: flex-end; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   21. MOTION
   ═══════════════════════════════════════════════════════════════════════════ */
.page-enter { animation: pageIn .45s var(--ease) both; }
@keyframes pageIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.reveal.is-visible { opacity: 1; transform: none; }
.product-card.reveal { transform: translateY(14px); }
.reveal-stagger > * { opacity: 0; transform: translateY(20px); transition: opacity .5s var(--ease), transform .5s var(--ease); }
.reveal-stagger.is-visible > * { opacity: 1; transform: none; }
.reveal-stagger.is-visible > *:nth-child(1) { transition-delay: .05s; }
.reveal-stagger.is-visible > *:nth-child(2) { transition-delay: .13s; }
.reveal-stagger.is-visible > *:nth-child(3) { transition-delay: .21s; }
.reveal-stagger.is-visible > *:nth-child(4) { transition-delay: .29s; }
.reveal-stagger.is-visible > *:nth-child(5) { transition-delay: .37s; }
.reveal-stagger.is-visible > *:nth-child(6) { transition-delay: .45s; }
/* Stagger shop cards by column so each row cascades. The 4n selector assumes a
   4-column grid, so the delays are reset below the 2-column breakpoint. */
.products .product:nth-child(4n+2) .product-card.is-visible { transition-delay: .08s; }
.products .product:nth-child(4n+3) .product-card.is-visible { transition-delay: .16s; }
.products .product:nth-child(4n+4) .product-card.is-visible { transition-delay: .24s; }
@media (max-width: 768px) {
  .products .product:nth-child(4n+2) .product-card.is-visible,
  .products .product:nth-child(4n+3) .product-card.is-visible,
  .products .product:nth-child(4n+4) .product-card.is-visible { transition-delay: 0s; }
}

@keyframes e24CheckDraw { from { stroke-dashoffset: 24; } to { stroke-dashoffset: 0; } }
.e24-check { width: 1em; height: 1em; vertical-align: -2px; }
.e24-check path { stroke-dasharray: 24; stroke-dashoffset: 24; animation: e24CheckDraw .42s var(--ease) .04s forwards; }

@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-stagger > * { opacity: 1; transform: none; transition: none; }
  .hero-fullbleed__content > *, .hero-split__text > *, .hero-split > *:last-child,
  .pdp-info > *, .empty-state, .search-empty, .e24-cart-toast,
  #recently-viewed-grid.is-in > * { animation: none; opacity: 1; transform: none; }
  .e24-sk::after { animation: none; }
  .e24-check path { animation: none; stroke-dashoffset: 0; }
  .drawer-body [data-cart-key].is-removing { animation: none; opacity: 0; }
}

/* To be replaced in `head` to control optm data location */
@keyframes wc-skeleton-shimmer{to{transform:translateX(100%)}}body.wc-block-product-gallery-modal-open,body.wc-modal--open{overflow:hidden}.wc-block-grid__products .wc-block-grid__product-image{display:block;position:relative;text-decoration:none}.wc-block-grid__products .wc-block-grid__product-image a{border:0;box-shadow:none;outline:0;text-decoration:none}.wc-block-grid__products .wc-block-grid__product-image img{height:auto;max-width:100%;width:100%}.wc-block-grid__products .wc-block-grid__product-image img[hidden]{display:none}.wc-block-grid__products .wc-block-grid__product-image img[alt=""]{border:1px solid #f2f2f2}.edit-post-visual-editor .editor-block-list__block .wc-block-grid__product-title,.editor-styles-wrapper .wc-block-grid__product-title,.wc-block-grid__product-title{color:inherit;display:block;font-family:inherit;font-size:inherit;font-weight:700;line-height:1.2;padding:0}.wc-block-grid__product-price{display:block}.wc-block-grid__product-price .wc-block-grid__product-price__regular{margin-right:.5em}.wc-block-grid__product-add-to-cart.wp-block-button{white-space:normal;word-break:break-word}.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link{display:inline-flex;font-size:1em;justify-content:center;text-align:center;white-space:normal;word-break:break-word}.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link.loading{opacity:.25}.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link.added:after{content:"";display:inline-block;font-family:WooCommerce;height:auto;margin-left:.5em;width:auto}.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link.loading:after{animation:spin 2s linear infinite;content:"";display:inline-block;font-family:WooCommerce;height:auto;margin-left:.5em;width:auto}.has-5-columns:not(.alignfull) .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after,.has-6-columns .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after,.has-7-columns .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after,.has-8-columns .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after,.has-9-columns .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after{content:"";margin:0}.wc-block-grid__product-rating,.wp-block-woocommerce-product-review-rating{display:block}.wc-block-grid__product-rating .star-rating,.wc-block-grid__product-rating .wc-block-grid__product-rating__stars,.wc-block-grid__product-rating .wc-block-product-review-rating__stars,.wp-block-woocommerce-product-review-rating .star-rating,.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars,.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars{font-family:WooCommerce;font-size:1em;font-weight:400;height:1.618em;line-height:1.618;margin:0 auto;overflow:hidden;position:relative;text-align:left;width:5.3em}.wc-block-grid__product-rating .star-rating:before,.wc-block-grid__product-rating .wc-block-grid__product-rating__stars:before,.wc-block-grid__product-rating .wc-block-product-review-rating__stars:before,.wp-block-woocommerce-product-review-rating .star-rating:before,.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars:before,.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars:before{content:"SSSSS";left:0;opacity:.5;position:absolute;right:0;top:0;white-space:nowrap}.wc-block-grid__product-rating .star-rating span,.wc-block-grid__product-rating .wc-block-grid__product-rating__stars span,.wc-block-grid__product-rating .wc-block-product-review-rating__stars span,.wp-block-woocommerce-product-review-rating .star-rating span,.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars span,.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars span{left:0;overflow:hidden;padding-top:1.5em;position:absolute;right:0;top:0}.wc-block-grid__product-rating .star-rating span:before,.wc-block-grid__product-rating .wc-block-grid__product-rating__stars span:before,.wc-block-grid__product-rating .wc-block-product-review-rating__stars span:before,.wp-block-woocommerce-product-review-rating .star-rating span:before,.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars span:before,.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars span:before{color:inherit;content:"SSSSS";left:0;position:absolute;right:0;top:0;white-space:nowrap}.wc-block-grid .wc-block-grid__product-onsale,.wc-block-grid__product-image .wc-block-grid__product-onsale{background:#fff;border:1px solid #43454b;border-radius:4px;color:#43454b;display:inline-block;font-size:.875em;font-weight:600;left:auto;padding:.25em .75em;position:absolute;right:4px;text-align:center;text-transform:uppercase;top:4px;width:auto;z-index:9}.wc-block-grid__product .wc-block-grid__product-image,.wc-block-grid__product .wc-block-grid__product-link{display:inline-block;position:relative}.wc-block-grid__product .wc-block-grid__product-image:not(.wc-block-components-product-image),.wc-block-grid__product .wc-block-grid__product-title{margin:0 0 12px}.wc-block-grid__product .wc-block-grid__product-add-to-cart,.wc-block-grid__product .wc-block-grid__product-onsale,.wc-block-grid__product .wc-block-grid__product-price,.wc-block-grid__product .wc-block-grid__product-rating{margin:0 auto 12px}.theme-twentysixteen .wc-block-grid .price ins{color:#77a464}.theme-twentynineteen .wc-block-grid__product{font-size:.88889em}.theme-twentynineteen .wc-block-components-product-sale-badge,.theme-twentynineteen .wc-block-components-product-title,.theme-twentynineteen .wc-block-grid__product-onsale,.theme-twentynineteen .wc-block-grid__product-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.theme-twentynineteen .wc-block-grid__product-title:before{display:none}.theme-twentynineteen .wc-block-components-product-sale-badge,.theme-twentynineteen .wc-block-grid__product-onsale{line-height:1}.theme-twentynineteen .editor-styles-wrapper .wp-block-button .wp-block-button__link:not(.has-text-color){color:#fff}.theme-twentytwenty .wc-block-grid__product-link{color:#000}.theme-twentytwenty .wc-block-components-product-title,.theme-twentytwenty .wc-block-grid__product-title{color:#cd2653;font-family:-apple-system,blinkmacsystemfont,Helvetica Neue,helvetica,sans-serif;font-size:1em}.theme-twentytwenty .wp-block-columns .wc-block-components-product-title{margin-top:0}.theme-twentytwenty .wc-block-components-product-price .woocommerce-Price-amount,.theme-twentytwenty .wc-block-components-product-price__value,.theme-twentytwenty .wc-block-grid__product-price .woocommerce-Price-amount,.theme-twentytwenty .wc-block-grid__product-price__value{font-family:-apple-system,blinkmacsystemfont,Helvetica Neue,helvetica,sans-serif;font-size:.9em}.theme-twentytwenty .wc-block-components-product-price del,.theme-twentytwenty .wc-block-grid__product-price del{opacity:.7}.theme-twentytwenty .wc-block-components-product-price ins,.theme-twentytwenty .wc-block-grid__product-price ins{text-decoration:none}.theme-twentytwenty .star-rating,.theme-twentytwenty .wc-block-grid__product-rating{font-size:.7em}.theme-twentytwenty .star-rating .wc-block-components-product-rating__stars,.theme-twentytwenty .star-rating .wc-block-grid__product-rating__stars,.theme-twentytwenty .wc-block-grid__product-rating .wc-block-components-product-rating__stars,.theme-twentytwenty .wc-block-grid__product-rating .wc-block-grid__product-rating__stars{line-height:1}.theme-twentytwenty .wc-block-components-product-button>.wp-block-button__link,.theme-twentytwenty .wc-block-grid__product-add-to-cart>.wp-block-button__link{font-family:-apple-system,blinkmacsystemfont,Helvetica Neue,helvetica,sans-serif}.theme-twentytwenty .wc-block-components-product-sale-badge,.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale{background:#cd2653;color:#fff;font-family:-apple-system,blinkmacsystemfont,Helvetica Neue,helvetica,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.2;text-transform:uppercase}.theme-twentytwenty .wc-block-grid__products .wc-block-components-product-sale-badge{position:static}.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-image .wc-block-components-product-sale-badge{position:absolute}.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale:not(.wc-block-components-product-sale-badge){position:absolute;right:4px;top:4px;z-index:1}.theme-twentytwenty .wc-block-active-filters__title,.theme-twentytwenty .wc-block-attribute-filter__title,.theme-twentytwenty .wc-block-price-filter__title,.theme-twentytwenty .wc-block-stock-filter__title{font-size:1em}.theme-twentytwenty .wc-block-active-filters .wc-block-active-filters__clear-all,.theme-twentytwenty .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link{font-size:.75em}@media only screen and (min-width:768px){.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale{font-size:.875em;padding:.5em}}@media only screen and (min-width:1168px){.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale{font-size:.875em;padding:.5em}}.theme-twentytwentytwo .wc-block-grid__product-add-to-cart .added_to_cart{display:block;margin-top:12px}.theme-twentytwentytwo .wc-block-components-product-price ins,.theme-twentytwentytwo .wc-block-grid__product-price ins{text-decoration:none}.screen-reader-text{clip:rect(1px,1px,1px,1px);word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;overflow-wrap:normal!important;padding:0;position:absolute!important;width:1px}.screen-reader-text:focus{clip:auto!important;background-color:#fff;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip-path:none;color:#2b2d2f;display:block;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.wp-block-group.woocommerce.product .up-sells.upsells.products{max-width:var(--wp--style--global--wide-size)}
@keyframes wc-skeleton-shimmer{to{transform:translateX(100%)}}.wc-block-components-notice-banner{align-content:flex-start;align-items:stretch;background-color:#fff;border:1px solid #2f2f2f;border-radius:4px;box-sizing:border-box;color:#2f2f2f;display:flex;font-size:.875em;font-weight:400;gap:12px;line-height:1.5;margin:16px 0;padding:16px!important}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content{align-self:center;flex-basis:100%;padding-right:16px;white-space:normal}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content:last-child{padding-right:0}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-block-components-notice-banner__summary{font-weight:600;margin:0 0 8px}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content ol,.wc-block-components-notice-banner>.wc-block-components-notice-banner__content ul{margin:0 0 0 24px;padding:0}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content ol li:after,.wc-block-components-notice-banner>.wc-block-components-notice-banner__content ul li:after{clear:both;content:"";display:block}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward{appearance:none;background:transparent!important;border:0;color:#2f2f2f!important;float:right;margin:0;opacity:.7;padding:0!important;text-decoration-line:underline;text-underline-position:under;transition:all .2s ease-in-out}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward:active,.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward:focus,.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward:hover{opacity:1;text-decoration:none}.wc-block-components-notice-banner>svg{fill:#fff;background-color:#2f2f2f;border-radius:50%;flex-grow:0;flex-shrink:0;height:100%;padding:2px}.wc-block-components-notice-banner>.wc-block-components-button{background:transparent none!important;border:0!important;box-shadow:none!important;color:#2f2f2f!important;flex:0 0 16px;height:16px!important;margin:6px 0 0 auto!important;min-height:auto!important;min-width:0!important;opacity:.6;outline:none!important;padding:0!important;width:16px!important}.wc-block-components-notice-banner>.wc-block-components-button>svg{margin:0!important}.wc-block-components-notice-banner>.wc-block-components-button:active,.wc-block-components-notice-banner>.wc-block-components-button:focus,.wc-block-components-notice-banner>.wc-block-components-button:hover{opacity:1}.wc-block-components-notice-banner>.wc-block-components-button:focus{outline:2px solid currentColor!important;outline-offset:0}.wc-block-components-notice-banner.is-error{background-color:#fff0f0;border-color:#cc1818}.wc-block-components-notice-banner.is-error>svg{background-color:#cc1818;transform:rotate(180deg)}.wc-block-components-notice-banner.is-warning{background-color:#fffbf4;border-color:#f0b849}.wc-block-components-notice-banner.is-warning>svg{background-color:#f0b849;transform:rotate(180deg)}.wc-block-components-notice-banner.is-success{background-color:#f4fff7;border-color:#4ab866}.wc-block-components-notice-banner.is-success>svg{background-color:#4ab866}.wc-block-components-notice-banner.is-info{background-color:#f4f8ff;border-color:#007cba}.wc-block-components-notice-banner.is-info>svg{background-color:#007cba}.wc-block-components-notice-banner:focus{outline-width:0}.wc-block-components-notice-banner:focus-visible{outline-style:solid;outline-width:2px}.woocommerce.wc-block-store-notices.alignwide{max-width:var(--wp--style--global--wide-size)}

.iris-payment-label{display:flex!important;align-items:center!important;gap:8px!important}.wc_payment_method.payment_method_iris_payments img{height:20px!important;width:auto!important;max-height:20px!important}.woocommerce .payment_methods .payment_method_iris_payments img{max-height:24px;width:auto;vertical-align:middle}
.wc-stripe-payment-button-preview{align-items:center;background-color:#000;border-radius:5px;display:flex;height:40px;justify-content:center}.wc-stripe-payment-button-preview img{height:22px}.wc-stripe-payment-button-preview:hover{cursor:pointer;filter:opacity(.7)}.wc-stripe-payment-button-preview.wc-stripe-amazon-pay-preview{background-color:#ffd814}.wc-stripe-payment-button-preview.wc-stripe-amazon-pay-preview img{height:100%;width:100%}.wc-stripe-payment-button-preview.wc-stripe-link-preview{background-color:#00d66f}.wc-stripe-payment-button-preview.wc-stripe-link-preview img{height:40px}
button.stripe-gateway-stripelink-modal-trigger{background:no-repeat url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA3MiAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2LjEyIDMuNjc2ODNDMzYuMTIgMi41NDg4MiAzNy4wNzA0IDEuNjMyMDIgMzguMTg4OCAxLjYzMjAyQzM5LjMwNzIgMS42MzIwMiA0MC4yNTc2IDIuNTUzNjIgNDAuMjU3NiAzLjY3NjgzQzQwLjI1NzYgNC44MDAwMyAzOS4zNDA4IDUuNzQ1NjMgMzguMTg4OCA1Ljc0NTYzQzM3LjAzNjggNS43NDU2MyAzNi4xMiA0LjgyODgzIDM2LjEyIDMuNjc2ODNaIiBmaWxsPSIjMDExRTBGIi8+CjxwYXRoIGQ9Ik0yOS45ODA4IDEuOTIwMDFIMzMuNTgwOFYyMi4wOEgyOS45ODA4VjEuOTIwMDFaIiBmaWxsPSIjMDExRTBGIi8+CjxwYXRoIGQ9Ik00MC4wMDggNy42ODAwMUgzNi4zNzkyVjIyLjA4SDQwLjAwOFY3LjY4MDAxWiIgZmlsbD0iIzAxMUUwRiIvPgo8cGF0aCBkPSJNNjYuMDk2IDE0LjM5MDRDNjguODI3MiAxMi43MTA0IDcwLjY4NDggMTAuMjA5NiA3MS40MTkyIDcuNjc1MjRINjcuNzkwNEM2Ni44NDQ4IDEwLjA5NDQgNjQuNjc1MiAxMS45MTM2IDYyLjI4OTYgMTIuNjg2NFYxLjkxNTIzSDU4LjY2MDhWMjIuMDc1Mkg2Mi4yODk2VjE2LjA4QzY1LjA1OTIgMTYuNzcxMiA2Ny4yNDggMTkuMTY2NCA2Ny45OTY4IDIyLjA3NTJINzEuNjQ5NkM3MS4wOTI4IDE5LjAyMjQgNjkuMDA0OCAxNi4xNjY0IDY2LjA5NiAxNC4zOTA0WiIgZmlsbD0iIzAxMUUwRiIvPgo8cGF0aCBkPSJNNDYuNDQgOS4yOTI4M0M0Ny4zOTA0IDguMDMwNDMgNDkuMjQzMiA3LjI5NjAyIDUwLjc0NTYgNy4yOTYwMkM1My41NDg4IDcuMjk2MDIgNTUuODY3MiA5LjM0NTYzIDU1Ljg3MiAxMi40NDE2VjIyLjA3NTJINTIuMjQzMlYxMy4yNDMyQzUyLjI0MzIgMTEuOTcxMiA1MS42NzY4IDEwLjUwMjQgNDkuODM4NCAxMC41MDI0QzQ3LjY3ODQgMTAuNTAyNCA0Ni40MzUyIDEyLjQxNzYgNDYuNDM1MiAxNC42NTkyVjIyLjA4NDhINDIuODA2NFY3LjY4OTYySDQ2LjQ0VjkuMjkyODNaIiBmaWxsPSIjMDExRTBGIi8+CjxwYXRoIGQ9Ik0xMiAyNEMxOC42Mjc0IDI0IDI0IDE4LjYyNzQgMjQgMTJDMjQgNS4zNzI1NyAxOC42Mjc0IDAgMTIgMEM1LjM3MjU5IDAgMCA1LjM3MjU3IDAgMTJDMCAxOC42Mjc0IDUuMzcyNTkgMjQgMTIgMjRaIiBmaWxsPSIjMDBENjZGIi8+CjxwYXRoIGQ9Ik0xMS40NDc5IDQuODAwMDVINy43NDcwN0M4LjQ2NzA3IDcuODA5NjUgMTAuNTY5NSAxMC4zODI0IDEzLjE5OTkgMTJDMTAuNTY0NyAxMy42MTc2IDguNDY3MDcgMTYuMTkwNCA3Ljc0NzA3IDE5LjJIMTEuNDQ3OUMxMi4zNjQ3IDE2LjQxNiAxNC45MDM5IDEzLjk5NjggMTguMDIzOSAxMy41MDI0VjEwLjQ5MjlDMTQuODk5MSAxMC4wMDMzIDEyLjM1OTkgNy41ODQwNSAxMS40NDc5IDQuODAwMDVaIiBmaWxsPSIjMDExRTBGIi8+Cjwvc3ZnPgo=);background-color:transparent!important;border:none;cursor:pointer;display:none;height:40px;position:absolute;right:5px;width:64px}button.stripe-gateway-stripelink-modal-trigger:hover{background-color:transparent;border-color:transparent}.wc-block-checkout__payment-method .wc-block-components-radio-control__label>span{width:100%}.wc-block-checkout__payment-method .wc-block-components-radio-control__label>span>span:not(.wc-stripe-test-mode-badge){align-items:center;display:flex;float:right;justify-content:center}.wcstripe-payment-element+.wc-block-components-payment-methods__save-card-info{margin-top:1.4em}#radio-control-wc-payment-method-options-stripe__content.optimized-checkout-element{padding-top:0}#radio-control-wc-payment-method-options-stripe__content.optimized-checkout-element .content:empty{display:none}#radio-control-wc-payment-method-options-stripe__label>span>span{border:none}.wc-stripe-redirect-notice{align-items:center;border:0;color:#2b2d2f;display:flex;font-family:Source Sans Pro,HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px;font-weight:400;gap:12px;letter-spacing:normal;line-height:25px;margin:0;min-inline-size:0;padding:24px 9px 8px;text-decoration:none;text-shadow:none;text-transform:none;transition:none;-webkit-font-smoothing:auto}.wc-stripe-redirect-notice__icon{flex-shrink:0;height:3em;width:3em}.wc-stripe-redirect-notice__text{margin:0;padding:0}body.wc-stripe-hide-save-checkbox .wc-block-components-payment-methods__save-card-info{display:none!important}.wc-stripe-test-mode-badge{background-color:#fff2d7;border-radius:4px;color:#4d3716;display:none;font-size:12px;font-weight:400;line-height:16px;margin-left:8px;padding:4px 6px}.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option input:checked~div .wc-block-components-radio-control__label .wc-stripe-test-mode-badge,.wc-block-checkout__payment-method .wc-block-components-radio-control__option input:checked~div .wc-block-components-radio-control__label .wc-stripe-test-mode-badge{display:inline-block}
.wc-block-components-express-payment--cart .wc-block-components-express-payment__event-buttons{display:flex!important;flex-direction:column!important;gap:12px!important}.wc-block-components-express-payment--cart .wc-block-components-express-payment__event-buttons>li{font-size:0!important;line-height:0!important;margin:0!important;padding:0!important;width:100%!important}.wc-block-components-express-payment-continue-rule--cart{height:20px;margin:24px 0!important}.wc-block-components-express-payment .wc-block-components-express-payment__event-buttons .StripeElement iframe{max-width:unset}@supports not (-webkit-appearance:-apple-pay-button){#express-payment-method-stripe_express_checkout_element_applePay:has(#express-checkout-button-preview-applePay){display:none}}#express-checkout-button-preview-googlePay .gpay-card-info-container{min-width:auto}
.wc-stripe-copy-test-number{align-items:center;background-color:transparent!important;border:none!important;border-radius:0;box-shadow:none!important;color:inherit!important;cursor:pointer;display:inline-flex;font-family:inherit!important;font-size:inherit;font-weight:400;line-height:inherit;padding:2px 1px!important;vertical-align:baseline}.wc-stripe-copy-test-number span{margin-right:4px}.wc-stripe-copy-test-number i{background-color:currentColor;display:block;height:1.2em;-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIzIDMgMjAgMjAiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Im01IDQuNWgxMWMuMTMyNiAwIC4yNTk4LjA1MjY4LjM1MzYuMTQ2NDUuMDkzNy4wOTM3Ni4xNDY0LjIyMDk0LjE0NjQuMzUzNTV2MTFjMCAuMTMyNi0uMDUyNy4yNTk4LS4xNDY0LjM1MzYtLjA5MzguMDkzNy0uMjIxLjE0NjQtLjM1MzYuMTQ2NGgtMTFjLS4xMzI2MSAwLS4yNTk3OS0uMDUyNy0uMzUzNTUtLjE0NjQtLjA5Mzc3LS4wOTM4LS4xNDY0NS0uMjIxLS4xNDY0NS0uMzUzNnYtMTFjMC0uMTMyNjEuMDUyNjgtLjI1OTc5LjE0NjQ1LS4zNTM1NS4wOTM3Ni0uMDkzNzcuMjIwOTQtLjE0NjQ1LjM1MzU1LS4xNDY0NXptLTIgLjVjMC0uNTMwNDMuMjEwNzEtMS4wMzkxNC41ODU3OS0xLjQxNDIxLjM3NTA3LS4zNzUwOC44ODM3OC0uNTg1NzkgMS40MTQyMS0uNTg1NzloMTFjLjUzMDQgMCAxLjAzOTEuMjEwNzEgMS40MTQyLjU4NTc5LjM3NTEuMzc1MDcuNTg1OC44ODM3OC41ODU4IDEuNDE0MjF2MTFjMCAuNTMwNC0uMjEwNyAxLjAzOTEtLjU4NTggMS40MTQycy0uODgzOC41ODU4LTEuNDE0Mi41ODU4aC0xMWMtLjUzMDQzIDAtMS4wMzkxNC0uMjEwNy0xLjQxNDIxLS41ODU4LS4zNzUwOC0uMzc1MS0uNTg1NzktLjg4MzgtLjU4NTc5LTEuNDE0MnptMTcgM3YxMC43NWMwIC42OS0uNTYgMS4yNS0xLjI1IDEuMjVoLTEyLjc1djEuNWgxMi43NWMuNzI5MyAwIDEuNDI4OC0uMjg5NyAxLjk0NDUtLjgwNTUuNTE1OC0uNTE1Ny44MDU1LTEuMjE1Mi44MDU1LTEuOTQ0NXYtMTAuNzV6IiBmaWxsPSIjMTAxNTE3IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4K);mask-image:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIzIDMgMjAgMjAiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Im01IDQuNWgxMWMuMTMyNiAwIC4yNTk4LjA1MjY4LjM1MzYuMTQ2NDUuMDkzNy4wOTM3Ni4xNDY0LjIyMDk0LjE0NjQuMzUzNTV2MTFjMCAuMTMyNi0uMDUyNy4yNTk4LS4xNDY0LjM1MzYtLjA5MzguMDkzNy0uMjIxLjE0NjQtLjM1MzYuMTQ2NGgtMTFjLS4xMzI2MSAwLS4yNTk3OS0uMDUyNy0uMzUzNTUtLjE0NjQtLjA5Mzc3LS4wOTM4LS4xNDY0NS0uMjIxLS4xNDY0NS0uMzUzNnYtMTFjMC0uMTMyNjEuMDUyNjgtLjI1OTc5LjE0NjQ1LS4zNTM1NS4wOTM3Ni0uMDkzNzcuMjIwOTQtLjE0NjQ1LjM1MzU1LS4xNDY0NXptLTIgLjVjMC0uNTMwNDMuMjEwNzEtMS4wMzkxNC41ODU3OS0xLjQxNDIxLjM3NTA3LS4zNzUwOC44ODM3OC0uNTg1NzkgMS40MTQyMS0uNTg1NzloMTFjLjUzMDQgMCAxLjAzOTEuMjEwNzEgMS40MTQyLjU4NTc5LjM3NTEuMzc1MDcuNTg1OC44ODM3OC41ODU4IDEuNDE0MjF2MTFjMCAuNTMwNC0uMjEwNyAxLjAzOTEtLjU4NTggMS40MTQycy0uODgzOC41ODU4LTEuNDE0Mi41ODU4aC0xMWMtLjUzMDQzIDAtMS4wMzkxNC0uMjEwNy0xLjQxNDIxLS41ODU4LS4zNzUwOC0uMzc1MS0uNTg1NzktLjg4MzgtLjU4NTc5LTEuNDE0MnptMTcgM3YxMC43NWMwIC42OS0uNTYgMS4yNS0xLjI1IDEuMjVoLTEyLjc1djEuNWgxMi43NWMuNzI5MyAwIDEuNDI4OC0uMjg5NyAxLjk0NDUtLjgwNTUuNTE1OC0uNTE1Ny44MDU1LTEuMjE1Mi44MDU1LTEuOTQ0NXYtMTAuNzV6IiBmaWxsPSIjMTAxNTE3IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4K);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;order:1;width:1.2em}.wc-stripe-copy-test-number:hover{background-color:transparent;opacity:.7}.wc-stripe-copy-test-number:active i{transform:scale(.9)}.wc-stripe-copy-test-number:focus{box-shadow:none!important;outline:none}.wc-stripe-copy-test-number:focus-visible{outline:2px solid currentColor;outline-offset:2px}.wc-stripe-copy-test-number.state--success i{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxMiAxMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTEuMzI3NCAwLjUzMTIxNkw0LjU3NjY3IDkuNjEwMTlMMC42NjIyMDYgNi42OTk1NyIgc3Ryb2tlPSIjMDA4QTIwIiBzdHJva2Utd2lkdGg9IjEuNSIvPjwvc3ZnPgo=);mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxMiAxMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTEuMzI3NCAwLjUzMTIxNkw0LjU3NjY3IDkuNjEwMTlMMC42NjIyMDYgNi42OTk1NyIgc3Ryb2tlPSIjMDA4QTIwIiBzdHJva2Utd2lkdGg9IjEuNSIvPjwvc3ZnPgo=)}
