@charset "UTF-8";
/* =============================================================================
   ROWAN TREE FABRICS — theme.css
   -----------------------------------------------------------------------------
   Rebuilt from scratch for v105. The previous file had grown to ~4,800 lines of
   stacked override blocks ("V68 FIXES", "V70 …", "V86 …"), where later rules
   fought earlier ones and nothing could be changed safely.

   This file is ordered so specificity only ever increases:

     01  Tokens           design decisions, light + dark
     02  Reset & base     element defaults
     03  Primitives       layout, buttons, badges, forms
     04  Chrome           announcement, header, drawers, overlays
     05  Home             hero, trust bar, steps, bases, collections
     06  Catalogue        product card, grids, collection + search pages
     07  Product page
     08  Basket           drawer, page, toast
     09  Wishlist
     10  Content pages    rich text, legal, contact
     11  Footer
     12  Motion & a11y
   ========================================================================== */


/* =============================================================================
   01  TOKENS
   ========================================================================== */

:root {
  /* ── Brand ──────────────────────────────────────────────────────────────
     Two lilacs, deliberately. `--brand` is dark enough to carry white text
     at AA (5.7:1); `--brand-soft` is the decorative pastel. The old theme
     used one pale lilac for both, so every primary button sat at about 2:1
     and the label was genuinely hard to read. */
  --brand:            #7c55a0;
  --brand-strong:     #674383;
  --brand-hover:      #6b4790;
  --brand-mid:        #a982c9;
  --brand-soft:       #d7c2e8;
  --brand-wash:       #f2ebf8;
  --brand-tint:       rgba(124, 85, 160, 0.10);
  --brand-tint-soft:  rgba(124, 85, 160, 0.05);

  --rose:             #c4566b;
  --rose-soft:        #f2d3d8;
  --rose-wash:        #fcf1f3;
  --heart:            #d43f59;

  --mint:             #2f7f66;
  --mint-soft:        #d3ece2;
  --amber:            #8a5d12;
  --amber-soft:       #f8ecd6;

  /* ── Surfaces & ink ─────────────────────────────────────────────────── */
  --surface:          #fbfafc;
  --surface-raised:   #ffffff;
  --surface-sunken:   #f4f1f8;
  --surface-inverse:  #241f2e;
  --surface-veil:     rgba(255, 255, 255, 0.86);

  --ink:              #2e2836;
  --ink-muted:        #6b6379;
  --ink-soft:         #7d7590;
  --ink-inverse:      #f7f4fb;
  --ink-on-brand:     #ffffff;

  --line:             #e9e4f0;
  --line-soft:        #f1edf6;
  --line-strong:      #cfc6de;

  /* ── Elevation ──────────────────────────────────────────────────────────
     Two-part shadows: a tight contact shadow plus a wide ambient one. */
  --shadow-xs:  0 1px 2px rgba(46, 40, 54, 0.05);
  --shadow-sm:  0 1px 2px rgba(46, 40, 54, 0.04), 0 2px 6px rgba(46, 40, 54, 0.05);
  --shadow-md:  0 2px 4px rgba(46, 40, 54, 0.04), 0 8px 20px rgba(46, 40, 54, 0.07);
  --shadow-lg:  0 4px 8px rgba(46, 40, 54, 0.05), 0 16px 40px rgba(46, 40, 54, 0.10);
  --shadow-xl:  0 8px 16px rgba(46, 40, 54, 0.06), 0 28px 64px rgba(46, 40, 54, 0.14);
  --shadow-brand: 0 4px 14px rgba(124, 85, 160, 0.28);

  /* ── Shape ──────────────────────────────────────────────────────────── */
  --r-xs:   8px;
  --r-sm:  10px;
  --r-md:  14px;
  --r-lg:  20px;
  --r-xl:  26px;
  --r-2xl: 34px;
  --r-pill: 999px;

  /* ── Space (4px base) ───────────────────────────────────────────────── */
  --s-1:  4px;
  --s-2:  8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 20px;
  --s-6: 24px;
  --s-7: 32px;
  --s-8: 40px;
  --s-9: 56px;
  --s-10: 72px;
  --s-11: 96px;

  /* ── Type ───────────────────────────────────────────────────────────── */
  --font-body: 'Poppins', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-display: var(--font-body);
  --font-mono: ui-monospace, 'SFMono-Regular', 'Cascadia Mono', Menlo, monospace;

  --t-2xs: 0.6875rem;
  --t-xs:  0.75rem;
  --t-sm:  0.8125rem;
  --t-base: 0.9375rem;
  --t-md:  1rem;
  --t-lg:  clamp(1.0625rem, 0.4vw + 0.97rem, 1.1875rem);
  --t-xl:  clamp(1.25rem, 0.7vw + 1.1rem, 1.5rem);
  --t-2xl: clamp(1.5rem, 1.4vw + 1.2rem, 2rem);
  --t-3xl: clamp(1.875rem, 2.6vw + 1.25rem, 2.875rem);

  --lh-tight: 1.18;
  --lh-body:  1.65;

  /* ── Motion ─────────────────────────────────────────────────────────── */
  --ease: cubic-bezier(0.32, 0.72, 0, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 150ms;
  --dur: 240ms;
  --dur-slow: 420ms;

  /* ── Layout ─────────────────────────────────────────────────────────── */
  --shell: 1360px;
  --shell-narrow: 900px;
  --gutter: clamp(16px, 4vw, 32px);
  --header-height: 72px;
  --announcement-height: 42px;
  --announcement-offset: var(--announcement-height);
  --drawer-width: 400px;

  /* ── Stacking order, declared once so nothing has to guess ──────────── */
  --z-sticky: 60;
  --z-header: 900;
  --z-overlay: 1000;
  --z-drawer: 1010;
  --z-modal: 1100;
  --z-toast: 1200;

  color-scheme: light;
}

/* ── Dark theme ────────────────────────────────────────────────────────────
   Follows the operating system, and the header toggle can override it by
   writing data-theme onto <html>. The attribute rule comes last so it wins
   in both directions. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) {
    --brand:            #c9a8e2;
    --brand-strong:     #e0cdf0;
    --brand-hover:      #d8bcec;
    --brand-mid:        #a982c9;
    --brand-soft:       #5f4879;
    --brand-wash:       #2a2237;
    --brand-tint:       rgba(201, 168, 226, 0.14);
    --brand-tint-soft:  rgba(201, 168, 226, 0.07);

    --rose:             #efaab4;
    --rose-soft:        #67404a;
    --rose-wash:        #2f2229;
    --heart:            #ff8296;

    --mint:             #74cfaf;
    --mint-soft:        #2c4a41;
    --amber:            #e6bc74;
    --amber-soft:       #453519;

    --surface:          #14111a;
    --surface-raised:   #1d1926;
    --surface-sunken:   #262133;
    --surface-inverse:  #0e0c14;
    --surface-veil:     rgba(29, 25, 38, 0.88);

    --ink:              #ede9f2;
    --ink-muted:        #b0a8bf;
    --ink-soft:         #948ca8;
    --ink-inverse:      #f7f4fb;
    --ink-on-brand:     #1c1626;

    --line:             #322c40;
    --line-soft:        #272134;
    --line-strong:      #4a4160;

    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.4);
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4), 0 2px 6px rgba(0, 0, 0, 0.32);
    --shadow-md: 0 2px 4px rgba(0, 0, 0, 0.36), 0 8px 20px rgba(0, 0, 0, 0.42);
    --shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.38), 0 16px 40px rgba(0, 0, 0, 0.5);
    --shadow-xl: 0 8px 16px rgba(0, 0, 0, 0.42), 0 28px 64px rgba(0, 0, 0, 0.6);
    --shadow-brand: 0 4px 14px rgba(0, 0, 0, 0.45);

    color-scheme: dark;
  }
}

:root[data-theme='dark'] {
  --brand:            #c9a8e2;
  --brand-strong:     #e0cdf0;
  --brand-hover:      #d8bcec;
  --brand-mid:        #a982c9;
  --brand-soft:       #5f4879;
  --brand-wash:       #2a2237;
  --brand-tint:       rgba(201, 168, 226, 0.14);
  --brand-tint-soft:  rgba(201, 168, 226, 0.07);

  --rose:             #efaab4;
  --rose-soft:        #67404a;
  --rose-wash:        #2f2229;
  --heart:            #ff8296;

  --mint:             #74cfaf;
  --mint-soft:        #2c4a41;
  --amber:            #e6bc74;
  --amber-soft:       #453519;

  --surface:          #14111a;
  --surface-raised:   #1d1926;
  --surface-sunken:   #262133;
  --surface-inverse:  #0e0c14;
  --surface-veil:     rgba(29, 25, 38, 0.88);

  --ink:              #ede9f2;
  --ink-muted:        #b0a8bf;
  --ink-soft:         #948ca8;
  --ink-inverse:      #f7f4fb;
  --ink-on-brand:     #1c1626;

  --line:             #322c40;
  --line-soft:        #272134;
  --line-strong:      #4a4160;

  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4), 0 2px 6px rgba(0, 0, 0, 0.32);
  --shadow-md: 0 2px 4px rgba(0, 0, 0, 0.36), 0 8px 20px rgba(0, 0, 0, 0.42);
  --shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.38), 0 16px 40px rgba(0, 0, 0, 0.5);
  --shadow-xl: 0 8px 16px rgba(0, 0, 0, 0.42), 0 28px 64px rgba(0, 0, 0, 0.6);
  --shadow-brand: 0 4px 14px rgba(0, 0, 0, 0.45);

  color-scheme: dark;
}

/* Legacy aliases. Section markup and any saved custom CSS still reference the
   previous variable names; mapping them keeps that markup rendering. */
:root {
  --color-bg: var(--surface);
  --color-bg-warm: var(--surface-sunken);
  --color-bg-card: var(--surface-raised);
  --color-text: var(--ink);
  --color-text-muted: var(--ink-muted);
  --color-text-light: var(--ink-soft);
  --color-accent: var(--brand);
  --color-accent-hover: var(--brand-hover);
  --color-accent-dark: var(--brand-strong);
  --color-accent-light: var(--brand-soft);
  --color-border: var(--line);
  --color-border-light: var(--line-soft);
  --color-surface: var(--surface-sunken);
  --radius-sm: var(--r-sm);
  --radius-md: var(--r-md);
  --radius-lg: var(--r-lg);
  --radius-pill: var(--r-pill);
  --transition-fast: var(--dur-fast) var(--ease);
  --transition-smooth: var(--dur) var(--ease);
}


/* =============================================================================
   02  RESET & BASE
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  width: 100%;
  max-width: 100%;
  background: var(--surface);
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + var(--announcement-offset) + var(--s-4));
  /* Keep the document as the only scrollport so position:sticky on the
     header stays attached. overflow-x:clip without an explicit overflow-y
     computes overflow-y to auto and, when also set on body, nested scroll
     containers kill sticky. */
  overflow-x: clip;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
html:has(body.home) { scrollbar-gutter: stable; }

body {
  width: 100%;
  max-width: 100%;
  font-family: var(--font-body);
  font-size: var(--t-base);
  font-weight: 400;
  line-height: var(--lh-body);
  color: var(--ink);
  background: var(--surface);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: visible;
  text-underline-offset: 0.18em;
}

/* Scroll lock. The script records the scroll offset in --scroll-lock-top so
   the page does not jump to the top the moment a drawer opens. */
body.rtf-locked {
  position: fixed;
  inset-inline: 0;
  top: var(--scroll-lock-top, 0px);
  width: 100%;
  overflow: hidden;
}
html.rtf-scroll-locked {
  overflow: hidden !important;
  scrollbar-gutter: auto !important;
}

/* The browser's own [hidden] rule is easily beaten by any class that sets
   display, which silently left the wishlist QR panel, the mobile menu's
   collection list and the search pagination on screen when the script had
   marked them hidden. */
[hidden] { display: none !important; }

img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { font: inherit; color: inherit; background: none; border: none; cursor: pointer; -webkit-appearance: none; appearance: none; }
input, select, textarea {
  font: inherit;
  color: inherit;
  -webkit-appearance: none;
  appearance: none;
  background-clip: padding-box;
}
input[type='checkbox'],
input[type='radio'] {
  -webkit-appearance: none;
  appearance: none;
}
:where(h1, h2, h3, h4, h5, h6) { font-weight: 700; line-height: var(--lh-tight); text-wrap: balance; }
p { text-wrap: pretty; }
hr { border: 0; border-top: 1px solid var(--line); }
::selection { background: var(--brand-soft); color: var(--ink); }

/* One focus ring, everywhere. On phones a tap also fires :focus-visible,
   and Safari paints that ring as a sharp rectangle around the whole control
   (shipping rows stretch a hidden radio over the option). Kill the tap
   flash and the rectangular ring on coarse pointers; keep a keyboard ring
   for mouse/keyboard users. */
:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
:focus:not(:focus-visible) { outline: none; }
a, button, input, select, textarea, label, summary, [role='button'] {
  -webkit-tap-highlight-color: transparent;
}
@media (hover: none), (pointer: coarse) {
  :focus-visible { outline: none; }
}

.skip-to-content {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 99999;
  padding: var(--s-3) var(--s-6);
  font-size: var(--t-sm);
  font-weight: 700;
  color: var(--ink-on-brand);
  background: var(--brand);
  border-radius: 0 0 var(--r-md) var(--r-md);
  transform: translate(-50%, -110%);
  transition: transform var(--dur) var(--ease-out);
}
.skip-to-content:focus-visible { transform: translate(-50%, 0); }

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Scrollbars. Use explicit track and thumb colours so the document scrollbar
   and nested panels remain themed inside browser and Customizer frames. */
* { scrollbar-width: thin; scrollbar-color: var(--brand-mid) var(--surface-sunken); }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: var(--surface-sunken); }
::-webkit-scrollbar-thumb {
  min-height: 44px;
  background: var(--brand-mid);
  border: 3px solid var(--surface-sunken);
  border-radius: var(--r-pill);
}
::-webkit-scrollbar-thumb:hover { background: var(--brand); }
::-webkit-scrollbar-corner { background: var(--surface-sunken); }

/* Icons are sized in em so they scale with whatever text they sit beside. */
.icon {
  width: 1.25em;
  height: 1.25em;
  flex: none;
  vertical-align: -0.22em;
}
.icon--sm { width: 1em; height: 1em; }
.icon--lg { width: 1.6em; height: 1.6em; }
.icon--xl { width: 2.4em; height: 2.4em; stroke-width: 1.4; }
.icon--heart-filled { stroke-width: 0; }


/* =============================================================================
   03  PRIMITIVES
   ========================================================================== */

/* ── Layout ────────────────────────────────────────────────────────────── */

.section { padding-block: clamp(var(--s-8), 6vw, var(--s-11)); }
/* v104 tightened these on phones and it made a real difference to how
   long the homepage feels; matching those numbers. */
@media (max-width: 768px) {
  .section { padding-block: 44px; }
  .section-header { margin-bottom: var(--s-6); }
  .section-header p { font-size: var(--t-sm); }
}
@media (max-width: 480px) {
  .section { padding-block: 36px; }
}
.section--tight { padding-block: clamp(var(--s-7), 4vw, var(--s-9)); }
.section-inner {
  --rtf-section-inline: var(--gutter);
  width: 100%;
  max-width: var(--shell);
  margin-inline: auto;
  padding-inline: var(--rtf-section-inline);
}

.section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--s-5);
  flex-wrap: wrap;
  margin-bottom: var(--s-7);
}
.section-header h2 { font-size: var(--t-2xl); letter-spacing: -0.02em; }
.section-header h2 em { font-style: italic; color: var(--brand); }
.section-header p { margin-top: var(--s-2); max-width: 58ch; font-size: var(--t-base); color: var(--ink-muted); }

.section-footer-link { display: flex; justify-content: center; margin-top: var(--s-7); }
.view-all-toggle {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  padding: var(--s-3) var(--s-6);
  font-size: var(--t-sm);
  font-weight: 700;
  color: var(--brand);
  border: 1.5px solid var(--line);
  border-radius: var(--r-pill);
  transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), gap var(--dur-fast) var(--ease);
}
.view-all-toggle:hover { border-color: var(--brand); background: var(--brand-tint-soft); gap: var(--s-3); }

/* ── Buttons ───────────────────────────────────────────────────────────── */

.btn {
  --btn-h: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-2);
  min-height: var(--btn-h);
  padding: 0 var(--s-6);
  font-size: var(--t-sm);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  border: 1.5px solid transparent;
  border-radius: var(--r-md);
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease),
              border-color var(--dur-fast) var(--ease),
              color var(--dur-fast) var(--ease),
              box-shadow var(--dur-fast) var(--ease),
              transform var(--dur-fast) var(--ease);
}
.btn:active { transform: translateY(1px) scale(0.995); }
.btn:disabled, .btn[aria-disabled='true'] { opacity: 0.55; pointer-events: none; }
.btn .icon { width: 1.15em; height: 1.15em; }

.btn-primary { background: var(--brand); color: var(--ink-on-brand); box-shadow: var(--shadow-brand); }
.btn-primary:hover { background: var(--brand-hover); box-shadow: var(--shadow-md); }

.btn-secondary {
  background: var(--surface-raised);
  color: var(--ink);
  border-color: var(--line);
  box-shadow: var(--shadow-xs);
}
.btn-secondary:hover { border-color: var(--brand); color: var(--brand); background: var(--brand-tint-soft); }

.btn-ghost { background: transparent; color: var(--ink-muted); }
.btn-ghost:hover { background: var(--brand-tint-soft); color: var(--brand); }

.btn-sm { --btn-h: 38px; padding-inline: var(--s-4); font-size: var(--t-xs); border-radius: var(--r-sm); }
.btn-block { width: 100%; }

/* ── Badges ────────────────────────────────────────────────────────────── */

.badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  font-size: var(--t-2xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.4;
  white-space: nowrap;
  border-radius: var(--r-pill);
}
.badge--brand { background: var(--brand-wash); color: var(--brand-strong); }
.badge--rose  { background: var(--rose-wash); color: var(--rose); }
.badge--mint  { background: var(--mint-soft); color: var(--mint); }

/* ── Forms ─────────────────────────────────────────────────────────────── */

input[type='text'], input[type='email'], input[type='password'], input[type='search'], input[type='tel'], textarea, select {
  width: 100%;
  min-height: 46px;
  padding: 11px var(--s-4);
  color: var(--ink);
  background: var(--surface-raised);
  border: 1.5px solid var(--line);
  border-radius: var(--r-md);
  transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px var(--brand-tint);
}
::placeholder { color: var(--ink-soft); opacity: 1; }

.select-help-text {
  display: none;
  margin-top: 6px;
  font-size: var(--t-xs);
  line-height: 1.5;
  color: var(--ink-muted);
}
.select-help-text.visible { display: block; }

.select-error-msg, .wl-error-msg {
  display: none;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  font-size: var(--t-xs);
  font-weight: 600;
  color: var(--heart);
}
.select-error-msg.visible, .wl-error-msg.visible { display: flex; }

/* ── Custom select ─────────────────────────────────────────────────────────
   The native <select> stays in the DOM and remains the source of truth: it
   carries the value, the variant ids and the form data. The visual control
   is a sibling button + listbox, with full keyboard support. */

.rtf-select { position: relative; width: 100%; }
.rtf-native-select {
  position: absolute;
  width: 1px; height: 1px;
  opacity: 0;
  pointer-events: none;
  clip-path: inset(50%);
}

.rtf-select-button {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  width: 100%;
  min-height: 46px;
  padding: 10px var(--s-3) 10px var(--s-4);
  font-size: var(--t-sm);
  font-weight: 600;
  text-align: left;
  color: var(--ink);
  background: var(--surface-raised);
  border: 1.5px solid var(--line);
  border-radius: var(--r-md);
  transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.rtf-select-button:hover { border-color: var(--line-strong); }
.rtf-select.open > .rtf-select-button { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-tint); }
.rtf-select-button.is-placeholder { color: var(--ink-soft); font-weight: 500; }
.rtf-select-button.has-error { border-color: var(--heart); }

.rtf-select-value { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rtf-select-chevron {
  display: grid;
  place-items: center;
  width: 20px; height: 20px;
  color: var(--ink-soft);
  transition: transform var(--dur) var(--ease);
}
.rtf-select-chevron svg { width: 16px; height: 16px; }
.rtf-select.open .rtf-select-chevron { transform: rotate(180deg); color: var(--brand); }

.rtf-select-menu {
  position: absolute;
  z-index: 40;
  top: calc(100% + 6px);
  left: 0; right: 0;
  display: none;
  max-height: 302px;
  padding: 6px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-lg);
}
.rtf-select.open .rtf-select-menu { display: block; animation: selectIn var(--dur-fast) var(--ease-out); }
.rtf-select--up .rtf-select-menu { top: auto; bottom: calc(100% + 6px); }
@keyframes selectIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

.rtf-select-option {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  width: 100%;
  padding: 9px 11px;
  text-align: left;
  border-radius: var(--r-sm);
  transition: background var(--dur-fast) var(--ease);
}
.rtf-select-option:hover, .rtf-select-option.is-active { background: var(--brand-wash); }
.rtf-select-option.is-selected { background: var(--brand-tint); }
.rtf-select-option-copy { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.rtf-select-option-main { font-size: var(--t-sm); font-weight: 600; color: var(--ink); }
.rtf-select-option-meta { font-size: var(--t-xs); line-height: 1.4; color: var(--ink-muted); }
.rtf-select-option-tag {
  font-size: var(--t-xs);
  font-weight: 700;
  white-space: nowrap;
  color: var(--brand);
  font-variant-numeric: tabular-nums;
}
.rtf-select--compact .rtf-select-button { min-height: 42px; font-size: var(--t-xs); }

/* ── Quantity stepper ──────────────────────────────────────────────────── */

.qty-stepper, .cart-qty-stepper, .wl-qty-stepper {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  background: var(--surface-sunken);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
}
.qty-stepper button, .cart-qty-btn, .wl-qty-stepper button {
  display: grid;
  place-items: center;
  width: 32px; height: 32px;
  color: var(--ink-muted);
  background: var(--surface-raised);
  border-radius: 50%;
  box-shadow: var(--shadow-xs);
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.qty-stepper button:hover:not(:disabled),
.cart-qty-btn:hover:not(:disabled),
.wl-qty-stepper button:hover:not(:disabled) { background: var(--brand); color: var(--ink-on-brand); }
.qty-stepper button:active:not(:disabled) { transform: scale(0.92); }
.qty-stepper button:disabled, .cart-qty-btn:disabled, .wl-qty-stepper button:disabled {
  opacity: 0.35;
  cursor: default !important;
  pointer-events: none;
  box-shadow: none;
}
.qty-stepper .icon, .cart-qty-btn .icon, .wl-qty-stepper .icon { width: 16px; height: 16px; }
.qty-value, .cart-item-qty, .wl-qty-val {
  min-width: 52px;
  text-align: center;
  font-size: var(--t-sm);
  font-weight: 700;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}

/* ── Price ─────────────────────────────────────────────────────────────── */

.price {
  font-size: var(--t-lg);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.price-unit { margin-left: 4px; font-size: var(--t-xs); font-weight: 500; color: var(--ink-muted); }
.price-placeholder { font-size: var(--t-xs); font-style: italic; color: var(--ink-soft); }

/* ── Media helpers ─────────────────────────────────────────────────────── */

.rtf-cover-img { width: 100%; height: 100%; object-fit: cover; }
.rtf-cover-img--sm { border-radius: var(--r-xs); }
.rtf-cover-img--md { border-radius: var(--r-sm); }
.rtf-emoji-placeholder { display: grid; place-items: center; background: var(--surface-sunken); color: var(--ink-soft); }

/* Shimmer, shown while product imagery decodes. */
.skeleton { position: relative; overflow: hidden; background: var(--surface-sunken); }
.skeleton::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, var(--surface-veil), transparent);
  animation: shimmer 1.4s infinite;
}
@keyframes shimmer { from { transform: translateX(-100%); } to { transform: translateX(100%); } }

/* ── Reveal on scroll ──────────────────────────────────────────────────────
   `.fade-in` previously sat at opacity:0 with no fallback, so if the observer
   never fired — background tab, no IntersectionObserver, a script error — the
   page rendered blank. `.js-reveal` is only added once the script is running,
   so without it everything is visible by default. */
.js-reveal .fade-in {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);
}
.js-reveal .fade-in.visible { opacity: 1; transform: none; }
.count-up-complete { animation: countSettle 220ms var(--ease-out) both; }
@keyframes countSettle {
  0% { transform: translateY(2px); }
  100% { transform: none; }
}
.stagger-1 { transition-delay: 40ms; }  .stagger-2 { transition-delay: 80ms; }
.stagger-3 { transition-delay: 120ms; } .stagger-4 { transition-delay: 160ms; }
.stagger-5 { transition-delay: 200ms; } .stagger-6 { transition-delay: 240ms; }
.stagger-7 { transition-delay: 280ms; } .stagger-8 { transition-delay: 320ms; }


/* =============================================================================
   04  CHROME
   ========================================================================== */

.header-wrapper {
  position: sticky;
  inset-inline: 0;
  top: 0;
  z-index: var(--z-header);
}
.admin-bar .header-wrapper { top: 32px; }
@media screen and (max-width: 782px) {
  .admin-bar .header-wrapper { top: 46px; }
}
#MainContent {
  padding-top: 0;
}

/* ── Announcement bar ──────────────────────────────────────────────────── */

.announcement-bar {
  position: relative;
  z-index: calc(var(--z-header) - 1);
  display: flex;
  align-items: center;
  height: var(--announcement-height);
  min-height: var(--announcement-height);
  max-height: var(--announcement-height);
  padding: 0 12px;
  overflow: hidden;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.3;
  color: var(--ink-inverse);
  background: #241f2e;
  transition: none;
}
.announcement-reel {
  flex: 1;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
}
.announcement-track {
  display: flex;
  align-items: center;
  width: max-content;
  height: 100%;
  will-change: transform;
  animation: rtf-announcement-reel var(--rtf-reel-duration, 28s) linear infinite;
}
.announcement-inner {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.85em;
  height: 100%;
  margin: 0;
  padding: 0 1.25em 0 0;
  line-height: 1.3;
  white-space: nowrap;
}
.announcement-inner::after {
  content: '·';
  flex: none;
  color: rgba(255, 255, 255, 0.4);
  padding-inline: 0.15em;
}
.announcement-inner [data-ann-message] {
  display: block;
  flex: none;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  line-height: 1.3;
}
.announcement-inner time {
  display: inline;
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
}
.announcement-bar a { color: #d7c2e8; text-decoration: underline; cursor: pointer !important; }
.announcement-bar a:hover { color: #fff; }
.ann-sep {
  display: block;
  flex: none;
  color: rgba(255, 255, 255, 0.4);
  line-height: 1;
  padding-inline: 0.1em;
}
.discount-code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 18px;
  padding: 0 7px;
  margin: 0 0.35em 0 0;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #241f2e;
  background: #d7c2e8;
  border-radius: var(--r-xs);
  vertical-align: middle;
}
.announcement-bar:hover .announcement-track,
.announcement-bar:focus-within .announcement-track {
  animation-play-state: paused;
}

@keyframes rtf-announcement-reel {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(calc(-1 * var(--rtf-reel-distance, 50%)), 0, 0); }
}

@media (max-width: 719px) {
  .announcement-bar {
    padding: 0 10px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .announcement-track {
    animation: none !important;
    transform: none !important;
    width: 100%;
    justify-content: center;
  }
  .announcement-inner[data-ann-clone] { display: none !important; }
  .announcement-inner {
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px 12px;
    padding-inline: 12px;
    white-space: normal;
  }
  .announcement-inner::after { display: none; }
  .announcement-inner [data-ann-message] { white-space: normal; }
  .announcement-bar {
    height: auto;
    min-height: var(--announcement-height);
    max-height: none;
    padding-block: 8px;
  }
}

/* ── Header ────────────────────────────────────────────────────────────── */

.site-header {
  position: relative;
  z-index: 2;
  height: var(--header-height);
  background: var(--surface-veil);
  backdrop-filter: saturate(180%) blur(16px);
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  border-bottom: 1px solid var(--line-soft);
  transition: box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.site-header.scrolled { box-shadow: var(--shadow-md); border-bottom-color: transparent; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header { background: var(--surface-raised); }
}

.header-inner {
  display: flex;
  align-items: center;
  gap: var(--s-4);
  height: 100%;
  max-width: var(--shell);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

/* Text wordmark only — the header carries no logo icon. */
.site-branding { display: flex; align-items: center; min-width: 0; margin-right: auto; }
.logo { display: flex; align-items: center; min-width: 0; }
.logo-text { display: flex; flex-direction: column; min-width: 0; }
.logo-text--single {
  font-size: clamp(1rem, 2.2vw, 1.4rem);
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 1.05;
  color: var(--ink);
  white-space: nowrap;
}
.logo-text--animated {
  position: relative;
  isolation: isolate;
  display: inline-block;
  overflow: visible;
  text-overflow: clip;
}
.logo-text--animated::before,
.logo-text--animated::after {
  content: '';
  position: absolute;
  pointer-events: none;
}
.logo-text--animated::before {
  z-index: -1;
  inset: -0.45em -0.7em;
  border-radius: 999px;
  background: radial-gradient(ellipse, color-mix(in srgb, var(--brand-soft) 42%, transparent) 0%, transparent 70%);
  filter: blur(7px);
  animation: rtf-logo-magic-glow 0.95s var(--ease) 0.04s both;
}
.logo-text--animated::after {
  z-index: 2;
  top: -0.25em;
  bottom: -0.25em;
  left: -20%;
  width: 28%;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--brand-soft) 68%, white) 48%, transparent);
  filter: blur(3px);
  mix-blend-mode: screen;
  animation: rtf-logo-magic-shimmer 0.88s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both;
}
.logo-wordmark {
  position: relative;
  z-index: 1;
  display: block;
  transform-origin: left center;
  will-change: filter, opacity, transform;
}
.logo-wordmark--full {
  animation: rtf-logo-magic-in 0.92s cubic-bezier(0.22, 1, 0.36, 1) 0.06s both;
}
@keyframes rtf-logo-magic-in {
  0% { filter: blur(9px); opacity: 0; transform: translateY(0.12em) scale(0.94); }
  46% { filter: blur(1.8px); opacity: 0.88; }
  72% { filter: blur(0); opacity: 1; transform: translateY(0) scale(1.015); }
  100% { filter: blur(0); opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes rtf-logo-magic-glow {
  0% { opacity: 0; transform: scale(0.68); }
  36% { opacity: 0.9; }
  100% { opacity: 0; transform: scale(1.12); }
}
@keyframes rtf-logo-magic-shimmer {
  0% { opacity: 0; transform: translateX(-35%) skewX(-12deg); }
  30% { opacity: 0.78; }
  100% { opacity: 0; transform: translateX(430%) skewX(-12deg); }
}
.nav-main { display: flex; align-items: center; gap: 2px; }
.nav-main a, .nav-main button.nav-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--s-1);
  padding: var(--s-2) var(--s-3);
  font-size: var(--t-sm);
  font-weight: 600;
  color: var(--ink-muted);
  border-radius: var(--r-sm);
  transition: color var(--dur-fast) var(--ease);
}
.nav-main a::after, .nav-main button.nav-link::after {
  content: '';
  position: absolute;
  left: var(--s-3); right: var(--s-3);
  bottom: 3px;
  height: 2px;
  background: var(--brand);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur) var(--ease);
}
.nav-main a:hover, .nav-main button.nav-link:hover { color: var(--ink); }
.nav-main a:hover::after, .nav-main button.nav-link:hover::after { transform: scaleX(1); }
.nav-main a[aria-current='page'] { color: var(--brand); }
.nav-main a[aria-current='page']::after { transform: scaleX(1); }

.header-actions { display: flex; align-items: center; gap: 2px; }
.header-actions > button, .header-actions > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px; height: 42px;
  color: var(--ink-muted);
  border-radius: var(--r-md);
  -webkit-appearance: none;
  appearance: none;
  touch-action: manipulation;
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.header-actions > button:hover, .header-actions > a:hover { background: var(--brand-tint-soft); color: var(--brand); }
.header-actions .icon { width: 21px; height: 21px; stroke-width: 1.9; pointer-events: none; }
.header-actions .cart-btn .icon--basket { width: 21px; height: 21px; stroke-width: 1.9; }

.count-badge {
  position: absolute;
  top: 5px; right: 5px;
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 20px; height: 20px;
  padding-inline: 4px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  color: #fff;
  background: #a6223e;
  border: 2px solid var(--surface-raised);
  border-radius: var(--r-pill);
  box-shadow: 0 1px 3px rgba(46, 40, 54, 0.28);
  font-variant-numeric: tabular-nums;
}
.count-badge.is-visible { display: flex; }
.header-actions .wishlist-count,
.header-actions .cart-btn .count-badge { top: 0; right: 0; }
.count-badge.is-bumped { animation: badgeBump 420ms var(--ease-out); }
@keyframes badgeBump { 0% { transform: scale(1); } 40% { transform: scale(1.45); } 100% { transform: scale(1); } }
@media (max-width: 600px) {
  .header-actions .count-badge {
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding-inline: 3px;
    font-size: 10px;
    border-width: 1px;
  }
  .header-actions .wishlist-count,
  .header-actions .cart-btn .count-badge { top: 0; right: 0; }
}

.theme-toggle .icon--sun { display: none; }
:root[data-theme='dark'] .theme-toggle .icon--sun { display: block; }
:root[data-theme='dark'] .theme-toggle .icon--moon { display: none; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) .theme-toggle .icon--sun { display: block; }
  :root:not([data-theme='light']) .theme-toggle .icon--moon { display: none; }
}

.header-actions > .mobile-menu-btn { display: none; }
@media (max-width: 900px) {
  :root { --header-height: 60px; }
  .nav-main { display: none; }
  .header-actions { flex: 0 0 auto; margin-left: auto; }
  .header-actions .theme-toggle,
  .header-actions > a.account-link,
  .header-actions > a[aria-label="Your account"] { display: none !important; }
  .header-actions > .mobile-menu-btn { display: inline-flex; }
  .header-actions > button, .header-actions > a { width: 40px; height: 40px; }
  .header-actions > .wishlist-btn { display: inline-flex !important; }
  .site-branding { flex: 1 1 auto; min-width: 0; }
}
/* The shop name has to fit whole — it was truncating to "Rowan Tree Fab…"
   once the action buttons had taken their share of a 390px header. */
@media (max-width: 560px) {
  .header-inner { gap: 6px; }
  .header-actions { gap: 0; }
  .header-actions > button, .header-actions > a { width: 36px; height: 36px; }
  .header-actions .icon,
  .header-actions .cart-btn .icon--basket { width: 20px; height: 20px; }
  .logo-text--single { font-size: clamp(0.95rem, 4.2vw, 1.12rem); letter-spacing: -0.03em; }
}
@media (max-width: 360px) {
  .header-inner { gap: 4px; padding-inline: 10px; }
  .header-actions > button, .header-actions > a { width: 36px; height: 36px; }
  .header-actions .icon,
  .header-actions .cart-btn .icon--basket { width: 18px; height: 18px; }
  .header-actions > .wishlist-btn { display: inline-flex !important; }
  .logo-text--single { font-size: 0.95rem; }
}

@media (max-width: 719px) {
  .announcement-bar { height: var(--announcement-height); min-height: var(--announcement-height); }
}

/* ── Back to top ───────────────────────────────────────────────────────── */

.back-to-top {
  position: fixed;
  right: var(--gutter);
  bottom: var(--gutter);
  z-index: var(--z-sticky);
  display: grid;
  place-items: center;
  width: 46px; height: 46px;
  color: var(--brand);
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: 50%;
  box-shadow: var(--shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility var(--dur);
}
.back-to-top.visible { opacity: 1; visibility: visible; transform: none; }
.back-to-top:hover { background: var(--brand); color: var(--ink-on-brand); border-color: var(--brand); }
body.has-sticky-buy .back-to-top { bottom: calc(var(--gutter) + 74px); }

/* ── Shared overlay + panel ────────────────────────────────────────────── */

.cart-drawer-overlay, .wishlist-overlay, .mobile-menu-overlay, .quick-add-backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--z-overlay);
  background: rgba(24, 20, 32, 0.5);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--dur) var(--ease), visibility var(--dur);
}
.cart-drawer-overlay,
.wishlist-overlay,
.mobile-menu-overlay {
  pointer-events: none;
}
.cart-drawer-overlay.open, .wishlist-overlay.open, .mobile-menu-overlay.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.quick-add-backdrop { z-index: calc(var(--z-modal) - 1); opacity: 1; visibility: visible; pointer-events: auto; }

.cart-drawer, .wishlist-drawer, .mobile-menu {
  position: fixed;
  top: 0; right: 0;
  z-index: var(--z-drawer);
  display: flex;
  flex-direction: column;
  width: min(var(--drawer-width), 100%);
  height: 100dvh;
  max-height: 100%;
  background: var(--surface-raised);
  border-left: 1px solid var(--line);
  box-shadow: var(--shadow-xl);
  transform: translateX(101%);
  visibility: hidden;
  pointer-events: none;
  transition: transform var(--dur-slow) var(--ease-out), visibility var(--dur-slow);
}
.cart-drawer.open, .wishlist-drawer.open, .mobile-menu.open {
  transform: none;
  visibility: visible;
  pointer-events: auto;
}
#cartDrawer {
  width: min(460px, 100%);
  overflow: hidden;
  border-radius: 22px 0 0 22px;
}

.cart-drawer-header, .wishlist-drawer-header, .mobile-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-3);
  flex: none;
  padding: var(--s-5) var(--s-5) var(--s-4);
  border-bottom: 1px solid var(--line-soft);
}
.cart-drawer-header h2, .wishlist-drawer-header h3, .mobile-menu-header h3 {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  font-size: var(--t-lg);
  letter-spacing: -0.01em;
}
.cart-drawer-header h2 .icon, .wishlist-drawer-header h3 .icon { color: var(--brand); }
.cart-drawer-header button, .wishlist-drawer-header button, .mobile-menu-header button {
  display: grid;
  place-items: center;
  width: 38px; height: 38px;
  flex: none;
  color: var(--ink-muted);
  background: var(--surface-sunken);
  border-radius: 50%;
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.cart-drawer-header button:hover, .wishlist-drawer-header button:hover, .mobile-menu-header button:hover {
  background: var(--heart); color: #fff;
}

/* ── Mobile menu ───────────────────────────────────────────────────────── */

.mobile-menu { overflow-y: auto; overscroll-behavior: contain; padding-bottom: var(--s-5); border-radius: var(--r-xl) 0 0 var(--r-xl); scrollbar-gutter: auto; scrollbar-width: thin; scrollbar-color: var(--brand-mid) transparent; }
.mobile-menu::-webkit-scrollbar { width: 8px; }
.mobile-menu::-webkit-scrollbar-track { background: transparent; }
.mobile-menu::-webkit-scrollbar-thumb {
  background: var(--brand-mid);
  border: 2px solid var(--surface-raised);
  border-radius: 999px;
}
@media (max-width: 600px) {
  .mobile-menu { width: min(340px, calc(100% - 28px)); padding-bottom: calc(var(--s-5) + env(safe-area-inset-bottom)); }
  .mobile-menu-header { padding-top: calc(var(--s-5) + env(safe-area-inset-top)); }
  .mm-section { padding-inline: var(--s-4); }
  .mm-section-body a, .mm-links a, .mm-link-btn { min-height: 44px; padding: 11px var(--s-3); }
}
.mm-section { padding: var(--s-3) var(--s-5) 0; }
.mm-section-label, .mm-section-toggle {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  width: 100%;
  padding: 10px var(--s-3);
  font-size: var(--t-2xs);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-soft);
  background: var(--surface-sunken);
  border-radius: var(--r-sm);
}
.mm-section-toggle .mm-arrow { margin-left: auto; transition: transform var(--dur) var(--ease); }
.mm-section-toggle[aria-expanded='true'] .mm-arrow { transform: rotate(180deg); }
.mm-icon { color: var(--brand); }
.mm-section-body, .mm-links { display: flex; flex-direction: column; gap: 1px; padding-top: var(--s-1); }
.mm-section-body a, .mm-links a, .mm-link-btn {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  width: 100%;
  padding: 11px var(--s-3);
  font-size: var(--t-base);
  font-weight: 600;
  text-align: left;
  color: var(--ink);
  background: none;
  border: 0;
  border-radius: var(--r-sm);
  cursor: pointer;
  pointer-events: auto;
  touch-action: manipulation;
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.mm-section-body a:hover, .mm-links a:hover, .mm-link-btn:hover { background: var(--brand-wash); color: var(--brand); }
.mm-section-body a .icon, .mm-links a .icon, .mm-link-btn .icon { margin-left: auto; color: var(--line-strong); pointer-events: none; }
.mm-social {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
  margin: auto var(--s-5) 0;
  padding-top: var(--s-5);
  border-top: 1px solid var(--line-soft);
}
.mm-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-2);
  width: 100%;
  min-height: 48px;
  padding: var(--s-2) var(--s-4);
  font-size: var(--t-sm);
  font-weight: 700;
  color: var(--ink);
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-sm);
  box-shadow: var(--shadow-xs);
  cursor: pointer;
}
.mm-social a .icon { color: var(--brand); }
.mm-social a:hover { background: var(--brand-wash); color: var(--brand); }

/* ── Search overlay ────────────────────────────────────────────────────── */

.search-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(var(--s-5), 10vh, 120px) var(--gutter) var(--s-5);
  background: rgba(24, 20, 32, 0.45);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--dur) var(--ease), visibility var(--dur);
}
.search-overlay.open { opacity: 1; visibility: visible; pointer-events: auto; }

.search-box {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 620px;
  max-height: 100%;
  height: auto;
  align-self: flex-start;
  overflow: hidden;
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-xl);
  transform: translateY(-14px) scale(0.98);
  transition: transform var(--dur-slow) var(--ease-out);
}
.search-overlay.open .search-box { transform: none; }

.search-input-wrap {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  flex: none;
  padding: var(--s-3) var(--s-3) var(--s-3) var(--s-5);
  border-bottom: 1px solid var(--line-soft);
}
.search-input-wrap > .icon { color: var(--ink-soft); }
.search-input-wrap input {
  flex: 1;
  min-height: 40px;
  padding: 0;
  font-size: var(--t-md);
  font-weight: 500;
  background: none;
  border: none;
}
.search-input-wrap input:focus { outline: none; box-shadow: none; }
.search-input-wrap input::-webkit-search-cancel-button { display: none; }
.search-close {
  display: grid;
  place-items: center;
  width: 36px; height: 36px;
  flex: none;
  color: var(--ink-muted);
  background: var(--surface-sunken);
  border-radius: 50%;
}
.search-close:hover { background: var(--heart); color: #fff; }

#searchOverlay .search-results {
  flex: 1;
  min-height: 0;
  padding: var(--s-2);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}
#searchOverlay .search-results:empty { display: none; }

.search-result-item {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding: var(--s-2) var(--s-3);
  border-radius: var(--r-md);
  transition: background var(--dur-fast) var(--ease);
}
.search-result-item:hover, .search-result-item.kb-active { background: var(--brand-wash); }
.search-result-item.kb-active { box-shadow: inset 0 0 0 1.5px var(--brand-soft); }
.search-result-image {
  display: block;
  width: 46px; height: 46px;
  flex: none;
  overflow: hidden;
  background: var(--surface-sunken);
  border-radius: var(--r-sm);
}
.search-result-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.search-result-image--loading {
  background: linear-gradient(100deg, var(--surface-sunken) 20%, var(--brand-wash) 50%, var(--surface-sunken) 80%);
  background-size: 220% 100%;
  animation: search-image-loading 1.1s linear infinite;
}
@keyframes search-image-loading { to { background-position-x: -220%; } }
.search-result-image--icon { display: grid; place-items: center; color: var(--brand); }
.search-result-info { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 1px; }
.search-result-meta { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.search-result-title {
  font-size: var(--t-sm);
  font-weight: 600;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-result-price { font-size: var(--t-xs); font-weight: 600; color: var(--brand); }
.search-result-arrow { flex: none; color: var(--ink-soft); }
.search-result-item--all {
  margin-bottom: var(--s-2);
  background: var(--brand-tint-soft);
  border: 1px dashed var(--brand-soft);
}
.search-result-item--all .search-result-title { white-space: normal; color: var(--brand); }

.search-loading, .search-no-results {
  padding: var(--s-6) var(--s-4);
  text-align: center;
  font-size: var(--t-sm);
  color: var(--ink-muted);
}
.search-recent-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--s-2) var(--s-3) var(--s-1);
  font-size: var(--t-2xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
.search-recent-clear { font-size: var(--t-2xs); font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--brand); }
.search-hint {
  display: flex;
  gap: var(--s-4);
  flex: none;
  padding: var(--s-3) var(--s-5);
  font-size: var(--t-xs);
  color: var(--ink-soft);
  background: var(--surface-sunken);
  border-top: 1px solid var(--line-soft);
}
.search-hint kbd {
  display: inline-block;
  padding: 1px 6px;
  margin-right: 4px;
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--ink-muted);
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: 5px;
}
@media (max-width: 600px) { .search-hint { display: none; } }
@media (max-width: 600px) {
  .search-overlay { padding: clamp(56px, 8vh, 76px) 24px 20px; }
  .search-box {
    max-width: 100%;
    padding: 10px;
    border: 0;
    border-radius: 26px;
  }
  .search-input-wrap {
    min-height: 56px;
    padding: 6px 8px 6px 18px;
    border: 1.5px solid var(--brand-soft);
    border-radius: var(--r-pill);
  }
  .search-input-wrap input { min-width: 0; min-height: 40px; font-size: var(--t-md); }
  .search-close { width: 40px; height: 40px; }
}

/* ── Modal ─────────────────────────────────────────────────────────────── */

.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--gutter);
  background: rgba(24, 20, 32, 0.5);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--dur) var(--ease), visibility var(--dur);
}
.modal-overlay.open { opacity: 1; visibility: visible; pointer-events: auto; }
.modal-box {
  width: 100%;
  max-width: 500px;
  max-height: calc(100dvh - var(--gutter) * 2);
  padding: var(--s-6);
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--surface-raised);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-xl);
  transform: translateY(16px) scale(0.97);
  transition: transform var(--dur-slow) var(--ease-out);
}
.modal-overlay.open .modal-box { transform: none; }
.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--s-4);
  margin-bottom: var(--s-4);
}
.modal-header h2 { font-size: var(--t-xl); letter-spacing: -0.02em; }
.modal-close {
  display: grid;
  place-items: center;
  width: 34px; height: 34px;
  flex: none;
  color: var(--ink-muted);
  background: var(--surface-sunken);
  border-radius: 50%;
}
.modal-close:hover { background: var(--heart); color: #fff; }
.modal-footer { margin-top: var(--s-6); }
.modal-footer .btn { width: 100%; }

.preorder-modal-intro { margin-bottom: var(--s-5); font-size: var(--t-sm); color: var(--ink-muted); }
.preorder-modal-facts {
  display: grid;
  gap: 1px;
  margin-bottom: var(--s-5);
  overflow: hidden;
  background: var(--line-soft);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
}
.preorder-modal-facts li {
  display: grid;
  grid-template-columns: 22px max-content minmax(8rem, 1fr);
  align-items: start;
  gap: var(--s-3);
  padding: var(--s-3) var(--s-4);
  background: var(--surface-raised);
}
.preorder-fact-icon { color: var(--brand); margin-top: 2px; }
.preorder-fact-label {
  font-size: var(--t-xs);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-muted);
  padding-top: 2px;
}
.preorder-fact-value {
  min-width: 0;
  font-size: var(--t-sm);
  font-weight: 700;
  line-height: 1.35;
  text-align: right;
  color: var(--ink);
  overflow-wrap: break-word;
  word-break: normal;
}
.preorder-modal-notes { display: grid; gap: var(--s-2); }
.preorder-modal-notes li {
  position: relative;
  padding-left: var(--s-5);
  font-size: var(--t-sm);
  line-height: 1.55;
  color: var(--ink-muted);
}
.preorder-modal-notes li::before {
  content: '';
  position: absolute;
  left: 4px; top: 0.62em;
  width: 6px; height: 6px;
  background: var(--brand-soft);
  border-radius: 50%;
}

/* ── Lightbox ──────────────────────────────────────────────────────────── */

.lightbox-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(16, 13, 22, 0.94);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--dur) var(--ease), visibility var(--dur);
}
.lightbox-overlay.open { opacity: 1; visibility: visible; pointer-events: auto; }
.lightbox-stage {
  display: grid;
  place-items: center;
  width: 100%; height: 100%;
  padding: 72px clamp(24px, 4vw, 72px) 104px;
  overflow: hidden;
  overscroll-behavior: contain;
}
.lightbox-stage.is-zoomed { cursor: grab; touch-action: none; }
.lightbox-stage.is-panning { cursor: grabbing; }
.lightbox-loading {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  padding: 10px 14px;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  border-radius: var(--r-pill);
  transform: translate(-50%, -50%);
  backdrop-filter: blur(8px);
}
.lightbox-stage:not(.is-loading) .lightbox-loading:empty { display: none; }
.lightbox-img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transform-origin: center;
  border-radius: var(--r-md);
  user-select: none;
  -webkit-user-drag: none;
  will-change: transform;
  opacity: 1;
  transition: transform 140ms var(--ease-out), opacity 120ms var(--ease);
}
.lightbox-stage.is-loading .lightbox-img { opacity: 0; }
.lightbox-stage.is-panning .lightbox-img { transition: opacity 120ms var(--ease); }
.lightbox-close {
  position: absolute;
  top: var(--s-4); right: var(--s-4);
  z-index: 2;
  display: grid;
  place-items: center;
  width: 44px; height: 44px;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  backdrop-filter: blur(8px);
}
.lightbox-close:hover { background: rgba(255, 255, 255, 0.24); }
.lightbox-zoom-controls {
  position: absolute;
  bottom: var(--s-6);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: var(--s-1);
  padding: 6px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: var(--r-pill);
  backdrop-filter: blur(10px);
}
.lightbox-zoom-btn {
  display: grid;
  place-items: center;
  width: 38px; height: 38px;
  color: #fff;
  border-radius: 50%;
  transition: background var(--dur-fast) var(--ease);
}
.lightbox-zoom-btn:hover:not(:disabled) { background: rgba(255, 255, 255, 0.2); }
.lightbox-zoom-btn:disabled { opacity: 0.35; cursor: default; }
.lightbox-zoom-level {
  min-width: 54px;
  min-height: 38px;
  padding-inline: 8px;
  text-align: center;
  font-size: var(--t-xs);
  font-weight: 700;
  color: #fff;
  font-variant-numeric: tabular-nums;
  border-radius: var(--r-pill);
}
.lightbox-zoom-level:hover { background: rgba(255, 255, 255, 0.2); }
@media (max-width: 600px) {
  .lightbox-stage { padding: 68px 14px 88px; }
  .lightbox-close { top: 14px; right: 14px; }
  .lightbox-zoom-controls { bottom: calc(14px + env(safe-area-inset-bottom)); }
}


/* =============================================================================
   05  HOME
   ========================================================================== */

/* ── Hero ──────────────────────────────────────────────────────────────── */

.hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 70% 60% at 12% 40%, var(--brand-tint), transparent 70%),
    radial-gradient(ellipse 60% 70% at 88% 20%, rgba(196, 86, 107, 0.09), transparent 70%),
    linear-gradient(165deg, var(--brand-wash) 0%, var(--surface) 55%);
}
.hero::after {
  /* A faint woven grid — a fabric reference rather than a flourish. */
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--line-soft) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity: 0.55;
  mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000, transparent);
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000, transparent);
  pointer-events: none;
}
.hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(var(--s-7), 5vw, var(--s-10));
  align-items: start;
  width: 100%;
  max-width: var(--shell);
  margin-inline: auto;
  padding: clamp(var(--s-8), 6vw, var(--s-10)) var(--gutter);
}
.hero-content {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  animation: heroIn 700ms var(--ease-out) both;
}
@keyframes heroIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

/* The hero must stack below 1024px. Without this the two columns stayed
   side by side on a phone, leaving the headline and the whole collections
   grid in a 167px-wide sliver. */
@media (max-width: 1024px) {
  .hero-inner { grid-template-columns: 1fr; gap: var(--s-7); }
  .hero-description { max-width: none; }
}
@media (max-width: 768px) {
  .hero-inner { padding: var(--s-7) var(--gutter); gap: var(--s-6); }
  .hero-stats { gap: var(--s-5); margin-bottom: var(--s-5); }
  .hero-actions { gap: var(--s-2); }
  .hero-actions .btn { flex: 1 1 auto; }
  .countdown-wrap { max-width: none; margin-top: var(--s-5); padding: var(--s-3) var(--s-4); }
  .countdown-box { min-width: 0; flex: 1; padding: 6px 4px; }
  .countdown-boxes { gap: 4px; }
  .countdown-num { font-size: 1.15rem; }
  .hero::after { background-size: 32px 32px; }
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  padding: 6px 14px;
  margin-bottom: var(--s-5);
  font-size: var(--t-2xs);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--brand-strong);
  background: var(--surface-raised);
  border: 1px solid var(--brand-soft);
  border-radius: var(--r-pill);
  box-shadow: var(--shadow-xs);
}
.pulse-dot { width: 7px; height: 7px; background: var(--mint); border-radius: 50%; animation: pulse 2.2s ease-in-out infinite; }
@keyframes pulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(47, 127, 102, 0.45); }
  50% { opacity: 0.72; box-shadow: 0 0 0 6px rgba(47, 127, 102, 0); }
}

.hero h1 { font-size: var(--t-3xl); letter-spacing: -0.03em; margin-bottom: var(--s-4); }
.hero h1 em { font-style: italic; color: var(--brand); }
.hero-description { width: 100%; max-width: 46ch; margin-bottom: var(--s-6); overflow-wrap: break-word; font-size: var(--t-md); color: var(--ink-muted); }

.hero-stats { display: flex; width: 100%; min-width: 0; max-width: 100%; align-items: center; gap: clamp(var(--s-4), 3vw, var(--s-7)); margin-bottom: var(--s-6); }
.hero-stat { display: flex; flex-direction: column; }
.hero-stat-num {
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: var(--brand);
  font-variant-numeric: tabular-nums;
}
.hero-stat-label {
  margin-top: 2px;
  font-size: var(--t-2xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.hero-stat-divider { width: 1px; height: 34px; flex: none; background: var(--line); }

@media (max-width: 600px) {
  .hero h1 { font-size: clamp(1.875rem, 8.2vw, 2.125rem); line-height: 1.14; }
  .hero-stats {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr) 1px minmax(0, 1fr);
    width: 100%;
    gap: clamp(8px, 3vw, 16px);
  }
  .hero-stat { min-width: 0; }
  .hero-stat-num { font-size: clamp(1.45rem, 7vw, 1.8rem); }
  .hero-stat-label { font-size: 0.625rem; white-space: nowrap; }
  .hero-stat-divider { width: 1px; height: 42px; }
}

.hero-actions { display: flex; width: 100%; min-width: 0; max-width: 100%; flex-wrap: wrap; gap: var(--s-3); }

@media (max-width: 480px) {
  .hero-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .hero-actions .btn { width: 100%; min-width: 0; max-width: 100%; padding-inline: var(--s-4); }
}

.countdown-wrap {
  max-width: max-content;
  margin-top: var(--s-7);
  padding: var(--s-4) var(--s-5);
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
}
.countdown-label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: var(--s-3);
  font-size: var(--t-2xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--brand);
}
.countdown-boxes { display: flex; align-items: center; gap: var(--s-1); }
.countdown-box { min-width: 54px; padding: var(--s-2) var(--s-3); text-align: center; background: var(--surface-sunken); border-radius: var(--r-sm); }
.countdown-num {
  display: block;
  font-size: 1.375rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.countdown-unit {
  display: block;
  margin-top: 3px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
.countdown-sep { font-size: 1.1rem; font-weight: 700; color: var(--line-strong); }
.countdown-wrap.ended { background: var(--rose-wash); border-color: var(--rose-soft); }
.countdown-wrap.ended .countdown-label { color: var(--rose); }
.countdown-wrap.ended .countdown-boxes { display: none; }

/* ── Collection cards ──────────────────────────────────────────────────── */

.hero-collections { animation: heroIn 700ms var(--ease-out) 120ms both; }
.hero-collections-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--s-4); }
.hero-collections-header h2 { font-size: var(--t-xl); letter-spacing: -0.02em; }
.hero-collections-header h2 em { font-style: italic; color: var(--brand); }

.categories-grid { display: grid; gap: var(--s-2); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.categories-grid--index { gap: var(--s-3); grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); }
/* The full collections page has room for a second line, so longer names such
   as "Adventure Is Out There" wrap instead of being cut off. */
.categories-grid--index .category-info h3 { white-space: normal; }

.category-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding: var(--s-3) var(--s-4) var(--s-3) var(--s-5);
  overflow: hidden;
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-xs);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.category-card::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: var(--cat-accent, var(--brand-soft));
  transition: width var(--dur) var(--ease);
}
.category-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); border-color: var(--brand-soft); }
.category-card:hover::before { width: 6px; }
.category-bg {
  display: grid;
  place-items: center;
  width: 38px; height: 38px;
  flex: none;
  font-size: 20px;
  line-height: 1;
  background: var(--surface-sunken);
  border-radius: var(--r-sm);
}
.category-info { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.category-info h3 {
  font-size: var(--t-sm);
  font-weight: 700;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.category-info span { font-size: var(--t-xs); color: var(--ink-muted); }
.cat-arrow { margin-left: auto; flex: none; color: var(--line-strong); transition: color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease); }
.category-card:hover .cat-arrow { color: var(--brand); transform: translateX(3px); }

/* Phones: two compact columns rather than one long column, and the name is
   allowed a second line — at this width "Adventure Is Out There" was being
   truncated on every single tile. */
@media (max-width: 768px) {
  .categories-grid { gap: var(--s-2); }
  .categories-grid--index { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .category-card { gap: var(--s-2); padding: 10px var(--s-3) 10px var(--s-4); }
  .category-info h3 { font-size: var(--t-xs); line-height: 1.25; white-space: normal; overflow: visible; text-overflow: clip; }
  .categories-grid--index .category-info h3 { font-size: var(--t-xs); }
  .category-info span { font-size: var(--t-2xs); }
  .categories-grid--index .category-bg { width: 32px; height: 32px; font-size: 17px; }
  .cat-arrow { display: none; }
}

/* One accent per collection, set as a custom property so the card markup
   stays identical wherever the grid is reused. */
.cat-adventure, .cat-adventureisoutthere { --cat-accent: linear-gradient(#5cb79b, #3f8f78); }
.cat-anime        { --cat-accent: linear-gradient(#e88ab4, #c069a0); }
.cat-books        { --cat-accent: linear-gradient(#c9a684, #a07f5e); }
.cat-cartoons     { --cat-accent: linear-gradient(#e8ac5c, #c98a3c); }
.cat-catchthem, .cat-catchthemall { --cat-accent: linear-gradient(#e0c94e, #b8a02e); }
.cat-christmas    { --cat-accent: linear-gradient(#5fa872, #c05f5f); }
.cat-clearvinyl   { --cat-accent: linear-gradient(#a8c8e4, #7fa4c8); }
.cat-films        { --cat-accent: linear-gradient(#cf8080, #a05868); }
.cat-horror       { --cat-accent: linear-gradient(#9878b8, #574a70); }
.cat-kids         { --cat-accent: linear-gradient(#6fb5cf, #e0c060); }
.cat-magic        { --cat-accent: linear-gradient(#b47fd8, #8060a8); }
.cat-music        { --cat-accent: linear-gradient(#8898dc, #5f5fb0); }
.cat-nonchar, .cat-noncharacter, .cat-noncharacterai { --cat-accent: linear-gradient(#a89fbc, #807896); }
.cat-other        { --cat-accent: linear-gradient(#94a4b4, #6f7d8c); }
.cat-retro        { --cat-accent: linear-gradient(#dcc464, #bc9c40); }
.cat-superheroes  { --cat-accent: linear-gradient(#6f9cd8, #4d74b8); }
.cat-tvshows      { --cat-accent: linear-gradient(#8cb0b0, #628484); }
.cat-videogames   { --cat-accent: linear-gradient(#5fbc9c, #3f9878); }

/* ── Trust bar ─────────────────────────────────────────────────────────── */

.info-bar { padding-block: var(--s-6); background: var(--surface-raised); border-block: 1px solid var(--line-soft); }
.info-bar-inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--s-3);
  max-width: var(--shell);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.info-item {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  min-width: 0;
  min-height: 100%;
  padding: 16px 14px;
  color: inherit;
  background: var(--surface-sunken);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  text-decoration: none;
  box-sizing: border-box;
}
a.info-item { cursor: pointer; }
a.info-item:hover,
a.info-item:focus-visible {
  background: var(--brand-tint-soft);
  border-color: var(--brand-soft);
  outline: 0;
}
.info-item-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: none;
  color: var(--brand);
  background: var(--brand-wash);
  border-radius: 12px;
}
.info-item-text { display: flex; flex-direction: column; min-width: 0; }
.info-item-text strong { font-size: var(--t-sm); font-weight: 700; line-height: 1.35; color: var(--ink); }
.info-item-text span { font-size: var(--t-xs); line-height: 1.45; color: var(--ink-muted); }
.info-item-text a {
  color: var(--brand);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.info-item-text a:hover { color: var(--brand-strong); }

@media (max-width: 1100px) {
  .info-bar-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .info-bar-inner { grid-template-columns: 1fr; gap: var(--s-2); }
  .info-bar { padding-block: var(--s-4); }
}

/* ── How it works ──────────────────────────────────────────────────────── */

.how-it-works { background: var(--surface-sunken); }
.steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
  gap: var(--s-4);
  counter-reset: step;
}
.step-card {
  position: relative;
  padding: var(--s-6) var(--s-5) var(--s-5);
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-xs);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.step-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.step-card::before {
  counter-increment: step;
  content: counter(step);
  display: grid;
  place-items: center;
  width: 30px; height: 30px;
  margin-bottom: var(--s-3);
  font-size: var(--t-sm);
  font-weight: 800;
  color: var(--ink-on-brand);
  background: var(--brand);
  border-radius: 50%;
}
.step-card h3 { margin-bottom: 6px; font-size: var(--t-lg); letter-spacing: -0.01em; }
.step-card p { font-size: var(--t-sm); color: var(--ink-muted); }
.steps-carousel-status { display: none; }

/* On phones the four steps use the same one-card swipe pattern as the fabric
   bases, retaining a visible sliver of the next step as an interaction cue. */
@media (max-width: 768px) {
  .how-section .section-inner { overflow: hidden; }
  .steps-grid {
    display: flex;
    gap: var(--s-3);
    margin-inline: calc(-1 * var(--rtf-section-inline, var(--gutter)));
    padding: 4px var(--rtf-section-inline, var(--gutter)) var(--s-4);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--rtf-section-inline, var(--gutter));
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    touch-action: pan-x;
  }
  .steps-grid::-webkit-scrollbar { display: none; }
  .steps-grid:focus-visible { outline: 0; }
  .step-card {
    flex: 0 0 min(82vw, 320px);
    min-height: 210px;
    padding: var(--s-6) var(--s-5) var(--s-5);
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .step-card::before { width: 30px; height: 30px; }
  .step-card h3 { margin-bottom: var(--s-2); font-size: var(--t-lg); }
  .step-card p { font-size: var(--t-sm); line-height: 1.6; }
  .steps-carousel-status {
    display: grid;
    grid-template-columns: auto minmax(70px, 1fr) auto;
    align-items: center;
    gap: var(--s-3);
    margin-top: var(--s-2);
    font-size: var(--t-xs);
    color: var(--ink-muted);
  }
  .steps-carousel-count strong { color: var(--brand); }
  .steps-carousel-track { height: 3px; overflow: hidden; background: var(--line); border-radius: var(--r-pill); }
  .steps-carousel-track > span { display: block; width: 25%; height: 100%; background: var(--brand); border-radius: inherit; transition: width var(--dur) var(--ease); }
  .steps-carousel-hint { font-weight: 600; }
}

/* ── Fabric bases ──────────────────────────────────────────────────────── */

.bases-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr)); gap: var(--s-3); }
.base-card {
  display: flex;
  padding: var(--s-5);
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.base-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); border-color: var(--brand-soft); }
.base-card h3 { margin-bottom: 6px; font-size: var(--t-base); }
.base-card p { margin-bottom: var(--s-3); font-size: var(--t-xs); line-height: 1.55; color: var(--ink-muted); }
.base-weight {
  display: inline-block;
  padding: 3px 10px;
  font-size: var(--t-2xs);
  font-weight: 700;
  color: var(--brand);
  background: var(--brand-wash);
  border-radius: var(--r-pill);
  font-variant-numeric: tabular-nums;
}
.base-card .base-weight { margin-top: auto; align-self: flex-start; }
.bases-carousel-status { display: none; }
.bases-toggle { display: none; }

/* On phones the bases become a one-card swipe feed. A sliver of the next
   card remains visible so the horizontal interaction is discoverable. */
@media (max-width: 768px) {
  .bases-section .section-inner { overflow: hidden; }
  .bases-grid {
    display: flex;
    gap: var(--s-3);
    margin-inline: calc(-1 * var(--rtf-section-inline, var(--gutter)));
    padding: 4px var(--rtf-section-inline, var(--gutter)) var(--s-4);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--rtf-section-inline, var(--gutter));
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    touch-action: pan-x;
  }
  .bases-grid::-webkit-scrollbar { display: none; }
  .bases-grid:focus-visible { outline: 0; }
  .base-card {
    flex: 0 0 min(82vw, 320px);
    min-height: 228px;
    padding: var(--s-5);
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .base-card h3 { font-size: var(--t-lg); margin-bottom: var(--s-2); }
  .base-card p { font-size: var(--t-sm); line-height: 1.6; margin-bottom: var(--s-4); }
  .base-weight { padding: 3px 10px; font-size: var(--t-2xs); }
  .bases-carousel-status {
    display: grid;
    grid-template-columns: auto minmax(70px, 1fr) auto;
    align-items: center;
    gap: var(--s-3);
    margin-top: var(--s-2);
    font-size: var(--t-xs);
    color: var(--ink-muted);
  }
  .bases-carousel-count strong { color: var(--brand); }
  .bases-carousel-track { height: 3px; overflow: hidden; background: var(--line); border-radius: var(--r-pill); }
  .bases-carousel-track > span { display: block; width: 4%; height: 100%; background: var(--brand); border-radius: inherit; transition: width var(--dur) var(--ease); }
  .bases-carousel-hint { font-weight: 600; }
}

@media (max-width: 900px) {
  .bases-grid.bases-collapsed > .base-card:nth-child(n + 5) { display: none; }
  .bases-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    margin-top: var(--s-4);
    padding: var(--s-3) var(--s-5);
    font-size: var(--t-sm);
    font-weight: 700;
    color: var(--brand);
    background: var(--surface-raised);
    border: 1.5px solid var(--line);
    border-radius: var(--r-pill);
  }
  .bases-toggle-icon { transition: transform var(--dur) var(--ease); }
  .bases-toggle.open .bases-toggle-icon { transform: rotate(180deg); }
}

@media (max-width: 768px) {
  .bases-grid.bases-collapsed > .base-card:nth-child(n + 5) { display: flex; }
  .bases-toggle { display: none; }
}

/* Desktop retains the mobile carousel language, while showing several cards
   and providing explicit arrow controls for mouse and keyboard users. */
@media (min-width: 769px) {
  .how-section .section-inner, .bases-section .section-inner { overflow: hidden; }
  .steps-grid, .bases-grid {
    display: flex;
    gap: var(--s-4);
    padding: 4px 2px var(--s-4);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 2px;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  .steps-grid::-webkit-scrollbar, .bases-grid::-webkit-scrollbar { display: none; }
  .steps-grid:focus-visible, .bases-grid:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
  .step-card {
    flex: 0 0 clamp(270px, 29vw, 350px);
    min-height: 220px;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .base-card, .bases-grid.bases-collapsed > .base-card:nth-child(n + 5) {
    display: flex;
    flex: 0 0 clamp(250px, 24vw, 300px);
    min-height: 228px;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .steps-carousel-status, .bases-carousel-status {
    display: grid;
    grid-template-columns: auto minmax(120px, 1fr) auto;
    align-items: center;
    gap: var(--s-4);
    margin-top: var(--s-2);
    font-size: var(--t-xs);
    color: var(--ink-muted);
  }
  .steps-carousel-count strong, .bases-carousel-count strong { color: var(--brand); }
  .steps-carousel-track, .bases-carousel-track { height: 3px; overflow: hidden; background: var(--line); border-radius: var(--r-pill); }
  .steps-carousel-track > span, .bases-carousel-track > span { display: block; height: 100%; background: var(--brand); border-radius: inherit; transition: width var(--dur) var(--ease); }
  .steps-carousel-track > span { width: 25%; }
  .bases-carousel-track > span { width: 4%; }
  .steps-carousel-hint, .bases-carousel-hint { display: none; }
  .carousel-arrow-controls { display: flex; gap: var(--s-2); }
  .carousel-arrow-controls button {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    color: var(--brand);
    background: var(--surface-raised);
    border: 1px solid var(--line);
    border-radius: 50%;
    transition: color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
  }
  .carousel-arrow-controls button:hover:not(:disabled) { color: var(--ink-on-brand); background: var(--brand); border-color: var(--brand); }
  .carousel-arrow-controls button:disabled { opacity: 0.4; cursor: default; }
}

@media (max-width: 768px) {
  .carousel-arrow-controls { display: none; }
}

.steps-carousel-status,
.bases-carousel-status {
  display: grid !important;
  grid-template-columns: auto minmax(56px, 1fr) auto !important;
  align-items: center !important;
  column-gap: 10px !important;
  row-gap: 0 !important;
  width: 100% !important;
}
.steps-carousel-hint,
.bases-carousel-hint {
  display: none !important;
}
.carousel-arrow-controls {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px !important;
  justify-self: end !important;
  grid-column: 3 !important;
}
.carousel-arrow-controls button {
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
}


/* =============================================================================
   06  CATALOGUE
   ========================================================================== */

.products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr));
  gap: clamp(var(--s-3), 1.6vw, var(--s-5));
  align-items: stretch;
}
.products-grid[data-density='comfortable'] { grid-template-columns: repeat(auto-fill, minmax(min(310px, 100%), 1fr)); }

/* Phones keep two columns. auto-fill collapses to a single column below
   about 530px, which turned an eight-product row into an eight-screen
   scroll — the catalogue is browsed by pattern, so two smaller tiles beat
   one huge one. */
@media (max-width: 600px) {
  .products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3); }
}

.product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-xs);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
  cursor: pointer;
}
.product-card a, .product-card button, .product-card input, .product-card select, .product-card label { cursor: pointer; }
@media (hover: hover) {
  .product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--brand-soft); }
}

.product-image { position: relative; display: block; }
.product-image-inner { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: var(--surface-sunken); }
.product-image-inner img {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform var(--dur-slow) var(--ease);
}
@media (hover: hover) { .product-card:hover .product-image-inner img { transform: none; } }

.product-badges {
  position: absolute;
  top: var(--s-2); left: var(--s-2);
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-1);
  max-width: calc(100% - 60px);
}
.product-badge {
  padding: 4px 9px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  line-height: 1.4;
  border-radius: var(--r-pill);
  backdrop-filter: blur(6px);
  box-shadow: var(--shadow-xs);
}
.badge-preorder { color: var(--brand-strong); background: rgba(255, 255, 255, 0.92); }
.badge-new { color: #fff; background: var(--mint); }
:root[data-theme='dark'] .badge-preorder { color: var(--brand); background: rgba(29, 25, 38, 0.9); }

.product-zoom {
  position: absolute;
  top: var(--s-2); right: var(--s-2);
  z-index: 2;
  display: grid;
  place-items: center;
  width: 34px; height: 34px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.92);
  border-radius: 50%;
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(6px);
  opacity: 0;
  transform: scale(0.85);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), background var(--dur-fast) var(--ease);
}
.product-card:hover .product-zoom, .product-zoom:focus-visible { opacity: 1; transform: none; }
.product-zoom:hover { background: #fff; color: var(--brand); }
@media (hover: none) { .product-zoom { opacity: 1; transform: none; } }
:root[data-theme='dark'] .product-zoom { background: rgba(29, 25, 38, 0.88); color: var(--ink); }

.product-info { display: flex; flex-direction: column; flex: 1; padding: var(--s-4); }
.product-name-row { display: flex; align-items: flex-start; gap: var(--s-2); }
.product-name {
  flex: 1;
  min-width: 0;
  font-size: var(--t-sm);
  font-weight: 700;
  line-height: 1.35;
  min-height: 2.7em;
  color: var(--ink);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-name:hover { color: var(--brand); }

/* Heart beside the name rather than over the artwork — the owner's call in
   v104, and it keeps the tap target clear of the product link. */
.product-wishlist {
  display: grid;
  place-items: center;
  width: 32px; height: 32px;
  flex: none;
  margin: -4px -4px 0 0;
  color: var(--ink-soft);
  border-radius: 50%;
  transition: color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
}
.product-wishlist:hover { color: var(--heart); background: var(--rose-wash); }
.product-wishlist.is-active, .product-wishlist.wishlisted { color: var(--heart); }
[data-wishlist-toggle].is-active svg,
[data-wishlist-toggle].active svg { fill: currentColor; }

.product-category {
  margin-top: 3px;
  min-height: 1.15em;
  font-size: var(--t-2xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
.product-card-price { margin-top: var(--s-2); font-size: var(--t-sm); font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; }
.product-card-price small { font-size: var(--t-xs); font-weight: 500; color: var(--ink-muted); }

.product-card-actions { display: flex; gap: var(--s-2); margin-top: auto; padding-top: var(--s-4); }
.btn-view-product, .quick-add-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex: 1;
  min-height: 40px;
  padding-inline: var(--s-3);
  font-size: var(--t-xs);
  font-weight: 700;
  white-space: nowrap;
  border: 1.5px solid transparent;
  border-radius: var(--r-sm);
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}
.btn-view-product { color: var(--ink-muted); border-color: var(--line); }
.btn-view-product:hover { color: var(--brand); border-color: var(--brand); background: var(--brand-tint-soft); }
.quick-add-trigger { color: var(--ink-on-brand); background: var(--brand); }
.quick-add-trigger:hover { background: var(--brand-hover); }
.btn-view-product .icon, .quick-add-trigger .icon { width: 15px; height: 15px; }

/* At two columns a card is about 170px wide, so the text tightens and the
   two buttons stack instead of being squeezed side by side. */
@media (max-width: 768px) {
  .product-info { padding: var(--s-3); }
  .product-name { font-size: var(--t-xs); line-height: 1.3; }
  .product-category { font-size: 10px; letter-spacing: 0.06em; }
  .product-card-price { margin-top: 6px; font-size: var(--t-xs); }
  .product-card-price small { font-size: 10px; }
  .product-card-actions { flex-direction: column; gap: 6px; padding-top: var(--s-3); }
  .btn-view-product, .quick-add-trigger { min-height: 36px; font-size: 11px; }
  .product-wishlist { width: 30px; height: 30px; margin: -2px -2px 0 0; }
  .product-badge { padding: 3px 7px; font-size: 9px; }
  .product-badges { gap: 3px; max-width: calc(100% - 46px); }
  .product-zoom { width: 30px; height: 30px; }
}

/* ── Quick add sheet ───────────────────────────────────────────────────────
   The panel is moved to <body> while open. Every card carries a transform
   (hover lift, reveal), which would otherwise make the card the containing
   block for a fixed-position child and trap the sheet inside it. */

.product-controls { display: none; }
@media (min-width: 1100px) {
  .product-card .product-controls {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    margin-top: var(--s-3);
  }
  .product-card .quick-add-head { display: none; }
  .product-card-actions .quick-add-trigger { display: none; }
  .product-card-actions .btn-view-product { width: 100%; }
  .product-card .product-price-line { margin-top: var(--s-2); }
}
.base-card-content { display: flex; flex: 1; flex-direction: column; }
.product-controls.quick-add-portal {
  position: fixed;
  z-index: var(--z-modal);
  left: 50%;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
  width: min(440px, 100%);
  max-height: min(88dvh, 720px);
  padding: var(--s-5) var(--s-5) calc(var(--s-5) + env(safe-area-inset-bottom));
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--surface-raised);
  border-radius: var(--r-2xl) var(--r-2xl) 0 0;
  box-shadow: var(--shadow-xl);
  transform: translateX(-50%);
  animation: sheetUp var(--dur-slow) var(--ease-out);
}
@media (max-width: 768px) {
  .product-controls.quick-add-portal { height: min(88dvh, 720px); }
}
@keyframes sheetUp { from { transform: translate(-50%, 100%); } to { transform: translate(-50%, 0); } }
@media (min-width: 720px) {
  .product-controls.quick-add-portal {
    top: 50%;
    bottom: auto;
    border-radius: var(--r-xl);
    transform: translate(-50%, -50%);
    animation: sheetIn var(--dur-slow) var(--ease-out);
  }
  @keyframes sheetIn {
    from { opacity: 0; transform: translate(-50%, calc(-50% + 20px)) scale(0.97); }
    to { opacity: 1; transform: translate(-50%, -50%); }
  }
}

/* =============================================================================
   v1.2.150 — Keep remote thumbnail recovery visually stable.
   The placeholder remains available as a genuine failure fallback, but it is
   not painted while the retained product artwork is being resolved.
   ========================================================================== */
img[data-image-lookup-url]:not([data-image-lookup-state="complete"]):not([data-image-lookup-state="failed"]) {
  opacity: 0 !important;
  transition: none !important;
}

.search-result-image--loading > img {
  opacity: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  .search-result-image--loading {
    animation: none;
  }
}

.quick-add-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--s-3);
  padding-bottom: var(--s-3);
  border-bottom: 1px solid var(--line-soft);
}
.quick-add-title { font-size: var(--t-lg); font-weight: 700; letter-spacing: -0.01em; }
.quick-add-close {
  display: grid;
  place-items: center;
  width: 34px; height: 34px;
  flex: none;
  color: var(--ink-muted);
  background: var(--surface-sunken);
  border-radius: 50%;
}
.quick-add-close:hover { background: var(--heart); color: #fff; }

.base-selector-wrap label, .scale-selector-wrap label {
  display: block;
  margin-bottom: 6px;
  font-size: var(--t-xs);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.fixed-material-wrap,
.wishlist-fixed-material,
.rtf-fixed-material-value {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-4);
  min-height: 52px;
  padding: var(--s-3) var(--s-4);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: var(--surface-sunken);
}
.fixed-material-label,
.wishlist-fixed-material .wishlist-field-label {
  margin: 0;
  color: var(--ink-muted);
  font-size: var(--t-xs);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.rtf-fixed-material-control { display: none; }
.rtf-fixed-material-value { justify-content: flex-start; }
.rtf-choice { position: relative; width: 100%; }
.rtf-choice-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
.rtf-choice-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-3);
  width: 100%;
  min-height: 52px;
  padding: 0 var(--s-4);
  text-align: left;
  color: var(--ink-muted);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: none;
  cursor: pointer;
}
.rtf-choice-button:hover,
.rtf-choice-button:focus-visible,
.rtf-choice.is-open .rtf-choice-button {
  color: var(--ink);
  border-color: var(--brand-mid);
  box-shadow: 0 0 0 3px var(--brand-wash);
}
.rtf-choice-button[aria-invalid='true'] { border-color: var(--heart); }
.rtf-choice-value { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rtf-choice-arrow {
  display: grid;
  width: 30px;
  height: 30px;
  flex: none;
  place-items: center;
  color: var(--brand);
  background: var(--brand-wash);
  border-radius: 50%;
  transition: transform var(--dur-fast) var(--ease);
}
.rtf-choice.is-open .rtf-choice-arrow { transform: rotate(180deg); }
.rtf-choice-list {
  position: absolute;
  z-index: calc(var(--z-modal) + 2);
  top: calc(100% + 8px);
  left: 0;
  width: 100%;
  max-height: min(390px, 56vh);
  padding: var(--s-2);
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-xl);
  scrollbar-color: var(--brand-mid) var(--surface-soft);
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}
.rtf-choice-list::-webkit-scrollbar { width: 12px; }
.rtf-choice-list::-webkit-scrollbar-track {
  margin-block: 8px;
  background: var(--surface-soft);
  border-radius: var(--r-pill);
}
.rtf-choice-list::-webkit-scrollbar-thumb {
  min-height: 44px;
  background: var(--brand-mid);
  border: 3px solid var(--surface-soft);
  border-radius: var(--r-pill);
  background-clip: padding-box;
}
.rtf-choice-list::-webkit-scrollbar-thumb:hover { background: var(--brand); background-clip: padding-box; }
.rtf-choice-list::-webkit-scrollbar-corner { background: transparent; }
.rtf-choice-list[hidden] { display: none; }
.rtf-choice-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-3);
  width: 100%;
  padding: var(--s-4);
  text-align: left;
  color: var(--ink);
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--r-md);
  cursor: pointer;
}
.rtf-choice-option-copy { display: flex; flex: 1; min-width: 0; flex-direction: column; align-items: flex-start; gap: 3px; }
.rtf-choice-option strong { font-size: var(--t-sm); font-weight: 700; }
.rtf-choice-option span { font-size: var(--t-xs); color: var(--ink-muted); }
.rtf-choice-option .rtf-choice-option-price { flex: 0 0 auto; color: var(--brand); font-size: var(--t-sm); font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rtf-choice-option:hover,
.rtf-choice-option:focus-visible,
.rtf-choice-option[aria-selected='true'] {
  color: var(--brand-strong);
  background: var(--brand-tint-soft);
  border-color: var(--line-soft);
  outline: 0;
}
.rtf-choice-option[aria-selected='true'] span { color: var(--brand); }
.rtf-choice-option:disabled { opacity: 0.4; cursor: default; }

/* Keep enabled product selectors visibly interactive even when WooCommerce or
 * extension styles are loaded after the theme. The native select remains the
 * accessible source of truth; these rules apply only to the custom controls. */
.single-product .rtf-choice-button:not(:disabled),
.single-product .rtf-choice-button:not(:disabled) *,
.single-product .rtf-choice-option:not(:disabled),
.single-product .rtf-choice-option:not(:disabled) * {
  cursor: pointer !important;
}

.single-product .rtf-choice-button:disabled,
.single-product .rtf-choice-button:disabled *,
.single-product .rtf-choice-option:disabled,
.single-product .rtf-choice-option:disabled * {
  cursor: default !important;
}

.rtf-choice-list--portal {
  position: fixed !important;
  z-index: calc(var(--z-toast) + 10) !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
}
@media (max-width: 768px) {
  .pdp-purchase-card .rtf-choice-option,
  .product-controls.quick-add-portal .rtf-choice-option { padding: var(--s-3); }
}
.product-order { display: flex; flex-direction: column; gap: var(--s-3); }
.product-price-line { display: flex; align-items: baseline; gap: 4px; min-height: 26px; }
.qty-row { display: flex; align-items: center; gap: var(--s-3); }
.qty-add-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex: 1;
  min-height: 46px;
  font-size: var(--t-sm);
  font-weight: 700;
  white-space: nowrap;
  color: var(--ink-on-brand);
  background: var(--brand);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-brand);
  transition: background var(--dur-fast) var(--ease);
}
.qty-add-btn:hover:not(:disabled) { background: var(--brand-hover); }
.qty-add-btn:disabled { opacity: 0.75; cursor: wait; }
.qty-add-btn.is-done, .wl-add-btn.is-done, .pdp-add-btn.is-done { background: var(--mint); color: #fff; }
.qty-add-btn.is-error, .wl-add-btn.is-error, .pdp-add-btn.is-error { background: var(--heart); color: #fff; }

/* ── Collection page ───────────────────────────────────────────────────── */

.collection-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--s-6);
  padding: var(--s-4);
  margin-bottom: var(--s-3);
  background:
    radial-gradient(circle at 88% 25%, var(--rose-wash), transparent 30%),
    linear-gradient(140deg, var(--brand-wash), var(--surface-raised) 72%);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-xl);
}
.collection-header-copy { min-width: 0; }
.collection-eyebrow {
  margin-bottom: var(--s-2);
  font-size: var(--t-2xs);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--brand);
}
.collection-header-title { font-size: var(--t-2xl); letter-spacing: -0.025em; }
.collection-header-meta { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: 2px; }
.collection-header-count {
  display: inline-block;
  padding: 0;
  font-size: var(--t-xs);
  font-weight: 700;
  color: var(--brand);
  background: transparent;
}
.collection-header-description { max-width: 62ch; margin-top: 6px; font-size: var(--t-sm); color: var(--ink-muted); }
.collection-header-description > :last-child { margin-bottom: 0; }
.collection-header-stat {
  display: grid;
  place-items: center;
  align-content: center;
  width: 112px;
  min-width: 112px;
  min-height: 112px;
  aspect-ratio: 1;
  overflow: visible;
  box-sizing: border-box;
  isolation: isolate;
  color: var(--ink-on-brand);
  background: var(--brand);
  border-radius: 50%;
  box-shadow: var(--shadow-brand);
}
.collection-header-stat strong { font-size: var(--t-2xl); line-height: 1; font-variant-numeric: tabular-nums; }
.collection-header-stat span { margin-top: 4px; font-size: var(--t-xs); font-weight: 700; }

.collection-chips-wrap {
  position: relative;
  margin: 0 0 var(--s-5);
}
.collection-chips {
  display: flex;
  gap: var(--s-2);
  margin: 0;
  padding: 2px 2px var(--s-2);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  scroll-snap-type: inline proximity;
  -webkit-overflow-scrolling: touch;
}
.collection-chips::-webkit-scrollbar { display: none; }
.collection-chips-wrap.is-scrollable .collection-chips,
.collection-chips-wrap.has-scrolled .collection-chips {
  -webkit-mask-image: none;
  mask-image: none;
}
.collection-chips-hint {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 4px;
  display: none;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 5px 9px 5px 10px;
  color: var(--ink-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: color-mix(in srgb, var(--surface-raised) 92%, transparent);
  border: 1px solid var(--line-soft);
  border-radius: 999px;
  box-shadow: var(--shadow-xs);
  transform: translateY(calc(-50% - 4px));
  pointer-events: none;
}
.collection-chips-hint::after {
  content: '';
  width: 6px;
  height: 6px;
  border-right: 1.6px solid currentColor;
  border-bottom: 1.6px solid currentColor;
  transform: rotate(-45deg);
}
.collection-chips-wrap.is-scrollable .collection-chips-hint {
  display: inline-flex;
}
.collection-chips-wrap.has-scrolled .collection-chips-hint,
.collection-chips-wrap.is-end .collection-chips-hint {
  opacity: 0;
}
.collection-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: none;
  min-height: 38px;
  padding: 7px 13px;
  font-size: var(--t-xs);
  font-weight: 700;
  white-space: nowrap;
  color: var(--ink-muted);
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  scroll-snap-align: start;
  transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
}
.collection-chip span {
  display: grid;
  place-items: center;
  flex: none;
  min-width: 22px;
  height: 22px;
  padding-inline: 5px;
  box-sizing: border-box;
  font-size: 10px;
  line-height: 1;
  color: var(--ink-soft);
  background: var(--surface-sunken);
  border-radius: var(--r-pill);
}
.collection-chip:hover { color: var(--brand); border-color: var(--brand-soft); background: var(--brand-tint-soft); }
.collection-chip.is-active { color: var(--ink-on-brand); border-color: var(--brand); background: var(--brand); }
.collection-chip.is-active span { color: var(--brand-strong); background: rgba(255, 255, 255, 0.82); }

/* Chrome can corrupt rounded catalogue layers while scrolling when clipped
   cards and the sticky header each carry live backdrop-filter surfaces. The
   existing fills already provide the intended contrast, so keep these layers
   in the normal paint flow on catalogue and category routes. */
body.template-collection .site-header {
  background: var(--surface-raised);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
body.template-collection .product-card .product-badge,
body.template-collection .product-card .product-wishlist,
body.template-collection .product-card .product-zoom {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.collection-toolbar { margin-bottom: var(--s-5); }
.collection-page { padding-top: var(--s-6); }
.collection-toolbar {
  padding: var(--s-4);
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
}
.collection-toolbar-bar { width: 100%; }
.collection-toolbar-bar, .all-products-filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-4); }
.collection-toolbar-bar .rtf-select { width: auto; min-width: 220px; }
.toolbar-summary { display: grid; gap: 2px; margin-right: auto; font-size: var(--t-sm); color: var(--ink-muted); }
.toolbar-summary strong { color: var(--ink); }
.catalogue-sort { display: flex; align-items: center; gap: var(--s-3); }
.catalogue-sort-label { flex: none; font-size: var(--t-xs); font-weight: 700; color: var(--ink-muted); }
.catalogue-sort .woocommerce-ordering { position: relative; width: auto; margin: 0; }
.catalogue-sort .woocommerce-ordering::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 17px;
  width: 8px;
  height: 8px;
  pointer-events: none;
  border-right: 2px solid var(--brand);
  border-bottom: 2px solid var(--brand);
  transform: translateY(-70%) rotate(45deg);
}
.catalogue-sort .woocommerce-ordering.rtf-ordering-enhanced::after { display: none; }
.catalogue-sort select.orderby {
  width: auto;
  min-width: 240px;
  min-height: 46px;
  padding: 10px 46px 10px 15px;
  font-weight: 650;
  color: var(--ink);
  background: var(--surface-raised);
  border: 1.5px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-xs);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.catalogue-sort select.orderby:hover { border-color: var(--brand-soft); background: var(--brand-tint-soft); }
.catalogue-sort select.orderby:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; border-color: var(--brand); box-shadow: 0 0 0 4px var(--brand-tint); }
.catalogue-sort select.orderby:disabled { opacity: 0.55; cursor: default; }
.catalogue-sort select.orderby option { color: var(--ink); background: var(--surface-raised); }
.catalogue-sort .rtf-catalogue-choice { width: auto; min-width: 240px; }
.catalogue-sort .rtf-catalogue-choice .rtf-choice-button {
  min-height: 46px;
  padding: 8px 10px 8px 15px;
  font-weight: 650;
  color: var(--ink);
  background: var(--surface-raised);
  border: 1.5px solid var(--line);
  box-shadow: var(--shadow-xs);
}
.catalogue-sort .rtf-catalogue-choice .rtf-choice-button:hover,
.catalogue-sort .rtf-catalogue-choice .rtf-choice-button:focus-visible,
.catalogue-sort .rtf-catalogue-choice.is-open .rtf-choice-button {
  color: var(--ink);
  background: var(--brand-tint-soft);
  border-color: var(--brand);
  box-shadow: 0 0 0 4px var(--brand-tint);
}
.catalogue-sort .rtf-catalogue-choice .rtf-choice-arrow { width: 28px; height: 28px; }
.rtf-choice-list--catalogue { padding: 6px; }
.rtf-choice-list--catalogue .rtf-choice-option { padding: 11px 12px; }
.rtf-choice-list--catalogue .rtf-choice-option strong { font-size: var(--t-xs); }
@media (forced-colors: active) {
  .rtf-choice-list { scrollbar-color: ButtonText Canvas; }
}
@media (max-width: 600px) {
  .collection-page { padding-top: 36px; }
  .collection-page > .section-inner {
    --rtf-section-inline: 20px;
  }
  .collection-header { grid-template-columns: minmax(0, 1fr) 76px; gap: var(--s-3); padding: var(--s-4); }
  .collection-header-stat { width: 76px; min-width: 76px; min-height: 76px; }
  .collection-header-stat strong { font-size: var(--t-xl); }
  .collection-header-stat span { font-size: 10px; }
  .collection-chips-wrap { margin-inline: 0; }
  .collection-chips { padding-inline: var(--rtf-section-inline); }
  .collection-toolbar-bar { align-items: stretch; }
  .toolbar-summary { width: 100%; margin-right: 0; }
  .catalogue-sort { display: grid; width: 100%; gap: 6px; }
  .catalogue-sort .woocommerce-ordering, .catalogue-sort select.orderby, .catalogue-sort .rtf-catalogue-choice { width: 100%; min-width: 0; }
  .collection-toolbar-bar .rtf-select { width: 100%; min-width: 0; }
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--s-2);
  margin-top: var(--s-8);
}
.pagination .btn { --btn-h: 42px; min-width: 42px; padding-inline: var(--s-4); }
.pagination-gap { padding-inline: 6px; color: var(--ink-soft); }

.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-3);
  padding: var(--s-10) var(--s-5);
  text-align: center;
}
.empty-state__icon {
  display: grid;
  place-items: center;
  width: 68px; height: 68px;
  color: var(--brand);
  background: var(--brand-wash);
  border-radius: 50%;
}
.empty-state__icon .icon { width: 32px; height: 32px; }
.empty-state h2 { font-size: var(--t-xl); }
.empty-state p { max-width: 46ch; font-size: var(--t-sm); color: var(--ink-muted); }
.empty-state .btn { margin-top: var(--s-3); }
.empty-state__code {
  display: block;
  font-size: clamp(3.5rem, 12vw, 7rem);
  font-weight: 800;
  letter-spacing: -0.07em;
  line-height: 0.85;
  color: var(--brand-soft);
  opacity: 0.55;
}
@media (max-width: 600px) {
  .empty-state { gap: 10px; padding: 32px 16px; }
  .empty-state__icon { width: 56px; height: 56px; }
  .empty-state__icon .icon { width: 28px; height: 28px; }
  .empty-state__code { font-size: 3rem; }
  .empty-state .btn { margin-top: 8px; }
}
.section-header h1 em { font-style: italic; color: var(--brand); }

.search-page-meta { margin-bottom: var(--s-4); font-size: var(--t-sm); color: var(--ink-muted); }
.search-progress {
  position: relative;
  height: 3px;
  margin-top: var(--s-2);
  overflow: hidden;
  background: var(--line-soft);
  border-radius: var(--r-pill);
}
.search-progress::after {
  content: '';
  position: absolute;
  inset: 0;
  width: 40%;
  background: var(--brand);
  border-radius: inherit;
  animation: indeterminate 1.3s var(--ease) infinite;
}
@keyframes indeterminate { from { transform: translateX(-100%); } to { transform: translateX(300%); } }
.search-page-meta.is-done .search-progress { display: none; }


/* =============================================================================
   07  PRODUCT PAGE
   ========================================================================== */

.pdp-container {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr);
  gap: clamp(var(--s-6), 2.5vw, var(--s-7));
  align-items: start;
}
.pdp-section { padding-top: var(--s-8); }

.pdp-image-col { position: static; min-width: 0; }
.pdp-image-wrap {
  position: relative;
  overflow: hidden;
  background: var(--surface-sunken);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-sm);
}
.pdp-main-image-trigger {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  padding: 0;
  overflow: hidden;
  appearance: none;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: inherit;
  cursor: zoom-in;
}
.pdp-main-image-trigger:focus-visible { outline: 3px solid var(--brand); outline-offset: -3px; }
.pdp-main-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  cursor: inherit;
}
.pdp-image-badge { position: absolute; top: var(--s-4); left: var(--s-4); z-index: 2; }
.pdp-wishlist-float {
  position: absolute;
  top: var(--s-3); right: var(--s-3);
  z-index: 2;
  display: grid;
  place-items: center;
  width: 42px; height: 42px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.92);
  border-radius: 50%;
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(6px);
  transition: color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.pdp-wishlist-float:hover { transform: scale(1.06); color: var(--heart); }
.pdp-wishlist-float.is-active { color: var(--heart); }
:root[data-theme='dark'] .pdp-wishlist-float { background: rgba(29, 25, 38, 0.9); }

.pdp-thumbs { display: flex; gap: var(--s-2); margin-top: var(--s-3); padding-bottom: var(--s-1); overflow-x: auto; scrollbar-width: none; }
.pdp-thumbs::-webkit-scrollbar { display: none; }
.pdp-thumb {
  width: 68px; height: 68px;
  flex: none;
  overflow: hidden;
  opacity: 0.65;
  background: var(--surface-sunken);
  border: 2px solid transparent;
  border-radius: var(--r-sm);
  transition: border-color var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);
}
.pdp-thumb img { width: 100%; height: 100%; object-fit: cover; }
.pdp-thumb:hover { opacity: 1; }
.pdp-thumb.active { border-color: var(--brand); opacity: 1; }

.pdp-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: var(--s-3);
  font-size: var(--t-xs);
  color: var(--ink-soft);
}
.pdp-breadcrumb a { color: var(--ink-muted); }
.pdp-breadcrumb a { color: var(--brand); font-weight: 600; }
.pdp-breadcrumb a:hover { color: var(--brand); text-decoration: underline; }
.pdp-breadcrumb .icon { width: 13px; height: 13px; }

.pdp-title { margin-bottom: var(--s-3); font-size: var(--t-2xl); letter-spacing: -0.028em; }
.pdp-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: var(--s-4); }
.pdp-tag {
  padding: 4px 11px;
  font-size: var(--t-xs);
  font-weight: 600;
  color: var(--ink-muted);
  background: var(--surface-sunken);
  border-radius: var(--r-pill);
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.pdp-tag:hover { background: var(--brand-wash); color: var(--brand); }

.pdp-price-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: var(--s-3);
  padding: var(--s-3) var(--s-4);
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-xs);
}
.pdp-price-label { font-size: var(--t-xs); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-soft); }
.pdp-price {
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.pdp-price-unit { font-size: var(--t-sm); color: var(--ink-muted); }

.pdp-preorder-note {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  padding: var(--s-3) var(--s-4);
  margin-bottom: var(--s-6);
  font-size: var(--t-sm);
  font-weight: 600;
  color: var(--brand-strong);
  background: var(--brand-wash);
  border: 1px solid var(--brand-soft);
  border-radius: var(--r-md);
}
.pdp-preorder-note .icon { color: var(--brand); }

.pdp-option-group { margin-bottom: var(--s-5); }
.pdp-option-label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: var(--s-2);
  font-size: var(--t-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.pdp-option-label .icon { width: 15px; height: 15px; color: var(--brand); }

.pdp-qty-add-row { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s-3); padding-top: 0; }
.pdp-add-btn { flex: 1; min-width: 190px; }
.pdp-wishlist-btn {
  display: grid;
  place-items: center;
  width: 46px; height: 46px;
  flex: none;
  color: var(--ink-muted);
  border: 1.5px solid var(--line);
  border-radius: var(--r-md);
  transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
}
.pdp-wishlist-btn:hover, .pdp-wishlist-btn.is-active {
  color: var(--heart);
  border-color: var(--rose-soft);
  background: var(--rose-wash);
}

/* Mobile buy bar — the add button scrolls out of view on a phone otherwise. */
.pdp-sticky-buy {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: var(--z-sticky);
  display: none;
  align-items: center;
  gap: var(--s-3);
  padding: var(--s-3) var(--gutter) calc(var(--s-3) + env(safe-area-inset-bottom));
  background: var(--surface-veil);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid var(--line);
  transform: translateY(110%);
  transition: transform var(--dur-slow) var(--ease-out);
}
.pdp-sticky-buy.visible { transform: none; }
.pdp-sticky-buy__price { display: flex; flex-direction: column; line-height: 1.2; }
.pdp-sticky-buy__price small { font-size: var(--t-2xs); color: var(--ink-muted); }
.pdp-sticky-buy__price strong { font-size: var(--t-md); font-variant-numeric: tabular-nums; }
.pdp-sticky-buy .btn { flex: 1; }
@media (max-width: 900px) { .pdp-sticky-buy { display: flex; } }

.pdp-accordions {
  grid-column: 1 / -1;
  width: 100%;
  overflow: hidden;
  margin-top: 0;
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-xs);
}
.pdp-accordion { border-bottom: 1px solid var(--line-soft); }
.pdp-accordion:last-child { border-bottom: 0; }
.pdp-accordion > summary {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  padding: var(--s-4);
  font-size: var(--t-base);
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}
.pdp-accordion > summary::-webkit-details-marker { display: none; }
.pdp-accordion > summary > .icon:first-child { color: var(--brand); }
.acc-chevron { margin-left: auto; color: var(--ink-soft); transition: transform var(--dur) var(--ease); }
.pdp-accordion[open] .acc-chevron { transform: rotate(180deg); }
.pdp-accordion-body { padding: 0 var(--s-4) var(--s-5); font-size: var(--t-sm); color: var(--ink-muted); }
.pdp-accordion-body > p + p { margin-top: var(--s-2); }

.rtf-subtext { margin-bottom: var(--s-3); font-size: var(--t-xs); color: var(--ink-soft); }
.rtf-fabric-specs {
  display: grid;
  gap: var(--s-2);
}
.rtf-fabric-specs li {
  padding: var(--s-3) var(--s-4);
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
}
.rtf-fabric-name { font-size: var(--t-sm); font-weight: 700; color: var(--ink); }
.rtf-fabric-meta { display: block; margin-top: var(--s-1); font-size: var(--t-xs); line-height: 1.5; color: var(--ink-muted); font-variant-numeric: tabular-nums; }

@media (max-width: 900px) {
  .pdp-container { grid-template-columns: 1fr; }
  .pdp-image-col { position: static; }
}

/* A full-width square image dominates the single-column product page on
   tablets. Keep it centred and closer to its desktop visual size. */
@media (min-width: 601px) and (max-width: 900px) {
  .pdp-image-col {
    width: min(100%, 480px);
    justify-self: center;
  }
  .pdp-thumbs { max-width: 100%; }
}


/* =============================================================================
   08  BASKET
   ========================================================================== */

.cart-drawer .cart-drawer-body { display: flex; flex: 1; min-width: 0; min-height: 0; padding: var(--s-4); overflow: hidden; }
.cart-drawer .cart-drawer-body > .widget_shopping_cart_content { display: flex; width: 100%; min-width: 0; min-height: 0; flex-direction: column; }
.rtf-mini-cart-empty {
  display: flex;
  min-height: calc(100dvh - 106px);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--s-4);
  padding: var(--s-8) var(--s-5);
  text-align: center;
  color: var(--ink-muted);
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
}
.rtf-mini-cart-empty > .icon { color: var(--brand-soft); }
.rtf-mini-cart-empty .btn { min-width: 174px; }
.cart-drawer ul.woocommerce-mini-cart {
  display: grid;
  flex: 1;
  float: none;
  clear: both;
  width: 100%;
  min-width: 0;
  min-height: 0;
  gap: 12px;
  align-content: start;
  grid-auto-rows: max-content;
  margin: 0;
  padding: 0 8px 0 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  list-style: none outside;
}
.cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item {
  position: relative;
  display: block;
  float: none;
  clear: none;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 14px;
  overflow: hidden;
  list-style: none outside;
  background: linear-gradient(145deg, var(--surface), var(--surface-raised));
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-xs);
}
.cart-drawer .rtf-mini-cart-product {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  width: 100%;
  min-width: 0;
  align-items: start;
}
.cart-drawer .rtf-mini-cart-head { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 14px; width: 100%; min-width: 0; align-items: start; }
.cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-image { display: block; grid-column: 1; grid-row: 1; float: none; width: 72px; min-width: 0; align-self: start; overflow: hidden; border: 1px solid var(--line-soft); border-radius: var(--r-md); background: var(--surface-sunken); box-shadow: var(--shadow-xs); }
.cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-image img { display: block; float: none !important; width: 72px !important; max-width: 100%; height: 72px !important; margin: 0 !important; object-fit: cover; border-radius: inherit; }
.cart-drawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove {
  position: absolute;
  z-index: 1;
  top: 12px;
  right: 12px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 44px !important;
  height: 44px !important;
  padding: 0 12px !important;
  color: var(--ink-muted) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em;
  line-height: 1 !important;
  text-decoration: none !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-pill) !important;
  box-shadow: none !important;
  transition: color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.cart-drawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove .rtf-mini-cart-remove-label { display: block; }
.cart-drawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove:hover {
  color: var(--heart) !important;
  background: var(--rose-wash) !important;
  border-color: var(--rose-soft) !important;
  transform: translateY(-1px);
}
.cart-drawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove:focus-visible {
  color: var(--heart) !important;
  border-color: var(--heart) !important;
  outline: 3px solid color-mix(in srgb, var(--heart) 24%, transparent);
  outline-offset: 2px;
}
.cart-drawer .rtf-mini-cart-name { display: flex; grid-column: 2; grid-row: 1; min-width: 0; min-height: 72px; padding: 4px 82px 4px 0; align-items: center; color: var(--ink); font-size: var(--t-base); font-weight: 800; line-height: 1.3; overflow-wrap: break-word; word-break: normal; }
.cart-drawer .rtf-mini-cart-name:hover { color: var(--brand); }
.cart-drawer .rtf-mini-cart-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; width: 100%; min-width: 0; margin: 0; overflow: visible; background: transparent; border: 0; border-radius: 0; }
.cart-drawer .rtf-mini-cart-option { display: flex; min-width: 0; min-height: 44px; padding: 8px 12px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; background: var(--surface-sunken); border: 1px solid var(--line-soft); border-radius: var(--r-md); }
.cart-drawer .rtf-mini-cart-option + .rtf-mini-cart-option { border-top: 1px solid var(--line-soft); }
.cart-drawer .rtf-mini-cart-option dt, .cart-drawer .rtf-mini-cart-option dd { min-width: 0; margin: 0; overflow-wrap: break-word; word-break: normal; }
.cart-drawer .rtf-mini-cart-option dt { color: var(--ink-muted); font-size: var(--t-2xs); font-weight: 700; letter-spacing: 0.025em; line-height: 1.2; text-transform: uppercase; white-space: nowrap; }
.cart-drawer .rtf-mini-cart-option dd { color: var(--ink); font-size: var(--t-sm); font-weight: 750; line-height: 1.35; }
.cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity { display: flex; width: 100%; min-width: 0; align-items: baseline; justify-content: space-between; gap: var(--s-3); margin: 0; padding: 12px 2px 0; color: var(--ink-muted); font-size: var(--t-xs); border-top: 1px solid var(--line-soft); }
.cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity strong { color: var(--ink); font-size: var(--t-base); font-variant-numeric: tabular-nums; }
.cart-drawer .woocommerce-mini-cart__total { display: flex; flex: none; align-items: center; justify-content: space-between; gap: var(--s-4); margin: 0 0 10px; padding: 14px 16px; background: var(--surface-sunken); border: 1px solid var(--line-soft); border-radius: var(--r-md); }
.cart-drawer .woocommerce-mini-cart__total strong { font-size: var(--t-sm); }
.cart-drawer .woocommerce-mini-cart__total .amount { color: var(--ink); font-size: var(--t-lg); font-weight: 800; font-variant-numeric: tabular-nums; }
.rtf-mini-cart-clear { display: flex; flex: none; justify-content: flex-end; margin: 0 0 2px; }
.rtf-mini-cart-clear .rtf-empty-button { width: auto; min-height: 44px; padding: 8px 14px; background: transparent; border-color: transparent; }
.cart-drawer .woocommerce-mini-cart__buttons { display: grid; flex: none; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.cart-drawer .woocommerce-mini-cart__buttons a.button {
  display: flex;
  min-height: 50px;
  margin: 0;
  padding: 11px var(--s-3);
  align-items: center;
  justify-content: center;
  color: var(--ink) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: var(--r-md);
  font: inherit;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
}
.cart-drawer .woocommerce-mini-cart__buttons a.button:hover { color: var(--brand-strong) !important; background: var(--brand-tint-soft) !important; border-color: var(--brand) !important; }
.cart-drawer .woocommerce-mini-cart__buttons a.button.checkout {
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  border-color: var(--brand) !important;
  box-shadow: var(--shadow-brand);
}
.cart-drawer .woocommerce-mini-cart__buttons a.button.checkout:hover { color: var(--ink-on-brand) !important; background: var(--brand-strong) !important; border-color: var(--brand-strong) !important; }

/* The mini-basket is shared across every page. Isolate its geometry and text
   flow from later WooCommerce/plugin rules that target cart lists, widgets or
   definition lists differently on shop, product, basket, checkout and account
   screens. */
#cartDrawer,
#cartDrawer * { box-sizing: border-box; }
#cartDrawer .cart-drawer-body,
#cartDrawer .widget_shopping_cart_content {
  writing-mode: horizontal-tb !important;
  text-align: left !important;
}
#cartDrawer ul.woocommerce-mini-cart {
  display: grid !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 8px 0 0 !important;
}
#cartDrawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
  display: block !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 14px !important;
  writing-mode: horizontal-tb !important;
  text-align: left !important;
}
#cartDrawer .rtf-mini-cart-product {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  writing-mode: horizontal-tb !important;
  text-align: left !important;
}
#cartDrawer .rtf-mini-cart-head {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  align-items: start !important;
  writing-mode: horizontal-tb !important;
  text-align: left !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
#cartDrawer .rtf-mini-cart-name {
  display: flex !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  writing-mode: horizontal-tb !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  text-align: left !important;
}
#cartDrawer dl.rtf-mini-cart-options {
  display: grid !important;
  grid-column: auto !important;
  grid-row: auto !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  writing-mode: horizontal-tb !important;
  text-align: left !important;
}
#cartDrawer dl.rtf-mini-cart-options::before,
#cartDrawer dl.rtf-mini-cart-options::after {
  content: none !important;
  display: none !important;
}
#cartDrawer .rtf-mini-cart-option {
  display: flex !important;
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  writing-mode: horizontal-tb !important;
  text-align: left !important;
}
#cartDrawer .rtf-mini-cart-option dt,
#cartDrawer .rtf-mini-cart-option dd {
  display: block !important;
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  writing-mode: horizontal-tb !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  text-align: left !important;
}
#cartDrawer .rtf-mini-cart-option dt { white-space: nowrap !important; }
#cartDrawer .rtf-mini-cart-option dd { white-space: normal !important; }
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity,
#cartDrawer .woocommerce-mini-cart__total {
  display: flex !important;
  float: none !important;
  clear: both !important;
  width: auto !important;
  max-width: none !important;
  writing-mode: horizontal-tb !important;
  text-align: left !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
}
#cartDrawer .woocommerce-mini-cart__buttons {
  display: grid !important;
  float: none !important;
  clear: both !important;
  width: auto !important;
  max-width: none !important;
}
@media (max-width: 420px) {
  #cartDrawer .rtf-mini-cart-product { grid-template-columns: minmax(0, 1fr) !important; gap: 8px !important; }
  .cart-drawer .cart-drawer-body { padding: 12px; }
  #cartDrawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item { padding: 12px !important; }
  #cartDrawer .rtf-mini-cart-head { grid-template-columns: 60px minmax(0, 1fr) !important; gap: 12px !important; }
  .cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-image { width: 60px; }
  .cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-image img { width: 60px !important; height: 60px !important; }
  .cart-drawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove { top: 12px; right: 12px; width: auto !important; min-width: 44px !important; height: 44px !important; padding-inline: 12px !important; }
  .cart-drawer .rtf-mini-cart-name { min-height: 60px; padding-right: 76px; font-size: var(--t-sm); }
  .cart-drawer .rtf-mini-cart-option { padding-inline: 9px; }
}
@media (max-width: 340px) {
  #cartDrawer .rtf-mini-cart-options { grid-template-columns: 1fr; }
  #cartDrawer .rtf-mini-cart-option { display: grid !important; grid-template-columns: 74px minmax(0, 1fr); min-height: 38px; align-items: center; gap: var(--s-2); }
}
@media (max-width: 300px) {
  #cartDrawer .rtf-mini-cart-head { grid-template-columns: 46px minmax(0, 1fr) !important; }
  .cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-image { width: 46px; }
  .cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-image img { width: 46px !important; height: 46px !important; }
  .cart-drawer .rtf-mini-cart-name { min-height: 46px; padding-right: 24px; font-size: var(--t-sm); }
  .cart-drawer .rtf-mini-cart-option { grid-template-columns: 68px minmax(0, 1fr); }
}

/* Basket drawer v1.2.03 -----------------------------------------------------
   Keep the mini-basket visually identical on every route. WooCommerce page
   templates and extensions commonly restyle generic cart-list, button and
   remove-link selectors, so the drawer owns these presentation properties. */
#cartDrawer {
  color: var(--ink) !important;
  background: var(--surface-raised) !important;
  overflow: hidden;
  border-radius: 22px 0 0 22px;
}
#cartDrawer .cart-drawer-header {
  min-height: 74px;
  padding: 18px 20px;
  background: var(--surface-raised) !important;
  border-color: var(--line-soft) !important;
}
#cartDrawer .cart-drawer-header h2 {
  margin: 0 !important;
  color: var(--ink) !important;
  font-size: var(--t-xl) !important;
  line-height: 1.15 !important;
}
#cartDrawer .cart-drawer-header > button {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid transparent !important;
  border-radius: 50% !important;
}
#cartDrawer .cart-drawer-header > button:hover {
  color: var(--ink) !important;
  background: var(--brand-tint-soft) !important;
  border-color: var(--brand-soft) !important;
}
#cartDrawer .cart-drawer-body {
  padding: 14px !important;
  background: var(--surface-raised) !important;
}
#cartDrawer .widget_shopping_cart_content {
  display: flex !important;
  height: 100% !important;
  min-height: 0 !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
#cartDrawer ul.woocommerce-mini-cart {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  gap: 10px !important;
  padding: 0 6px 12px 0 !important;
  scrollbar-color: var(--brand-soft) var(--surface-sunken);
  scrollbar-width: thin;
}
#cartDrawer ul.woocommerce-mini-cart::-webkit-scrollbar { width: 7px; }
#cartDrawer ul.woocommerce-mini-cart::-webkit-scrollbar-track {
  background: var(--surface-sunken);
  border-radius: var(--r-pill);
}
#cartDrawer ul.woocommerce-mini-cart::-webkit-scrollbar-thumb {
  background: var(--brand-soft);
  border: 2px solid var(--surface-sunken);
  border-radius: var(--r-pill);
}
#cartDrawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
  padding: 13px !important;
  overflow: hidden !important;
  color: var(--ink) !important;
  background: var(--surface) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-xs) !important;
}
#cartDrawer .rtf-mini-cart-product { gap: 9px !important; }
#cartDrawer .rtf-mini-cart-head {
  grid-template-columns: 68px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image {
  width: 68px !important;
  height: 68px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: var(--r-md) !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
  width: 68px !important;
  height: 68px !important;
  margin: 0 !important;
  border-radius: inherit !important;
}
#cartDrawer .rtf-mini-cart-name {
  min-height: 68px !important;
  padding: 3px 76px 3px 0 !important;
  align-items: center !important;
  color: var(--ink) !important;
  font-size: var(--t-base) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove {
  top: 13px !important;
  right: 13px !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: 64px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 11px !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-pill) !important;
}
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove:hover,
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove:focus-visible {
  color: var(--heart) !important;
  background: var(--rose-wash) !important;
  border-color: var(--rose-soft) !important;
}
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove.rtf-is-removing {
  pointer-events: none;
  cursor: progress !important;
  opacity: .62;
  transform: none;
}
#cartDrawer li.woocommerce-mini-cart-item.rtf-mini-cart-item--removing {
  pointer-events: none;
  opacity: .62;
  transform: scale(.99);
  transform-origin: top center;
  transition: height 180ms var(--ease), padding 180ms var(--ease), border-width 180ms var(--ease), opacity 140ms var(--ease), transform 180ms var(--ease);
}
#cartDrawer li.woocommerce-mini-cart-item.rtf-mini-cart-item--collapsing {
  height: 0 !important;
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  opacity: 0;
  border-width: 0 !important;
  transform: translateY(-4px) scale(.985);
}
@media (prefers-reduced-motion: reduce) {
  #cartDrawer li.woocommerce-mini-cart-item.rtf-mini-cart-item--removing { transition-duration: 1ms; }
}
#cartDrawer dl.rtf-mini-cart-options {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 7px !important;
}
#cartDrawer .rtf-mini-cart-option {
  min-height: 54px !important;
  padding: 9px 11px !important;
  gap: 3px !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: var(--r-md) !important;
}
#cartDrawer .rtf-mini-cart-option dt {
  color: var(--ink-muted) !important;
  font-size: var(--t-2xs) !important;
  font-weight: 750 !important;
}
#cartDrawer .rtf-mini-cart-option dd {
  color: var(--ink) !important;
  font-size: var(--t-sm) !important;
  font-weight: 750 !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity {
  min-height: 38px !important;
  margin: 0 !important;
  padding: 10px 2px 0 !important;
  align-items: end !important;
  color: var(--ink-muted) !important;
  border-top: 1px solid var(--line-soft) !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity strong {
  color: var(--ink) !important;
  font-size: var(--t-base) !important;
}
#cartDrawer .rtf-mini-cart-footer {
  position: relative;
  z-index: 2;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 14px 14px 8px;
  background: var(--surface-raised) !important;
  border-top: 1px solid var(--line-soft) !important;
  box-shadow: none;
}
#cartDrawer .rtf-mini-cart-summary-row {
  display: contents;
}
#cartDrawer .woocommerce-mini-cart__total {
  display: flex !important;
  flex: none !important;
  order: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  color: var(--ink) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: var(--r-md) !important;
}
#cartDrawer .woocommerce-mini-cart__total strong { color: var(--ink-muted) !important; font-size: var(--t-sm) !important; font-weight: 750 !important; }
#cartDrawer .woocommerce-mini-cart__total .amount {
  color: var(--ink) !important;
  font-size: var(--t-lg) !important;
  font-weight: 850 !important;
}
#cartDrawer .rtf-mini-cart-clear {
  display: flex !important;
  flex: none !important;
  order: 1 !important;
  width: 100% !important;
  margin: 0 0 2px !important;
  justify-content: flex-end !important;
}
#cartDrawer .rtf-mini-cart-clear .rtf-empty-button {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 6px 12px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  color: var(--ink-muted) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: var(--r-pill) !important;
  font-size: var(--t-xs) !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
#cartDrawer .rtf-mini-cart-clear .rtf-empty-button .icon {
  width: 14px !important;
  height: 14px !important;
  flex: none !important;
}
#cartDrawer .rtf-mini-cart-clear .rtf-empty-button:hover,
#cartDrawer .rtf-mini-cart-clear .rtf-empty-button:focus-visible,
#cartDrawer .rtf-mini-cart-clear .rtf-empty-button.is-armed {
  color: #fff !important;
  background: var(--heart) !important;
}
#cartDrawer .rtf-mini-cart-clear .rtf-empty-button-label {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: nowrap !important;
  border: 0 !important;
}
#cartDrawer .woocommerce-mini-cart__buttons {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  order: 3 !important;
  gap: 9px !important;
  margin: 0 !important;
}
#cartDrawer .woocommerce-mini-cart__buttons a.button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  color: var(--ink) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: var(--r-md) !important;
  font-size: var(--t-sm) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}
#cartDrawer .woocommerce-mini-cart__buttons a.button.checkout {
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  border-color: var(--brand) !important;
}
@media (max-width: 420px) {
  #cartDrawer .cart-drawer-header { min-height: 68px; padding: 15px 14px; }
  #cartDrawer .cart-drawer-header h2 { font-size: var(--t-lg) !important; }
  #cartDrawer .cart-drawer-body { padding: 11px !important; }
  #cartDrawer ul.woocommerce-mini-cart { gap: 8px !important; padding-right: 4px !important; }
  #cartDrawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item { padding: 11px !important; }
  #cartDrawer .rtf-mini-cart-head { grid-template-columns: 58px minmax(0, 1fr) !important; gap: 10px !important; }
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img { width: 58px !important; height: 58px !important; }
  #cartDrawer .rtf-mini-cart-name { min-height: 58px !important; padding-right: 72px !important; font-size: var(--t-sm) !important; }
  #cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove { top: 11px !important; right: 11px !important; min-width: 60px !important; height: 28px !important; padding-inline: 9px !important; }
  #cartDrawer .rtf-mini-cart-footer { margin: 0; padding: 12px 11px 8px; }
}
@media (max-width: 340px) {
  #cartDrawer dl.rtf-mini-cart-options { grid-template-columns: 1fr !important; }
  #cartDrawer .rtf-mini-cart-option { display: grid !important; grid-template-columns: 72px minmax(0, 1fr) !important; min-height: 38px !important; }
  #cartDrawer .woocommerce-mini-cart__buttons { grid-template-columns: 1fr !important; }
}

/* Per-item basket removal ---------------------------------------------------
   WooCommerce or a fragment cache can return the default × link without the
   theme-specific class. Target the functional link itself so it always stays
   a clean bin control in the product card's top-right corner. */
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button {
  position: absolute !important;
  z-index: 3 !important;
  top: 13px !important;
  right: 13px !important;
  left: auto !important;
  display: block !important;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--ink-muted) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-align: left !important;
  text-indent: -9999px !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  transform: none !important;
  transition: color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease) !important;
}
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button::before {
  content: "" !important;
  position: absolute !important;
  inset: 8px !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  background: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h14M9 7V4.5h6V7M7.5 7l.75 13h7.5L16.5 7M10.5 10.5v6M13.5 10.5v6'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h14M9 7V4.5h6V7M7.5 7l.75 13h7.5L16.5 7M10.5 10.5v6M13.5 10.5v6'/%3E%3C/svg%3E") center / contain no-repeat !important;
  text-indent: 0 !important;
}
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button:hover {
  color: var(--heart) !important;
  background: var(--rose-wash) !important;
  border-color: var(--rose-soft) !important;
  transform: translateY(-1px) !important;
}
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button:focus-visible {
  color: var(--heart) !important;
  background: var(--rose-wash) !important;
  border-color: var(--heart) !important;
  outline: 3px solid color-mix(in srgb, var(--heart) 24%, transparent) !important;
  outline-offset: 2px !important;
}
#cartDrawer .rtf-mini-cart-name {
  padding-right: 48px !important;
}
@media (max-width: 420px) {
  #cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button {
    top: 11px !important;
    right: 11px !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    border-radius: 9px !important;
  }
  #cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button::before {
    inset: 8px !important;
    width: 16px !important;
    height: 16px !important;
  }
  #cartDrawer .rtf-mini-cart-name { padding-right: 44px !important; }
}
.cart-empty {
  display: none;
  flex-direction: column;
  align-items: center;
  gap: var(--s-3);
  padding: var(--s-10) var(--s-4);
  text-align: center;
  color: var(--ink-muted);
}
.cart-empty > .icon { width: 44px; height: 44px; color: var(--brand-soft); }
.cart-items { display: flex; flex-direction: column; gap: var(--s-3); }

.cart-item {
  position: relative;
  display: grid;
  grid-template-columns: 58px 1fr 30px;
  gap: var(--s-3);
  padding: var(--s-3);
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  transition: opacity var(--dur) var(--ease);
}
.cart-item.is-busy { opacity: 0.5; pointer-events: none; }
.cart-item-swatch {
  display: grid;
  place-items: center;
  width: 58px; height: 58px;
  overflow: hidden;
  background: var(--surface-sunken);
  border-radius: var(--r-sm);
}
.cart-item-details { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cart-item-name {
  font-size: var(--t-sm);
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cart-item-name:hover { color: var(--brand); }
.cart-item-meta { display: flex; align-items: center; gap: 5px; font-size: var(--t-xs); line-height: 1.4; color: var(--ink-muted); }
.cart-item-meta .icon { width: 13px; height: 13px; color: var(--brand); }
.cart-item-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--s-2);
  margin-top: var(--s-2);
}
.cart-qty-stepper { padding: 2px; }
.cart-qty-btn { width: 28px; height: 28px; }
.cart-item-qty { min-width: 46px; font-size: var(--t-xs); }
.cart-item-price { font-size: var(--t-sm); font-weight: 700; font-variant-numeric: tabular-nums; }
.cart-item-remove {
  display: grid;
  place-items: center;
  width: 28px; height: 28px;
  align-self: start;
  color: var(--ink-soft);
  border-radius: 50%;
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.cart-item-remove:hover { background: var(--rose-wash); color: var(--heart); }

.cart-drawer-footer {
  flex: none;
  padding: var(--s-4) var(--s-5) calc(var(--s-5) + env(safe-area-inset-bottom));
  background: var(--surface-raised);
  border-top: 1px solid var(--line);
  box-shadow: 0 -8px 24px rgba(46, 40, 54, 0.06);
}

.cart-discount-banner {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding: var(--s-3) var(--s-4);
  margin-bottom: var(--s-3);
  background: var(--amber-soft);
  border-radius: var(--r-md);
}
.cart-discount-banner__icon { flex: none; color: var(--amber); }
.cart-discount-banner__text { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px; font-size: var(--t-xs); color: var(--ink); }
.cart-discount-banner__label { color: var(--ink-muted); }
.cart-discount-banner__code {
  padding: 1px 8px;
  font-weight: 800;
  letter-spacing: 0.07em;
  color: var(--ink);
  background: var(--surface-raised);
  border-radius: var(--r-xs);
}
.cart-discount-banner__desc { color: var(--ink-muted); }

.cart-summary-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); padding-block: var(--s-3); }
.cart-summary-bar__text { display: flex; flex-direction: column; }
.cart-summary-bar__label { font-size: var(--t-sm); font-weight: 700; }
.cart-summary-bar__note { font-size: var(--t-xs); color: var(--ink-muted); }
.cart-summary-bar__amount { font-size: var(--t-xl); font-weight: 800; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }

.cart-checkout-note {
  display: flex;
  align-items: flex-start;
  gap: var(--s-2);
  margin-bottom: var(--s-3);
  font-size: var(--t-xs);
  line-height: 1.5;
  color: var(--ink-muted);
}
.cart-checkout-note .icon { flex: none; margin-top: 1px; color: var(--brand); }

.cart-drawer-actions { display: grid; gap: var(--s-2); }
.cart-checkout-btn { width: 100%; }
.cart-secondary-actions { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); }
.cart-empty-btn { --btn-h: 38px; padding-inline: var(--s-3); font-size: var(--t-xs); }
.cart-viewcart-link { font-size: var(--t-xs); font-weight: 700; color: var(--ink-muted); text-decoration: underline; }
.cart-viewcart-link:hover { color: var(--brand); }

/* ── Toast ─────────────────────────────────────────────────────────────── */

.cart-toast {
  position: fixed;
  left: 50%;
  bottom: var(--s-6);
  z-index: var(--z-toast);
  display: flex;
  align-items: center;
  gap: var(--s-3);
  width: max-content;
  max-width: min(420px, calc(100vw - var(--gutter) * 2));
  padding: 10px 10px 10px 12px;
  color: var(--ink);
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-xl);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 16px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease-out), visibility var(--dur);
}
.cart-toast.visible { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.cart-toast__icon {
  display: grid;
  place-items: center;
  width: 26px; height: 26px;
  flex: none;
  color: #fff;
  background: #24624e;
  border-radius: 50%;
  font-size: 14px;
  font-weight: 800;
}
.cart-toast__icon .icon { width: 15px; height: 15px; }
.cart-toast--error .cart-toast__icon { background: #a6223e; }
.cart-toast-text {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 30ch;
  overflow-wrap: anywhere;
  font-size: var(--t-xs);
  line-height: 1.35;
  font-weight: 650;
}
.cart-toast-btn {
  flex: none;
  padding: 8px var(--s-4);
  font-size: var(--t-xs);
  font-weight: 700;
  color: var(--ink-on-brand);
  background: var(--brand);
  border-radius: var(--r-pill);
}
.cart-toast-btn:hover { background: var(--brand-hover); }
body.has-sticky-buy .cart-toast { bottom: calc(var(--s-6) + 70px); }
@media (max-width: 520px) {
  .cart-toast { bottom: 14px; gap: 8px; width: max-content; max-width: calc(100vw - 24px); padding: 9px 9px 9px 10px; }
  .cart-toast__icon { width: 22px; height: 22px; font-size: 12px; }
  .cart-toast-btn { padding: 7px 10px; font-size: 10px; }
  body.has-sticky-buy .cart-toast { bottom: 80px; }
}

/* ── Basket page ───────────────────────────────────────────────────────── */

.cart-page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--s-4);
  margin-bottom: var(--s-6);
}
body.woocommerce-cart .page-card > .page-header { display: none; }
.cart-page-eyebrow { margin-bottom: 3px; font-size: var(--t-2xs); font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--brand); }
.cart-page-title { font-size: var(--t-2xl); letter-spacing: -0.025em; }
.cart-page-title em { font-style: italic; color: var(--brand); }
.cart-page-subtitle { margin-top: 4px; font-size: var(--t-sm); color: var(--ink-muted); }

.cart-page-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: var(--s-6); align-items: start; }
.cart-page-items { display: flex; flex-direction: column; gap: var(--s-3); }
.cart-page-item {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: var(--s-4);
  padding: var(--s-4);
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-xs);
}
.cart-page-item-image { width: 96px; height: 96px; overflow: hidden; background: var(--surface-sunken); border-radius: var(--r-md); }
.cart-page-item-image img { width: 100%; height: 100%; object-fit: cover; }
.cart-page-item-main { display: flex; flex-direction: column; gap: var(--s-3); min-width: 0; }
.cart-page-item-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s-3); }
.cart-page-item-copy { min-width: 0; }
.cart-page-item-title { display: block; min-width: 0; font-size: var(--t-base); font-weight: 700; line-height: 1.3; overflow-wrap: break-word; }
.cart-page-item-title:hover { color: var(--brand); }
.cart-page-item-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: var(--s-2); }
.cart-page-item-tags .variation { display: contents; }
.cart-page-item-tags .variation dt, .cart-page-item-tags .variation dd { margin: 0; }
.cart-page-item-tags .variation dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.cart-page-item-tags .variation dd {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  font-size: var(--t-xs);
  font-weight: 600;
  color: var(--ink-muted);
  background: var(--surface-sunken);
  border-radius: var(--r-pill);
}
.cart-page-item-tags .variation dd p { margin: 0; }
.cart-page-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  font-size: var(--t-xs);
  font-weight: 600;
  color: var(--ink-muted);
  background: var(--surface-sunken);
  border-radius: var(--r-pill);
}
.cart-page-tag .icon { width: 13px; height: 13px; color: var(--brand); }
.cart-page-tag--price { color: var(--ink); font-variant-numeric: tabular-nums; }
.cart-page-item-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--s-4);
  margin-top: auto;
}
.cart-page-item-controls { display: flex; flex-direction: column; gap: 6px; }
.cart-page-control-label { font-size: var(--t-2xs); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-soft); }
.cart-page-length-note { font-size: var(--t-2xs); color: var(--ink-soft); }
.cart-page-line-total { display: flex; flex-direction: column; align-items: flex-end; }
.cart-page-line-total span { font-size: var(--t-2xs); font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--ink-soft); }
.cart-page-line-total strong { font-size: var(--t-lg); font-weight: 800; font-variant-numeric: tabular-nums; }
.woocommerce-cart-form a.cart-page-remove.remove {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 5px;
  width: auto;
  height: auto;
  min-height: 34px;
  padding: 6px 9px;
  font-size: var(--t-xs);
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken);
  border: 1px solid transparent;
  border-radius: var(--r-sm);
  text-decoration: none;
}
.woocommerce-cart-form a.cart-page-remove.remove:hover { color: var(--heart) !important; background: var(--rose-wash); border-color: var(--heart); }
.woocommerce-cart-form a.cart-page-remove.remove .icon { width: 14px; height: 14px; }
.cart-page-qty-stepper { display: inline-flex; width: max-content; align-items: center; gap: 2px; padding: 3px; background: var(--surface-sunken); border: 1px solid var(--line); border-radius: var(--r-pill); }
.cart-page-native-qty { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0 !important; }
.cart-page-qty-minus, .cart-page-qty-plus { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: var(--ink-muted); }
.cart-page-qty-minus:hover:not(:disabled), .cart-page-qty-plus:hover:not(:disabled) { color: var(--ink-on-brand); background: var(--brand); }
.cart-page-qty-minus:disabled, .cart-page-qty-plus:disabled { opacity: 0.35; cursor: default !important; pointer-events: none; }
.cart-page-qty-value { min-width: 54px; text-align: center; font-size: var(--t-sm); font-weight: 800; color: var(--ink); font-variant-numeric: tabular-nums; }

.cart-page-summary { position: sticky; top: calc(var(--header-height) + var(--announcement-offset) + var(--s-5)); }
.cart-page-summary-card {
  padding: var(--s-5);
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-sm);
}
.cart-page-summary-top { margin-bottom: var(--s-4); }
.cart-page-summary-top h2 { font-size: var(--t-lg); }
.cart-page-summary-top p { margin-top: 4px; font-size: var(--t-xs); color: var(--ink-muted); }
.cart-page-summary-lines { padding-block: var(--s-4); border-top: 1px solid var(--line-soft); }
.cart-page-summary-line { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s-3); }
.cart-page-summary-line span { font-size: var(--t-sm); color: var(--ink-muted); }
.cart-page-summary-line strong { font-size: var(--t-xl); font-weight: 800; font-variant-numeric: tabular-nums; }
.cart-page-summary-note { margin-top: 4px; font-size: var(--t-xs); color: var(--ink-soft); }
.cart-page-buttons { display: grid; gap: var(--s-2); }
.cart-page-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-3); align-items: end; margin-top: var(--s-2); padding: var(--s-4); background: var(--surface-raised); border: 1px solid var(--line-soft); border-radius: var(--r-lg); }
.cart-page-coupon label { display: block; margin-bottom: 6px; font-size: var(--t-xs); font-weight: 700; color: var(--ink-muted); }
.cart-page-coupon-row { display: flex; gap: var(--s-2); }
.cart-page-coupon-row input { min-width: 0; }
.cart-page-coupon-row .btn, .cart-page-update { min-height: 46px; }
.cart-page-action-buttons { display: flex; gap: var(--s-2); align-items: stretch; }
.cart-page-action-buttons > * { min-height: 46px; white-space: nowrap; }

.cart-page-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-3);
  padding: var(--s-10) var(--s-5);
  text-align: center;
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-xl);
}
.cart-page-empty-icon {
  display: grid;
  place-items: center;
  width: 72px; height: 72px;
  color: var(--brand);
  background: var(--brand-wash);
  border-radius: 50%;
}
.cart-page-empty-icon .icon { width: 32px; height: 32px; }
.cart-page-empty h2 { font-size: var(--t-xl); }
.cart-page-empty p { font-size: var(--t-sm); color: var(--ink-muted); }

@media (max-width: 900px) {
  .cart-page-layout { grid-template-columns: 1fr; }
  .cart-page-summary { position: static; }
}
@media (max-width: 520px) {
  .cart-page-header { align-items: stretch; }
  .cart-page-continue { width: 100%; }
  .cart-page-item { grid-template-columns: 60px minmax(0, 1fr); gap: 10px; padding: 12px; border-radius: 16px; }
  .cart-page-item-image { width: 60px; height: 60px; }
  .cart-page-item-head { gap: var(--s-2); }
  .woocommerce-cart-form a.cart-page-remove.remove {
    min-height: 44px;
    width: 44px;
    min-width: 44px;
    padding: 0;
    justify-content: center;
    border-radius: 50%;
  }
  .woocommerce-cart-form a.cart-page-remove.remove span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .cart-page-item-tags { gap: 4px; margin-top: 6px; }
  .cart-page-item-tags .variation dd,
  .cart-page-tag { min-height: 24px; padding: 3px 7px; font-size: 0.6875rem; }
  .cart-page-item-bottom {
    margin-left: 0;
    width: 100%;
    gap: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--line-soft);
  }
  .cart-page-actions { grid-template-columns: 1fr; gap: 8px; padding: 12px; }
  .cart-page-action-buttons { flex-direction: column; gap: 8px; }
  .cart-page-update, .cart-page-empty-button { width: 100%; }
  .cart-page-coupon-row { flex-direction: column; }
  .cart-page-coupon-row .btn { width: 100%; flex: none; }
  .cart-page-coupon-row .btn,
  .cart-page-update,
  .cart-page-action-buttons > * { min-height: 44px; }
  .cart-page-summary-card { padding: 16px; border-radius: var(--r-lg); }
  .cart-page-summary-top { margin-bottom: 12px; }
  .cart-page-summary .wc-proceed-to-checkout .button { margin-top: 16px; }
}


/* =============================================================================
   09  WISHLIST
   ========================================================================== */

.wishlist-drawer-actions { flex: none; padding: var(--s-3) var(--s-5); border-bottom: 1px solid var(--line-soft); }
.wishlist-actions-row { display: flex; align-items: center; gap: var(--s-2); }
.wishlist-sync-btn {
  display: grid;
  place-items: center;
  width: 38px; height: 38px;
  color: var(--ink-muted);
  background: var(--surface-sunken);
  border-radius: var(--r-sm);
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.wishlist-sync-btn:hover:not(:disabled) { background: var(--brand); color: var(--ink-on-brand); }
.wishlist-clear-btn { margin-left: auto; }
.wishlist-clear-btn:hover:not(:disabled) { background: var(--heart); color: #fff; }
.wishlist-sync-btn:disabled, .wishlist-sync-btn[aria-disabled='true'] { opacity: 0.4; cursor: default; }

/* Compact: the code sits beside its caption rather than filling the drawer.
   At 220px square it took over half the panel and pushed the saved designs
   out of view. */
.wishlist-qr-panel {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  margin-top: var(--s-3);
  padding: var(--s-3);
  background: var(--surface-sunken);
  border-radius: var(--r-md);
}
.wishlist-qr-panel img {
  width: 108px; height: 108px;
  flex: none;
  padding: 5px;
  background: #fff;
  border-radius: var(--r-sm);
}
.wishlist-qr-panel p { font-size: var(--t-xs); line-height: 1.5; color: var(--ink-muted); }

/* However many tools are open, the saved designs keep most of the drawer. */
.wishlist-drawer-actions {
  flex: none;
  max-height: none;
  overflow: visible;
  padding: 10px 16px 12px;
  border-bottom: 1px solid var(--line-soft);
}
.wishlist-sync-status { display: none; margin-top: var(--s-2); font-size: var(--t-xs); line-height: 1.5; color: var(--ink-muted); }
.wishlist-sync-status.is-visible { display: block; }
.wishlist-sync-status.has-error { color: var(--heart); }

.rtf-empty-button {
  display: inline-flex;
  min-height: 42px;
  padding: 8px 14px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--heart);
  background: var(--rose-wash);
  border: 1px solid var(--rose-soft);
  border-radius: var(--r-md);
  font: inherit;
  font-size: var(--t-xs);
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  transition: color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}
.rtf-empty-button:hover:not(:disabled), .rtf-empty-button.is-armed { color: #fff; background: var(--heart); border-color: var(--heart); }
.rtf-empty-button:focus-visible { outline: 3px solid var(--brand-soft); outline-offset: 2px; }
.rtf-empty-button:disabled { opacity: 0.68; cursor: default; }
.wishlist-drawer-actions[hidden] { display: none !important; }
.wishlist-drawer-actions .wishlist-clear-btn { display: flex; width: 100%; height: auto; margin: 0; }

.wishlist-drawer-items { flex: 1; padding: var(--s-4) var(--s-5); overflow-y: auto; overscroll-behavior: contain; }
.wishlist-empty {
  display: none;
  flex-direction: column;
  align-items: center;
  gap: var(--s-2);
  padding: var(--s-10) var(--s-4);
  text-align: center;
  color: var(--ink-muted);
}
.wishlist-empty > .icon { width: 44px; height: 44px; color: var(--brand-soft); }
.wishlist-empty-hint { font-size: var(--t-xs); color: var(--ink-soft); }

.wl-item {
  padding: var(--s-3);
  margin-bottom: var(--s-3);
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
}
.wishlist-item-header { display: grid; grid-template-columns: 54px 1fr 36px; gap: var(--s-3); align-items: start; }
.wishlist-item-swatch { width: 54px; height: 54px; overflow: hidden; border-radius: var(--r-sm); }
.wishlist-item-details { min-width: 0; }
.wishlist-item-name { font-size: var(--t-sm); font-weight: 700; line-height: 1.3; }
.wishlist-item-name:hover { color: var(--brand); }
.wishlist-item-meta { margin-top: 2px; font-size: var(--t-xs); color: var(--ink-soft); }
.wishlist-item-remove {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  color: var(--ink-muted);
  background: var(--surface-sunken);
  border: 1px solid var(--line);
  border-radius: 50%;
}
.wishlist-item-remove .icon { width: 16px; height: 16px; }
.wishlist-item-remove:hover,
.wishlist-item-remove:focus-visible {
  color: var(--heart);
  background: var(--rose-wash);
  border-color: var(--heart);
}
.wishlist-item-controls { display: flex; flex-direction: column; gap: var(--s-2); margin-top: var(--s-3); }
.wishlist-field { display: grid; gap: 5px; }
.wishlist-field-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.wishlist-select {
  width: 100%;
  min-height: 44px;
  padding: 0 38px 0 var(--s-3);
  font: inherit;
  font-size: var(--t-xs);
  color: var(--ink);
  background-color: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
}
.wishlist-select:focus { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-wash); outline: 0; }
.wishlist-item-controls .rtf-choice { width: 100%; }
.wishlist-item-controls .rtf-choice-button {
  min-height: 44px;
  padding: 0 9px 0 var(--s-3);
  font-size: var(--t-xs);
  color: var(--ink);
  background: var(--surface);
  border-radius: var(--r-sm);
}
.wishlist-item-controls .rtf-choice-value { line-height: 1.35; }
.wishlist-item-controls .rtf-choice-arrow { width: 26px; height: 26px; }
.wishlist-item-controls .rtf-choice-arrow .icon { width: 15px; height: 15px; }
.rtf-choice-list--wishlist { padding: 6px; border-radius: var(--r-md); }
.rtf-choice-list--wishlist .rtf-choice-option { min-height: 42px; padding: 10px 11px; }
.rtf-choice-list--wishlist .rtf-choice-option strong { font-size: var(--t-xs); }
.rtf-choice-list--wishlist .rtf-choice-option strong,
.rtf-choice-list--wishlist .rtf-choice-option span { overflow-wrap: anywhere; }
.wishlist-options-loading, .wishlist-item-status { margin: 0; font-size: var(--t-xs); line-height: 1.45; color: var(--ink-muted); }
.wishlist-item-status:empty { display: none; }
.wishlist-item-status.has-error { color: var(--heart); }
.wishlist-item-swatch--empty { display: block; background: var(--brand-wash); }
.wl-price-line { display: flex; align-items: baseline; gap: 4px; min-height: 20px; font-size: var(--t-xs); color: var(--ink-muted); }
.wl-price-line strong { color: var(--brand); font-size: var(--t-sm); }
.wl-bottom-row { display: flex; align-items: stretch; gap: var(--s-2); }
.wl-qty-stepper { height: 44px; padding: 3px; }
.wl-qty-stepper button {
  width: 36px;
  height: 36px;
  line-height: 0;
}
.wl-qty-stepper button > .icon {
  display: block;
  width: 16px;
  height: 16px;
  margin: 0;
  vertical-align: middle;
}
.wl-qty-val {
  display: inline-flex;
  align-self: stretch;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  font-size: var(--t-xs);
  line-height: 1;
}
.wl-add-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex: 1;
  min-height: 44px;
  font-size: var(--t-xs);
  font-weight: 700;
  white-space: nowrap;
  color: var(--ink-on-brand);
  background: var(--brand);
  border-radius: var(--r-sm);
  transition: background var(--dur-fast) var(--ease);
}
.wl-add-btn:hover:not(:disabled) { background: var(--brand-hover); }
.wl-add-btn:disabled { opacity: 0.75; }
@media (max-width: 380px) {
  .wl-bottom-row { gap: 6px; }
  .wl-qty-stepper button { width: 36px; height: 36px; }
  .wl-qty-val { min-width: 38px; }
  .wl-add-btn { min-height: 44px; font-size: 11px; }
}

/* Heart feedback */
.wl-pop { animation: wlPop 280ms var(--ease-out); }
.wl-pop-out { animation: wlPopOut 260ms var(--ease); }
@keyframes wlPop { 0% { transform: scale(1); } 45% { transform: scale(1.35); } 100% { transform: scale(1); } }
@keyframes wlPopOut { 0% { transform: scale(1); } 45% { transform: scale(0.78); } 100% { transform: scale(1); } }

/* The burst needs a positioning context, but :where() keeps this at zero
   specificity so a component that positions itself — .pdp-wishlist-float is
   absolute over the image — is never dragged back into normal flow. */
:where([data-wishlist-toggle]) { position: relative; }
.wl-heart {
  position: absolute;
  left: 50%; top: 50%;
  font-size: 13px;
  line-height: 1;
  pointer-events: none;
  animation: wlFloat 900ms var(--ease-out) forwards;
}
@keyframes wlFloat {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.4); }
  20% { opacity: 1; }
  100% { opacity: 0; transform: translate(calc(-50% + var(--wl-dx, 0px)), calc(-50% + var(--wl-dy, -40px))) scale(var(--wl-scale, 1)); }
}


/* =============================================================================
   10  CONTENT PAGES
   ========================================================================== */

.page-shell__inner { max-width: var(--shell-narrow); }
.page-card {
  padding: clamp(var(--s-6), 4vw, var(--s-9));
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-sm);
}
.page-header { margin-bottom: var(--s-6); padding-bottom: var(--s-5); border-bottom: 1px solid var(--line-soft); }
.page-eyebrow {
  display: inline-block;
  margin-bottom: var(--s-2);
  font-size: var(--t-2xs);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--brand);
}
.page-title { font-size: var(--t-2xl); letter-spacing: -0.025em; }
.page-intro { max-width: 62ch; margin-top: var(--s-3); font-size: var(--t-md); color: var(--ink-muted); }

/* Rich text — product descriptions and any CMS page content. */
.rte, .page-content { font-size: var(--t-base); line-height: var(--lh-body); color: var(--ink-muted); overflow-wrap: anywhere; }
.rte > * + *, .page-content > * + * { margin-top: var(--s-4); }
.rte h1, .rte h2, .page-content h1, .page-content h2 {
  margin-top: var(--s-7);
  font-size: var(--t-xl);
  letter-spacing: -0.02em;
  color: var(--ink);
}
.rte h3, .page-content h3 { margin-top: var(--s-6); font-size: var(--t-lg); color: var(--ink); }
.rte h4, .page-content h4 { margin-top: var(--s-5); font-size: var(--t-base); color: var(--ink); }
.rte > :first-child, .page-content > :first-child { margin-top: 0; }
.rte strong, .page-content strong { font-weight: 700; color: var(--ink); }
.rte a:not(.btn):not(.button), .page-content a:not(.btn):not(.button) { color: var(--brand); text-decoration: underline; text-decoration-thickness: 1.5px; }
.rte a:not(.btn):not(.button):hover, .page-content a:not(.btn):not(.button):hover { color: var(--brand-strong); }
.page-content a.btn,
.page-content a.button { text-decoration: none; }
.page-content a.btn-primary,
.page-content a.button.alt { color: var(--ink-on-brand); }
.page-content .woocommerce-MyAccount-navigation a:not(.btn):not(.button),
.page-content .woocommerce-MyAccount-navigation a:not(.btn):not(.button):hover,
.page-content .rtf-account-shortcuts a:not(.btn):not(.button),
.page-content .rtf-account-logout:not(.btn):not(.button) {
  color: inherit;
  text-decoration: none;
}
.rte ul, .rte ol, .page-content > ul, .page-content > ol { display: grid; gap: var(--s-2); padding-left: var(--s-2); }
.rte li, .page-content > ul > li, .page-content > ol > li { position: relative; padding-left: var(--s-5); }
.rte ul > li::before, .page-content > ul > li::before {
  content: '';
  position: absolute;
  left: 3px; top: 0.62em;
  width: 6px; height: 6px;
  background: var(--brand-soft);
  border-radius: 50%;
}
.rte ol, .page-content > ol { counter-reset: rte-list; }
.rte ol > li, .page-content > ol > li { counter-increment: rte-list; }
.rte ol > li::before, .page-content > ol > li::before {
  content: counter(rte-list) '.';
  position: absolute;
  left: 0; top: 0;
  font-weight: 700;
  color: var(--brand);
}
.rte blockquote, .page-content blockquote {
  padding: var(--s-3) var(--s-5);
  font-style: italic;
  background: var(--brand-tint-soft);
  border-left: 3px solid var(--brand-soft);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
}
.rte table, .page-content table { width: 100%; border-collapse: collapse; font-size: var(--t-sm); }
.rte th, .rte td, .page-content th, .page-content td {
  padding: var(--s-2) var(--s-3);
  text-align: left;
  border-bottom: 1px solid var(--line-soft);
}
.rte th, .page-content th { font-weight: 700; color: var(--ink); }
.pdp-standard-description h2 { font-size: var(--t-base); letter-spacing: 0.04em; color: var(--brand-strong); }
/* The shop's standard pre-order notes sit under the product's own copy, so
   they need a visible break rather than running straight on from it. */
.pdp-accordion-body > .rte + .pdp-standard-description {
  margin-top: var(--s-5);
  padding-top: var(--s-5);
  border-top: 1px solid var(--line-soft);
}

/* Contact */
.contact-inner { max-width: var(--shell-narrow); }
.contact-header { margin-bottom: var(--s-6); }
.contact-title { font-size: var(--t-2xl); letter-spacing: -0.025em; }
.contact-card {
  padding: clamp(var(--s-6), 4vw, var(--s-8));
  text-align: center;
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-sm);
}
.contact-card .contact-intro { margin-bottom: var(--s-5); color: var(--ink-muted); }
.contact-actions { display: flex; justify-content: center; }
.contact-submit { min-width: 240px; }


/* =============================================================================
   11  FOOTER — community section
   ========================================================================== */

.community-section {
  padding-block: clamp(var(--s-6), 4vw, var(--s-8)) 0;
  color: #f7f4fb;
  background:
    radial-gradient(ellipse 60% 80% at 15% 0%, rgba(169, 130, 201, 0.28), transparent 60%),
    radial-gradient(ellipse 50% 60% at 85% 100%, rgba(196, 86, 107, 0.2), transparent 60%),
    #241f2e;
}
.community-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: clamp(var(--s-5), 4vw, var(--s-8));
  align-items: center;
  padding-bottom: var(--s-6);
}
.community-inner > * { min-width: 0; }
.community-content h2 { margin-bottom: var(--s-2); font-size: var(--t-xl); letter-spacing: -0.025em; }
.community-content h2 em { font-style: italic; color: #d7c2e8; }
.community-content > p { max-width: 52ch; color: rgba(247, 244, 251, 0.75); }
.community-preorder-line {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  margin-top: var(--s-3);
  padding: 7px var(--s-3);
  font-size: var(--t-sm);
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: var(--r-pill);
}
.community-preorder-line .icon { color: #d7c2e8; }
.community-btns { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-4); }
.community-btns .btn { --btn-h: 42px; padding-inline: var(--s-4); cursor: pointer !important; }
.community-btn-secondary {
  color: #f7f4fb;
  background: rgba(255, 255, 255, 0.1);
  border: 1.5px solid rgba(255, 255, 255, 0.22);
}
.community-btn-secondary:hover { background: rgba(255, 255, 255, 0.18); border-color: rgba(255, 255, 255, 0.38); color: #fff; }

.community-stats { display: grid; width: 100%; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3); }
.stat-box {
  min-width: 0;
  padding: var(--s-3) var(--s-2);
  text-align: center;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--r-lg);
}
.stat-number {
  font-size: clamp(1.25rem, 2.5vw, 1.65rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #d7c2e8;
  font-variant-numeric: tabular-nums;
}
.stat-label {
  margin-top: 2px;
  font-size: var(--t-2xs);
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(247, 244, 251, 0.65);
  overflow-wrap: anywhere;
}

.community-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2) var(--s-5);
  padding-block: var(--s-4);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.community-links a, .community-links button {
  position: relative;
  font-size: var(--t-sm);
  font-weight: 600;
  color: rgba(247, 244, 251, 0.78);
  transition: color var(--dur-fast) var(--ease);
}
.community-links a::after, .community-links button::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -3px;
  height: 1.5px;
  background: #d7c2e8;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur) var(--ease);
}
.community-links a:hover, .community-links button:hover { color: #fff; }
.community-links a:hover::after, .community-links button:hover::after { transform: scaleX(1); }

.community-subfooter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--s-4);
  padding-block: var(--s-4);
  font-size: var(--t-xs);
  color: rgba(247, 244, 251, 0.6);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.community-subfooter-left { display: flex; flex-direction: column; gap: 2px; }
.community-email { color: #d7c2e8; }
.community-email:hover { text-decoration: underline; }
.community-payment { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s-3); }
.community-payment-label { font-size: var(--t-2xs); letter-spacing: 0.06em; text-transform: uppercase; }
.community-payment-icons { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.payment-icon { height: 24px; width: auto; border-radius: 4px; opacity: 0.9; }
.payment-method { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 7px; color: rgba(247, 244, 251, 0.82); background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.13); border-radius: 5px; font-size: 10px; font-weight: 700; }
.payment-method img { display: block; max-width: 58px; max-height: 20px; width: auto; height: auto; }

@media (max-width: 900px) {
  .community-inner { grid-template-columns: 1fr; }
  .community-stats { max-width: min(420px, 100%); }
}
@media (max-width: 560px) {
  .community-section {
    padding-top: 20px;
    padding-bottom: 24px;
  }
  .community-inner {
    display: grid;
    gap: 12px;
    padding-bottom: 12px;
  }
  .community-content {
    display: grid;
    gap: 8px;
    min-width: 0;
  }
  .community-content h2 { font-size: var(--t-lg); margin-bottom: 0; }
  .community-content > p:not(.community-preorder-line) {
    max-width: none;
    margin: 0;
    font-size: var(--t-sm);
    line-height: 1.5;
  }
  .community-preorder-line {
    display: flex;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    padding: 8px 10px;
    border-radius: 14px;
    font-size: var(--t-xs);
    line-height: 1.4;
  }
  .community-preorder-line .icon { flex: 0 0 auto; margin-top: 1px; }
  .community-preorder-line-text { min-width: 0; flex: 1; overflow-wrap: anywhere; }
  .community-btns {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    width: 100%;
    margin-top: 2px;
  }
  .community-btns .btn {
    --btn-h: 44px;
    display: inline-flex;
    width: 100%;
    min-width: 0;
    justify-content: center;
    padding-inline: 14px;
    font-size: 13px;
    white-space: nowrap;
  }
  .community-stats {
    width: 100%;
    max-width: none;
    gap: 0;
    margin: 0;
    padding: 8px 0;
    border-block: 1px solid rgba(255, 255, 255, 0.12);
  }
  .stat-box {
    padding: 6px 8px;
    background: transparent;
    border: 0;
    border-radius: 0;
  }
  .stat-box + .stat-box { border-left: 1px solid rgba(255, 255, 255, 0.12); }
  .stat-number { font-size: 1.2rem; line-height: 1.2; }
  .stat-label { margin-top: 3px; font-size: 0.625rem; line-height: 1.25; letter-spacing: 0.06em; }
  .community-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 16px;
    padding-block: 4px 8px;
  }
  .community-links a, .community-links button {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 44px;
    padding: 8px 0;
    font-size: 13px;
  }
  .community-subfooter {
    align-items: flex-start;
    gap: 6px;
    padding-block: 8px 4px;
    font-size: var(--t-2xs);
  }
  .community-payment { gap: var(--s-2); }
  .community-payment-label { font-size: 0.625rem; }
  .back-to-top {
    right: 14px;
    bottom: 18px;
  }
}


/* =============================================================================
   12  MOTION & ACCESSIBILITY
   ========================================================================== */

/* Comfortable targets on touch devices, without inflating the desktop UI. */
@media (pointer: coarse) {
  .qty-stepper button, .cart-qty-btn, .wl-qty-stepper button { width: 36px; height: 36px; }
  .product-wishlist { width: 38px; height: 38px; }
  .cart-item-remove { width: 34px; height: 34px; }
  .wishlist-item-remove { width: 36px; height: 36px; }
}

@media (pointer: coarse) and (max-width: 560px) {
  .header-actions { gap: 0; }
}

@media (max-width: 360px) {
  .header-inner { gap: 4px; padding-inline: 10px; }
  .header-actions > button, .header-actions > a { width: 36px; height: 36px; }
  .header-actions .icon,
  .header-actions .cart-btn .icon--basket { width: 18px; height: 18px; }
  .logo-text--single { font-size: 0.95rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .logo-text--animated::before,
  .logo-text--animated::after { display: none; animation: none; }
  .logo-wordmark--full { animation: none; filter: none; opacity: 1; transform: none; }
  .js-reveal .fade-in { opacity: 1; transform: none; }
}

@media (prefers-contrast: more) {
  :root { --line: var(--line-strong); --ink-muted: var(--ink); }
  .btn-secondary, .product-card, .base-card, .step-card { border-width: 2px; }
}

/* Print — a basket or product page should print as a readable list. */
@media print {
  .header-wrapper, .back-to-top, .cart-drawer, .wishlist-drawer, .mobile-menu,
  .search-overlay, .modal-overlay, .lightbox-overlay, .cart-toast,
  .pdp-sticky-buy, .announcement-bar, .community-section, .product-controls,
  .cart-drawer-overlay, .wishlist-overlay, .mobile-menu-overlay { display: none !important; }
  #MainContent { padding-top: 0; }
  body { background: #fff; color: #000; }
  .product-card, .cart-page-item, .page-card { box-shadow: none; border: 1px solid #ccc; break-inside: avoid; }
}

/* =============================================================================
   WORDPRESS + WOOCOMMERCE ADAPTER
   Keeps the source theme's visual classes while normalising WordPress output.
   ============================================================================= */

.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0;
  position: absolute !important; width: 1px; word-wrap: normal !important;
}
.nav-main > .menu-item,
.community-links > .menu-item,
.mobile-nav > .menu-item { display: contents; }
.nav-main > .menu-item-has-children {
  display: flex;
  position: relative;
  align-items: center;
}
.nav-main ul, .community-links ul, .mobile-nav ul { list-style: none; margin: 0; padding: 0; }
.nav-main .sub-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 5;
  display: none;
  min-width: 220px;
  padding: 8px;
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-lg);
}
.nav-main .menu-item-has-children:hover > .sub-menu,
.nav-main .menu-item-has-children:focus-within > .sub-menu {
  display: grid;
  gap: 2px;
}
.nav-main .sub-menu .menu-item { display: block; }
.nav-main .sub-menu a {
  width: 100%;
  white-space: nowrap;
}
.custom-logo-link { display: flex; align-items: center; min-width: 0; }
.custom-logo { display: block; width: auto; max-width: min(260px, 36vw); max-height: 44px; }

.woocommerce-notices-wrapper { width: min(var(--shell), calc(100% - 2 * var(--gutter))); margin: var(--s-4) auto; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  margin: var(--s-4) 0; padding: var(--s-4); border: 1px solid var(--line);
  border-left: 4px solid var(--brand); border-radius: var(--radius-md); background: var(--surface-raised);
}
.woocommerce-error { border-left-color: var(--rose); list-style: none; }
.woocommerce-message .button { float: right; }
.woocommerce .woocommerce-breadcrumb { color: var(--ink-muted); font-size: var(--t-sm); margin-bottom: var(--s-5); }
.woocommerce .woocommerce-breadcrumb a { color: var(--ink); }

.product-card .button, .product-card .btn { width: 100%; margin-top: var(--s-3); justify-content: center; }
.product-card .added_to_cart { display: block; margin-top: var(--s-2); text-align: center; font-weight: 700; }
.product-image-inner img {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.product-title-row h3 a { color: inherit; text-decoration: none; }
.product-price .price, .product-price del, .product-price ins { display: inline; }
.product-price ins { text-decoration: none; }
.wishlist-heart.active { color: var(--brand); }
.wishlist-heart.active svg { fill: currentColor; }

.collection-toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); margin-bottom: var(--s-5); }
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select { min-width: 220px; }
.woocommerce-result-count { margin: 0; color: var(--ink-muted); }
.woocommerce nav.woocommerce-pagination {
  margin-top: var(--s-8);
  padding-bottom: 2px;
  overflow-x: auto;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers {
  display: flex;
  float: none;
  clear: both;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  gap: var(--s-2);
  margin: 0 auto;
  padding: 0;
  white-space: normal;
  list-style: none outside;
  background: transparent;
  border: 0;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li {
  display: block;
  float: none;
  margin: 0;
  padding: 0;
  overflow: visible;
  list-style: none outside;
  background: transparent;
  border: 0;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li > .page-numbers,
.navigation.pagination .nav-links > .page-numbers {
  display: grid;
  box-sizing: border-box;
  min-width: 44px;
  height: 44px;
  margin: 0;
  padding: 0 12px;
  place-items: center;
  color: var(--ink);
  font-size: var(--t-sm);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li > a.page-numbers:hover,
.woocommerce nav.woocommerce-pagination ul.page-numbers li > a.page-numbers:focus-visible,
.navigation.pagination .nav-links > a.page-numbers:hover,
.navigation.pagination .nav-links > a.page-numbers:focus-visible {
  color: var(--brand-strong);
  background: var(--brand-tint-soft);
  border-color: var(--brand);
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li > .page-numbers.current,
.navigation.pagination .nav-links > .page-numbers.current {
  color: var(--ink-on-brand);
  background: var(--brand);
  border-color: var(--brand);
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li > .page-numbers.dots,
.navigation.pagination .nav-links > .page-numbers.dots {
  min-width: 28px;
  padding-inline: 4px;
  color: var(--ink-muted);
  background: transparent;
  border-color: transparent;
}
.navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--s-2);
}
@media (max-width: 520px) {
  .woocommerce nav.woocommerce-pagination ul.page-numbers,
  .navigation.pagination .nav-links { gap: 6px; }
  .woocommerce nav.woocommerce-pagination ul.page-numbers li > .page-numbers,
  .navigation.pagination .nav-links > .page-numbers { min-width: 40px; height: 40px; padding-inline: 9px; }
}

.product-details .variations { width: 100%; border-collapse: separate; border-spacing: 0 var(--s-3); }
.product-details .variations th { width: 120px; text-align: left; vertical-align: middle; }
.product-details .variations select { width: 100%; }
.product-details .reset_variations { display: inline-block; margin-top: var(--s-2); font-size: var(--t-sm); }
.product-details .single_variation_wrap { margin-top: var(--s-4); }
.product-details .woocommerce-variation-price { margin-bottom: var(--s-3); font-size: var(--t-xl); font-weight: 800; }
.product-details form.cart { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: stretch; }
.product-details form.cart .quantity input { min-height: 48px; width: 86px; }
.product-details .single_add_to_cart_button { min-height: 48px; flex: 1; border: 0; border-radius: var(--radius-md); color: #fff; background: var(--brand); font: inherit; font-weight: 700; cursor: pointer; }
.product-details .stock { font-weight: 700; }
.product-details .out-of-stock { color: var(--rose); }
.pdp-main-image { display: block; aspect-ratio: 1; object-fit: cover; }
.pdp-wishlist-float { padding: 0; border: 0; cursor: pointer; }
.pdp-purchase-card {
  padding: clamp(var(--s-4), 3vw, var(--s-5));
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
}
.pdp-purchase-card form.cart { margin: 0; }
.pdp-purchase-card form.cart.variations_form { display: block; }
.pdp-purchase-card form.cart:not(.variations_form),
.pdp-purchase-card .woocommerce-variation-add-to-cart {
  display: grid;
  grid-template-columns: 154px minmax(0, 1fr);
  align-items: stretch;
  gap: var(--s-3);
}
.pdp-purchase-card .variations,
.pdp-purchase-card .variations tbody,
.pdp-purchase-card .variations tr,
.pdp-purchase-card .variations th,
.pdp-purchase-card .variations td { display: block; width: 100%; }
.pdp-purchase-card .variations { margin: calc(-1 * var(--s-2)) 0 var(--s-4); }
.pdp-purchase-card .variations tr + tr { margin-top: var(--s-2); }
.pdp-purchase-card .variations th,
.pdp-purchase-card .variations td { padding: var(--s-2) 0; border: 0; }
.pdp-purchase-card .variations th {
  padding-bottom: 0;
  font-size: var(--t-xs);
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: capitalize;
  color: var(--ink);
}
.pdp-purchase-card .variations th label { display: inline-flex; align-items: center; gap: 7px; }
.pdp-purchase-card .variations th label::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  flex: none;
  background: var(--brand-mid);
  -webkit-mask: var(--pdp-option-icon) center / contain no-repeat;
  mask: var(--pdp-option-icon) center / contain no-repeat;
}
.pdp-purchase-card .variations th label[for*="base" i],
.pdp-purchase-card .variations th label[for*="fabric" i] {
  --pdp-option-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 9 5-9 5-9-5 9-5Z'/%3E%3Cpath d='m3 12 9 5 9-5M3 16l9 5 9-5'/%3E%3C/g%3E%3C/svg%3E");
}
.pdp-purchase-card .variations th label[for*="scale" i] {
  --pdp-option-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h18v10H3z'/%3E%3Cpath d='M7 7v4m4-4v6m4-6v4m4-4v6'/%3E%3C/g%3E%3C/svg%3E");
}
.pdp-purchase-card .variations th label:not([for*="base" i]):not([for*="fabric" i]):not([for*="scale" i])::before { display: none; }
.pdp-purchase-card .variations td { padding-top: var(--s-1); }
.pdp-purchase-card .variations select { min-height: 52px; }
.rtf-scale-option { margin-bottom: var(--s-4); }
.rtf-scale-option label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: var(--s-2);
  font-size: var(--t-xs);
  font-weight: 700;
  color: var(--ink-muted);
}
.rtf-scale-option label .icon { color: var(--brand-mid); }
.rtf-scale-option select { width: 100%; min-height: 52px; }
.pdp-purchase-card form.cart:not(.variations_form) > .rtf-scale-option { grid-column: 1 / -1; margin: 0; }
.pdp-purchase-card .pdp-qty-stepper {
  position: relative;
  display: grid;
  grid-template-columns: 46px minmax(58px, 1fr) 46px;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: var(--surface);
}
.pdp-purchase-card .pdp-native-qty {
  position: absolute;
  width: 1px !important;
  height: 1px;
  min-height: 0 !important;
  opacity: 0;
  pointer-events: none;
}
.pdp-qty-minus, .pdp-qty-plus {
  display: grid;
  min-width: 0;
  padding: 0;
  place-items: center;
  color: var(--ink-muted);
  background: transparent;
  border: 0;
  cursor: pointer;
}
.pdp-qty-minus { border-right: 1px solid var(--line-soft); }
.pdp-qty-plus { border-left: 1px solid var(--line-soft); }
.pdp-qty-minus:disabled, .pdp-qty-plus:disabled { cursor: default !important; pointer-events: none; opacity: 0.35; }
.pdp-qty-value { display: grid; min-height: 48px; place-items: center; font-weight: 700; color: var(--ink); }
.product-details .pdp-purchase-card form.cart .single_add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 var(--s-5);
  flex: 1;
  border: 1.5px solid transparent;
  border-radius: var(--r-md);
  color: var(--ink-on-brand) !important;
  background: var(--brand);
  font: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  box-shadow: var(--shadow-brand);
  transition: background var(--dur-fast) var(--ease),
              border-color var(--dur-fast) var(--ease),
              color var(--dur-fast) var(--ease),
              box-shadow var(--dur-fast) var(--ease),
              transform var(--dur-fast) var(--ease);
}
.product-details .pdp-purchase-card form.cart .single_add_to_cart_button:hover:not(:disabled):not(.disabled) { background: var(--brand-hover); box-shadow: var(--shadow-md); }
.product-details .pdp-purchase-card form.cart .single_add_to_cart_button:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
.product-details .pdp-purchase-card form.cart .single_add_to_cart_button:active:not(:disabled):not(.disabled) { transform: translateY(1px) scale(0.995); }
.product-details .pdp-purchase-card form.cart .single_add_to_cart_button:disabled,
.product-details .pdp-purchase-card form.cart .single_add_to_cart_button.disabled,
.product-details .pdp-purchase-card form.cart .single_add_to_cart_button.wc-variation-selection-needed {
  color: var(--ink-muted) !important;
  background: var(--brand-wash) !important;
  border-color: var(--line) !important;
  box-shadow: none !important;
  cursor: default;
  opacity: 1 !important;
}
.pdp-purchase-card .woocommerce-variation-description { margin-bottom: var(--s-3); color: var(--ink-muted); }
.pdp-purchase-card .woocommerce-variation-price { margin-bottom: var(--s-3); font-size: var(--t-lg); font-weight: 800; }
.pdp-price ins { text-decoration: none; }
.pdp-price del { margin-right: 4px; color: var(--ink-soft); font-size: 0.72em; }
.pdp-accordion-body .rte > :first-child { margin-top: 0; }
.pdp-accordion-body .rte > :last-child { margin-bottom: 0; }

.woocommerce-cart-form .quantity input { width: 88px; }
.cart-page-item-image img { width: 96px; height: 96px; object-fit: cover; }
.cart-page-summary .cart_totals h2 { display: none; }
.cart-page-summary table { width: 100%; border-collapse: collapse; }
.cart-page-summary th, .cart-page-summary td { padding: var(--s-3) 0; border-bottom: 1px solid var(--line); text-align: left; }
.cart-page-summary td { text-align: right; }
.cart-page-summary .wc-proceed-to-checkout .button { display: flex; justify-content: center; width: 100%; margin-top: var(--s-5); padding: 14px 20px; border-radius: var(--radius-md); color: #fff; background: var(--brand); font-weight: 800; }

.woocommerce-cart .page-shell__inner, .woocommerce-checkout .page-shell__inner, .woocommerce-account .page-shell__inner, .woocommerce-order-received .page-shell__inner { max-width: var(--shell); }
.woocommerce form .form-row { margin-bottom: var(--s-4); }
.woocommerce form .form-row label { display: block; margin-bottom: var(--s-2); font-weight: 700; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { width: 100%; }
.woocommerce form .form-row input.input-text {
  min-height: 46px;
  padding: 11px var(--s-4);
  color: var(--ink);
  background: var(--surface-raised);
  border: 1.5px solid var(--line);
  border-radius: var(--r-md);
  transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}

/* Keep enabled WooCommerce address controls visibly interactive. */
:where(.woocommerce-checkout, .woocommerce-account) :where(
  .wc-block-components-address-form,
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-address-fields__field-wrapper,
  form.woocommerce-address-fields
) :is(input:not([type="checkbox"]):not([type="radio"]), textarea):not(:disabled):not([readonly]):not([aria-disabled="true"]) {
  cursor: text !important;
}

:where(.woocommerce-checkout, .woocommerce-account) :where(
  .wc-block-components-address-form,
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-address-fields__field-wrapper,
  form.woocommerce-address-fields
) select:not(:disabled):not([aria-disabled="true"]),
:where(.woocommerce-checkout, .woocommerce-account) :where(
  .wc-block-components-address-form,
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-address-fields__field-wrapper,
  form.woocommerce-address-fields
) .select2-container:not(.select2-container--disabled) .select2-selection--single {
  cursor: pointer !important;
}

/* WooCommerce address country and region selectors ------------------------
   SelectWoo appends the open menu directly to the page, so the trigger and
   dropdown need shared checkout/account rules rather than form-local styles. */
:where(.woocommerce-checkout, .woocommerce-account) .select2-container {
  max-width: 100%;
}
:where(.woocommerce-checkout, .woocommerce-account) form .select2-container {
  width: 100% !important;
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-container .select2-selection--single {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 0 50px 0 var(--s-4);
  color: var(--ink);
  background: var(--surface-raised);
  border: 1.5px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: none;
  transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-container .select2-selection--single:hover {
  border-color: var(--brand);
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-container--focus .select2-selection--single,
:where(.woocommerce-checkout, .woocommerce-account) .select2-container--open .select2-selection--single {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px var(--brand-wash);
  outline: 0;
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-container .select2-selection__rendered {
  width: 100%;
  padding: 0 !important;
  overflow: hidden;
  color: var(--ink) !important;
  line-height: 1.35 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-container .select2-selection__placeholder {
  color: var(--ink-soft) !important;
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-container .select2-selection__arrow {
  position: absolute;
  top: 50% !important;
  right: var(--s-4) !important;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-container .select2-selection__arrow b {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  margin: 0;
  border: 0;
  border-right: 2px solid var(--brand);
  border-bottom: 2px solid var(--brand);
  transform: translate(-50%, -50%) rotate(45deg);
  transition: transform var(--dur-fast) var(--ease);
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-container--open .select2-selection__arrow b {
  top: 50%;
  transform: translate(-50%, -50%) rotate(225deg);
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-dropdown {
  margin-top: 6px;
  overflow: hidden;
  color: var(--ink);
  background: var(--surface-raised);
  border: 1px solid var(--line) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-lg);
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-search--dropdown {
  display: block;
  padding: var(--s-3);
  background: var(--surface-sunken);
  border-bottom: 1px solid var(--line-soft);
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-search--dropdown .select2-search__field {
  width: 100%;
  min-height: 42px;
  padding: 8px 12px;
  color: var(--ink);
  background: var(--surface-raised);
  border: 1.5px solid var(--line) !important;
  border-radius: var(--r-sm);
  outline: 0;
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-search--dropdown .select2-search__field:focus {
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px var(--brand-wash);
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-results__options {
  max-height: min(300px, 45vh) !important;
  margin: 0;
  padding: var(--s-2);
  list-style: none;
  scrollbar-width: thin;
  scrollbar-color: var(--brand) var(--surface-sunken);
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-results__option {
  min-height: 42px;
  padding: 10px 12px;
  color: var(--ink-muted);
  border-radius: var(--r-sm);
  line-height: 1.4;
  list-style: none;
  cursor: pointer;
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-results__option::before {
  display: none !important;
  content: none !important;
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-results__option[aria-selected="true"] {
  color: var(--ink);
  background: var(--brand-wash);
  font-weight: 700;
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-results__option--highlighted[aria-selected],
:where(.woocommerce-checkout, .woocommerce-account) .select2-results__option[data-highlighted="true"] {
  color: var(--ink-on-brand);
  background: var(--brand);
}
:where(.woocommerce-checkout, .woocommerce-account) .select2-container--disabled .select2-selection--single {
  color: var(--ink-soft);
  background: var(--surface-sunken);
  cursor: default !important;
  opacity: 0.72;
}

/* WooCommerce loads SelectWoo's default skin after theme styles on some My
   Account endpoints. Keep the address trigger and its body-level dropdown on
   the same theme surface even when those later rules have greater specificity. */
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default .select2-selection--single {
  min-height: 48px !important;
  color: var(--ink) !important;
  background: var(--surface-raised) !important;
  border-color: var(--line) !important;
  border-radius: var(--r-md) !important;
}
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default .select2-selection--single:hover {
  border-color: var(--brand) !important;
}
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default.select2-container--focus .select2-selection--single,
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px var(--brand-wash) !important;
}
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--ink) !important;
}
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--ink-soft) !important;
}
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default .select2-selection--single .select2-selection__arrow b {
  top: 50% !important;
  left: 50% !important;
  margin: 0 !important;
  border-color: transparent var(--brand) var(--brand) transparent !important;
  transform: translate(-50%, -50%) rotate(45deg) !important;
}
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  top: 50% !important;
  transform: translate(-50%, -50%) rotate(225deg) !important;
}
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default .select2-dropdown {
  color: var(--ink) !important;
  background: var(--surface-raised) !important;
  border-color: var(--line) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-lg) !important;
}
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default .select2-search--dropdown {
  background: var(--surface-sunken) !important;
  border-color: var(--line-soft) !important;
}
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default .select2-search--dropdown .select2-search__field {
  color: var(--ink) !important;
  background: var(--surface-raised) !important;
  border-color: var(--line) !important;
  border-radius: var(--r-sm) !important;
  caret-color: var(--brand);
}
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default .select2-results,
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default .select2-results__options,
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default .select2-results__option {
  color: var(--ink-muted) !important;
  background: var(--surface-raised) !important;
}
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default .select2-results__option[aria-selected="true"] {
  color: var(--ink) !important;
  background: var(--brand-wash) !important;
}
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default .select2-results__option--highlighted[aria-selected],
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default .select2-results__option[data-highlighted="true"] {
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
}
:is(body.woocommerce-checkout, body.woocommerce-account) .select2-container--default.select2-container--disabled .select2-selection--single {
  color: var(--ink-soft) !important;
  background: var(--surface-sunken) !important;
  border-color: var(--line-soft) !important;
}
:where(.woocommerce-checkout, .woocommerce-account) form :is(select.country_to_state, select.country_select, select.state_select) {
  min-height: 48px;
  padding: 0 48px 0 var(--s-4);
  color: var(--ink);
  background-color: var(--surface-raised);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a982c9' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--s-4) center;
  background-size: 16px;
  border: 1.5px solid var(--line);
  border-radius: var(--r-md);
  appearance: none;
}
:where(.woocommerce-checkout, .woocommerce-account) form :is(select.country_to_state, select.country_select, select.state_select):focus-visible {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px var(--brand-wash);
  outline: 0;
}
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: var(--s-3); border-bottom: 1px solid var(--line); text-align: left; }

/* Checkout */
.woocommerce-checkout .page-card { padding: clamp(var(--s-5), 3vw, var(--s-7)); }
.woocommerce-checkout .page-header { margin-bottom: var(--s-5); padding-bottom: var(--s-4); }
.woocommerce-checkout .page-content { color: var(--ink); }
.woocommerce-checkout .woocommerce-info { margin: 0 0 var(--s-5); }
.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.88fr);
  gap: var(--s-3) clamp(var(--s-5), 4vw, var(--s-7));
  align-items: start;
}
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; display: grid; gap: var(--s-5); }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; font-size: var(--t-lg); }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; position: sticky; top: calc(var(--header-height) + var(--announcement-offset) + var(--s-4)); padding: var(--s-4); background: var(--surface-sunken); border: 1px solid var(--line-soft); border-radius: var(--r-xl); }
.woocommerce-checkout #customer_details > .col-1, .woocommerce-checkout #customer_details > .col-2 { width: 100%; }
.woocommerce-checkout #customer_details h3 { margin-bottom: var(--s-4); font-size: var(--t-lg); }
.woocommerce-checkout .woocommerce-billing-fields, .woocommerce-checkout .woocommerce-shipping-fields, .woocommerce-checkout .woocommerce-additional-fields { padding: var(--s-5); background: var(--surface-sunken); border: 1px solid var(--line-soft); border-radius: var(--r-lg); }
.woocommerce-checkout .woocommerce-shipping-fields:has(+ .woocommerce-additional-fields) { margin-bottom: var(--s-4); }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--s-3); }
.woocommerce-checkout .form-row { min-width: 0; }
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select {
  -webkit-appearance: none !important;
  appearance: none !important;
  background-clip: padding-box;
}
body.woocommerce-checkout,
body.woocommerce-checkout * {
  -webkit-tap-highlight-color: transparent;
}
.woocommerce-checkout .form-row-wide, .woocommerce-checkout .notes { grid-column: 1 / -1; }
.woocommerce-checkout abbr.required { color: var(--heart); text-decoration: none; }
.woocommerce-checkout .optional { font-weight: 400; color: var(--ink-soft); }
.woocommerce-checkout .woocommerce-invalid input.input-text, .woocommerce-checkout .woocommerce-invalid select { border-color: var(--heart); box-shadow: 0 0 0 3px var(--rose-wash); }
.woocommerce-checkout .woocommerce-validated input.input-text { border-color: var(--mint); }
.woocommerce-checkout-review-order-table { margin: 0; overflow: hidden; background: var(--surface-raised); border: 1px solid var(--line-soft); border-radius: var(--r-lg); }
.woocommerce-checkout-review-order-table thead { background: var(--brand-tint-soft); }
.woocommerce-checkout-review-order-table th:last-child, .woocommerce-checkout-review-order-table td:last-child { text-align: right; }
.woocommerce-checkout-review-order-table tbody td { font-size: var(--t-sm); color: var(--ink-muted); }
.woocommerce-checkout-review-order-table .variation { margin-top: 5px; font-size: var(--t-xs); }
.woocommerce-checkout-review-order-table .variation dt, .woocommerce-checkout-review-order-table .variation dd { display: inline; margin: 0; }
.woocommerce-checkout-review-order-table .order-total th, .woocommerce-checkout-review-order-table .order-total td { padding-block: var(--s-4); border-bottom: 0; font-size: var(--t-md); color: var(--ink); }
.woocommerce-checkout-payment { margin-top: var(--s-4); }
.woocommerce-checkout-payment .payment_methods { display: grid; gap: var(--s-2); margin: 0; padding: 0; list-style: none; }
.woocommerce-checkout-payment .wc_payment_method { padding: var(--s-3); background: var(--surface-raised); border: 1px solid var(--line-soft); border-radius: var(--r-md); }
.woocommerce-checkout-payment .wc_payment_method::before { display: none; }
.woocommerce-checkout-payment .wc_payment_method > input { margin-right: var(--s-2); accent-color: var(--brand); }
body.woocommerce-checkout .woocommerce-checkout-payment .wc_payment_method > input[type='radio'],
body.woocommerce-checkout .woocommerce-shipping-methods input[type='radio'] {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-block !important;
  box-sizing: border-box;
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  margin: 0 var(--s-2) 0 0 !important;
  vertical-align: middle;
  background: var(--surface-raised) !important;
  border: 2px solid var(--brand-mid) !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  touch-action: manipulation;
}
body.woocommerce-checkout .woocommerce-checkout-payment .wc_payment_method > input[type='radio']::before,
body.woocommerce-checkout .woocommerce-checkout-payment .wc_payment_method > input[type='radio']::after,
body.woocommerce-checkout .woocommerce-shipping-methods input[type='radio']::before,
body.woocommerce-checkout .woocommerce-shipping-methods input[type='radio']::after {
  display: none !important;
  content: none !important;
  background: none !important;
}
body.woocommerce-checkout .woocommerce-checkout-payment .wc_payment_method > input[type='radio']:checked,
body.woocommerce-checkout .woocommerce-shipping-methods input[type='radio']:checked {
  background-color: var(--brand) !important;
  background-image: none !important;
  border-color: var(--brand) !important;
}
body.woocommerce-checkout .woocommerce-checkout-payment .wc_payment_method > input[type='radio']:checked::after,
body.woocommerce-checkout .woocommerce-shipping-methods input[type='radio']:checked::after {
  content: "" !important;
  display: block !important;
  position: relative !important;
  top: 1px;
  left: 6px;
  width: 6px;
  height: 11px;
  border: solid var(--ink-on-brand) !important;
  border-width: 0 2.5px 2.5px 0 !important;
  border-radius: 0 !important;
  background: none !important;
  transform: rotate(45deg);
}
body.woocommerce-checkout .woocommerce-checkout-payment .wc_payment_method > input[type='radio']:focus-visible,
body.woocommerce-checkout .woocommerce-shipping-methods input[type='radio']:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--brand-tint);
}
body.woocommerce-checkout .woocommerce-checkout-payment .wc_payment_method > input[type='radio']:disabled,
body.woocommerce-checkout .woocommerce-shipping-methods input[type='radio']:disabled {
  opacity: 0.55;
  cursor: default;
}
.woocommerce-checkout-payment .wc_payment_method > label,
.woocommerce-shipping-methods li > label { font-weight: 700; color: var(--ink); cursor: pointer; pointer-events: auto; }
.woocommerce-checkout-payment .payment_box { margin-top: var(--s-2); padding: var(--s-3); font-size: var(--t-xs); color: var(--ink-muted); background: var(--surface-sunken); border-radius: var(--r-sm); text-align: left; }
.woocommerce-checkout-payment .place-order { margin: var(--s-4) 0 0 !important; }
.woocommerce-checkout-payment .woocommerce-privacy-policy-text, .woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper { margin-bottom: var(--s-3); font-size: var(--t-xs); line-height: 1.55; color: var(--ink-muted); }
.woocommerce-checkout #place_order { display: flex; width: 100%; min-height: 52px; align-items: center; justify-content: center; padding: 12px var(--s-5); color: var(--ink-on-brand); background: var(--brand); border: 0; border-radius: var(--r-md); font: inherit; font-weight: 800; cursor: pointer; box-shadow: var(--shadow-brand); }
.woocommerce-checkout #place_order:hover { background: var(--brand-strong); }

/* WooCommerce Cart Block */
.woocommerce-cart .page-shell,
.woocommerce-checkout .page-shell { padding-block: clamp(var(--s-6), 4vw, var(--s-8)); }
.woocommerce-cart .page-title,
.woocommerce-checkout .page-title { font-size: clamp(1.75rem, 2.4vw, 2.25rem); }
.woocommerce-cart .page-card:has(.wc-block-cart) {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.woocommerce-cart .page-card:has(.wc-block-cart) .page-header {
  margin-bottom: var(--s-4);
  padding: 0 0 var(--s-3);
}
.woocommerce-cart .wc-block-cart {
  max-width: none;
  padding: 0;
  color: var(--ink);
  font-family: var(--font-body);
}
.woocommerce-cart .wc-block-components-sidebar-layout:not(.is-mobile) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 380px);
  gap: clamp(var(--s-4), 2.5vw, var(--s-6));
  align-items: start;
  margin: 0;
}
.woocommerce-cart .wc-block-cart__main,
.woocommerce-cart .wc-block-cart__sidebar,
.woocommerce-cart .wc-block-components-main,
.woocommerce-cart .wc-block-components-sidebar {
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-cart .wc-block-cart__sidebar {
  position: sticky;
  top: calc(var(--header-height) + var(--announcement-offset) + var(--s-4));
  align-self: start;
  overflow: visible;
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow-sm);
}
.woocommerce-cart table.wc-block-cart-items {
  display: block !important;
  width: 100%;
  margin: 0;
  overflow: visible;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
}
.woocommerce-cart .wc-block-cart-items thead { display: none; }
.woocommerce-cart .wc-block-cart-items tbody {
  display: grid !important;
  gap: 12px;
}
.woocommerce-cart .wc-block-cart-items__header th {
  padding: 0 var(--s-4) var(--s-2);
  color: var(--ink-muted);
  border: 0;
  font-size: var(--t-xs);
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.woocommerce-cart .wc-block-cart-items__header-image { width: 96px; }
.woocommerce-cart .wc-block-cart-items__header-image span { visibility: hidden; }
.woocommerce-cart .wc-block-cart-items__header-product { text-align: left; }
.woocommerce-cart .wc-block-cart-items__header-total { width: 96px; text-align: right !important; }
.woocommerce-cart .wc-block-cart-items__row {
  position: relative;
  display: grid !important;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  grid-template-areas:
    "image product total"
    "qty qty qty";
  column-gap: 14px;
  row-gap: 10px;
  align-items: start;
  min-height: 0;
  padding: 16px;
  overflow: visible;
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow-sm);
}
.woocommerce-cart .wc-block-cart-items__row > td {
  display: block !important;
  width: auto !important;
  min-width: 0;
  padding: 0 !important;
  vertical-align: top;
  color: var(--ink);
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.woocommerce-cart .wc-block-cart-item__image { grid-area: image; width: 88px !important; }
.woocommerce-cart .wc-block-cart-item__image a { display: block; width: 88px; height: 88px; overflow: hidden; border-radius: 12px; }
.woocommerce-cart .wc-block-cart-item__image img {
  display: block !important;
  width: 88px !important;
  max-width: none !important;
  height: 88px !important;
  margin: 0 !important;
  object-fit: cover !important;
  aspect-ratio: 1;
  background: var(--surface-sunken);
  border: 0;
  border-radius: 12px;
}
.woocommerce-cart .wc-block-cart-item__product { grid-area: product; min-width: 0; }
.woocommerce-cart .wc-block-cart-item__wrap { display: block; min-width: 0; }
.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
  display: inline-block;
  margin: 0;
  color: var(--ink);
  font-size: var(--t-md);
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.woocommerce-cart .wc-block-cart-item__prices,
.woocommerce-cart .wc-block-cart-item__prices::before {
  display: none !important;
  content: none !important;
}
.woocommerce-cart .wc-block-components-product-metadata {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 9px 0 8px;
  color: var(--ink);
  font-size: var(--t-xs);
}
.woocommerce-cart .wc-block-components-product-details {
  display: grid !important;
  gap: 2px !important;
  width: 100%;
  max-width: 100%;
  margin: 6px 0 0;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  line-height: 1.4;
}
.woocommerce-cart .wc-block-components-product-details > .rtf-cart-detail,
.woocommerce-cart .wc-block-components-product-details > [class*='wc-block-components-product-details__']:not(.wc-block-components-product-details__name):not(.wc-block-components-product-details__value) {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0 6px;
  align-items: baseline;
  min-height: 0;
  margin: 0;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.woocommerce-cart .wc-block-components-product-details > .rtf-cart-detail + .rtf-cart-detail,
.woocommerce-cart .wc-block-components-product-details > [class*='wc-block-components-product-details__'] + [class*='wc-block-components-product-details__'] {
  padding: 0 !important;
  border: 0 !important;
}
.woocommerce-cart .wc-block-components-product-details > .rtf-cart-detail:only-child { grid-column: 1 / -1; padding-right: 0; }
.woocommerce-cart .wc-block-components-product-details > [aria-hidden='true'] { display: none !important; }
.woocommerce-cart .wc-block-components-product-details__name,
.woocommerce-cart .wc-block-components-product-details__value {
  display: inline !important;
  width: auto;
  min-width: 0;
  writing-mode: horizontal-tb !important;
  word-break: normal !important;
  overflow-wrap: break-word;
  white-space: normal;
  font-size: 12px;
  line-height: 1.35;
}
.woocommerce-cart .wc-block-components-product-details__name { color: var(--ink-muted); font-weight: 700; }
.woocommerce-cart .wc-block-components-product-details__name::after { content: '\00a0'; }
.woocommerce-cart .wc-block-cart-item__quantity {
  grid-area: qty;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-2);
  margin: 0;
  padding-top: 10px;
  border-top: 1px solid var(--line-soft);
}
.woocommerce-cart .wc-block-components-quantity-selector,
.woocommerce-cart .qty-stepper.rtf-block-qty {
  display: inline-flex !important;
  align-items: center;
  gap: 2px;
  min-width: 0;
  height: auto;
  min-height: 40px;
  padding: 3px;
  overflow: visible;
  background: var(--surface-sunken);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
}
.woocommerce-cart .wc-block-components-quantity-selector::after { display: none; }
.woocommerce-cart .wc-block-components-quantity-selector__button {
  display: grid !important;
  place-items: center !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  background: var(--surface-raised) !important;
  border: 0 !important;
  border-radius: 50% !important;
  box-shadow: var(--shadow-xs) !important;
  font: inherit;
  font-size: var(--t-md);
  line-height: 1;
}
.woocommerce-cart .wc-block-components-quantity-selector__input,
.woocommerce-cart .rtf-block-qty .cart-page-native-qty {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.woocommerce-cart .wc-block-components-quantity-selector__button:hover:not(:disabled) { color: var(--ink-on-brand) !important; background: var(--brand) !important; }
.woocommerce-cart .wc-block-components-quantity-selector__button:disabled { cursor: default !important; pointer-events: none; opacity: 0.35; }
.woocommerce-cart .rtf-block-qty .qty-value,
.woocommerce-cart .rtf-block-qty-value {
  min-width: 52px;
  padding: 0 6px;
  color: var(--ink);
  font-size: var(--t-sm);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  text-align: center;
}
.woocommerce-cart .wc-block-cart-item__remove-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 7px;
  margin: 0 0 0 auto;
  padding: 0 12px;
  color: var(--ink-muted);
  background: var(--surface-sunken);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  font: inherit;
  font-size: var(--t-xs);
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
}
.woocommerce-cart .wc-block-cart-item__remove-link svg { width: 16px; height: 16px; fill: currentColor; }
.woocommerce-cart .wc-block-cart-item__remove-link:hover { color: var(--heart); background: var(--rose-wash); border-color: var(--heart); }
.woocommerce-cart .wc-block-cart-item__total {
  grid-area: total;
  width: auto !important;
  min-width: 0;
  align-self: start;
  vertical-align: top !important;
  text-align: right;
}
.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price {
  color: var(--ink);
  font-size: var(--t-lg);
  font-weight: 800;
  white-space: nowrap;
}
.woocommerce-cart .wc-block-cart__totals-title {
  display: block;
  margin: 0;
  padding: 14px var(--s-4);
  color: var(--ink);
  background: var(--brand-tint-soft);
  border-bottom: 1px solid var(--line);
  font-size: var(--t-md);
  font-weight: 800;
  line-height: var(--lh-tight);
  text-align: left;
  text-transform: none;
}
.woocommerce-cart .wc-block-components-totals-wrapper {
  padding: 0 !important;
  color: var(--ink);
  border-top: 0 !important;
  border-bottom: 1px solid var(--line) !important;
}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper .wc-block-components-panel__button,
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper .wc-block-components-totals-item {
  display: flex;
  box-sizing: border-box;
  width: 100% !important;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-3);
  margin: 0 !important;
  padding: 9px var(--s-4) !important;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-radius: 0;
  font: inherit;
}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-panel__button { cursor: pointer; text-align: left; }
.woocommerce-cart .wc-block-components-panel__button:hover { background: var(--brand-tint-soft); }
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__value {
  margin: 0 !important;
  padding: 0 !important;
  line-height: var(--lh-tight);
}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__label {
  justify-self: start;
  color: var(--ink-muted);
  font-weight: 700;
  text-align: left;
}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__value {
  justify-self: end;
  margin-left: auto !important;
  color: var(--ink);
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}
.woocommerce-cart .wc-block-components-totals-footer-item { min-height: 54px; font-size: var(--t-md); }
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  position: relative;
  z-index: 1;
  color: var(--ink);
  background: transparent;
  font-weight: 800;
  text-decoration: none !important;
  box-shadow: none !important;
}
.woocommerce-cart .wc-block-components-totals-footer-item::before,
.woocommerce-cart .wc-block-components-totals-footer-item::after,
.woocommerce-cart .wc-block-components-totals-footer-item *::before,
.woocommerce-cart .wc-block-components-totals-footer-item *::after { display: none !important; content: none !important; }
.woocommerce-cart .wc-block-components-totals-shipping__via {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin: calc(-1 * var(--s-2)) 0 10px;
  padding: 0 var(--s-4) !important;
  color: var(--ink-muted);
  font-size: var(--t-2xs);
  line-height: 1.45;
  text-align: left;
}
.woocommerce-cart .wc-block-components-totals-shipping__via :where(p, ul, ol, li, span) {
  margin: 0 !important;
  padding: 0 !important;
  text-indent: 0 !important;
}
.woocommerce-cart .wc-block-components-totals-shipping__via > * {
  display: block;
  width: 100%;
}
.woocommerce-cart .wc-block-components-totals-shipping__via :where(ul, ol, li) { list-style: none !important; }
.woocommerce-cart .wc-block-components-totals-shipping__via :where(li, span)::before { display: none !important; }
.woocommerce-cart .wc-block-components-totals-coupon,
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
.woocommerce-cart .wc-block-components-totals-coupon > div {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 14px 40px 14px 16px !important;
  color: var(--ink) !important;
  background: transparent !important;
  border: 0 !important;
  font: inherit !important;
  font-size: var(--t-sm) !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button-icon,
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button > svg {
  position: absolute !important;
  top: 50% !important;
  right: 16px !important;
  left: auto !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
}
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__content {
  overflow: visible !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-cart .wc-block-components-totals-coupon__content {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 16px 14px !important;
  background: transparent !important;
  border: 0 !important;
}
.woocommerce-cart .wc-block-components-totals-coupon__form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-cart .wc-block-components-totals-coupon__content .wc-block-components-text-input,
.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input,
.woocommerce-cart .wc-block-components-totals-coupon__input.wc-block-components-text-input {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.woocommerce-cart .wc-block-components-totals-coupon__form input[type="text"],
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input input {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  overflow: visible !important;
  color: var(--ink) !important;
  background: var(--surface-sunken) !important;
  border: 1.5px solid var(--line-strong) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font: inherit !important;
  font-size: var(--t-sm) !important;
  line-height: 44px !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}
.woocommerce-cart .wc-block-components-totals-coupon__form input[type="text"]:focus,
.woocommerce-cart .wc-block-components-totals-coupon__form input[type="text"]:focus-visible,
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input input:focus,
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input input:focus-visible {
  border-color: var(--brand) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px var(--brand-tint-soft) !important;
}
.woocommerce-cart .wc-block-components-totals-coupon input::placeholder {
  color: var(--ink-muted) !important;
  opacity: 1 !important;
}
.woocommerce-cart .wc-block-components-totals-coupon__button,
.woocommerce-cart .wc-block-components-totals-coupon__button.wc-block-components-button,
.woocommerce-cart .wc-block-components-totals-coupon__button.wp-element-button {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 88px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  border: 1.5px solid var(--brand) !important;
  border-radius: 12px !important;
  font: inherit !important;
  font-size: var(--t-sm) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}
.woocommerce-cart .wc-block-components-totals-coupon__button .wc-block-components-button__text {
  color: inherit !important;
}
.woocommerce-cart .wc-block-components-totals-coupon__button:disabled,
.woocommerce-cart .wc-block-components-totals-coupon__button.outlined:disabled {
  color: var(--ink-muted) !important;
  background: var(--surface-raised) !important;
  border-color: var(--line-strong) !important;
  opacity: 1 !important;
}
.woocommerce-cart #ppcp-cart-paylater-messages,
.woocommerce-cart .ppcp-messages,
.woocommerce-cart [id^="ppcp-"][id*="paylater"] {
  display: block;
  box-sizing: border-box;
  width: auto !important;
  margin: var(--s-3) var(--s-4) 0 !important;
  padding: 14px 16px 14px 18px !important;
  overflow: hidden;
  color: #1a1224;
  background:
    linear-gradient(#ffc439, #ffc439) top / 100% 3px no-repeat,
    #f6f1fb;
  border: 1px solid color-mix(in srgb, #7b4aa2 22%, #d9cce8);
  border-radius: 16px;
  box-shadow:
    inset 3px 0 0 #0070ba,
    0 8px 20px color-mix(in srgb, #16081f 16%, transparent);
  font-size: var(--t-xs);
  line-height: 1.5;
  color-scheme: light;
}
.woocommerce-cart #ppcp-cart-paylater-messages iframe,
.woocommerce-cart .ppcp-messages iframe { display: block; width: 100%; max-width: 100%; background: transparent; border: 0; }
.woocommerce-cart #ppcp-cart-paylater-messages a,
.woocommerce-cart .ppcp-messages a { color: #0070ba; text-underline-offset: 2px; }
.woocommerce-cart #ppcp-cart-paylater-messages:empty,
.woocommerce-cart .ppcp-messages:empty,
.woocommerce-cart #ppcp-cart-paylater-messages:has(> iframe[src='about:blank']:only-child),
.woocommerce-cart .ppcp-messages:has(> iframe[src='about:blank']:only-child) { display: none !important; }
.woocommerce-cart .wc-block-cart__payment-options { margin: var(--s-3) var(--s-4) 0; }
.woocommerce-cart .wc-block-components-express-payment--cart,
.woocommerce-cart .wc-block-cart__payment-options,
.woocommerce-cart .wc-block-components-express-payment-continue-rule--cart,
.woocommerce-cart .wp-block-woocommerce-cart-express-payment-block {
  display: none !important;
}
.woocommerce-cart .rtf-paypal-preview {
  width: 100%;
  min-height: 48px;
  color: #111;
  background: #ffc439;
  border: 0;
  border-radius: var(--r-md);
  font: inherit;
  font-size: var(--t-md);
  cursor: pointer;
}
.woocommerce-cart .wc-block-components-express-payment-continue-rule--cart {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  margin: 10px var(--s-4);
  color: var(--ink-muted);
  font-size: var(--t-2xs);
  font-weight: 700;
  text-transform: uppercase;
}
.woocommerce-cart .wc-block-components-express-payment-continue-rule--cart::before,
.woocommerce-cart .wc-block-components-express-payment-continue-rule--cart::after {
  content: '';
  flex: 1;
  border-top: 1px solid var(--line);
}
.woocommerce-cart .wc-block-cart__submit-container { padding: 0 var(--s-4) var(--s-4); }
.woocommerce-cart .wc-block-cart__submit-button {
  display: flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 12px var(--s-5);
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  border: 1px solid var(--brand) !important;
  border-radius: var(--r-md) !important;
  font-family: var(--font-body);
  font-weight: 800;
  text-decoration: none;
  box-shadow: var(--shadow-brand);
}
.woocommerce-cart .wc-block-cart__submit-button:hover { background: var(--brand-strong) !important; border-color: var(--brand-strong) !important; }
.woocommerce-cart .wc-block-cart button:focus-visible,
.woocommerce-cart .wc-block-cart a:focus-visible,
.woocommerce-cart .wc-block-cart input:focus-visible {
  outline: 3px solid var(--brand-soft);
  outline-offset: 2px;
}

/* WooCommerce Checkout Block */
.woocommerce-checkout .page-card:has(.wc-block-checkout) {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.woocommerce-checkout .page-card:has(.wc-block-checkout) .page-header {
  margin-bottom: var(--s-4);
  padding: 0 0 var(--s-3);
}
.woocommerce-checkout .wc-block-checkout {
  max-width: none;
  padding: 0;
  color: var(--ink);
  font-family: var(--font-body);
}
.woocommerce-checkout .wc-block-components-sidebar-layout:not(.is-mobile) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 400px) !important;
  gap: clamp(var(--s-5), 3vw, var(--s-7));
  margin: 0;
  align-items: start;
}
.woocommerce-checkout .wc-block-components-main,
.woocommerce-checkout .wc-block-checkout__main,
.woocommerce-checkout .wc-block-components-sidebar,
.woocommerce-checkout .wc-block-checkout__sidebar {
  width: auto !important;
  max-width: none !important;
  flex-basis: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout .wc-block-checkout__sidebar {
  position: sticky;
  top: calc(var(--header-height) + var(--announcement-offset) + var(--s-4));
  align-self: start;
}
.woocommerce-checkout .wc-block-components-express-payment,
.woocommerce-checkout .wc-block-components-checkout-step {
  margin: 0 0 var(--s-3);
  padding: var(--s-4);
  min-width: 0;
  overflow: visible !important;
  color: var(--ink);
  background: var(--surface-sunken);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.woocommerce-checkout .wc-block-components-express-payment__title-container {
  position: static !important;
  inset: auto !important;
  display: block !important;
  height: auto !important;
  width: 100%;
  margin: 0 0 var(--s-3) !important;
  padding: 0 !important;
  transform: none !important;
  text-align: left;
}
.woocommerce-checkout .wc-block-components-express-payment__title-container::before,
.woocommerce-checkout .wc-block-components-express-payment__title-container::after { display: none !important; content: none !important; }
.woocommerce-checkout .wc-block-components-express-payment__title,
.woocommerce-checkout .wc-block-components-checkout-step__title {
  position: static !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink);
  background: transparent !important;
  font-size: var(--t-md);
  line-height: var(--lh-tight);
  text-align: left;
}
.woocommerce-checkout .wc-block-components-checkout-step__heading,
.woocommerce-checkout .wc-block-components-checkout-step__heading-container,
.woocommerce-checkout .wc-block-components-checkout-step__content {
  margin: 0;
  padding: 0;
}
.woocommerce-checkout .wc-block-components-checkout-step__heading-container { margin-bottom: var(--s-3); }
.woocommerce-checkout .wc-block-components-express-payment-continue-rule {
  margin: var(--s-4) 0;
  color: var(--ink-muted);
  font-size: var(--t-xs);
  font-weight: 700;
}
.woocommerce-checkout .wc-block-components-express-payment-continue-rule::before,
.woocommerce-checkout .wc-block-components-express-payment-continue-rule::after { border-color: var(--line); }
.woocommerce-checkout .wc-block-components-express-payment__content,
.woocommerce-checkout .wc-block-components-express-payment__event-buttons {
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.woocommerce-checkout .wc-block-components-express-payment__event-buttons > * { width: 100% !important; max-width: none !important; margin: 0 !important; }
.woocommerce-checkout .wc-block-components-express-payment iframe { display: block; width: 100% !important; max-width: 100%; margin: 0; border: 0 !important; border-radius: var(--r-md); }
.woocommerce-checkout .wc-block-components-address-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-3);
}
.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-address-form {
  grid-column: 1 / -1;
  width: 100% !important;
  max-width: none !important;
}
.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-text-input {
  grid-column: 1 / -1;
  width: 100% !important;
  max-width: none !important;
}
.woocommerce-checkout .wc-block-components-address-form__country,
.woocommerce-checkout .wc-block-components-address-form__address_1,
.woocommerce-checkout .wc-block-components-address-form__address_2,
.woocommerce-checkout .wc-block-components-address-form__address_2-toggle,
.woocommerce-checkout .wc-block-components-address-form__address_2-hidden-input { grid-column: 1 / -1; }
.woocommerce-checkout .wc-block-components-text-input { position: relative; min-width: 0; }
.woocommerce-checkout .wc-block-components-text-input,
.woocommerce-checkout .wc-block-components-combobox,
.woocommerce-checkout .wc-block-components-combobox-control,
.woocommerce-checkout .wc-block-components-country-input,
.woocommerce-checkout .wc-block-components-state-input,
.woocommerce-checkout .wc-blocks-components-select,
.woocommerce-checkout .wc-block-components-textarea {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
}
.woocommerce-checkout .wc-blocks-components-select__container {
  position: relative;
  width: 100% !important;
  min-width: 0;
  height: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  color: var(--ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-blocks-components-select__select,
.woocommerce-checkout .wc-block-components-textarea {
  min-height: 48px;
  color: var(--ink) !important;
  background: var(--surface-raised) !important;
  border: 1.5px solid var(--line-strong) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-xs);
  font: inherit;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-clip: padding-box;
}
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-blocks-components-select__select { width: 100% !important; height: 48px !important; }
.woocommerce-checkout .wc-block-components-text-input input { padding: 13px var(--s-3) !important; }
.woocommerce-checkout .wc-blocks-components-select__select,
.woocommerce-checkout .wc-block-components-combobox input,
.woocommerce-checkout .wc-block-components-combobox-control input,
.woocommerce-checkout .wc-block-components-country-input input,
.woocommerce-checkout .wc-block-components-state-input input {
  margin: 0 !important;
  padding: 13px 48px 13px var(--s-3) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-color: var(--surface-raised) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23a982c9' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 18px 18px !important;
  cursor: pointer;
}
.woocommerce-checkout .wc-block-components-combobox.is-open input,
.woocommerce-checkout .wc-block-components-combobox:focus-within input,
.woocommerce-checkout .wc-block-components-country-input.is-open input,
.woocommerce-checkout .wc-block-components-country-input:focus-within input,
.woocommerce-checkout .wc-block-components-state-input.is-open input,
.woocommerce-checkout .wc-block-components-state-input:focus-within input,
.woocommerce-checkout .wc-blocks-components-select.is-open .wc-blocks-components-select__select,
.woocommerce-checkout .wc-blocks-components-select__container.is-open .wc-blocks-components-select__select,
.woocommerce-checkout .wc-blocks-components-select__select:focus,
.woocommerce-checkout input[aria-expanded='true'] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23a982c9' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 15 6-6 6 6'/%3E%3C/svg%3E") !important;
}
.woocommerce-checkout .wc-blocks-components-select__select option {
  color: var(--ink);
  background: var(--surface-raised);
}
.woocommerce-checkout .wc-blocks-components-select__expand,
.woocommerce-checkout .wc-block-components-combobox svg.components-form-token-field__suggestions-toggle {
  position: absolute !important;
  z-index: 3;
  top: 50% !important;
  right: 14px !important;
  display: block !important;
  width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  color: var(--brand-mid) !important;
  fill: var(--brand-mid) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-50%) !important;
}
.woocommerce-checkout .wc-blocks-components-select__expand svg {
  position: static !important;
  display: block !important;
  width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  transform: none !important;
}
.woocommerce-checkout .wc-blocks-components-select__expand {
  top: auto !important;
  bottom: 15px !important;
  transform: none !important;
}
.woocommerce-checkout .wc-blocks-components-select__expand path {
  fill: var(--brand-mid) !important;
  stroke: none !important;
}
.woocommerce-checkout .wc-blocks-components-select__select:hover,
.woocommerce-checkout .wc-block-components-combobox input:hover { border-color: var(--brand-soft) !important; }
.woocommerce-checkout .wc-block-components-combobox,
.woocommerce-checkout .wc-block-components-combobox-control,
.woocommerce-checkout .wc-block-components-country-input,
.woocommerce-checkout .wc-block-components-state-input,
.woocommerce-checkout .wc-blocks-components-select {
  position: relative;
  width: 100%;
  min-width: 0;
  overflow: visible !important;
  color: var(--ink) !important;
}
.woocommerce-checkout .wc-block-components-combobox .components-base-control,
.woocommerce-checkout .wc-block-components-combobox-control .components-base-control__field,
.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__suggestions-container,
.woocommerce-checkout .wc-block-components-form,
.woocommerce-checkout .wc-block-components-address-form,
.woocommerce-checkout .wc-block-components-checkout-step__content {
  position: relative;
  width: 100%;
  min-width: 0;
  overflow: visible !important;
}
.woocommerce-checkout .wc-block-components-combobox input,
.woocommerce-checkout .wc-block-components-combobox-control input,
.woocommerce-checkout .wc-block-components-country-input input,
.woocommerce-checkout .wc-block-components-state-input input {
  width: 100% !important;
  min-height: 48px !important;
  height: 48px !important;
  padding: 13px 48px 13px var(--s-3) !important;
  color: var(--ink) !important;
  background-color: var(--surface-raised) !important;
  border: 1.5px solid var(--line-strong) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-xs);
  font: inherit;
}
.woocommerce-checkout .wc-block-components-combobox label,
.woocommerce-checkout .wc-block-components-combobox-control label,
.woocommerce-checkout .wc-block-components-country-input label,
.woocommerce-checkout .wc-block-components-state-input label {
  position: static;
  z-index: 2;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  max-width: 100%;
  margin: 0 0 6px !important;
  padding: 0 2px !important;
  color: var(--ink) !important;
  background: transparent !important;
  font-size: 12px;
  line-height: 1.25;
  transform: none !important;
  pointer-events: none;
}
.woocommerce-checkout .wc-block-components-checkout-step {
  overflow: visible !important;
}
.woocommerce-checkout .wc-block-components-combobox ul[role='listbox'],
.woocommerce-checkout .wc-block-components-combobox .components-form-token-field__suggestions-list,
.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__suggestions,
.woocommerce-checkout .wc-block-components-country-input ul[role='listbox'],
.woocommerce-checkout .wc-block-components-state-input ul[role='listbox'],
.woocommerce-checkout .components-form-token-field__suggestions-list,
.woocommerce-checkout .rtf-checkout-select-menu,
body.woocommerce-checkout .rtf-checkout-select-menu,
body.woocommerce-checkout .components-form-token-field__suggestions-list {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  z-index: 40;
  display: grid;
  width: 100% !important;
  max-height: min(280px, 42vh) !important;
  margin: 0 !important;
  padding: 6px !important;
  overflow-x: hidden;
  overflow-y: auto;
  color: var(--ink);
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-md);
  box-shadow: var(--shadow-lg);
  transform: none !important;
  inset-block-start: calc(100% + 6px) !important;
  inset-block-end: auto !important;
}
body.woocommerce-checkout .rtf-checkout-select-menu {
  position: absolute !important;
  z-index: 1300;
  display: grid;
  list-style: none;
}
body.woocommerce-checkout .rtf-checkout-select-menu[hidden] { display: none !important; }
body.woocommerce-checkout .components-popover,
body.woocommerce-checkout .components-popover__content {
  transform: none !important;
}
.woocommerce-checkout .wc-block-components-combobox ul[role='listbox'] > *,
.woocommerce-checkout .components-form-token-field__suggestion,
.woocommerce-checkout .wc-block-components-combobox [role='option'],
.woocommerce-checkout .rtf-checkout-select-menu [role='option'],
body.woocommerce-checkout .rtf-checkout-select-menu [role='option'] {
  min-height: 40px;
  padding: 8px 12px;
  color: var(--ink-muted);
  border-radius: var(--r-sm);
  line-height: 1.4;
  cursor: pointer;
}
.woocommerce-checkout .wc-block-components-combobox [role='option'][aria-selected='true'],
.woocommerce-checkout .wc-block-components-combobox [role='option'].is-selected,
.woocommerce-checkout .components-form-token-field__suggestion.is-selected,
.woocommerce-checkout .rtf-checkout-select-menu [role='option'][aria-selected='true'],
.woocommerce-checkout .rtf-checkout-select-menu [role='option'].is-selected,
body.woocommerce-checkout .rtf-checkout-select-menu [role='option'][aria-selected='true'],
body.woocommerce-checkout .rtf-checkout-select-menu [role='option'].is-selected,
body.woocommerce-checkout .rtf-checkout-select-menu [role='option']:hover {
  color: var(--ink);
  background: var(--brand-wash);
  font-weight: 700;
}
.woocommerce-checkout .select2-container--open .select2-dropdown--above,
body.woocommerce-checkout .select2-dropdown.select2-dropdown--above {
  margin-top: 6px;
  transform: none;
}
.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-checkout .wc-blocks-components-select__label {
  position: static;
  z-index: 2;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  max-width: 100%;
  margin: 0 0 6px !important;
  padding: 0 2px !important;
  color: var(--ink) !important;
  background: transparent !important;
  font-family: var(--font-body);
  font-size: 12px;
  line-height: 1.25;
  transform: none !important;
  pointer-events: none;
}
.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-blocks-components-select__select:focus,
.woocommerce-checkout .wc-block-components-textarea:focus {
  border-color: var(--brand) !important;
  outline: 0;
  box-shadow: 0 0 0 3px var(--brand-tint);
}
.woocommerce-checkout .wc-block-components-text-input input[aria-invalid="true"],
.woocommerce-checkout .wc-blocks-components-select__select[aria-invalid="true"] {
  border-color: var(--heart) !important;
  box-shadow: 0 0 0 3px var(--rose-wash);
}
.woocommerce-checkout .wc-block-components-address-form__address_2-toggle,
.woocommerce-checkout .wc-block-components-address-card__edit { color: var(--brand-mid); font-weight: 700; }
/* Shipping + payment radios and order-note checkboxes use one modern
   rounded-square control. WooCommerce Blocks draws its own circular radio
   and SVG mark; those are hidden so the theme check can show. */
body.woocommerce-checkout .wc-block-components-radio-control,
body.woocommerce-cart .wc-block-components-radio-control {
  width: 100%;
  overflow: visible;
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: none;
}
body.woocommerce-checkout .wc-block-components-radio-control:has(.wc-block-components-radio-control-accordion-option),
body.woocommerce-cart .wc-block-components-radio-control:has(.wc-block-components-radio-control-accordion-option) {
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-cart .wc-block-components-radio-control__option {
  color: var(--ink);
  background: transparent;
  border: 0 !important;
  outline: 0;
  box-shadow: none !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-cart .wc-block-components-radio-control__option {
  position: relative !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  width: 100%;
  min-height: 54px;
  align-items: flex-start !important;
  gap: var(--s-3) !important;
  margin: 0 !important;
  padding: 11px var(--s-3) !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
body.woocommerce-checkout .wc-block-components-radio-control__option + .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option + .wc-block-components-radio-control-accordion-option,
body.woocommerce-cart .wc-block-components-radio-control__option + .wc-block-components-radio-control__option {
  border-top: 1px solid var(--line) !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__option:has(.wc-block-components-radio-control__input:checked),
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.woocommerce-cart .wc-block-components-radio-control__option:has(.wc-block-components-radio-control__input:checked) {
  background: transparent;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
  overflow: visible;
  margin: 0;
  background: transparent;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option + .wc-block-components-radio-control-accordion-option {
  border-top: 1px solid var(--line) !important;
  margin-top: 0;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-color: transparent !important;
}

/* Shared 22px rounded-square control */
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input,
body.woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__input,
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input,
body.woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input,
body.woocommerce-checkout input[type="checkbox"],
body.woocommerce-account input[type="checkbox"],
body.woocommerce-page input[type="checkbox"] {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 1;
  display: inline-block !important;
  flex: 0 0 22px !important;
  box-sizing: border-box !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: var(--brand-mid) !important;
  background-color: var(--surface-raised) !important;
  background-image: none !important;
  border: 2px solid var(--brand-mid) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  overflow: visible !important;
  vertical-align: middle;
  touch-action: manipulation;
}
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input::before,
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input::after,
body.woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__input::before,
body.woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__input::after,
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input::before,
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input::after,
body.woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input::before,
body.woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input::after,
body.woocommerce-checkout input[type="checkbox"]::before,
body.woocommerce-checkout input[type="checkbox"]::after,
body.woocommerce-account input[type="checkbox"]::before,
body.woocommerce-account input[type="checkbox"]::after,
body.woocommerce-page input[type="checkbox"]::before,
body.woocommerce-page input[type="checkbox"]::after {
  display: none !important;
  content: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark,
body.woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__mark,
body.woocommerce-checkout .wc-block-components-checkbox svg,
body.woocommerce-cart .wc-block-components-checkbox svg {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  fill: none !important;
  width: 0 !important;
  height: 0 !important;
}
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked,
body.woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__input:checked,
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input:checked,
body.woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input:checked,
body.woocommerce-checkout input[type="checkbox"]:checked,
body.woocommerce-account input[type="checkbox"]:checked,
body.woocommerce-page input[type="checkbox"]:checked {
  background-color: var(--brand) !important;
  background-image: none !important;
  border-color: var(--brand) !important;
}
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::after,
body.woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::after,
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input:checked::after,
body.woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input:checked::after,
body.woocommerce-checkout input[type="checkbox"]:checked::after,
body.woocommerce-account input[type="checkbox"]:checked::after,
body.woocommerce-page input[type="checkbox"]:checked::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 2px !important;
  left: 6px !important;
  width: 6px !important;
  height: 11px !important;
  border: solid var(--ink-on-brand) !important;
  border-width: 0 2.5px 2.5px 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  transform: rotate(45deg) !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:focus,
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:focus-visible,
body.woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__input:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__option:focus-within::before,
body.woocommerce-cart .wc-block-components-radio-control__option:focus-within::before {
  box-shadow: 0 0 0 3px var(--brand-tint) !important;
}
body.woocommerce-checkout input[type="checkbox"]:focus-visible,
body.woocommerce-account input[type="checkbox"]:focus-visible,
body.woocommerce-page input[type="checkbox"]:focus-visible,
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px var(--brand-tint) !important;
}
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:disabled,
body.woocommerce-checkout input[type="checkbox"]:disabled,
body.woocommerce-account input[type="checkbox"]:disabled,
body.woocommerce-page input[type="checkbox"]:disabled {
  opacity: 0.55;
  cursor: default;
}
body.woocommerce-checkout .wc-block-components-radio-control__option-layout,
body.woocommerce-cart .wc-block-components-radio-control__option-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  flex: 1 1 auto;
  width: 100% !important;
  min-width: 0 !important;
  align-items: start !important;
  gap: var(--s-3);
}
body.woocommerce-checkout .wc-block-components-radio-control__label-group,
body.woocommerce-cart .wc-block-components-radio-control__label-group {
  flex: none !important;
  width: auto !important;
  min-width: 0;
  text-align: left !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__label,
body.woocommerce-cart .wc-block-components-radio-control__label {
  display: block;
  width: auto !important;
  min-width: 0;
  min-height: 22px;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink);
  font-weight: 700;
  line-height: 22px;
  text-align: left !important;
  overflow-wrap: break-word;
}
body.woocommerce-checkout .wc-block-components-radio-control__secondary-label,
body.woocommerce-cart .wc-block-components-radio-control__secondary-label {
  position: static !important;
  grid-column: 2 !important;
  width: auto !important;
  min-height: 22px;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink);
  font-weight: 700;
  line-height: 22px;
  text-align: right !important;
  white-space: nowrap;
  justify-self: end;
  align-self: start;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 16px 14px 16px !important;
  color: var(--ink-muted) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content :is(p, div, span, li, a) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 0.4em !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  text-align: left !important;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content :is(p, div, span, li, a):last-child { margin-bottom: 0 !important; }
body.woocommerce-checkout .wc-block-components-checkbox,
body.woocommerce-account .woocommerce-form-login__rememberme,
body.woocommerce-checkout .woocommerce-shipping-fields h3 label,
body.woocommerce-checkout .woocommerce-form__label-for-checkbox {
  cursor: pointer;
  pointer-events: auto;
}
body.woocommerce-checkout .wc-block-components-checkbox,
body.woocommerce-cart .wc-block-components-checkbox {
  display: flex !important;
  position: relative;
  align-items: center !important;
  gap: var(--s-3) !important;
}
body.woocommerce-checkout .wc-block-components-checkbox > label,
body.woocommerce-cart .wc-block-components-checkbox > label {
  display: flex !important;
  align-items: center !important;
  gap: var(--s-3) !important;
  width: 100%;
  margin: 0;
  cursor: pointer;
}
body.woocommerce-checkout .wc-block-components-checkbox__label {
  color: var(--ink) !important;
  font-weight: 600;
  text-align: left !important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block,
body.woocommerce-checkout .wc-block-checkout__add-note {
  margin: 0 0 var(--s-3);
  padding: 14px var(--s-4);
  color: var(--ink);
  background: var(--surface-sunken);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
body.woocommerce-checkout .wc-block-components-checkout-step .wc-block-checkout__add-note,
body.woocommerce-checkout .wc-block-components-checkout-step .wp-block-woocommerce-checkout-order-note-block {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}
body.woocommerce-checkout .wc-block-checkout__add-note .wc-block-components-textarea {
  margin-top: var(--s-3);
  min-height: 96px;
  text-align: left;
}
.woocommerce-checkout .wc-block-checkout__terms { color: var(--ink-muted); }
.woocommerce-checkout .wc-block-checkout__terms {
  margin: var(--s-4) 0;
  padding-top: var(--s-3);
  border-top: 1px solid var(--line);
  font-size: var(--t-xs);
  line-height: 1.6;
}
.woocommerce-checkout .wc-block-checkout__actions { margin: 0; padding: 0; }
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  border: 0 !important;
  border-radius: var(--r-md) !important;
  font-family: var(--font-body);
  font-weight: 800;
  box-shadow: var(--shadow-brand);
}
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover:not(:disabled) { background: var(--brand-strong) !important; }
.woocommerce-checkout .wc-block-components-checkout-place-order-button:disabled {
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-strong) !important;
  box-shadow: none;
  opacity: 1;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  overflow: visible;
  color: var(--ink);
  background: var(--surface-sunken);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
}
.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-3);
  margin: 0;
  padding: 20px 20px 16px !important;
  color: var(--ink);
  background: var(--brand-tint-soft);
  border-bottom: 1px solid var(--line);
}
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text { font-size: var(--t-md); font-weight: 800; }
.woocommerce-checkout .wc-block-components-checkout-order-summary__content {
  color: var(--ink);
  overflow: visible;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-checkout .wc-block-components-totals-wrapper {
  border-color: var(--line) !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-checkout .wc-block-components-order-summary {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.woocommerce-checkout .wc-block-components-order-summary-item {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) auto !important;
  grid-template-areas: 'image description total';
  align-items: start;
  column-gap: 12px;
  row-gap: 6px;
  min-width: 0;
  overflow: visible !important;
  margin: 0 !important;
  padding: 22px 20px 18px !important;
  color: var(--ink);
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line-soft) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__image {
  position: relative !important;
  grid-area: image;
  float: none !important;
  flex: none !important;
  overflow: visible !important;
  width: 56px !important;
  min-width: 56px;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  display: block;
  width: 56px !important;
  max-width: 56px !important;
  height: 56px !important;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
}
.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  bottom: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  min-height: 22px;
  margin: 0;
  padding: 0 5px;
  color: var(--ink-on-brand);
  background: var(--brand);
  border: 2px solid var(--surface-raised);
  font-weight: 800;
  line-height: 18px;
  border-radius: 999px;
  transform: translate(-40%, -40%);
}
.woocommerce-checkout .wc-block-components-order-summary-item__description {
  grid-area: description;
  align-self: start;
  float: none !important;
  flex: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
.woocommerce-checkout .wc-block-components-product-name {
  display: block !important;
  width: auto !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink);
  font-size: var(--t-sm);
  line-height: 1.35;
  text-align: left !important;
  word-break: normal;
  overflow-wrap: anywhere;
}
.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-price,
.woocommerce-checkout .wc-block-components-order-summary-item__description > .price { display: none !important; }
.woocommerce-checkout .wc-block-components-product-metadata {
  display: grid;
  gap: 4px;
  margin-top: 8px;
  color: var(--ink-muted);
  font-size: var(--t-xs);
  line-height: 1.4;
  text-align: left !important;
}
.woocommerce-checkout .wc-block-components-product-details {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 4px !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.woocommerce-checkout .wc-block-components-product-details > *,
.woocommerce-checkout .wc-block-components-product-details > span,
.woocommerce-checkout .wc-block-components-product-details > li {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  justify-content: start !important;
  justify-items: start !important;
  align-items: start;
  column-gap: 8px !important;
  row-gap: 0;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
.woocommerce-checkout .wc-block-components-product-details > span > [aria-hidden="true"] { display: none; }
.woocommerce-checkout .wc-block-components-product-details li::before { display: none !important; content: none !important; }
.woocommerce-checkout .wc-block-components-product-details__name,
.woocommerce-checkout .wc-block-components-product-details__value {
  display: block;
  min-width: 0;
  word-break: normal;
  overflow-wrap: anywhere;
  line-height: 1.4;
  text-align: left !important;
}
.woocommerce-checkout .wc-block-components-product-details__name { font-weight: 700; color: var(--ink-muted); }
.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices {
  grid-area: total;
  justify-self: end;
  align-self: start;
  float: none !important;
  width: auto !important;
  min-width: 0;
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink);
  font-weight: 800;
  line-height: 1.35;
  text-align: right !important;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.woocommerce-checkout .wc-block-components-totals-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  width: 100%;
  align-items: start;
  column-gap: 16px;
  row-gap: 0;
  min-height: 0;
  margin: 0;
  padding: 14px 16px !important;
  color: var(--ink);
  box-sizing: border-box;
}
.woocommerce-checkout .wc-block-components-totals-item + .wc-block-components-totals-item {
  border-top: 1px solid var(--line-soft);
}
.woocommerce-checkout .wc-block-components-panel__button:hover { background: var(--brand-tint-soft); }
.woocommerce-checkout .wc-block-components-totals-coupon,
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
.woocommerce-checkout .wc-block-components-totals-coupon > div {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 14px 40px 14px 16px !important;
  color: var(--ink) !important;
  background: transparent !important;
  border: 0 !important;
  font: inherit !important;
  font-size: var(--t-sm) !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}
.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button-icon,
.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button > svg {
  position: absolute !important;
  top: 50% !important;
  right: 16px !important;
  left: auto !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
}
.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__content {
  overflow: visible !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout .wc-block-components-totals-coupon__content {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 4px 16px 16px !important;
  background: transparent !important;
  border: 0 !important;
}
.woocommerce-checkout .wc-block-components-totals-coupon__form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout .wc-block-components-totals-coupon__content .wc-block-components-text-input,
.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-text-input,
.woocommerce-checkout .wc-block-components-totals-coupon__input.wc-block-components-text-input {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-text-input label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.woocommerce-checkout .wc-block-components-totals-coupon__form input[type="text"],
.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-text-input input {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  color: var(--ink) !important;
  background: var(--surface-sunken) !important;
  border: 1.5px solid var(--line-strong) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font: inherit !important;
  font-size: var(--t-sm) !important;
  line-height: 44px !important;
  text-overflow: clip !important;
}
.woocommerce-checkout .wc-block-components-totals-coupon input::placeholder {
  color: var(--ink-muted) !important;
  opacity: 1 !important;
}
.woocommerce-checkout .wc-block-components-totals-coupon__button,
.woocommerce-checkout .wc-block-components-totals-coupon__button.wc-block-components-button,
.woocommerce-checkout .wc-block-components-totals-coupon__button.wp-element-button {
  display: inline-flex !important;
  width: auto !important;
  min-width: 88px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  border: 1.5px solid var(--brand) !important;
  border-radius: 12px !important;
  font: inherit !important;
  font-size: var(--t-sm) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}
.woocommerce-checkout .wc-block-components-totals-coupon__button .wc-block-components-button__text { color: inherit !important; }
.woocommerce-checkout .wc-block-components-totals-coupon__button:disabled,
.woocommerce-checkout .wc-block-components-totals-coupon__button.outlined:disabled {
  color: var(--ink-muted) !important;
  background: var(--surface-raised) !important;
  border-color: var(--line-strong) !important;
  opacity: 1 !important;
}
.woocommerce-checkout .wc-block-components-totals-item__label {
  min-width: 0;
  padding-top: 2px;
  color: var(--ink-muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  text-align: left;
}
.woocommerce-checkout .wc-block-components-totals-item__value,
.woocommerce-checkout .wc-block-components-totals-item .wc-block-components-formatted-money-amount,
.woocommerce-checkout .wc-block-components-order-summary-item__total-price .wc-block-components-formatted-money-amount,
.woocommerce-checkout .wc-block-components-order-summary-item__total-price .price {
  display: block;
  justify-self: end;
  align-self: start;
  text-align: right !important;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
  white-space: nowrap;
}
.woocommerce-checkout .wc-block-components-totals-item__description {
  grid-column: 1;
  justify-self: start;
  min-width: 0;
  max-width: 100%;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
}
.woocommerce-checkout .wc-block-components-totals-shipping__via,
.woocommerce-checkout .wc-block-components-totals-item__description:not(:has(.wc-block-components-totals-shipping__via)) {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  margin: 0;
  padding: 4px 10px !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken);
  border: 1px solid var(--line-soft);
  border-radius: 999px;
  font-size: 11px !important;
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.woocommerce-checkout .wc-block-components-totals-shipping__via :where(p, ul, ol, li, span),
.woocommerce-checkout .wc-block-components-totals-item__description :where(p, ul, ol, li) {
  margin: 0 !important;
  padding: 0 !important;
  text-indent: 0 !important;
  list-style: none !important;
}
.woocommerce-checkout .wc-block-components-totals-shipping__via::before,
.woocommerce-checkout .wc-block-components-totals-item__description li::before {
  display: none !important;
  content: none !important;
}
.woocommerce-checkout .wc-block-components-totals-footer-item {
  min-height: 58px;
  margin-top: 0;
  padding: 16px !important;
  background: color-mix(in srgb, var(--brand) 8%, var(--surface-raised));
  border-top: 1px solid var(--line) !important;
  font-size: 17px;
  font-weight: 800;
}
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--ink);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.2;
}
.woocommerce-checkout .wc-block-components-totals-footer-item::before,
.woocommerce-checkout .wc-block-components-totals-footer-item::after { display: none !important; }
.woocommerce-checkout .wc-block-components-formatted-money-amount { color: inherit; font-variant-numeric: tabular-nums; }
.woocommerce-checkout .ppcp-messages,
.woocommerce-checkout [id^="ppcp-"][id*="paylater"],
.woocommerce-checkout [data-pp-message] {
  display: block !important;
  box-sizing: border-box;
  max-width: 100%;
  min-height: 52px;
  margin: 12px 0 0 !important;
  padding: 12px 16px 12px 18px !important;
  overflow: visible !important;
  color: #1a1224 !important;
  background:
    linear-gradient(#ffc439, #ffc439) top / 100% 3px no-repeat,
    #f6f1fb !important;
  border: 1px solid color-mix(in srgb, #7b4aa2 22%, #d9cce8);
  border-radius: 16px;
  box-shadow:
    inset 3px 0 0 #0070ba,
    0 8px 20px color-mix(in srgb, #16081f 16%, transparent);
  font-size: 13px !important;
  line-height: 1.5 !important;
  color-scheme: light;
}
.woocommerce-checkout .ppcp-messages iframe,
.woocommerce-checkout [id^="ppcp-"][id*="paylater"] iframe {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent;
  border: 0 !important;
  color-scheme: light;
}
.woocommerce-checkout .ppcp-messages a,
.woocommerce-checkout [id^="ppcp-"][id*="paylater"] a { color: #0070ba !important; text-underline-offset: 2px; }
.woocommerce-checkout .ppcp-messages p,
.woocommerce-checkout [id^="ppcp-"][id*="paylater"] p,
.woocommerce-checkout .rtf-paylater-fallback {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #1a1224 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
}
.woocommerce-checkout .ppcp-messages span,
.woocommerce-checkout [id^="ppcp-"][id*="paylater"] span,
.woocommerce-checkout .rtf-paypal-wordmark,
.woocommerce-checkout .rtf-paypal-wordmark span {
  display: inline !important;
  width: auto !important;
  color: inherit;
  font-size: inherit !important;
  line-height: inherit !important;
  background: transparent !important;
}
.woocommerce-checkout .ppcp-messages p + p,
.woocommerce-checkout [id^="ppcp-"][id*="paylater"] p + p { margin-top: 2px; }
.woocommerce-checkout .rtf-paypal-wordmark { font-weight: 800; letter-spacing: -0.03em; }
.woocommerce-checkout .rtf-paypal-wordmark .pp-pay { color: #003087; }
.woocommerce-checkout .rtf-paypal-wordmark .pp-pal { color: #009cde; }
.woocommerce-checkout .wc-block-components-notice-banner {
  color: var(--ink);
  background: var(--rose-wash);
  border-color: var(--heart);
  border-radius: var(--r-md);
}

/* Order confirmation */
.woocommerce-order-received .page-card { padding: clamp(var(--s-5), 3vw, var(--s-7)); }
.woocommerce-order-received .woocommerce-thankyou-order-received {
  margin: 0 0 var(--s-5);
  padding: var(--s-4);
  color: var(--ink);
  background: var(--mint-wash);
  border: 1px solid var(--mint);
  border-left: 4px solid var(--mint);
  border-radius: var(--r-md);
  font-weight: 700;
}
.woocommerce-order-received .woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--s-3);
  margin: 0 0 var(--s-6);
  padding: 0;
  list-style: none;
}
.woocommerce-order-received .woocommerce-order-overview li {
  min-width: 0;
  padding: var(--s-4);
  overflow-wrap: anywhere;
  background: var(--surface-sunken);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  color: var(--ink-muted);
  font-size: var(--t-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.woocommerce-order-received .woocommerce-order-overview li::before { display: none; }
.woocommerce-order-received .woocommerce-order-overview strong { display: block; margin-top: 5px; color: var(--ink); font-size: var(--t-sm); text-transform: none; letter-spacing: 0; }
.woocommerce-order-received .woocommerce-order-details { margin-top: var(--s-6); }
.woocommerce-order-received .woocommerce-order-details__title, .woocommerce-order-received .woocommerce-column__title { margin-bottom: var(--s-3); font-size: var(--t-lg); }
.woocommerce-order-received table.order_details { overflow: hidden; border: 1px solid var(--line-soft); border-radius: var(--r-lg); background: var(--surface-raised); }
.woocommerce-order-received table.order_details th:last-child, .woocommerce-order-received table.order_details td:last-child { text-align: right; }
.woocommerce-order-received table.order_details th:last-child, .woocommerce-order-received table.order_details td:last-child { width: 92px; white-space: nowrap; }
.woocommerce-order-received .woocommerce-customer-details { margin-top: var(--s-6); }
.woocommerce-order-received .woocommerce-columns--addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
.woocommerce-order-received .woocommerce-column--billing-address, .woocommerce-order-received .woocommerce-column--shipping-address { padding: var(--s-4); background: var(--surface-sunken); border: 1px solid var(--line-soft); border-radius: var(--r-lg); }
.woocommerce-order-received address { color: var(--ink-muted); font-style: normal; line-height: 1.7; }

@media (max-width: 900px) {
  .woocommerce-cart .wc-block-components-sidebar-layout { display: flex !important; flex-direction: column; gap: var(--s-5); }
  .woocommerce-cart .wc-block-cart__main,
  .woocommerce-cart .wc-block-cart__sidebar { position: static; flex: 0 0 100%; width: 100% !important; }
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
  .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; }
  .woocommerce-checkout #order_review { position: static; }
  .woocommerce-checkout .wc-block-components-sidebar-layout,
  .woocommerce-checkout .wc-block-components-sidebar-layout:not(.is-mobile) {
    display: flex !important;
    grid-template-columns: none !important;
    flex-direction: column;
    gap: var(--s-4);
  }
  .woocommerce-checkout .wc-block-checkout__sidebar { order: -1; position: static; flex: 0 0 100%; width: 100% !important; }
  .woocommerce-checkout .wc-block-checkout__main { flex: 0 0 100%; width: 100% !important; }
  .woocommerce-checkout .wc-block-checkout__actions,
  .woocommerce-checkout .wc-block-checkout__actions_row,
  .woocommerce-checkout .wp-block-woocommerce-checkout-actions-block,
  .woocommerce-checkout .form-row.place-order,
  .woocommerce-checkout #place_order,
  .woocommerce-checkout .ppc-button-wrapper,
  .woocommerce-cart .wc-block-cart__submit-container {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 16px 0 8px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  .woocommerce-checkout .wc-block-components-checkout-place-order-button,
  .woocommerce-checkout #place_order {
    position: static !important;
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .woocommerce-order-received .woocommerce-order-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .woocommerce-cart .page-card:has(.wc-block-cart) { padding: 0; }
  .woocommerce-cart .page-card:has(.wc-block-cart) .page-header { margin-bottom: var(--s-4); }
  .woocommerce-cart .wc-block-cart { padding: 0; }
  .woocommerce-cart table.wc-block-cart-items { display: block; border-spacing: 0; }
  .woocommerce-cart .wc-block-cart-items thead { display: none; }
  .woocommerce-cart .wc-block-cart-items tbody { display: grid; gap: var(--s-3); }
  html body.woocommerce-cart .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    grid-template-rows: auto !important;
    align-items: start !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
    min-height: 0 !important;
    padding: 12px !important;
    overflow: hidden !important;
  }
  html body.woocommerce-cart .wc-block-cart-items__row > td,
  html body.woocommerce-cart .wc-block-cart-items__row > * {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
    width: 64px !important;
    max-width: 64px !important;
    height: 64px !important;
    padding: 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image a {
    display: block !important;
    width: 64px !important;
    height: 64px !important;
    overflow: hidden !important;
    border-radius: var(--r-md);
  }
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 64px !important;
    max-width: 64px !important;
    height: 64px !important;
    object-fit: cover !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product {
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding: 0 !important;
    min-width: 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: start !important;
    justify-self: end !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 2px 0 0 !important;
    text-align: right !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price {
    font-size: var(--t-md) !important;
    line-height: 1.2 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__prices {
    flex-wrap: nowrap !important;
    white-space: nowrap;
  }
  html body.woocommerce-cart .wc-block-cart-item__prices::before { content: 'Unit price'; }
  .woocommerce-cart .wc-block-components-product-metadata { display: block; margin: 8px 0 0 !important; }
  html body.woocommerce-cart .wc-block-components-product-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    background: var(--surface-raised) !important;
    border: 1px solid var(--line-soft) !important;
    border-radius: var(--r-md) !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-cart .wc-block-components-product-details > li,
  html body.woocommerce-cart .wc-block-components-product-details > [class*='wc-block-components-product-details__']:not(.wc-block-components-product-details__name):not(.wc-block-components-product-details__value) {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 6px !important;
    align-items: baseline !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details > .rtf-cart-detail + .rtf-cart-detail,
  html body.woocommerce-cart .wc-block-components-product-details > [class*='wc-block-components-product-details__'] + [class*='wc-block-components-product-details__'] {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__quantity {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    width: 100% !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--line-soft) !important;
  }
  .woocommerce-cart .wc-block-cart-item__remove-link span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .woocommerce-cart .wc-block-cart-item__remove-link { width: 36px; justify-content: center; padding: 5px; }
  .woocommerce-cart .wc-block-cart__totals-title,
  .woocommerce-cart .wc-block-components-panel__button,
  .woocommerce-cart .wc-block-components-totals-item { padding-inline: var(--s-4); }
  .woocommerce-cart .wc-block-components-totals-shipping__via { padding-inline: var(--s-4); }
  .woocommerce-cart .wc-block-components-totals-coupon__content { padding-inline: var(--s-4) !important; }
  .woocommerce-cart .wc-block-components-totals-coupon__form { grid-template-columns: minmax(0, 1fr) !important; padding: 0 !important; }
  .woocommerce-cart .wc-block-components-totals-coupon__button,
  .woocommerce-cart .wc-block-components-totals-coupon__button.wc-block-components-button { width: 100% !important; }
  .woocommerce-cart #ppcp-cart-paylater-messages,
  .woocommerce-cart .ppcp-messages,
  .woocommerce-cart .wc-block-cart__payment-options,
  .woocommerce-cart .wc-block-components-express-payment-continue-rule--cart { margin-inline: var(--s-4) !important; }
  .woocommerce-cart .wc-block-cart__submit-container { padding-inline: var(--s-4); }
  .woocommerce-checkout .page-card { padding: var(--s-4); }
  .woocommerce-checkout .page-card:has(.wc-block-checkout) { padding: 0; }
  .woocommerce-checkout .page-card:has(.wc-block-checkout) .page-header { margin-bottom: var(--s-4); }
  .woocommerce-checkout .wc-block-checkout { padding: 0; }
  .woocommerce-checkout .wc-block-components-express-payment,
  .woocommerce-checkout .wc-block-components-checkout-step { padding: var(--s-4); border-radius: var(--r-md); }
  .woocommerce-checkout .wc-block-components-address-form { grid-template-columns: 1fr; }
  .woocommerce-checkout .wc-block-components-address-form > * { grid-column: 1; }
  .woocommerce-checkout .wc-block-components-checkout-order-summary__title { padding: 20px 16px 14px !important; }
  .woocommerce-checkout .wc-block-components-order-summary-item {
    grid-template-columns: 52px minmax(0, 1fr) auto !important;
    grid-template-areas: 'image description total';
    column-gap: 10px;
    padding: 20px 16px 16px !important;
  }
  .woocommerce-checkout .wc-block-components-order-summary-item__image { width: 52px !important; min-width: 52px; }
  .woocommerce-checkout .wc-block-components-order-summary-item__image img { width: 50px !important; max-width: 50px !important; height: 50px !important; }
  .woocommerce-checkout .wc-block-components-order-summary-item__total-price { justify-self: end; margin-top: 0 !important; }
  .woocommerce-checkout .wc-block-components-product-details > span { grid-template-columns: max-content minmax(0, 1fr) !important; }
  .woocommerce-checkout .wc-block-components-radio-control__option-layout { align-items: flex-start; }
  .woocommerce-checkout .woocommerce-billing-fields, .woocommerce-checkout .woocommerce-shipping-fields, .woocommerce-checkout .woocommerce-additional-fields, .woocommerce-checkout #order_review { padding: var(--s-3); }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
  .woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { grid-column: 1; }
  .woocommerce-checkout .wc-block-components-totals-coupon__form { grid-template-columns: minmax(0, 1fr) !important; }
  .woocommerce-checkout .wc-block-components-totals-coupon__button,
  .woocommerce-checkout .wc-block-components-totals-coupon__button.wc-block-components-button { width: 100% !important; }
  .woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding-inline: var(--s-2); }
  .woocommerce-order-received .page-card { padding: var(--s-4); }
  .woocommerce-order-received .woocommerce-order-overview, .woocommerce-order-received .woocommerce-columns--addresses { grid-template-columns: 1fr; }
}

/* Account pages */
.woocommerce-account .page-shell__inner { max-width: 1180px; }
.woocommerce-account .page-card { padding: clamp(var(--s-5), 3vw, var(--s-8)); }
.woocommerce-account .page-header { margin-bottom: var(--s-6); padding-bottom: var(--s-4); }
.woocommerce-account .page-title { font-size: clamp(1.75rem, 3vw, 2.4rem); }
.woocommerce-account .page-content { color: var(--ink); }
.woocommerce-account .page-content::after { content: ''; display: table; clear: both; }
.woocommerce-account .page-content > .woocommerce {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--s-5);
  align-items: start;
  width: 100%;
  min-width: 0;
}
.woocommerce-account .page-content > .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-account .page-content > .woocommerce > #customer_login { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-notices-wrapper { width: 100%; margin: 0 0 var(--s-4); }
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-error,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-error {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--s-3) var(--s-4);
  align-items: center;
  width: 100%;
  max-width: 920px;
  min-height: 0;
  box-sizing: border-box;
  margin: 0 auto !important;
  padding: 14px 16px !important;
  color: var(--ink-muted) !important;
  font-size: var(--t-sm);
  line-height: 1.55;
  list-style: none;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line-soft) !important;
  border-left: 3px solid var(--brand) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-xs);
}
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info::before,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info::after,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message::before,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message::after,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-error::before,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-error::after,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > *::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > *::after {
  display: none !important;
  content: none !important;
}
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info > :not(.button),
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message > :not(.button),
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-error > :not(.button) {
  grid-column: 1;
  margin: 0 !important;
  color: inherit !important;
}
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info .button,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message .button,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-error .button {
  grid-column: 2;
  grid-row: 1;
  float: none !important;
  width: auto;
  max-width: 250px;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 8px 14px !important;
  border-radius: var(--r-sm) !important;
  font-size: var(--t-xs) !important;
  line-height: 1.25 !important;
  text-align: center;
  white-space: nowrap;
}
.woocommerce-account .page-content .woocommerce-MyAccount-content > .woocommerce-info,
.woocommerce-account .page-content .woocommerce-MyAccount-content > .woocommerce-message,
.woocommerce-account .page-content .woocommerce-MyAccount-content > .woocommerce-error,
.woocommerce-account .page-content .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-info,
.woocommerce-account .page-content .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-message,
.woocommerce-account .page-content .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-error { color: var(--ink-muted) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation {
  grid-column: 1;
  float: none !important;
  width: 100% !important;
  min-width: 0;
  max-width: none;
  box-sizing: border-box;
  padding: 8px;
  background: var(--surface-sunken);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
}
.woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; align-items: stretch; margin: 0; padding: 0; list-style: none; }
.woocommerce-MyAccount-navigation li { display: flex; min-width: 0; min-height: 48px; padding: 0; }
.woocommerce-MyAccount-navigation li::before { display: none; }
.woocommerce-MyAccount-navigation-link--downloads { display: none !important; }
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a,
html body.woocommerce-account .page-content .woocommerce-MyAccount-navigation ul li a:not(.btn):not(.button) {
  display: flex !important;
  width: 100%;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 10px 8px;
  color: var(--ink-muted) !important;
  background: transparent;
  font-size: var(--t-xs);
  font-weight: 700;
  text-decoration: none !important;
  text-align: center;
  line-height: 1.2;
  white-space: nowrap;
  border-radius: var(--r-md);
  box-shadow: none;
}
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
html body.woocommerce-account .page-content .woocommerce-MyAccount-navigation ul li a:not(.btn):not(.button):hover {
  color: var(--brand) !important;
  background: var(--brand-tint-soft);
  text-decoration: none !important;
}
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:hover,
html body.woocommerce-account .page-content .woocommerce-MyAccount-navigation ul li.is-active a:not(.btn):not(.button),
html body.woocommerce-account .page-content .woocommerce-MyAccount-navigation ul li.is-active a:not(.btn):not(.button):hover {
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  font-weight: 800;
  text-decoration: none !important;
  box-shadow: var(--shadow-xs);
}
.woocommerce-account .woocommerce-MyAccount-content {
  grid-column: 1;
  float: none !important;
  width: 100% !important;
  min-width: 0;
  max-width: none;
  min-height: 0;
  margin-left: 0;
  overflow-wrap: normal;
  word-break: normal;
}
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-notices-wrapper:empty {
  display: none !important;
  margin: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content *,
.woocommerce-account .rtf-account-overview__copy,
.woocommerce-account .rtf-account-overview__copy * {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
}
.woocommerce-account .woocommerce-MyAccount-content > * + * { margin-top: var(--s-5) !important; }
.woocommerce-MyAccount-content > p { color: var(--ink-muted); }
.woocommerce-account .woocommerce-MyAccount-content > h2:first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content > form,
.woocommerce-account .woocommerce-MyAccount-content > table,
.woocommerce-account .woocommerce-MyAccount-content > .u-columns,
.woocommerce-account .woocommerce-MyAccount-content > .col2-set,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-Addresses,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details {
  float: none !important;
  clear: both;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  box-sizing: border-box;
}
.woocommerce-MyAccount-content h2, .woocommerce-account #customer_login h2 { margin-bottom: var(--s-3); font-size: var(--t-lg); color: var(--ink); }
.rtf-account-overview {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: var(--s-4);
  align-items: center;
  padding: clamp(var(--s-5), 3vw, var(--s-7));
  background: linear-gradient(135deg, var(--brand-wash), var(--surface-sunken));
  border: 1px solid var(--line-soft);
  border-radius: var(--r-xl);
}
.rtf-account-overview__icon, .rtf-account-shortcut__icon { display: grid; place-items: center; color: var(--brand); background: var(--surface-raised); border: 1px solid var(--line-soft); box-shadow: var(--shadow-xs); }
.rtf-account-overview__icon { width: 52px; height: 52px; border-radius: var(--r-md); }
.rtf-account-overview__copy { min-width: 0; }
.rtf-account-overview__eyebrow { margin: 0 0 3px; color: var(--brand); font-size: var(--t-2xs); font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.rtf-account-overview h2 { margin: 0; font-size: var(--t-xl); overflow-wrap: break-word; word-break: normal; }
.rtf-account-overview__copy > p:last-child { max-width: 58ch; margin-top: 5px; color: var(--ink-muted); font-size: var(--t-sm); line-height: 1.55; }
.rtf-account-logout { min-height: 40px; white-space: nowrap; }
.rtf-account-shortcuts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3); margin-top: var(--s-4); }
.rtf-account-shortcuts > a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--s-3); align-items: center; min-width: 0; padding: var(--s-4); color: var(--ink); text-decoration: none; background: var(--surface-raised); border: 1px solid var(--line-soft); border-radius: var(--r-lg); box-shadow: var(--shadow-xs); transition: border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
.rtf-account-shortcuts > a:hover { color: var(--ink); border-color: var(--brand-soft); box-shadow: var(--shadow-sm); transform: translateY(-2px); }
.rtf-account-shortcuts > a > span:nth-child(2) { min-width: 0; }
.rtf-account-shortcuts strong, .rtf-account-shortcuts small { display: block; }
.rtf-account-shortcuts strong { font-size: var(--t-sm); }
.rtf-account-shortcuts small { margin-top: 2px; color: var(--ink-muted); font-size: var(--t-2xs); line-height: 1.4; }
.rtf-account-shortcut__icon { width: 38px; height: 38px; border-radius: var(--r-sm); }
.rtf-account-shortcuts > a > .icon { color: var(--ink-soft); }
.woocommerce-account table.shop_table { display: block; overflow-x: auto; border: 1px solid var(--line-soft); border-radius: var(--r-lg); background: var(--surface-raised); }
.woocommerce-account table.shop_table thead { background: var(--surface-sunken); }
.woocommerce-account table.shop_table th { font-size: var(--t-xs); letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink-muted); }
.woocommerce-account table.shop_table td { vertical-align: middle; }
.woocommerce-account table.shop_table tbody tr:last-child td { border-bottom: 0; }
.woocommerce-account .woocommerce-button, .woocommerce-account .woocommerce-MyAccount-content a.button, .woocommerce-account button.button, .woocommerce-account input.button {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 8px var(--s-4);
  color: var(--ink-on-brand);
  background: var(--brand);
  border: 1px solid var(--brand);
  border-radius: var(--r-md);
  font: inherit;
  font-size: var(--t-sm);
  font-weight: 800;
  cursor: pointer;
}
.woocommerce-account .woocommerce-button:hover, .woocommerce-account .woocommerce-MyAccount-content a.button:hover, .woocommerce-account button.button:hover, .woocommerce-account input.button:hover { color: var(--ink-on-brand); background: var(--brand-strong); border-color: var(--brand-strong); }
.woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--s-4);
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content > p + .woocommerce-Addresses {
  margin-top: var(--s-4) !important;
}
.woocommerce-account.woocommerce-payment-methods .woocommerce-MyAccount-content > .woocommerce-info + a.button {
  margin-top: var(--s-5) !important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after {
  display: none !important;
  content: none !important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .woocommerce-Address,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .u-column1,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .u-column2,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .col-1,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .col-2 {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box;
}
.woocommerce-Address { padding: var(--s-4); background: var(--surface-raised); border: 1px solid var(--line-soft); border-radius: var(--r-lg); }
.woocommerce-Address header { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); margin-bottom: var(--s-3); }
.woocommerce-Address header h2 { margin: 0; font-size: var(--t-base); }
.woocommerce-Address .edit { font-size: var(--t-xs); font-weight: 800; color: var(--brand); text-decoration: none; }
.woocommerce-Address address { color: var(--ink-muted); font-style: normal; line-height: 1.7; }
.woocommerce-account .woocommerce-Address header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
.woocommerce-account .woocommerce-Address header h2 { overflow-wrap: normal; word-break: normal; }
.woocommerce-account .woocommerce-Address .edit { white-space: nowrap; }
.woocommerce-account .woocommerce-Address address { overflow-wrap: anywhere; }
.woocommerce-account #customer_login { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5); }
.woocommerce-account #customer_login > div { min-width: 0; }
.woocommerce-account form.login, .woocommerce-account form.register, .woocommerce-account form.edit-account, .woocommerce-account form.woocommerce-address-fields { padding: var(--s-5); background: var(--surface-sunken); border: 1px solid var(--line-soft); border-radius: var(--r-lg); }
.woocommerce-account form.edit-account fieldset { margin: var(--s-5) 0 0; padding: var(--s-4); border: 1px solid var(--line-soft); border-radius: var(--r-md); }
.woocommerce-account form.edit-account legend { padding-inline: var(--s-2); color: var(--ink); font-weight: 800; }
.woocommerce-account .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: var(--s-2); margin-bottom: var(--s-3); }
.woocommerce-account .woocommerce-LostPassword { margin-top: var(--s-3); font-size: var(--t-sm); }

@media (max-width: 900px) {
  .woocommerce-account .page-content > .woocommerce { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-MyAccount-navigation { margin-bottom: 0; }
  .woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .woocommerce-MyAccount-navigation a { justify-content: center; text-align: center; }
  .rtf-account-shortcuts { grid-template-columns: 1fr; }
}
@media (min-width: 601px) and (max-width: 900px) {
  .woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .woocommerce-MyAccount-navigation li { grid-column: auto; }
}
@media (max-width: 760px) {
  .woocommerce-account .page-card { padding: var(--s-4); }
  .woocommerce-MyAccount-navigation { width: 100%; padding: 6px; overflow: visible; }
  .woocommerce-MyAccount-navigation ul { width: auto; min-width: 100%; }
  .woocommerce-MyAccount-navigation a { min-height: 46px; padding-inline: var(--s-2); white-space: nowrap; }
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns: 1fr !important; }
  .woocommerce-account #customer_login { grid-template-columns: 1fr; }
  .rtf-account-overview { grid-template-columns: auto minmax(0, 1fr); }
  .rtf-account-logout { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 600px) {
  .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce-MyAccount-navigation li:last-child { grid-column: auto; }
  .woocommerce-MyAccount-navigation a { min-width: 0; justify-content: center; padding-inline: var(--s-2); text-align: center; white-space: nowrap; }
  .rtf-account-overview { grid-template-columns: 1fr; text-align: left; }
  .rtf-account-overview__icon { width: 46px; height: 46px; }
  .woocommerce-account table.woocommerce-orders-table { display: block; overflow: visible; border: 0; background: transparent; }
  .woocommerce-account table.woocommerce-orders-table thead { display: none; }
  .woocommerce-account table.woocommerce-orders-table tbody, .woocommerce-account table.woocommerce-orders-table tr, .woocommerce-account table.woocommerce-orders-table td { display: block; width: 100%; min-width: 0; box-sizing: border-box; }
  .woocommerce-account table.woocommerce-orders-table tr { margin-bottom: var(--s-3); padding: var(--s-3); overflow: hidden; background: var(--surface-raised); border: 1px solid var(--line-soft); border-radius: var(--r-md); }
  .woocommerce-account table.woocommerce-orders-table td { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s-2) var(--s-4); padding: 8px 0; text-align: right; overflow-wrap: anywhere; border-bottom: 1px solid var(--line-soft); }
  .woocommerce-account table.woocommerce-orders-table td:last-child { border-bottom: 0; }
  .woocommerce-account table.woocommerce-orders-table td::before { content: attr(data-title); text-align: left; font-size: var(--t-xs); font-weight: 800; color: var(--ink-muted); }
  .woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info,
  .woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message,
  .woocommerce-account .woocommerce-MyAccount-content > .woocommerce-error,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-info,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-message,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper > .woocommerce-error { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info .button,
  .woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message .button,
  .woocommerce-account .woocommerce-MyAccount-content > .woocommerce-error .button { grid-column: 1; grid-row: 2; width: 100%; max-width: none; white-space: normal; }
}
@media (max-width: 360px) {
  .woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Orders empty state: present the paired recovery notices as aligned cards. */
.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--s-4);
  width: min(100%, 960px) !important;
  margin-inline: auto;
}
.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) > .woocommerce-info {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  align-items: start;
  align-content: stretch;
  justify-items: start;
  position: relative;
  height: 100%;
  max-width: none;
  min-height: 188px;
  margin: 0 !important;
  padding: 24px !important;
  color: var(--ink-muted) !important;
  font-size: var(--t-sm);
  line-height: 1.55;
  text-align: left;
  background: linear-gradient(145deg, var(--surface-raised), var(--surface-sunken)) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-xs);
}
.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) > .woocommerce-info::before {
  display: block !important;
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  position: static !important;
  width: 48px;
  height: 48px;
  margin: 0 !important;
  box-sizing: border-box;
  content: '' !important;
  background-color: var(--brand-tint-soft);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 22px;
  border: 1px solid var(--brand-soft);
  border-radius: var(--r-md);
}
.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) > .woocommerce-info:not(:last-child)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23c7a2e2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}
.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) > .woocommerce-info:last-child::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23c7a2e2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l1 12H5L6 8Z'/%3E%3Cpath d='M9 9V6a3 3 0 0 1 6 0v3'/%3E%3C/svg%3E");
}
.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) > .woocommerce-info > :not(.button):not(.woocommerce-Button) {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding-top: 4px;
  color: var(--ink-muted) !important;
  font-size: var(--t-sm);
  line-height: 1.5;
}
.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) > .woocommerce-info .button,
.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) > .woocommerce-info .woocommerce-Button {
  grid-column: 2;
  grid-row: 2;
  order: initial;
  align-self: end;
  justify-self: start;
  width: auto;
  max-width: 100%;
  min-height: 42px !important;
  margin: 12px 0 0 !important;
  padding: 10px 18px !important;
  white-space: nowrap;
}
.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) > * + * {
  margin-top: 0 !important;
}
@media (max-width: 700px) {
  .woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) {
    grid-template-columns: minmax(0, 1fr);
    max-width: 620px;
  }
  .woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) > .woocommerce-info {
    min-height: 0;
    padding: 20px !important;
  }
  .woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) > .woocommerce-info::before {
    width: 42px;
    height: 42px;
    background-size: 20px;
  }
  .woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) > .woocommerce-info .button,
  .woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) > .woocommerce-info .woocommerce-Button {
    white-space: normal;
  }
}

.search-form { display: flex; gap: var(--s-3); }
.search-form input[type='search'] { flex: 1; }
.wishlist-item { display: grid; grid-template-columns: 72px 1fr; gap: var(--s-3); align-items: center; padding: var(--s-3); border-bottom: 1px solid var(--line); }
.wishlist-item img { width: 72px; height: 72px; object-fit: cover; border-radius: var(--radius-sm); }
.wishlist-item a { display: block; color: var(--ink); font-weight: 700; }
.wishlist-remove { margin-top: var(--s-2); padding: 0; border: 0; color: var(--ink-muted); background: none; text-decoration: underline; cursor: pointer; }

@media (max-width: 768px) {
  .collection-toolbar { align-items: stretch; flex-direction: column; }
  .woocommerce-ordering select { width: 100%; }
  .product-details form.cart:not(.variations_form),
  .pdp-purchase-card .woocommerce-variation-add-to-cart { grid-template-columns: 1fr; }
  .pdp-purchase-card .pdp-qty-stepper,
  .pdp-purchase-card .single_add_to_cart_button { width: 100%; }
  .pdp-purchase-card .reset_variations { margin-top: var(--s-2); }
  .search-form { flex-direction: column; }
}

@media (max-width: 600px) {
  .pdp-section { padding-top: var(--s-5); }
  .pdp-section > .section-inner { padding-inline: 20px; }
  .pdp-container { gap: var(--s-6); }
  .pdp-image-badge { top: var(--s-3); left: var(--s-3); }
  .pdp-purchase-card { padding: var(--s-4); }
}

/* Interactive cursor contract ---------------------------------------------
   Keep the browser's prohibited cursor out of shopping controls even when
   WooCommerce Blocks or an extension adds later disabled-state rules. A
   disabled HTML button remains non-operational without pointer-events:none,
   allowing its own normal arrow cursor to remain visible on hover. */
:root body :is(
  .qty-stepper,
  .pdp-qty-stepper,
  .cart-qty-stepper,
  .cart-page-qty-stepper,
  .wl-qty-stepper,
  .wc-block-components-quantity-selector
) {
  cursor: default !important;
}

:root body :is(
  .qty-stepper button,
  .pdp-qty-minus,
  .pdp-qty-plus,
  .cart-qty-btn,
  .cart-page-qty-minus,
  .cart-page-qty-plus,
  .wl-qty-stepper button,
  .wc-block-components-quantity-selector__button
):not(:disabled):not(.disabled):not([aria-disabled='true']) {
  cursor: pointer !important;
  pointer-events: auto !important;
}

:root body :is(
  .qty-stepper button,
  .pdp-qty-minus,
  .pdp-qty-plus,
  .cart-qty-btn,
  .cart-page-qty-minus,
  .cart-page-qty-plus,
  .wl-qty-stepper button,
  .wc-block-components-quantity-selector__button
):is(:disabled, .disabled, [aria-disabled='true']),
:root body :is(
  .qty-stepper button,
  .pdp-qty-minus,
  .pdp-qty-plus,
  .cart-qty-btn,
  .cart-page-qty-minus,
  .cart-page-qty-plus,
  .wl-qty-stepper button,
  .wc-block-components-quantity-selector__button
):is(:disabled, .disabled, [aria-disabled='true']) * {
  cursor: default !important;
  pointer-events: auto !important;
}

:root body :is(
  .qty-add-btn,
  .wl-add-btn,
  .pdp-add-btn,
  .single_add_to_cart_button,
  .add_to_cart_button,
  [data-card-add]
):not(:disabled):not(.disabled):not(.wc-variation-selection-needed):not([aria-disabled='true']),
:root body :is(
  .qty-add-btn,
  .wl-add-btn,
  .pdp-add-btn,
  .single_add_to_cart_button,
  .add_to_cart_button,
  [data-card-add]
):not(:disabled):not(.disabled):not(.wc-variation-selection-needed):not([aria-disabled='true']) * {
  cursor: pointer !important;
}

:root body :is(
  .qty-add-btn,
  .wl-add-btn,
  .pdp-add-btn,
  .single_add_to_cart_button,
  .add_to_cart_button,
  [data-card-add]
):is(:disabled, .disabled, .wc-variation-selection-needed, [aria-disabled='true']),
:root body :is(
  .qty-add-btn,
  .wl-add-btn,
  .pdp-add-btn,
  .single_add_to_cart_button,
  .add_to_cart_button,
  [data-card-add]
):is(:disabled, .disabled, .wc-variation-selection-needed, [aria-disabled='true']) * {
  cursor: default !important;
  pointer-events: auto !important;
}

:root body :is(
  [data-wishlist-toggle],
  .wishlist-btn,
  .product-wishlist,
  .pdp-wishlist-btn,
  .pdp-wishlist-float,
  .wishlist-item-remove,
  .wishlist-clear-btn,
  .wishlist-sync-btn
):not(:disabled):not(.disabled):not([aria-disabled='true']),
:root body :is(
  [data-wishlist-toggle],
  .wishlist-btn,
  .product-wishlist,
  .pdp-wishlist-btn,
  .pdp-wishlist-float,
  .wishlist-item-remove,
  .wishlist-clear-btn,
  .wishlist-sync-btn
):not(:disabled):not(.disabled):not([aria-disabled='true']) * {
  cursor: pointer !important;
}

:root body :is(
  [data-wishlist-toggle],
  .wishlist-btn,
  .product-wishlist,
  .pdp-wishlist-btn,
  .pdp-wishlist-float,
  .wishlist-item-remove,
  .wishlist-clear-btn,
  .wishlist-sync-btn
):is(:disabled, .disabled, [aria-disabled='true']),
:root body :is(
  [data-wishlist-toggle],
  .wishlist-btn,
  .product-wishlist,
  .pdp-wishlist-btn,
  .pdp-wishlist-float,
  .wishlist-item-remove,
  .wishlist-clear-btn,
  .wishlist-sync-btn
):is(:disabled, .disabled, [aria-disabled='true']) * {
  cursor: default !important;
  pointer-events: auto !important;
}

/* =============================================================================
   Checkout payment / shipping / order-note controls
   WooCommerce Blocks hides native radios (opacity:0) and draws its own mark.
   A previous selector-list bug also set the inputs to display:none. Draw a
   visible circle + tick on the option/label so the control cannot vanish.
   ========================================================================== */
html body.woocommerce-checkout .wc-block-components-radio-control,
html body.woocommerce-cart .wc-block-components-radio-control,
.wc-block-checkout .wc-block-components-radio-control {
  overflow: visible !important;
}

/* Native input stays clickable but never occupies the layout. */
html body.woocommerce-checkout :is(
  .wc-block-components-radio-control .wc-block-components-radio-control__input,
  .wc-block-checkout__payment-method input[type="radio"],
  .wc-block-components-shipping-rates-control input[type="radio"],
  .wc-block-components-radio-control input[type="radio"]
),
html body.woocommerce-cart :is(
  .wc-block-components-radio-control .wc-block-components-radio-control__input,
  .wc-block-components-shipping-rates-control input[type="radio"]
),
.wc-block-checkout :is(
  .wc-block-components-radio-control .wc-block-components-radio-control__input,
  .wc-block-components-radio-control input[type="radio"]
) {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 3 !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  background: none !important;
  border: 0 !important;
  clip: auto !important;
  clip-path: none !important;
}

html body.woocommerce-checkout .wc-block-components-radio-control__option,
html body.woocommerce-cart .wc-block-components-radio-control__option,
.wc-block-checkout .wc-block-components-radio-control__option {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  min-height: 44px !important;
  padding: 11px 14px 11px 46px !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control__label,
html body.woocommerce-cart .wc-block-components-radio-control__label,
.wc-block-checkout .wc-block-components-radio-control__label {
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 22px !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control__secondary-label,
html body.woocommerce-cart .wc-block-components-radio-control__secondary-label,
.wc-block-checkout .wc-block-components-radio-control__secondary-label {
  min-height: 22px !important;
  line-height: 22px !important;
  align-self: start !important;
}

/* Empty circle — same top as the first line of the label (11px padding). */
html body.woocommerce-checkout .wc-block-components-radio-control__option::before,
html body.woocommerce-cart .wc-block-components-radio-control__option::before,
.wc-block-checkout .wc-block-components-radio-control__option::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 14px !important;
  top: 11px !important;
  z-index: 1 !important;
  box-sizing: border-box !important;
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: var(--surface-raised) !important;
  background-image: none !important;
  border: 2px solid var(--brand-mid) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  transform: none !important;
  pointer-events: none !important;
}

html body.woocommerce-checkout .wc-block-components-radio-control__option:has(:checked)::before,
html body.woocommerce-cart .wc-block-components-radio-control__option:has(:checked)::before,
.wc-block-checkout .wc-block-components-radio-control__option:has(:checked)::before,
html body.woocommerce-checkout .wc-block-components-radio-control__option--checked::before,
.wc-block-checkout .wc-block-components-radio-control__option--checked::before {
  background: var(--brand) !important;
  border-color: var(--brand) !important;
}

/* Tick */
html body.woocommerce-checkout .wc-block-components-radio-control__option::after,
html body.woocommerce-cart .wc-block-components-radio-control__option::after,
.wc-block-checkout .wc-block-components-radio-control__option::after {
  content: none !important;
  display: none !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control__option:has(:checked)::after,
html body.woocommerce-cart .wc-block-components-radio-control__option:has(:checked)::after,
.wc-block-checkout .wc-block-components-radio-control__option:has(:checked)::after,
html body.woocommerce-checkout .wc-block-components-radio-control__option--checked::after,
.wc-block-checkout .wc-block-components-radio-control__option--checked::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 22px !important;
  top: 15px !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
  width: 6px !important;
  height: 11px !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: none !important;
  border: solid var(--ink-on-brand) !important;
  border-width: 0 2.5px 2.5px 0 !important;
  border-radius: 0 !important;
  transform: rotate(45deg) !important;
  pointer-events: none !important;
}

/* Order-note / terms / billing checkboxes — one square control, never two. */
html body.woocommerce-checkout .wc-block-components-checkbox,
.wc-block-checkout .wc-block-components-checkbox {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}
html body.woocommerce-checkout .wc-block-components-checkbox > label,
.wc-block-checkout .wc-block-components-checkbox > label {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 22px;
  padding-left: 0 !important;
  gap: 10px !important;
}
html body.woocommerce-checkout .wc-block-components-checkbox > label::before,
html body.woocommerce-checkout .wc-block-components-checkbox > label::after,
.wc-block-checkout .wc-block-components-checkbox > label::before,
.wc-block-checkout .wc-block-components-checkbox > label::after {
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-checkbox__input,
html body.woocommerce-checkout .wc-block-checkout__add-note input[type="checkbox"],
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block input[type="checkbox"],
html body.woocommerce-checkout .wc-block-checkout__use-address-for-billing input[type="checkbox"],
.wc-block-checkout .wc-block-components-checkbox__input {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: relative !important;
  display: inline-block !important;
  flex: 0 0 22px !important;
  box-sizing: border-box !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  color: var(--brand-mid) !important;
  background-color: var(--surface-raised) !important;
  background-image: none !important;
  border: 2px solid var(--brand-mid) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
html body.woocommerce-checkout .wc-block-components-checkbox__input:checked,
html body.woocommerce-checkout .wc-block-checkout__add-note input[type="checkbox"]:checked,
.wc-block-checkout .wc-block-components-checkbox__input:checked {
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
}
html body.woocommerce-checkout .wc-block-components-checkbox__input:checked::after,
html body.woocommerce-checkout .wc-block-checkout__add-note input[type="checkbox"]:checked::after,
.wc-block-checkout .wc-block-components-checkbox__input:checked::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 2px !important;
  left: 6px !important;
  width: 6px !important;
  height: 11px !important;
  border: solid var(--ink-on-brand) !important;
  border-width: 0 2.5px 2.5px 0 !important;
  border-radius: 0 !important;
  background: none !important;
  transform: rotate(45deg) !important;
  opacity: 1 !important;
  visibility: visible !important;
}
html body.woocommerce-checkout :is(.wc-block-components-checkbox__mark, .wc-block-components-checkbox svg),
html body.woocommerce-cart :is(.wc-block-components-checkbox__mark, .wc-block-components-checkbox svg),
.wc-block-checkout :is(.wc-block-components-checkbox__mark, .wc-block-components-checkbox svg) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  fill: none !important;
  width: 0 !important;
  height: 0 !important;
}

html body.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content,
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content,
.wc-block-checkout .wc-block-components-radio-control-accordion-content {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 10px 16px 14px 16px !important;
  color: var(--ink-muted) !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content .payment_box,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content [class*="payment"],
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content [class*="ppcp"],
html body.woocommerce-checkout .payment_box {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content *,
html body.woocommerce-checkout .payment_box *,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content *::before,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content *::after,
.wc-block-checkout .wc-block-components-radio-control-accordion-content * {
  box-sizing: border-box !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  color: var(--ink-muted) !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content :is(p, div, span, li, a, strong, em, small, ul, form),
html body.woocommerce-checkout .payment_box :is(p, div, span, li, a, strong, em, small),
.wc-block-checkout .wc-block-components-radio-control-accordion-content :is(p, div, span, li, a) {
  display: block !important;
  width: 100% !important;
  margin: 0 0 0.4em !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content :is(p, div, span, li, a):last-child,
html body.woocommerce-checkout .payment_box :is(p, div):last-child,
.wc-block-checkout .wc-block-components-radio-control-accordion-content :is(p, div, span, li, a):last-child {
  margin-bottom: 0 !important;
}

html body.woocommerce-checkout :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"], [data-pp-message]),
html body.woocommerce-cart :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"], [data-pp-message]) {
  display: block !important;
  min-height: 52px !important;
  overflow: visible !important;
  color: #1a1224 !important;
  background:
    linear-gradient(#ffc439, #ffc439) top / 100% 3px no-repeat,
    #f6f1fb !important;
  color-scheme: light !important;
}
html body.woocommerce-checkout :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"], [data-pp-message]) :is(p, a, div, strong, em, small),
html body.woocommerce-cart :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"], [data-pp-message]) :is(p, a, div, strong, em, small) {
  color: #1a1224 !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  background: transparent !important;
}
html body.woocommerce-checkout :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"]) span,
html body.woocommerce-cart :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"]) span {
  display: inline !important;
  color: inherit !important;
  font-size: inherit !important;
}
html body.woocommerce-checkout :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"]) a,
html body.woocommerce-cart :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"]) a {
  color: #0070ba !important;
}
html body.woocommerce-checkout :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"]) iframe,
html body.woocommerce-cart :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"]) iframe {
  display: block !important;
  width: 100% !important;
  min-height: 48px !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
  border: 0 !important;
}

/* Coupon row: pin the chevron to the same 16px right edge as Apply / Subtotal. */
html body.woocommerce-checkout :is(
  .wc-block-components-totals-coupon,
  .wp-block-woocommerce-checkout-order-summary-coupon-form-block,
  .wc-block-components-panel.wc-block-components-totals-coupon
),
html body.woocommerce-cart :is(
  .wc-block-components-totals-coupon,
  .wp-block-woocommerce-cart-order-summary-coupon-form-block,
  .wc-block-components-panel.wc-block-components-totals-coupon
) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-totals-coupon,
  .wp-block-woocommerce-checkout-order-summary-coupon-form-block
) > *,
html body.woocommerce-cart :is(
  .wc-block-components-totals-coupon,
  .wp-block-woocommerce-cart-order-summary-coupon-form-block
) > * {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button,
html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button {
  position: relative !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 14px 40px 14px 16px !important;
  color: var(--ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font: inherit !important;
  font-size: var(--t-sm) !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button :is(h2, h3, span, .wc-block-components-title),
html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button :is(h2, h3, span, .wc-block-components-title) {
  display: inline !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font: inherit !important;
  font-weight: 750 !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:hover,
html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button:hover {
  background: var(--brand-tint-soft) !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button-icon,
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button > svg,
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button svg,
html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button-icon,
html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button > svg,
html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button svg {
  position: absolute !important;
  top: 50% !important;
  right: 16px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 1 !important;
  display: block !important;
  flex: none !important;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__content,
html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__content {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon__content,
html body.woocommerce-cart .wc-block-components-totals-coupon__content {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 4px 16px 16px !important;
  background: transparent !important;
  border: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon__form,
html body.woocommerce-cart .wc-block-components-totals-coupon__form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon :is(.wc-block-components-text-input, .wc-block-components-totals-coupon__input, .wc-block-components-validated-text-input),
html body.woocommerce-cart .wc-block-components-totals-coupon :is(.wc-block-components-text-input, .wc-block-components-totals-coupon__input, .wc-block-components-validated-text-input) {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-text-input label,
html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon input[type="text"],
html body.woocommerce-cart .wc-block-components-totals-coupon input[type="text"] {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  color: var(--ink) !important;
  background: var(--surface-sunken) !important;
  border: 1.5px solid var(--line-strong) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  outline: 0 !important;
  font: inherit !important;
  font-size: var(--t-sm) !important;
  line-height: 44px !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon input[type="text"]:focus,
html body.woocommerce-checkout .wc-block-components-totals-coupon input[type="text"]:focus-visible,
html body.woocommerce-cart .wc-block-components-totals-coupon input[type="text"]:focus,
html body.woocommerce-cart .wc-block-components-totals-coupon input[type="text"]:focus-visible {
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px var(--brand-wash) !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon__button,
html body.woocommerce-checkout .wc-block-components-totals-coupon__button.wc-block-components-button,
html body.woocommerce-cart .wc-block-components-totals-coupon__button,
html body.woocommerce-cart .wc-block-components-totals-coupon__button.wc-block-components-button {
  display: inline-flex !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 88px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  border: 1.5px solid var(--brand) !important;
  border-radius: 12px !important;
  font: inherit !important;
  font-size: var(--t-sm) !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon__button:disabled,
html body.woocommerce-checkout .wc-block-components-totals-coupon__button.outlined:disabled,
html body.woocommerce-cart .wc-block-components-totals-coupon__button:disabled,
html body.woocommerce-cart .wc-block-components-totals-coupon__button.outlined:disabled {
  color: var(--ink-muted) !important;
  background: var(--surface-raised) !important;
  border-color: var(--line-strong) !important;
  opacity: 1 !important;
}
@media (max-width: 600px) {
  html body.woocommerce-checkout .wc-block-components-totals-coupon__form,
  html body.woocommerce-cart .wc-block-components-totals-coupon__form {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon__button,
  html body.woocommerce-cart .wc-block-components-totals-coupon__button {
    width: 100% !important;
  }
}

html body.woocommerce-checkout :is(
  .wc-block-components-checkout-order-summary__title,
  .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title,
  .wp-block-woocommerce-checkout-order-summary-block > h2
) {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 20px 20px 16px !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-checkout-order-summary__content,
  .wp-block-woocommerce-checkout-order-summary-cart-items-block,
  .wc-block-components-order-summary
) {
  overflow: visible !important;
  margin: 0 !important;
  padding-top: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item {
  overflow: visible !important;
  padding: 22px 20px 18px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child {
  padding-top: 24px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  position: relative !important;
  overflow: visible !important;
  margin: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  position: absolute !important;
  inset: unset !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  left: 0 !important;
  z-index: 2 !important;
  margin: 0 !important;
  transform: translate(-40%, -40%) !important;
}

@media (max-width: 900px) {
  html body.woocommerce-checkout .wc-block-checkout__actions,
  html body.woocommerce-checkout .wc-block-checkout__actions_row,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block,
  html body.woocommerce-checkout .form-row.place-order,
  html body.woocommerce-checkout .ppc-button-wrapper,
  html body.woocommerce-cart .wc-block-cart__submit-container {
    position: static !important;
    bottom: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: auto !important;
    transform: none !important;
    width: 100% !important;
    margin: 20px 0 24px !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
  html body.woocommerce-checkout #place_order {
    position: static !important;
    display: flex !important;
    width: 100% !important;
    margin: 0 0 8px !important;
  }
}

/* =============================================================================
   RESPONSIVE AUDIT — tablet + phone alignment (v1.2.50)
   ========================================================================== */

.section-inner,
.page-shell__inner,
.page-card,
.pdp-container,
.pdp-details-col,
.product-info,
.product-name-row,
.community-content,
.community-inner,
.collection-header,
.collection-header-copy,
.hero-content,
.hero-collections,
.wc-block-components-product-name,
.page-title,
.pdp-title {
  min-width: 0;
}

h1, h2, h3, .page-title, .pdp-title, .product-name,
.wc-block-components-product-name,
.collection-header-title,
.hero h1 {
  overflow-wrap: break-word;
  word-break: normal;
}

@media (min-width: 601px) and (max-width: 1100px) {
  .products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
  .categories-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .category-card {
    min-height: 72px;
  }
  .category-info h3 {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.25;
  }
  .collection-header {
    grid-template-columns: minmax(0, 1fr) 88px;
    gap: var(--s-4);
  }
  .collection-header-stat { width: 88px; min-width: 88px; min-height: 88px; }
  .collection-header-stat strong { font-size: var(--t-xl); }
  .info-bar-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rtf-account-shortcuts { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .community-btns {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    width: auto;
  }
  .community-btns .btn {
    width: auto;
    flex: 0 1 auto;
  }
  .community-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 20px;
  }
  .woocommerce-cart .wc-block-cart-items__row {
    grid-template-columns: 72px minmax(0, 1fr) auto !important;
  }
  .woocommerce-cart .wc-block-cart-item__total {
    grid-column: auto;
    justify-self: end;
    text-align: right;
  }
  .woocommerce-cart .wc-block-components-product-name {
    white-space: normal;
    overflow-wrap: break-word;
  }
}

@media (max-width: 1099px) {
  .product-card-actions {
    flex-direction: column;
    gap: 6px;
    padding-top: var(--s-3);
  }
  .btn-view-product,
  .quick-add-trigger {
    width: 100%;
    min-width: 0;
    min-height: 36px;
    font-size: 11px;
  }
}

@media (max-width: 900px) {
  .community-stats { max-width: none !important; }
  .hero-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--s-2);
  }
  .hero-actions .btn { width: 100%; min-width: 0; }
  html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a,
  html body.woocommerce-account .page-content .woocommerce-MyAccount-navigation ul li a:not(.btn):not(.button) {
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: normal;
    line-height: 1.2;
    padding-inline: 8px !important;
    justify-content: center;
    text-align: center;
  }
  .woocommerce-checkout .wc-block-components-radio-control__label,
  .woocommerce-checkout .wc-block-components-radio-control__secondary-label,
  .woocommerce-checkout .wc-block-components-radio-control__description {
    min-width: 0;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
    text-align: left !important;
  }
  .woocommerce-checkout .wc-block-components-radio-control__option-layout {
    align-items: flex-start !important;
    min-width: 0;
  }
  .pdp-price-row,
  .pdp-breadcrumb { min-width: 0; overflow-wrap: anywhere; }
  .info-item-text { min-width: 0; }
  .info-item-text span { overflow-wrap: anywhere; }
  .pdp-image-col {
    width: min(100%, 520px);
    justify-self: center;
  }
  .community-preorder-line {
    display: flex;
    max-width: 100%;
    white-space: normal;
  }
  .community-preorder-line-text { min-width: 0; overflow-wrap: anywhere; }
  .section-header h2,
  .section-header p { overflow-wrap: anywhere; }
  .woocommerce-checkout .wc-block-components-product-name {
    white-space: normal !important;
    overflow-wrap: break-word;
  }
}

@media (max-width: 700px) {
  .rtf-account-shortcuts { grid-template-columns: 1fr !important; }
  .woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 600px) {
  .hero-actions { grid-template-columns: 1fr; }
  .product-name-row { min-width: 0; gap: 8px; }
  .product-name {
    min-width: 0;
    overflow-wrap: break-word;
    word-break: normal;
  }
  .pdp-title { overflow-wrap: break-word; word-break: normal; }
  .pdp-price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 10px;
  }
  html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    font-size: 12px !important;
    min-height: 44px !important;
  }
  .woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) > .woocommerce-info .button,
  .woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) > .woocommerce-info .woocommerce-Button {
    width: 100%;
    justify-content: center;
    white-space: normal !important;
  }
  .community-links a,
  .community-links button { min-width: 0; overflow-wrap: anywhere; }
  .community-btns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
    width: 100%;
  }
  .community-btns .btn {
    display: inline-flex;
    width: 100%;
    min-width: 0;
    justify-content: center;
    white-space: nowrap;
  }
  .categories-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-stat-label { overflow-wrap: normal; white-space: nowrap; }
  .wc-block-components-checkbox__label {
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 600px) {
  html body.woocommerce-cart .wc-block-cart-items__row {
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    grid-template-rows: auto !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: start !important;
    justify-self: end !important;
    text-align: right !important;
  }
}

/* =============================================================================
   Mobile checkout — aligned sections + readable order summary
   ========================================================================== */
@media (max-width: 719px) {
  html body.woocommerce-checkout .page-shell { padding-top: var(--s-4); }
  html body.woocommerce-checkout .page-card,
  html body.woocommerce-checkout .page-card:has(.wc-block-checkout) {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  html body.woocommerce-checkout .wc-block-checkout {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 0 12px 20px !important;
  }
  html body.woocommerce-checkout .wc-block-components-sidebar-layout,
  html body.woocommerce-checkout .wc-block-components-sidebar-layout:not(.is-mobile) {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__main,
  html body.woocommerce-checkout .wc-block-checkout__sidebar,
  html body.woocommerce-checkout .wc-block-components-main,
  html body.woocommerce-checkout .wc-block-components-sidebar {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__sidebar { order: -1; }

  html body.woocommerce-checkout .wc-block-components-checkout-step,
  html body.woocommerce-checkout .wc-block-components-express-payment,
  html body.woocommerce-checkout .wc-block-checkout__add-note,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block,
  html body.woocommerce-checkout .wc-block-checkout__terms,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 14px !important;
  }
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block .wc-block-checkout__add-note {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  html body.woocommerce-checkout .wc-block-components-checkout-step__title {
    font-size: 1rem !important;
  }
  html body.woocommerce-checkout .wc-block-components-address-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  html body.woocommerce-checkout .wc-block-components-address-form > * {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Checkboxes + note + terms: full width, label wraps beside the box */
  html body.woocommerce-checkout .wc-block-components-checkbox,
  html body.woocommerce-checkout .wc-block-components-checkbox > label,
  html body.woocommerce-checkout .wc-block-checkout__add-note .wc-block-components-checkbox,
  html body.woocommerce-checkout .wc-block-checkout__terms .wc-block-components-checkbox {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkbox__label {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.4 !important;
    text-align: left !important;
  }

  /* Shipping / payment rows: label wraps, price stays right */
  html body.woocommerce-checkout .wc-block-components-radio-control__option {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 12px 12px 46px !important;
  }
  html body.woocommerce-checkout .wc-block-components-radio-control__option-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    column-gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  html body.woocommerce-checkout .wc-block-components-radio-control__label,
  html body.woocommerce-checkout .wc-block-components-radio-control__label-group {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-align: left !important;
  }
  html body.woocommerce-checkout .wc-block-components-radio-control__secondary-label {
    justify-self: end !important;
    white-space: nowrap !important;
    font-weight: 800 !important;
  }
  html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content,
  html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content * {
    text-align: left !important;
  }

  /* Order summary card */
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    overflow: hidden !important;
    padding: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > h2 {
    padding: 14px 14px 12px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) auto !important;
    grid-template-areas: 'image description total' !important;
    align-items: start !important;
    column-gap: 10px !important;
    row-gap: 0 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 14px !important;
    overflow: visible !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
    grid-area: image !important;
    width: 56px !important;
    min-width: 56px !important;
    height: 56px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
    top: 0 !important;
    left: 0 !important;
    transform: translate(-35%, -35%) !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
    grid-area: description !important;
    min-width: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-name {
    font-size: 0.875rem !important;
    line-height: 1.3 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-metadata {
    margin-top: 6px !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    gap: 3px 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details > li,
  html body.woocommerce-checkout .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-checkout .wc-block-components-product-details > div {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__name {
    grid-column: 1 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: var(--ink-muted) !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__value {
    grid-column: 2 !important;
    min-width: 0 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
    grid-area: total !important;
    justify-self: end !important;
    align-self: start !important;
    padding-top: 1px !important;
    font-size: 0.9375rem !important;
  }

  html body.woocommerce-checkout .wc-block-components-totals-item {
    padding: 10px 14px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item__description {
    grid-column: 1 / -1 !important;
    margin: 6px 0 0 !important;
    max-width: 100% !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-shipping__via,
  html body.woocommerce-checkout .wc-block-components-totals-item__description:not(:has(.wc-block-components-totals-shipping__via)) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button {
    padding: 12px 14px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon__content,
  html body.woocommerce-checkout .wc-block-components-totals-coupon__form {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 14px 12px !important;
    margin: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon__form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon__button,
  html body.woocommerce-checkout .wc-block-components-totals-coupon__button.wc-block-components-button {
    width: 100% !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__actions,
  html body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
  html body.woocommerce-checkout #place_order {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  html body.woocommerce-checkout .ppcp-messages,
  html body.woocommerce-checkout [id^='ppcp-'] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-inline: 0 !important;
    overflow-wrap: anywhere !important;
    text-align: left !important;
  }

  /* Keep the order summary on screen. Woo may clone it into the form —
     JS hides extras; CSS must never hide the last remaining copy. */
  html body.woocommerce-checkout .wc-block-checkout__sidebar,
  html body.woocommerce-checkout .wc-block-components-sidebar {
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__content,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__content,
  html body.woocommerce-checkout .wc-block-components-order-summary {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

@media (max-width: 768px) {
  html { overflow-x: clip; overflow-y: scroll; }

  .countdown-wrap {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
    padding: 14px !important;
  }
  .countdown-boxes {
    width: 100%;
    justify-content: space-between;
    gap: 6px;
  }
  .countdown-box {
    flex: 1 1 0;
    min-width: 0;
    padding: 8px 4px;
  }
  .countdown-num { font-size: 1.2rem; }
  .countdown-sep { padding-inline: 2px; }

  .collection-chips-wrap { margin-inline: 0; }
  .collection-chips {
    padding-inline: var(--rtf-section-inline, var(--gutter));
  }

  .related.products ul.products,
  .upsells.products ul.products,
  .related.products .products,
  .upsells.products .products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  .related.products li.product,
  .upsells.products li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
  }

  .info-item {
    padding: 12px !important;
  }
  .info-item-icon {
    width: 40px !important;
    height: 40px !important;
  }

  .community-inner {
    gap: 16px !important;
  }
  .community-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

/* Mini-basket rebuild — compact item rows that fit a phone-width drawer */
#cartDrawer ul.woocommerce-mini-cart {
  gap: 10px !important;
  padding: 0 2px 8px 0 !important;
  scrollbar-gutter: auto !important;
}
#cartDrawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
  padding: 12px !important;
}
#cartDrawer .rtf-mini-cart-product {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
#cartDrawer .rtf-mini-cart-head {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image,
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
  width: 56px !important;
  height: 56px !important;
}
#cartDrawer .rtf-mini-cart-name {
  display: block !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 40px 0 0 !important;
  color: var(--ink) !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  align-items: unset !important;
}
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button,
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove {
  top: 10px !important;
  right: 10px !important;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  border-radius: 10px !important;
}
#cartDrawer dl.rtf-mini-cart-options {
  display: flex !important;
  flex-wrap: wrap !important;
  grid-template-columns: none !important;
  gap: 6px !important;
  width: 100% !important;
}
#cartDrawer .rtf-mini-cart-option {
  display: inline-flex !important;
  flex-direction: row !important;
  flex: 0 1 auto !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 5px 10px !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 999px !important;
}
#cartDrawer .rtf-mini-cart-option dt {
  display: inline !important;
  width: auto !important;
  color: var(--ink-muted) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
#cartDrawer .rtf-mini-cart-option dd {
  display: inline !important;
  width: auto !important;
  max-width: 100% !important;
  color: var(--ink) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity {
  display: flex !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  border-top: 0 !important;
  font-size: 12px !important;
}
#cartDrawer .rtf-mini-cart-footer {
  gap: 8px !important;
}
#cartDrawer .rtf-mini-cart-clear {
  justify-content: flex-start !important;
  margin: 0 !important;
}
#cartDrawer .woocommerce-mini-cart__buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}
#cartDrawer .woocommerce-mini-cart__buttons a.button {
  min-height: 48px !important;
}
@media (max-width: 420px) {
  #cartDrawer .rtf-mini-cart-head {
    grid-template-columns: 52px minmax(0, 1fr) !important;
  }
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
    width: 52px !important;
    height: 52px !important;
  }
  #cartDrawer .rtf-mini-cart-name {
    min-height: 0 !important;
    padding-right: 40px !important;
  }
  #cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button,
  #cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
  }
  #cartDrawer dl.rtf-mini-cart-options {
    grid-template-columns: none !important;
  }
  #cartDrawer .rtf-mini-cart-option {
    display: inline-flex !important;
    grid-template-columns: none !important;
    min-height: 0 !important;
  }
  #cartDrawer .woocommerce-mini-cart__buttons {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 340px) {
  #cartDrawer dl.rtf-mini-cart-options { grid-template-columns: none !important; }
  #cartDrawer .rtf-mini-cart-option {
    display: inline-flex !important;
    grid-template-columns: none !important;
    min-height: 0 !important;
  }
  #cartDrawer .woocommerce-mini-cart__buttons {
    grid-template-columns: 1fr !important;
  }
}

/* Hero splash stats — keep labels on one line and columns even on phones */
@media (max-width: 900px) {
  .hero-stats {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr) 1px minmax(0, 1fr) !important;
    align-items: stretch !important;
    column-gap: 8px !important;
    row-gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .hero-stat {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    text-align: center !important;
  }
  .hero-stat-num {
    display: block !important;
    width: 100% !important;
    font-size: clamp(1.35rem, 6.5vw, 1.75rem) !important;
    line-height: 1.1 !important;
    text-align: center !important;
  }
  .hero-stat-label {
    display: block !important;
    width: 100% !important;
    margin-top: 4px !important;
    overflow: hidden !important;
    color: var(--ink-muted) !important;
    font-size: clamp(0.5625rem, 2.6vw, 0.6875rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
  }
  .hero-stat-divider {
    width: 1px !important;
    height: auto !important;
    min-height: 36px !important;
    align-self: stretch !important;
    justify-self: center !important;
    background: var(--line) !important;
  }
}

a.rtf-facebook-link,
a.rtf-facebook-link:hover,
a.rtf-facebook-link:focus,
a.rtf-facebook-link:focus-visible,
a[href*="facebook.com"],
a[href*="facebook.com"]:hover,
.announcement-bar a,
.announcement-bar a:hover,
.community-btns a,
.community-btns a:hover,
.mm-social a,
.mm-social a:hover,
a.info-item[href],
a.info-item[href]:hover {
  cursor: pointer !important;
  pointer-events: auto !important;
}
#mobileMenuPanel.open,
#mobileMenuPanel.open a,
#mobileMenuPanel.open button {
  cursor: pointer !important;
  pointer-events: auto !important;
  -webkit-tap-highlight-color: color-mix(in srgb, var(--brand) 20%, transparent);
}

/* Cart + checkout option rows: never wrap letter-by-letter on WebKit */
@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-components-product-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details > li,
  html body.woocommerce-cart .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-cart .wc-block-components-product-details > div {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 6px 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    background: var(--surface-sunken) !important;
    border: 1px solid var(--line-soft) !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__name {
    display: inline !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: var(--ink-muted) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__value {
    display: inline !important;
    flex: 1 1 12ch !important;
    width: auto !important;
    min-width: 12ch !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: var(--ink) !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-cart .wc-block-components-quantity-selector {
    display: inline-flex !important;
    grid-template-columns: none !important;
    width: auto !important;
    min-width: 118px !important;
    overflow: visible !important;
  }
  html body.woocommerce-cart .wc-block-components-quantity-selector__button,
  html body.woocommerce-cart .wc-block-components-quantity-selector__input {
    flex: 0 0 auto !important;
    width: 36px !important;
    min-width: 36px !important;
  }
  html body.woocommerce-cart .wc-block-components-quantity-selector__input {
    width: 42px !important;
    min-width: 42px !important;
  }
}

/* Mini-basket — phone sheet. Keep quantity visible and stop the item clipping. */
@media (max-width: 719px) {
  #cartDrawer {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 18px 18px 0 0 !important;
    top: auto !important;
    right: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    height: min(92dvh, 100%) !important;
    max-height: 92dvh !important;
    transform: translateY(104%);
  }
  #cartDrawer.open { transform: none; }
  #cartDrawer .cart-drawer-header {
    min-height: 56px !important;
    padding: 12px 16px !important;
  }
  #cartDrawer .cart-drawer-header h2 {
    font-size: 1.05rem !important;
  }
  #cartDrawer .cart-drawer-body {
    padding: 10px 12px 0 !important;
  }
  #cartDrawer .widget_shopping_cart_content {
    overflow: hidden !important;
  }
  #cartDrawer ul.woocommerce-mini-cart {
    gap: 8px !important;
    padding: 0 0 12px !important;
    scrollbar-gutter: stable !important;
    scrollbar-width: thin !important;
  }
  #cartDrawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
    overflow: visible !important;
    padding: 12px !important;
  }
  #cartDrawer .rtf-mini-cart-product {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    overflow: visible !important;
  }
  #cartDrawer .rtf-mini-cart-head {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
    width: 56px !important;
    height: 56px !important;
  }
  #cartDrawer .rtf-mini-cart-name {
    min-height: 0 !important;
    padding: 0 44px 0 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.3 !important;
  }
  #cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button,
  #cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove {
    top: 10px !important;
    right: 10px !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
  }
  #cartDrawer dl.rtf-mini-cart-options {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  #cartDrawer .rtf-mini-cart-option {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 6px !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
  }
  #cartDrawer .rtf-mini-cart-option dt,
  #cartDrawer .rtf-mini-cart-option dd {
    display: inline !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 34px !important;
    margin: 2px 0 0 !important;
    padding: 10px 0 2px !important;
    overflow: visible !important;
    border-top: 1px solid var(--line-soft) !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
  }
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity > span,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity strong {
    overflow: visible !important;
    white-space: nowrap !important;
  }
  #cartDrawer .rtf-mini-cart-footer {
    margin: 0 -12px 0 !important;
    padding: 10px 12px max(14px, env(safe-area-inset-bottom)) !important;
    gap: 8px !important;
  }
  #cartDrawer .rtf-mini-cart-clear {
    justify-content: flex-start !important;
    order: 1 !important;
  }
  #cartDrawer .woocommerce-mini-cart__total {
    order: 2 !important;
    padding: 12px 14px !important;
  }
  #cartDrawer .woocommerce-mini-cart__buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    order: 3 !important;
  }
  #cartDrawer .woocommerce-mini-cart__buttons a.button {
    width: 100% !important;
    min-height: 46px !important;
  }
}

/* Pre-order modal — centred with stacked facts + sticky Understood on phones */
@media (max-width: 600px) {
  .modal-overlay {
    padding: 12px !important;
    align-items: center !important;
  }
  .modal-overlay .modal-box,
  #preorderBox {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: min(88dvh, 640px) !important;
    margin: 0 !important;
    padding: 18px 16px 14px !important;
    overflow: hidden !important;
    border-radius: 22px 22px 16px 16px !important;
  }
  .modal-header {
    flex: none !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
  }
  .modal-header h2 {
    min-width: 0 !important;
    font-size: 1.15rem !important;
    line-height: 1.2 !important;
  }
  .preorder-modal-intro {
    flex: none !important;
    margin-bottom: 14px !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
  }
  .preorder-modal-facts {
    flex: 0 1 auto !important;
    width: 100% !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
  }
  .preorder-modal-facts li {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    grid-template-areas: "icon label" "icon value" !important;
    align-items: start !important;
    column-gap: 10px !important;
    row-gap: 2px !important;
    padding: 12px 14px !important;
  }
  .preorder-fact-icon {
    grid-area: icon !important;
    margin-top: 1px !important;
  }
  .preorder-fact-label {
    grid-area: label !important;
    padding-top: 2px !important;
  }
  .preorder-fact-value {
    grid-area: value !important;
    width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  .modal-footer {
    flex: none !important;
    margin-top: 16px !important;
  }
  .modal-footer .btn {
    min-height: 46px !important;
  }
}

/* Mini-basket remove: circular bin on every breakpoint, matching phones */
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button,
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove,
.cart-drawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove {
  position: absolute !important;
  z-index: 3 !important;
  top: 10px !important;
  right: 10px !important;
  left: auto !important;
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--ink-muted) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-indent: -9999px !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
}
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove .rtf-mini-cart-remove-label {
  display: none !important;
}
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button::before,
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove::before {
  content: "" !important;
  position: absolute !important;
  inset: auto !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  background: currentColor !important;
  text-indent: 0 !important;
  transform: translate(-50%, -50%) !important;
  transform-origin: center !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h14M9 7V4.5h6V7M7.5 7l.75 13h7.5L16.5 7M10.5 10.5v6M13.5 10.5v6'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h14M9 7V4.5h6V7M7.5 7l.75 13h7.5L16.5 7M10.5 10.5v6M13.5 10.5v6'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button:hover,
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove:hover,
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button:focus-visible,
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove:focus-visible {
  color: var(--heart) !important;
  background: var(--rose-wash) !important;
  border-color: var(--rose-soft) !important;
}
#cartDrawer .rtf-mini-cart-name {
  padding-right: 44px !important;
}

/* Mobile checkout order summary — compact item rows, not stacked cards */
@media (max-width: 781px) {
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    overflow: hidden !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > h2,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    background: var(--brand-tint-soft) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--line-soft) !important;
    text-align: left !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button > span:first-child {
    min-width: 0 !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-formatted-money-amount,
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-formatted-money-amount {
    justify-self: end !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) auto !important;
    grid-template-areas: "image description total" !important;
    align-items: start !important;
    column-gap: 10px !important;
    row-gap: 0 !important;
    padding: 14px 14px 12px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image,
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
    max-width: 52px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
    top: 0 !important;
    left: 0 !important;
    min-width: 20px !important;
    min-height: 20px !important;
    transform: translate(-30%, -30%) !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-name {
    display: block !important;
    margin: 0 0 4px !important;
    font-size: 0.8125rem !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-metadata {
    margin: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details > li,
  html body.woocommerce-checkout .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-checkout .wc-block-components-product-details > div,
  html body.woocommerce-checkout .wc-block-components-product-details > span {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 4px 6px !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__name {
    display: inline !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    color: var(--ink-muted) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__value {
    display: inline !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    color: var(--ink) !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
    grid-area: total !important;
    align-self: start !important;
    justify-self: end !important;
    padding-top: 1px !important;
    font-size: 0.875rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }
}

/* Checkout sections — keep cards separated on phones */
@media (max-width: 781px) {
  html body.woocommerce-checkout .wc-block-checkout,
  html body.woocommerce-checkout .wc-block-checkout__form,
  html body.woocommerce-checkout .wc-block-checkout__main,
  html body.woocommerce-checkout form.wc-block-components-form,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-step,
  html body.woocommerce-checkout .wc-block-components-express-payment,
  html body.woocommerce-checkout .wc-block-components-express-payment-continue-rule,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block,
  html body.woocommerce-checkout .wc-block-checkout__add-note,
  html body.woocommerce-checkout .wc-block-checkout__terms,
  html body.woocommerce-checkout .wc-block-checkout__actions,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    margin: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-step,
  html body.woocommerce-checkout .wc-block-components-express-payment {
    padding: 16px 14px 18px !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-step__heading-container,
  html body.woocommerce-checkout .wc-block-components-checkout-step__heading {
    margin: 0 0 16px !important;
    padding: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-step__content {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    padding-top: 4px !important;
  }
  html body.woocommerce-checkout .wc-block-components-text-input,
  html body.woocommerce-checkout .wc-block-components-combobox,
  html body.woocommerce-checkout .wc-block-components-country-input,
  html body.woocommerce-checkout .wc-blocks-components-select {
    margin-top: 0 !important;
  }
}

/* Cart + checkout item cards: one aligned layout on phones */
@media (max-width: 781px) {
  html body.woocommerce-cart .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) auto !important;
    grid-template-areas:
      "image product total"
      "qty qty qty" !important;
    align-items: start !important;
    column-gap: 12px !important;
    row-gap: 10px !important;
    padding: 14px !important;
    overflow: visible !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image {
    grid-area: image !important;
    width: 56px !important;
    height: 56px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
    border-radius: 12px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product {
    grid-area: product !important;
    min-width: 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total {
    grid-area: total !important;
    min-width: 0 !important;
    padding-top: 2px !important;
    text-align: right !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price {
    font-size: 0.9375rem !important;
    font-weight: 800 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
  html body.woocommerce-checkout .wc-block-components-product-name {
    display: block !important;
    margin: 0 0 6px !important;
    color: var(--ink) !important;
    font-size: 0.875rem !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__prices {
    display: none !important;
  }
  html body.woocommerce-cart .wc-block-components-product-metadata,
  html body.woocommerce-checkout .wc-block-components-product-metadata {
    margin: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details,
  html body.woocommerce-checkout .wc-block-components-product-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details > li,
  html body.woocommerce-cart .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-cart .wc-block-components-product-details > div,
  html body.woocommerce-checkout .wc-block-components-product-details > li,
  html body.woocommerce-checkout .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-checkout .wc-block-components-product-details > div {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 6px 8px !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__name,
  html body.woocommerce-checkout .wc-block-components-product-details__name {
    margin: 0 !important;
    color: var(--ink-muted) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__value,
  html body.woocommerce-checkout .wc-block-components-product-details__value {
    min-width: 0 !important;
    margin: 0 !important;
    color: var(--ink) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__quantity {
    grid-area: qty !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
    padding: 10px 0 0 !important;
    border-top: 1px solid var(--line-soft) !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__remove-link {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    border: 1px solid var(--line) !important;
    background: var(--surface-raised) !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__remove-link span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
  }
}

/* Checkout totals: label + amount on one row */
@media (max-width: 781px) {
  html body.woocommerce-checkout .wc-block-components-totals-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item,
  html body.woocommerce-checkout .wc-block-components-totals-footer-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "label value"
      "desc desc" !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 4px !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item__label {
    grid-area: label !important;
    min-width: 0 !important;
    padding: 0 !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item__value,
  html body.woocommerce-checkout .wc-block-components-totals-item .wc-block-components-formatted-money-amount {
    grid-area: value !important;
    justify-self: end !important;
    align-self: center !important;
    margin: 0 !important;
    font-size: 0.9375rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    text-align: right !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item__description {
    grid-area: desc !important;
    grid-column: 1 / -1 !important;
    max-width: 100% !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-shipping__via,
  html body.woocommerce-checkout .wc-block-components-totals-item__description:not(:has(.wc-block-components-totals-shipping__via)) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--ink-muted) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-footer-item {
    min-height: 52px !important;
    padding: 14px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
  html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
  html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
    font-size: 1rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 48px !important;
    padding: 12px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button-icon,
  html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button > svg {
    position: static !important;
    transform: none !important;
    margin-left: auto !important;
  }
}

/* Cart/checkout options: one readable line each. Qty matches home 0.5m stepper. */
@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-components-product-details,
  html body.woocommerce-checkout .wc-block-components-product-details,
  html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised,
  html body.woocommerce-checkout .wc-block-components-product-details.rtf-cart-details-normalised {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    width: 100% !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details > li,
  html body.woocommerce-cart .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-cart .wc-block-components-product-details > div,
  html body.woocommerce-checkout .wc-block-components-product-details > li,
  html body.woocommerce-checkout .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-checkout .wc-block-components-product-details > div {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    line-height: 1.4 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__name,
  html body.woocommerce-cart .wc-block-components-product-details__value,
  html body.woocommerce-checkout .wc-block-components-product-details__name,
  html body.woocommerce-checkout .wc-block-components-product-details__value {
    display: inline !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__name,
  html body.woocommerce-checkout .wc-block-components-product-details__name {
    color: var(--ink-muted) !important;
    font-weight: 700 !important;
    margin-right: 6px !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__value,
  html body.woocommerce-checkout .wc-block-components-product-details__value {
    color: var(--ink) !important;
    font-weight: 650 !important;
  }

  html body .wc-block-components-quantity-selector.rtf-block-qty {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 3px !important;
    overflow: visible !important;
    background: var(--surface-sunken) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-pill) !important;
  }
  html body .rtf-block-qty .wc-block-components-quantity-selector__button {
    display: grid !important;
    place-items: center !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ink-muted) !important;
    background: var(--surface-raised) !important;
    border: 0 !important;
    border-radius: 50% !important;
    box-shadow: var(--shadow-xs) !important;
    font-size: 1rem !important;
  }
  html body .rtf-block-qty .wc-block-components-quantity-selector__button:hover:not(:disabled) {
    color: var(--ink-on-brand) !important;
    background: var(--brand) !important;
  }
  html body .rtf-block-qty .wc-block-components-quantity-selector__input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    border: 0 !important;
    opacity: 0 !important;
  }
  html body .rtf-block-qty .qty-value,
  html body .rtf-block-qty .rtf-block-qty-value {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 52px !important;
    height: 32px !important;
    color: var(--ink) !important;
    font-size: 0.875rem !important;
    font-weight: 800 !important;
    font-variant-numeric: tabular-nums !important;
    line-height: 1 !important;
  }
}

/* =============================================================================
   v1.2.77 — Safari overlay isolation, tap targets, iOS safe area
   =============================================================================
   Closed drawers/overlays sat at z-index 1000+ with backdrop-filter still
   applied. On iOS Safari the composited layer intercepts taps even when
   pointer-events is none and visibility is hidden, so the header hamburger
   never fires. Closed surfaces now drop below the header, drop their
   backdrop-filter, and opt their descendants out of hit-testing.
   ========================================================================== */

.search-overlay:not(.open),
.modal-overlay:not(.open),
.lightbox-overlay:not(.open),
.cart-drawer-overlay:not(.open),
.wishlist-overlay:not(.open),
.mobile-menu-overlay:not(.open) {
  z-index: 0 !important;
  pointer-events: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  content-visibility: hidden;
}
.search-overlay:not(.open) *,
.modal-overlay:not(.open) *,
.lightbox-overlay:not(.open) *,
.cart-drawer-overlay:not(.open) *,
.wishlist-overlay:not(.open) *,
.mobile-menu-overlay:not(.open) * {
  pointer-events: none !important;
}
.cart-drawer:not(.open),
.wishlist-drawer:not(.open),
.mobile-menu:not(.open) {
  z-index: 0 !important;
  pointer-events: none !important;
}
.cart-drawer:not(.open) *,
.wishlist-drawer:not(.open) *,
.mobile-menu:not(.open) * {
  pointer-events: none !important;
}

.search-overlay.open,
.modal-overlay.open,
.lightbox-overlay.open {
  z-index: var(--z-modal);
  content-visibility: visible;
}
.cart-drawer-overlay.open,
.wishlist-overlay.open,
.mobile-menu-overlay.open {
  z-index: var(--z-overlay);
  content-visibility: visible;
}
.cart-drawer.open,
.wishlist-drawer.open,
.mobile-menu.open {
  z-index: var(--z-drawer);
}

/* Expand the visual 40px header icons to a 44px hit area without
   stealing space from the wordmark on 360px phones. */
.header-actions > button,
.header-actions > a,
.mobile-menu-btn {
  touch-action: manipulation;
}
.header-actions > button::after,
.header-actions > a::after {
  content: '';
  position: absolute;
  inset: -4px;
}
.announcement-bar {
  padding-left: max(12px, env(safe-area-inset-left));
  padding-right: max(12px, env(safe-area-inset-right));
  padding-top: env(safe-area-inset-top, 0px);
  height: calc(var(--announcement-height) + env(safe-area-inset-top, 0px));
  min-height: calc(var(--announcement-height) + env(safe-area-inset-top, 0px));
  max-height: calc(var(--announcement-height) + env(safe-area-inset-top, 0px));
}
.site-header {
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

.mm-theme-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-3);
  margin: var(--s-4) var(--s-5) 0;
  padding: 10px 14px;
  background: var(--surface-sunken);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
}
.mm-theme-row-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--t-sm);
  font-weight: 700;
  color: var(--ink);
}
.mm-theme-row .theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--ink-muted);
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.mm-theme-row .theme-toggle:hover { color: var(--brand); border-color: var(--brand-soft); }

@media (max-width: 560px) {
  .community-btns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100%;
  }
  .community-btns .btn {
    width: 100% !important;
    flex: none !important;
    white-space: nowrap;
  }
}

.product-wishlist,
.carousel-arrow-controls button {
  position: relative;
}
.product-wishlist::after,
.product-zoom::after,
.carousel-arrow-controls button::after {
  content: '';
  position: absolute;
  inset: -6px;
}

@media (max-width: 900px) {
  .header-actions > .mobile-menu-btn {
    display: inline-flex;
    z-index: 2;
  }
}

@media (max-width: 900px) {
  .hero-stat-label {
    font-size: 10px !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
  }
}

@media (max-width: 600px) {
  .product-name,
  .hero-stat-label,
  .category-info h3 {
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  .hero-stat-label {
    font-size: 10px !important;
    letter-spacing: 0.03em !important;
  }
}

/* =============================================================================
   v1.2.78 — Checkout: static order breakdown, finished mobile layout
   The WooCommerce “N items” chevron was a dummy accordion: JS already forced
   the lines open, so the arrow did nothing. Hide it. Keep the coupon control.
   ========================================================================== */

html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block > .wc-block-components-panel > .wc-block-components-panel__button,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block .wc-block-components-panel__button {
  display: none !important;
}

html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button svg,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button .wc-block-components-panel__button-icon,
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title svg,
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-panel__button-icon {
  display: none !important;
}

html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button,
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
  pointer-events: none !important;
  cursor: default !important;
  background: var(--brand-tint-soft) !important;
}

html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-panel__button {
  pointer-events: auto !important;
  cursor: pointer !important;
  background: transparent !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button svg,
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button-icon {
  display: block !important;
}

html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block .wc-block-components-panel__content,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__content,
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__content,
html body.woocommerce-checkout .wc-block-components-order-summary {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  visibility: visible !important;
}

@media (max-width: 781px) {
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > h2,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 0 !important;
    padding: 14px 16px !important;
    background: var(--brand-tint-soft) !important;
    border-bottom: 1px solid var(--line) !important;
  }
  html body.woocommerce-checkout .wc-block-checkout,
  html body.woocommerce-checkout .wc-block-checkout__form,
  html body.woocommerce-checkout .wc-block-checkout__main,
  html body.woocommerce-checkout form.wc-block-components-form,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-step,
  html body.woocommerce-checkout .wc-block-components-express-payment {
    padding: 16px !important;
    border-radius: 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-address-form,
  html body.woocommerce-checkout .wc-block-components-address-form-wrapper {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  html body.woocommerce-checkout .wc-block-components-address-form > *,
  html body.woocommerce-checkout .form-row-first,
  html body.woocommerce-checkout .form-row-last,
  html body.woocommerce-checkout .form-row-wide {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
  }
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item {
    padding: 10px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button {
    padding: 12px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon__form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 0 16px 14px !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
  html body.woocommerce-checkout #place_order {
    width: 100% !important;
    min-height: 52px !important;
  }
}

/* v1.2.79 — order summary items stay inside the card on mobile.
   Qty badge sits on the thumbnail (not hanging off the header).
   Name + price share a row; meta stacks underneath. */
html body.woocommerce-checkout .wc-block-components-order-summary-item,
html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) auto !important;
  grid-template-areas: "image description total" !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  grid-area: image !important;
  position: relative !important;
  overflow: visible !important;
  width: 56px !important;
  min-width: 56px !important;
  height: 56px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  width: 56px !important;
  max-width: 56px !important;
  height: 56px !important;
  border-radius: 10px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  top: auto !important;
  left: auto !important;
  right: 0 !important;
  bottom: 0 !important;
  transform: none !important;
  z-index: 2 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
  grid-area: description !important;
  min-width: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices {
  grid-area: total !important;
  justify-self: end !important;
  align-self: start !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  overflow: hidden !important;
}

/* =============================================================================
   v1.2.81 — Mobile checkout order summary: use the full width, stop
   truncating the title, keep Scale/Base on one line each, keep the
   quantity on the thumbnail.
   ========================================================================== */
@media (max-width: 900px) {
  html body.woocommerce-checkout .wc-block-checkout,
  html body.woocommerce-checkout .wc-block-checkout__form,
  html body.woocommerce-checkout .wc-block-components-sidebar-layout,
  html body.woocommerce-checkout .wc-block-components-sidebar-layout:not(.is-mobile),
  html body.woocommerce-checkout .wp-block-woocommerce-checkout {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 16px !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__main,
  html body.woocommerce-checkout .wc-block-checkout__sidebar,
  html body.woocommerce-checkout .wc-block-components-main,
  html body.woocommerce-checkout .wc-block-components-sidebar,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    float: none !important;
    margin: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__sidebar,
  html body.woocommerce-checkout .wc-block-components-sidebar {
    order: -1 !important;
    position: static !important;
  }

  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > h2,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 6px 12px !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    background: var(--brand-tint-soft) !important;
    border-bottom: 1px solid var(--line) !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button > span:first-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    font-size: 0.9375rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
  }
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-formatted-money-amount,
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-formatted-money-amount {
    flex: 0 0 auto !important;
    font-size: 0.9375rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }

  html body.woocommerce-checkout .wc-block-components-order-summary-item,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    grid-template-areas: "image description total" !important;
    align-items: start !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    overflow: visible !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
    grid-area: image !important;
    position: relative !important;
    width: 64px !important;
    min-width: 64px !important;
    height: 64px !important;
    overflow: visible !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 64px !important;
    max-width: 64px !important;
    height: 64px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
    position: absolute !important;
    top: auto !important;
    left: auto !important;
    right: -4px !important;
    bottom: -4px !important;
    transform: none !important;
    z-index: 2 !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
    grid-area: description !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-name {
    display: block !important;
    margin: 0 0 4px !important;
    font-size: 0.875rem !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-metadata {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    list-style: none !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details li,
  html body.woocommerce-checkout .wc-block-components-product-details > div,
  html body.woocommerce-checkout .wc-block-components-product-details > span {
    display: block !important;
    margin: 0 0 2px !important;
    padding: 0 !important;
    min-height: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    line-height: 1.35 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__name,
  html body.woocommerce-checkout .wc-block-components-product-details__value {
    display: inline !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    grid-column: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__name {
    color: var(--ink-muted) !important;
    font-weight: 700 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__name::after {
    content: "\00a0" !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__value {
    color: var(--ink) !important;
    font-weight: 650 !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
  html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices {
    grid-area: total !important;
    justify-self: end !important;
    align-self: start !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0.875rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item {
    padding: 8px 14px !important;
  }
}

/* =============================================================================
   v1.2.82 — Payment options: one card, not a card inside a card inside a card.
   WooCommerce Blocks + PayPal wrap the method description in extra panels.
   ========================================================================== */
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option + .wc-block-components-radio-control-accordion-option,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option + .wc-block-components-radio-control-accordion-option {
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid var(--line-soft) !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content,
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-content {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 6px 0 4px 46px !important;
  color: var(--ink-muted) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  font-size: 0.8125rem !important;
  line-height: 1.45 !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content :is(p, div, span, li, a, strong, em, small, ul, form, section, article, label),
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content [class*="payment"],
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content [class*="ppcp"],
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content .payment_box {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 0.35em !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content :is(span, strong, em, a, small, b, i) {
  display: inline !important;
  width: auto !important;
  margin: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content :is(p, div):last-child {
  margin-bottom: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content :is(iframe, button, input, select, textarea),
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content .paypal-buttons,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content [id^="paypal-"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 8px 0 0 !important;
  padding: revert !important;
  background: revert !important;
  border: revert !important;
  border-radius: 8px !important;
  color: revert !important;
}

/* PayPal once: hide express (duplicate of the payment method) and extra
   smart-buttons in the accordion. Place order is the single PayPal action. */
html body.woocommerce-checkout .wc-block-components-express-payment,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block,
html body.woocommerce-checkout .wc-block-checkout__express-payment,
html body.woocommerce-checkout .wc-block-components-express-payment-continue-rule {
  display: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .paypal-buttons,
html body.woocommerce-checkout .wc-block-checkout__payment-method .paypal-buttons-context-iframe,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content iframe[title*="PayPal"],
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content iframe[name*="paypal"] {
  display: none !important;
}
html body.woocommerce-checkout .rtf-payment-solo .wc-block-components-radio-control__option {
  cursor: default;
}
html body.woocommerce-checkout .rtf-payment-solo .wc-block-components-radio-control-accordion-option + .wc-block-components-radio-control-accordion-option {
  border-top: 0 !important;
}

html body.woocommerce-checkout .rtf-shipping-select-wrap,
html body.woocommerce-checkout .rtf-shipping-choice {
  width: 100%;
  margin: 0;
}
html body.woocommerce-checkout .rtf-shipping-has-select .wc-block-components-radio-control,
html body.woocommerce-checkout #shipping_method.rtf-shipping-has-select > li {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 900px) {
  html body.woocommerce-checkout .wc-block-components-checkout-step.wc-block-checkout__payment-method,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
  html body.woocommerce-checkout .wc-block-checkout__payment-method {
    padding: 16px 14px !important;
  }
  html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content {
    padding: 4px 0 2px 46px !important;
  }
}

/* =============================================================================
   v1.2.85 — Mobile basket matches checkout cards, not a squeezed table.
   ========================================================================== */
@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-components-sidebar-layout,
  html body.woocommerce-cart .wc-block-components-sidebar-layout.is-mobile,
  html body.woocommerce-cart .wc-block-components-sidebar-layout:not(.is-mobile),
  html body.woocommerce-cart .wc-block-cart {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart__main,
  html body.woocommerce-cart .wc-block-cart__sidebar,
  html body.woocommerce-cart .wc-block-components-main,
  html body.woocommerce-cart .wc-block-components-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    float: none !important;
  }
  html body.woocommerce-cart .wc-block-cart__sidebar {
    overflow: hidden !important;
    background: var(--surface-raised) !important;
    border: 1px solid var(--line) !important;
    border-radius: 20px !important;
    box-shadow: var(--shadow-sm) !important;
  }

  html body.woocommerce-cart table.wc-block-cart-items,
  html body.woocommerce-cart .wc-block-cart-items,
  html body.woocommerce-cart .wc-block-cart-items tbody {
    display: grid !important;
    gap: 12px !important;
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart-items thead { display: none !important; }

  html body.woocommerce-cart .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    grid-template-areas:
      "image product"
      "qty qty" !important;
    column-gap: 12px !important;
    row-gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px !important;
    overflow: visible !important;
    background: var(--surface-raised) !important;
    border: 1px solid var(--line) !important;
    border-radius: 20px !important;
    box-shadow: var(--shadow-sm) !important;
  }
  html body.woocommerce-cart .wc-block-cart-items__row > td,
  html body.woocommerce-cart .wc-block-cart-items__row > * {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image {
    grid-area: image !important;
    width: 72px !important;
    max-width: 72px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 72px !important;
    max-width: 72px !important;
    height: 72px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product {
    grid-area: product !important;
    min-width: 0 !important;
    padding-right: 72px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total {
    grid-area: product !important;
    justify-self: end !important;
    align-self: start !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 1px 0 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
    display: block !important;
    margin: 0 !important;
    font-size: 0.9375rem !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__prices,
  html body.woocommerce-cart .wc-block-cart-item__prices::before {
    display: none !important;
    content: none !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price {
    font-size: 0.9375rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-cart .wc-block-components-product-metadata {
    margin: 6px 0 0 !important;
    padding: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details li,
  html body.woocommerce-cart .wc-block-components-product-details > div,
  html body.woocommerce-cart .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-cart .wc-block-components-product-details > [class*="wc-block-components-product-details__"]:not(.wc-block-components-product-details__name):not(.wc-block-components-product-details__value) {
    display: block !important;
    margin: 0 0 2px !important;
    padding: 0 !important;
    min-height: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__name,
  html body.woocommerce-cart .wc-block-components-product-details__value {
    display: inline !important;
    width: auto !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__name {
    color: var(--ink-muted) !important;
    font-weight: 700 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__name::after {
    content: "\00a0" !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__quantity {
    grid-area: qty !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--line-soft) !important;
  }
  html body.woocommerce-cart .wc-block-components-quantity-selector,
  html body.woocommerce-cart .qty-stepper.rtf-block-qty {
    display: inline-flex !important;
    grid-template-columns: none !important;
    height: auto !important;
    min-height: 40px !important;
    overflow: visible !important;
    background: var(--surface-sunken) !important;
    border: 1px solid var(--line) !important;
    border-radius: 999px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__remove-link {
    display: inline-flex !important;
    width: auto !important;
    min-height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 12px !important;
    color: var(--ink-muted) !important;
    background: var(--surface-sunken) !important;
    border: 1px solid var(--line) !important;
    border-radius: 999px !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__remove-link span {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: nowrap !important;
  }

  html body.woocommerce-cart .wc-block-cart__totals-title {
    padding: 14px 16px !important;
    background: var(--brand-tint-soft) !important;
  }
  html body.woocommerce-cart .wc-block-components-totals-coupon__form {
    grid-template-columns: 1fr !important;
  }
  html body.woocommerce-cart .wc-block-components-totals-coupon__button,
  html body.woocommerce-cart .wc-block-cart__submit-button,
  html body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button {
    width: 100% !important;
    min-height: 48px !important;
  }
  html body.woocommerce-cart .wc-block-components-express-payment--cart,
  html body.woocommerce-cart .wc-block-cart__payment-options,
  html body.woocommerce-cart .wc-block-components-express-payment-continue-rule--cart {
    display: none !important;
  }
}

/* =============================================================================
   v1.2.86 — Thumbnails fill their square frames on mobile.
   Global `img { height: auto }` and WooCommerce loop CSS were leaving gaps.
   ========================================================================== */
.product-image-inner,
.pdp-thumb,
.pdp-main-image-trigger,
.search-result-image,
.wishlist-item-swatch,
.cart-page-item-image,
.cart-drawer .rtf-mini-cart-image,
#cartDrawer .rtf-mini-cart-image,
.woocommerce-cart .wc-block-cart-item__image {
  position: relative !important;
  overflow: hidden !important;
  background: var(--surface-sunken);
}
.pdp-main-image-trigger { aspect-ratio: 1; width: 100%; }
.product-image-inner img,
.woocommerce ul.products li.product .product-image-inner img,
.woocommerce ul.products li.product .product-image img,
.pdp-thumb img,
.pdp-main-image-trigger .pdp-main-image,
.search-result-image img,
.wishlist-item-swatch img,
.cart-page-item-image img,
.cart-drawer .rtf-mini-cart-image img,
#cartDrawer .rtf-mini-cart-image img,
.woocommerce-cart .wc-block-cart-item__image a,
.woocommerce-cart .wc-block-cart-item__image img,
.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  max-height: none !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}
.woocommerce-cart .wc-block-cart-item__image,
.woocommerce-cart .wc-block-cart-item__image a {
  display: block !important;
  width: 72px !important;
  height: 72px !important;
  overflow: hidden !important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__image {
  position: relative !important;
  overflow: visible !important;
}
.cart-page-item-image { width: 96px; height: 96px; }
@media (max-width: 520px) {
  .cart-page-item-image { width: 72px; height: 72px; }
}

/* =============================================================================
   v1.2.87 — Basket cards match the rest of the site on desktop too.
   ========================================================================== */
html body.woocommerce-cart .wc-block-cart-items__row {
  display: grid !important;
  grid-template-columns: 88px minmax(0, 1fr) auto !important;
  grid-template-areas:
    "image product total"
    "qty qty qty" !important;
  column-gap: 16px !important;
  row-gap: 12px !important;
  padding: 16px !important;
  overflow: visible !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: 20px !important;
  box-shadow: var(--shadow-sm) !important;
}
html body.woocommerce-cart .wc-block-cart-item__image { grid-area: image !important; width: 88px !important; height: 88px !important; }
html body.woocommerce-cart .wc-block-cart-item__image a,
html body.woocommerce-cart .wc-block-cart-item__image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  border-radius: 12px !important;
}
html body.woocommerce-cart .wc-block-cart-item__product { grid-area: product !important; padding-right: 0 !important; }
html body.woocommerce-cart .wc-block-cart-item__total { grid-area: total !important; justify-self: end !important; }
html body.woocommerce-cart .wc-block-cart-item__quantity { grid-area: qty !important; }
html body.woocommerce-cart .wc-block-cart-item__prices,
html body.woocommerce-cart .wc-block-cart-item__prices::before {
  display: none !important;
  content: none !important;
}
html body.woocommerce-cart .wc-block-components-product-details,
html body.woocommerce-cart .wc-block-components-product-details li,
html body.woocommerce-cart .wc-block-components-product-details .rtf-cart-detail {
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-cart .wc-block-components-quantity-selector,
html body.woocommerce-cart .qty-stepper.rtf-block-qty {
  display: inline-flex !important;
  align-items: center !important;
  grid-template-columns: none !important;
  height: auto !important;
  min-height: 40px !important;
  padding: 3px !important;
  overflow: visible !important;
  border-radius: 999px !important;
}
html body.woocommerce-cart .wc-block-cart-item__remove-link span {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: nowrap !important;
}
html body.woocommerce-cart .wc-block-components-express-payment,
html body.woocommerce-cart .wc-block-components-express-payment--cart,
html body.woocommerce-cart .wp-block-woocommerce-cart-express-payment-block,
html body.woocommerce-cart .wc-block-cart__payment-options,
html body.woocommerce-cart .wc-block-components-express-payment-continue-rule--cart {
  display: none !important;
}

@media (max-width: 600px) {
  html body.woocommerce-cart .wc-block-cart-items__row {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    grid-template-areas:
      "image product"
      "qty qty" !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image { width: 72px !important; height: 72px !important; }
  html body.woocommerce-cart .wc-block-cart-item__total {
    grid-area: product !important;
    justify-self: end !important;
    align-self: start !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product {
    padding-right: 72px !important;
  }
}

.wishlist-item-remove {
  width: 36px !important;
  height: 36px !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: 50% !important;
}
.wishlist-item-remove .icon { width: 16px; height: 16px; }

html body.woocommerce-cart .wc-block-components-totals-footer-item,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item::before,
html body.woocommerce-cart .wc-block-components-totals-footer-item::after,
html body.woocommerce-cart .wc-block-components-totals-footer-item *::before,
html body.woocommerce-cart .wc-block-components-totals-footer-item *::after {
  display: none !important;
  content: none !important;
  background: none !important;
  box-shadow: none !important;
  border: 0 !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__description:empty,
html body.woocommerce-checkout .wc-block-cart__sidebar .wc-block-components-skeleton,
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-skeleton__element {
  display: none !important;
}

html body.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option,
html body.woocommerce-checkout .wc-block-components-radio-control__option,
html body.woocommerce-checkout .wc-block-components-radio-control__option:has(.wc-block-components-radio-control__input:checked),
html body.woocommerce-checkout .wc-block-components-radio-control__option-layout,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-step.wc-block-checkout__payment-method,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block {
  overflow: visible !important;
}
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block,
html body.woocommerce-checkout .wc-block-checkout__add-note,
html body.woocommerce-checkout .wc-block-checkout__order-notes,
html body.woocommerce-checkout .woocommerce-additional-fields,
html body.woocommerce-checkout .woocommerce-additional-fields-wrapper,
html body.woocommerce-checkout #order_comments_field,
html body.woocommerce-checkout #order_comments {
  display: none !important;
}

@media (min-width: 601px) and (max-width: 1024px) {
  html body.woocommerce-checkout .wc-block-components-checkout-step.wc-block-checkout__payment-method,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
  html body.woocommerce-checkout .wc-block-checkout__payment-method {
    padding: 18px 18px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-radio-control__option {
    min-height: 48px !important;
    padding: 8px 0 !important;
  }
}

#cartDrawer dl.rtf-mini-cart-options,
.cart-drawer dl.rtf-mini-cart-options {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 2px !important;
  width: 100% !important;
  margin: 0 !important;
}
#cartDrawer .rtf-mini-cart-option,
.cart-drawer .rtf-mini-cart-option {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  flex: none !important;
  align-items: baseline !important;
  gap: 0 6px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}
#cartDrawer .rtf-mini-cart-option dt,
.cart-drawer .rtf-mini-cart-option dt {
  display: inline !important;
  color: var(--ink-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
  text-transform: none !important;
}
#cartDrawer .rtf-mini-cart-option dd,
.cart-drawer .rtf-mini-cart-option dd {
  display: inline !important;
  min-width: 0 !important;
  color: var(--ink) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  overflow-wrap: break-word !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity,
.cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 8px 0 0 !important;
  padding: 10px 0 0 !important;
  border-top: 1px solid var(--line-soft) !important;
  color: var(--ink-muted) !important;
  font-size: 12px !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity strong,
.cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity strong {
  color: var(--ink) !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
}
#cartDrawer .rtf-mini-cart-quantity .qty-stepper {
  display: inline-flex !important;
}

html body.woocommerce-checkout :is(
  .wc-block-components-text-input,
  .wc-block-components-combobox,
  .wc-block-components-combobox-control,
  .wc-block-components-country-input,
  .wc-block-components-state-input,
  .wc-blocks-components-select,
  .wc-blocks-components-select__container,
  .components-base-control,
  .components-base-control__field
) {
  position: relative !important;
  padding-top: 0 !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-text-input,
  .components-base-control__field,
  .wc-blocks-components-select,
  .wc-blocks-components-select__container
) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 6px !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-text-input label,
  .wc-block-components-combobox label,
  .wc-block-components-combobox-control label,
  .wc-block-components-country-input label,
  .wc-block-components-state-input label,
  .wc-blocks-components-select__label,
  .wc-block-components-textarea label,
  .wc-block-components-validated-text-input label,
  .components-base-control__label,
  .components-input-control__label
) {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 2 !important;
  display: block !important;
  order: -1 !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 2px !important;
  overflow: visible !important;
  color: var(--ink) !important;
  background: none !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  transform: none !important;
  pointer-events: none !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-text-input label,
  .wc-block-components-combobox label,
  .wc-block-components-country-input label,
  .wc-block-components-state-input label,
  .wc-blocks-components-select__label,
  .wc-block-components-textarea label,
  .components-base-control__label,
  .components-input-control__label
)::before,
html body.woocommerce-checkout :is(
  .wc-block-components-text-input label,
  .wc-block-components-combobox label,
  .wc-block-components-country-input label,
  .wc-block-components-state-input label,
  .wc-blocks-components-select__label,
  .wc-block-components-textarea label,
  .components-base-control__label,
  .components-input-control__label
)::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

@media (max-width: 900px) {
  .pdp-purchase-card {
    padding: 12px !important;
  }
  .pdp-purchase-card .variations {
    margin: 0 0 8px !important;
  }
  .pdp-purchase-card .variations tr + tr {
    margin-top: 10px !important;
  }
  .pdp-purchase-card .variations th,
  .pdp-purchase-card .variations td {
    padding: 0 !important;
  }
  .pdp-purchase-card .variations td {
    padding-top: 6px !important;
  }
  .pdp-purchase-card .variations th label {
    margin: 0 !important;
  }
  .pdp-purchase-card .base-selector-wrap,
  .pdp-purchase-card .scale-selector-wrap,
  .pdp-purchase-card .rtf-scale-option {
    margin: 0 0 10px !important;
  }
  .pdp-purchase-card .base-selector-wrap label,
  .pdp-purchase-card .scale-selector-wrap label,
  .pdp-purchase-card .rtf-scale-option label {
    margin-bottom: 6px !important;
  }
  .pdp-purchase-card .woocommerce-variation-description:empty,
  .pdp-purchase-card .woocommerce-variation-price:empty {
    display: none !important;
  }
  .pdp-purchase-card .woocommerce-variation-description,
  .pdp-purchase-card .woocommerce-variation-price {
    margin: 0 0 8px !important;
  }
  .pdp-purchase-card form.cart:not(.variations_form),
  .pdp-purchase-card .woocommerce-variation-add-to-cart {
    gap: 8px !important;
  }
  .pdp-purchase-card .rtf-choice-button,
  .pdp-purchase-card .pdp-qty-stepper,
  .pdp-purchase-card .pdp-qty-value,
  .pdp-purchase-card .qty-stepper,
  .product-details .pdp-purchase-card form.cart .single_add_to_cart_button,
  .pdp-purchase-card .btn.btn-primary {
    min-height: 48px !important;
  }
  .pdp-purchase-card .pdp-qty-add-row,
  .pdp-purchase-card .qty-row {
    gap: 8px !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

.product-card {
  padding-top: 0 !important;
}
.product-image,
.product-image-inner {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  overflow: hidden !important;
}
.product-image-inner {
  position: relative !important;
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  height: auto !important;
}
.product-image-inner img,
.woocommerce ul.products li.product .product-image-inner img,
.woocommerce ul.products li.product a.product-image img {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

html body.woocommerce-cart .wc-block-cart__sidebar {
  overflow: visible !important;
}
html body.woocommerce-cart .wc-block-cart__submit-container,
html body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block,
html body.woocommerce-cart .wc-block-cart__submit {
  position: static !important;
  inset: auto !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 12px 16px 16px !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
html body.woocommerce-cart .wc-block-cart__submit-button,
html body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button,
html body.woocommerce-cart a.wc-block-components-button.contained {
  display: flex !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  overflow: hidden !important;
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
html body.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text,
html body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button__text {
  text-decoration: none !important;
  box-shadow: none !important;
}
html body.woocommerce-cart #ppcp-cart-paylater-messages,
html body.woocommerce-cart .ppcp-messages,
html body.woocommerce-cart [id^="ppcp-"][id*="paylater"] {
  margin: 8px 16px 4px !important;
  max-width: calc(100% - 32px) !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

html body.woocommerce-cart .wc-block-cart-items__row {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) auto !important;
  grid-template-areas:
    "image product total"
    "qty qty qty" !important;
  column-gap: 16px !important;
  row-gap: 12px !important;
  align-items: start !important;
  padding: 18px !important;
}
html body.woocommerce-cart .wc-block-cart-item__image {
  grid-area: image !important;
  width: 96px !important;
}
html body.woocommerce-cart .wc-block-cart-item__image a,
html body.woocommerce-cart .wc-block-cart-item__image img {
  width: 96px !important;
  height: 96px !important;
  max-width: 96px !important;
  border-radius: 14px !important;
  object-fit: cover !important;
}
html body.woocommerce-cart .wc-block-cart-item__product {
  grid-area: product !important;
  min-width: 0 !important;
  padding: 0 !important;
}
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
html body.woocommerce-cart a.wc-block-components-product-name {
  color: var(--ink) !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name:hover {
  color: var(--brand) !important;
}
html body.woocommerce-cart .wc-block-cart-item__total {
  grid-area: total !important;
  justify-self: end !important;
  align-self: start !important;
  padding: 2px 0 0 !important;
}
html body.woocommerce-cart .wc-block-cart-item__quantity {
  grid-area: qty !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--line-soft) !important;
}
html body.woocommerce-cart .wc-block-components-quantity-selector,
html body.woocommerce-cart .qty-stepper.rtf-block-qty {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 2px !important;
  width: auto !important;
  min-width: 132px !important;
  height: 44px !important;
  padding: 4px !important;
  overflow: visible !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: 999px !important;
}
html body.woocommerce-cart .wc-block-components-quantity-selector__input,
html body.woocommerce-cart .rtf-block-qty .cart-page-native-qty {
  order: 0 !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html body.woocommerce-cart .wc-block-components-quantity-selector__button--minus,
html body.woocommerce-cart .qty-minus { order: 1 !important; }
html body.woocommerce-cart .rtf-block-qty-value,
html body.woocommerce-cart .qty-value { order: 2 !important; }
html body.woocommerce-cart .wc-block-components-quantity-selector__button--plus,
html body.woocommerce-cart .qty-plus { order: 3 !important; }
html body.woocommerce-cart .wc-block-components-quantity-selector__button,
html body.woocommerce-cart .rtf-block-qty .qty-minus,
html body.woocommerce-cart .rtf-block-qty .qty-plus {
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  background: var(--surface-raised) !important;
  border: 0 !important;
  border-radius: 50% !important;
  font-size: 18px !important;
  line-height: 1 !important;
}
html body.woocommerce-cart .rtf-block-qty-value,
html body.woocommerce-cart .qty-value {
  min-width: 52px !important;
  padding: 0 6px !important;
  color: var(--ink) !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
  text-align: center !important;
}
html body.woocommerce-cart .wc-block-cart-item__remove-link {
  display: grid !important;
  place-items: center !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  text-decoration: none !important;
}
html body.woocommerce-cart .wc-block-cart-item__remove-link span {
  display: none !important;
}
html body.woocommerce-cart .wc-block-cart-item__remove-link svg {
  width: 16px !important;
  height: 16px !important;
}

@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-cart-items__row {
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    grid-template-areas:
      "image product total"
      "qty qty qty" !important;
    padding: 14px !important;
    column-gap: 12px !important;
    row-gap: 12px !important;
    align-items: start !important;
    overflow: visible !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image,
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product {
    grid-area: product !important;
    min-width: 0 !important;
    padding: 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total {
    grid-area: total !important;
    justify-self: end !important;
    align-self: start !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
  }
}

html body.woocommerce-checkout :is(
  .wc-block-components-shipping-rates-control,
  .wc-block-components-shipping-rates-control__package,
  .wc-block-components-radio-control,
  #shipping_method,
  .woocommerce-shipping-methods,
  .woocommerce-checkout .woocommerce-shipping-methods
) {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  counter-reset: none !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-radio-control__option,
  .wc-block-components-radio-control-accordion-option,
  .wc-block-components-shipping-rates-control li,
  #shipping_method li,
  .woocommerce-shipping-methods li
) {
  list-style: none !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-radio-control__option,
  .wc-block-components-shipping-rates-control li,
  #shipping_method li
)::marker {
  content: none !important;
  display: none !important;
  font-size: 0 !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
html body.woocommerce-checkout #shipping_method li {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) auto !important;
  align-items: start !important;
  column-gap: 12px !important;
  min-height: 52px !important;
  padding: 12px 14px !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout #shipping_method li::before {
  position: static !important;
  top: auto !important;
  left: auto !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
  margin-top: 0 !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option::after,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option::after,
html body.woocommerce-checkout #shipping_method li::after {
  left: 21px !important;
  top: 16px !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout {
  display: flex !important;
  flex: 1 1 auto !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: auto !important;
  min-width: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label {
  grid-column: 2 !important;
  min-width: 0 !important;
  padding-left: 0 !important;
  text-indent: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label {
  grid-column: 3 !important;
  grid-row: 1 !important;
  white-space: nowrap !important;
}

html body.woocommerce-checkout .rtf-shipping-has-select :is(
  .wc-block-components-radio-control,
  .rtf-shipping-native,
  #shipping_method,
  .woocommerce-shipping-methods
) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  pointer-events: none !important;
}


.wishlist-drawer,
#wishlistPanel {
  box-sizing: border-box;
  overflow: hidden;
}
.wishlist-drawer *,
#wishlistPanel * { box-sizing: border-box; }
.wishlist-drawer-items {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  min-height: 0;
}
.wl-item {
  flex: 0 0 auto;
  min-width: 0;
  margin-bottom: 0;
  overflow: visible;
}
.wishlist-item-header {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 36px;
  gap: 12px;
  align-items: center;
}
img.wishlist-item-swatch,
.wishlist-item-swatch {
  display: block;
  width: 64px;
  height: 64px;
  object-fit: cover;
  object-position: center;
  background: var(--surface-sunken);
  border-radius: 10px;
}
.wishlist-item-name {
  display: block;
  overflow-wrap: break-word;
  color: var(--ink);
  text-decoration: none;
}
.wishlist-item-controls,
.wishlist-field,
.wishlist-item-controls .rtf-choice {
  width: 100%;
  min-width: 0;
}
.wl-bottom-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.wl-qty-stepper {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  min-width: 124px;
  height: 44px;
  padding: 3px;
  background: var(--surface-sunken);
  border: 1px solid var(--line);
  border-radius: 999px;
}
.wishlist-drawer :is(.wishlist-item-remove, .rtf-choice-arrow, .wl-qty-stepper button) > .icon,
.wishlist-drawer-header button > .icon {
  display: block;
  margin: 0;
  vertical-align: middle;
}
.wl-add-btn { min-width: 0; }

@media (max-width: 600px) {
  .wishlist-drawer,
  #wishlistPanel {
    width: min(400px, 100%) !important;
    max-width: 100% !important;
    height: 100dvh !important;
    padding-bottom: env(safe-area-inset-bottom);
    border-radius: 20px 0 0 20px;
  }
  .wishlist-drawer-header {
    padding: calc(14px + env(safe-area-inset-top)) 14px 12px !important;
  }
  .wishlist-drawer-header h3 {
    font-size: 1.05rem;
  }
  .wishlist-drawer-actions {
    max-height: none !important;
    overflow: visible !important;
    padding: 10px 14px !important;
  }
  .wishlist-drawer-actions .wishlist-clear-btn,
  .wishlist-drawer-actions .rtf-empty-button {
    display: inline-flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 42px !important;
    margin: 0 !important;
  }
  .wishlist-drawer-items {
    padding: 12px 14px calc(16px + env(safe-area-inset-bottom)) !important;
    gap: 10px;
  }
  .wl-item {
    padding: 12px !important;
  }
  .wishlist-item-header {
    grid-template-columns: 56px minmax(0, 1fr) 36px !important;
    gap: 10px !important;
    align-items: center !important;
  }
  img.wishlist-item-swatch,
  .wishlist-item-swatch {
    width: 56px !important;
    height: 56px !important;
  }
  .wishlist-item-remove {
    justify-self: end;
  }
  .wishlist-item-controls {
    gap: 8px !important;
    margin-top: 10px !important;
  }
  .wishlist-item-controls .rtf-choice-button {
    min-height: 44px !important;
  }
  .wl-bottom-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .wl-qty-stepper,
  .wl-add-btn {
    width: 100% !important;
    justify-content: center;
  }
  .wl-qty-stepper {
    justify-content: space-between !important;
  }
  .rtf-choice-list--wishlist {
    max-width: calc(100vw - 48px);
  }
}

html body.woocommerce-checkout :is(
  .wc-block-components-shipping-rates-control,
  .wc-block-components-shipping-rates-control__package,
  .wc-block-components-radio-control,
  #shipping_method,
  .woocommerce-shipping-methods
) {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-radio-control__option,
  .wc-block-components-radio-control-accordion-option,
  .wc-block-components-shipping-rates-control li,
  #shipping_method li,
  .woocommerce-shipping-methods li
) {
  list-style: none !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-radio-control__option,
  .wc-block-components-shipping-rates-control li,
  #shipping_method li
)::marker {
  content: none !important;
  display: none !important;
  font-size: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option,
html body.woocommerce-checkout #shipping_method li {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) auto !important;
  align-items: start !important;
  column-gap: 12px !important;
  min-height: 52px !important;
  padding: 12px 14px !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout #shipping_method li::before {
  position: static !important;
  top: auto !important;
  left: auto !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option::after,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option::after,
html body.woocommerce-checkout #shipping_method li::after {
  left: 21px !important;
  top: 16px !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout {
  display: flex !important;
  flex: 1 1 auto !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: auto !important;
  min-width: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group {
  grid-column: 2 !important;
  min-width: 0 !important;
  padding-left: 0 !important;
  text-indent: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label {
  grid-column: 3 !important;
  grid-row: 1 !important;
  white-space: nowrap !important;
}
html body.woocommerce-checkout .rtf-shipping-has-select :is(
  .wc-block-components-radio-control,
  .rtf-shipping-native,
  #shipping_method,
  .woocommerce-shipping-methods
) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  pointer-events: none !important;
}

html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__option,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option,
html body.woocommerce-checkout .rtf-payment-solo .wc-block-components-radio-control__option {
  display: flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__option::after,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option::after,
html body.woocommerce-checkout .rtf-payment-solo .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout .rtf-payment-solo .wc-block-components-radio-control__option::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-content,
html body.woocommerce-checkout .rtf-payment-solo .wc-block-components-radio-control-accordion-content {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content p,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-content p {
  display: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .ppcp-messages,
html body.woocommerce-checkout .wc-block-checkout__payment-method [data-pp-message],
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .ppcp-messages,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block [data-pp-message] {
  display: block !important;
  margin-top: 8px !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__label,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__label {
  padding: 0 !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
}

@media (min-width: 782px) and (max-width: 1100px) {
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
  html body.woocommerce-checkout .wc-block-checkout__sidebar {
    min-width: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > h2,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 14px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) auto !important;
    grid-template-areas: "image description total" !important;
    column-gap: 10px !important;
    padding: 14px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image,
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-name {
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details > *,
  html body.woocommerce-checkout .wc-block-components-product-details > span,
  html body.woocommerce-checkout .wc-block-components-product-details > li {
    display: block !important;
    grid-template-columns: none !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__name,
  html body.woocommerce-checkout .wc-block-components-product-details__value {
    display: inline !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "label value"
      "desc desc" !important;
    align-items: baseline !important;
    column-gap: 12px !important;
    row-gap: 4px !important;
    padding: 12px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item__label {
    grid-area: label !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: none !important;
    font-size: 0.875rem !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item__value,
  html body.woocommerce-checkout .wc-block-components-totals-item .wc-block-components-formatted-money-amount {
    grid-area: value !important;
    justify-self: end !important;
    background: none !important;
    text-align: right !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item__description {
    grid-area: desc !important;
    grid-column: 1 / -1 !important;
    margin-top: 2px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
  html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    background: transparent !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 561px) and (max-width: 1100px) {
  .community-section {
    padding-bottom: 28px;
  }
  .community-inner {
    display: grid;
    gap: 20px;
  }
  .community-preorder-line {
    width: 100%;
    max-width: none;
  }
  .community-stats {
    width: 100%;
    max-width: none !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
  .stat-label {
    overflow-wrap: break-word;
    word-break: normal;
  }
  .community-links {
    justify-content: flex-start;
    gap: 10px 24px;
  }
  .community-subfooter {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 12px;
    padding: 16px 0 8px;
  }
  .community-payment {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    max-width: calc(100% - 56px);
    gap: 8px 12px;
  }
  .community-payment-icons {
    flex-wrap: wrap;
  }
  .back-to-top {
    right: 16px;
    bottom: 16px;
  }
}

html.rtf-scroll-locked {
  overflow: hidden !important;
  scrollbar-gutter: auto !important;
}
.mobile-menu.open {
  scrollbar-gutter: auto !important;
}

#cartDrawer,
.cart-drawer#cartDrawer {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  scrollbar-gutter: auto !important;
}
#cartDrawer ul.woocommerce-mini-cart {
  scrollbar-gutter: auto !important;
  padding-right: 4px !important;
}
#cartDrawer dl.rtf-mini-cart-options,
.cart-drawer dl.rtf-mini-cart-options {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2px !important;
  width: 100% !important;
  margin: 0 !important;
}
#cartDrawer .rtf-mini-cart-option,
.cart-drawer .rtf-mini-cart-option {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  flex: none !important;
  align-items: baseline !important;
  gap: 0 6px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}
#cartDrawer .rtf-mini-cart-option dt,
.cart-drawer .rtf-mini-cart-option dt {
  display: inline !important;
  color: var(--ink-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
  text-transform: none !important;
}
#cartDrawer .rtf-mini-cart-option dt::after {
  content: ":" !important;
}
#cartDrawer .rtf-mini-cart-option dd,
.cart-drawer .rtf-mini-cart-option dd {
  display: inline !important;
  min-width: 0 !important;
  color: var(--ink) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  overflow-wrap: break-word !important;
}
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove,
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button {
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: 50% !important;
  font-size: 0 !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
  padding: 10px 0 0 !important;
  border-top: 1px solid var(--line-soft) !important;
}
#cartDrawer .rtf-mini-cart-length,
#cartDrawer .rtf-mini-cart-quantity > span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 2px !important;
  color: var(--ink) !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity strong {
  color: var(--ink) !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
}
#cartDrawer .rtf-mini-cart-footer {
  margin-top: auto !important;
  box-shadow: none !important;
}
#cartDrawer .rtf-mini-cart-clear {
  justify-content: flex-start !important;
}
#cartDrawer .rtf-mini-cart-clear .rtf-empty-button {
  min-height: 36px !important;
  padding: 0 4px !important;
  color: var(--ink-muted) !important;
  background: none !important;
  border: 0 !important;
  font-size: 12px !important;
}
#cartDrawer .woocommerce-mini-cart__total {
  margin: 0 !important;
  padding: 12px 4px !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-top: 1px solid var(--line-soft) !important;
}
#cartDrawer .woocommerce-mini-cart__buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}
#cartDrawer .woocommerce-mini-cart__buttons a.button {
  min-height: 48px !important;
  border-radius: 14px !important;
}

@media (min-width: 701px) {
  #cartDrawer {
    width: min(420px, 100%) !important;
  }
  #cartDrawer .widget_shopping_cart_content {
    max-height: none !important;
  }
}
@media (max-width: 700px) {
  #cartDrawer {
    width: min(420px, 100%) !important;
    border-radius: 20px 0 0 20px !important;
  }
  #cartDrawer .rtf-mini-cart-head {
    grid-template-columns: 56px minmax(0, 1fr) !important;
  }
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
    width: 56px !important;
    height: 56px !important;
  }
  #cartDrawer .rtf-mini-cart-name {
    min-height: 0 !important;
    padding-right: 44px !important;
    font-size: 0.9375rem !important;
  }
  #cartDrawer .woocommerce-mini-cart__buttons {
    grid-template-columns: 1fr 1fr !important;
  }
}

html body.woocommerce-checkout .wc-block-components-order-summary-item,
html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) auto !important;
  grid-template-areas: "image description total" !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  grid-area: image !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
  display: flex !important;
  flex-direction: column !important;
  grid-area: description !important;
  gap: 4px !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  margin: 0 !important;
  justify-self: stretch !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
html body.woocommerce-checkout .wc-block-components-order-summary-item > .wc-block-components-product-price {
  grid-area: total !important;
  justify-self: end !important;
  align-self: start !important;
  margin: 0 !important;
  padding-top: 2px !important;
  white-space: nowrap !important;
  font-weight: 800 !important;
  text-align: right !important;
}
html body.woocommerce-checkout .wc-block-components-product-name {
  display: block !important;
  margin: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}
html body.woocommerce-checkout .wc-block-components-product-metadata {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-product-details {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  width: 100% !important;
}
html body.woocommerce-checkout .wc-block-components-product-details > *,
html body.woocommerce-checkout .wc-block-components-product-details > li,
html body.woocommerce-checkout .wc-block-components-product-details > span,
html body.woocommerce-checkout .wc-block-components-product-details > div {
  display: block !important;
  width: 100% !important;
  grid-template-columns: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__name,
html body.woocommerce-checkout .wc-block-components-product-details__value {
  display: inline !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__name {
  color: var(--ink-muted) !important;
  font-weight: 700 !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__name::after {
  content: " " !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__value {
  color: var(--ink) !important;
  font-weight: 650 !important;
}

@media (max-width: 781px) {
  html body.woocommerce-checkout .wc-block-components-order-summary-item,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
    grid-template-columns: 52px minmax(0, 1fr) auto !important;
    grid-template-areas: "image description total" !important;
    column-gap: 10px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
    display: flex !important;
    flex-direction: column !important;
    grid-area: description !important;
  }
}

html body.woocommerce-checkout .wc-block-components-order-summary-item,
html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child,
html body.woocommerce-checkout .wc-block-components-order-summary > .wc-block-components-order-summary-item {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 16px !important;
  overflow: hidden !important;
  grid-template-columns: none !important;
  grid-template-areas: none !important;
  grid-template-rows: none !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  display: block !important;
  flex: 0 0 52px !important;
  grid-area: auto !important;
  position: relative !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 52px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 10px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  top: auto !important;
  z-index: 2 !important;
  transform: none !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 4px !important;
  grid-area: auto !important;
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-product-name {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 72px 0 0 !important;
  overflow: hidden !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: none !important;
}
html body.woocommerce-checkout .wc-block-components-product-metadata,
html body.woocommerce-checkout .wc-block-components-product-details {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
html body.woocommerce-checkout .wc-block-components-product-details > *,
html body.woocommerce-checkout .wc-block-components-product-details > li,
html body.woocommerce-checkout .wc-block-components-product-details > span,
html body.woocommerce-checkout .wc-block-components-product-details > div {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: none !important;
  border: 0 !important;
  grid-template-columns: none !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__name,
html body.woocommerce-checkout .wc-block-components-product-details__value {
  display: inline !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__name {
  color: var(--ink-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__value {
  color: var(--ink) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
html body.woocommerce-checkout .wc-block-components-order-summary-item > .wc-block-components-product-price {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  left: auto !important;
  bottom: auto !important;
  grid-area: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  text-align: right !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item {
  position: relative !important;
}

@media (max-width: 781px) {
  html body.woocommerce-checkout .wc-block-components-order-summary-item,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 14px 14px 16px !important;
    overflow: hidden !important;
    grid-template-columns: none !important;
    grid-template-areas: none !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    overflow: hidden !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-name {
    padding-right: 64px !important;
    font-size: 0.875rem !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
  html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
  html body.woocommerce-checkout .wc-block-components-order-summary-item > .wc-block-components-product-price {
    top: 14px !important;
    right: 14px !important;
    font-size: 0.875rem !important;
  }
}

/* =============================================================================
   v1.2.114 — Basket page, catalogue cards and image-frame polish
   -----------------------------------------------------------------------------
   Wins the cascade after earlier mobile overrides. Do not overlay the line
   total on the product name, and do not clip the checkout CTA.
   ========================================================================== */

/* ── Catalogue cards: equal height rows, actions stay put ─────────────── */
.products-grid {
  align-items: stretch;
}
.product-card {
  height: 100%;
}
.product-info {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
}
.product-card-actions {
  margin-top: auto;
}
.product-name {
  overflow-wrap: break-word;
  word-break: normal;
}

/* ── Product / basket / search images fill the frame, no 176% scale ───── */
.product-image-inner,
.pdp-thumb,
.pdp-main-image-trigger,
.search-result-image,
.wishlist-item-swatch,
.cart-page-item-image,
.cart-drawer .rtf-mini-cart-image,
#cartDrawer .rtf-mini-cart-image {
  position: relative;
  overflow: hidden;
}
.product-image-inner img,
.pdp-thumb img,
.pdp-main-image-trigger .pdp-main-image,
.search-result-image img,
.wishlist-item-swatch img,
.cart-page-item-image img,
.cart-drawer .rtf-mini-cart-image img,
#cartDrawer .rtf-mini-cart-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  object-fit: cover;
  object-position: center;
  transform: none;
}

/* ── Classic basket rows ──────────────────────────────────────────────── */
.cart-page-item-copy {
  min-width: 0;
  flex: 1 1 auto;
}
.cart-page-item-title {
  display: block;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
}
.cart-page-item-tags {
  align-items: flex-start;
}
@media (max-width: 600px) {
  .cart-page-item {
    grid-template-columns: 60px minmax(0, 1fr);
  }
  .cart-page-item-image {
    width: 60px;
    height: 60px;
    border-radius: 12px;
  }
  .cart-page-item-head {
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 8px;
  }
  .cart-page-item-bottom {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
  .cart-page-line-total {
    margin-left: auto;
    flex: none;
  }
}

/* ── WooCommerce Blocks basket items: name and price never share a cell ─ */
html body.woocommerce-cart .wc-block-cart-items__row,
html body.woocommerce-cart .wc-block-cart-items__row:first-child,
html body.woocommerce-cart .wc-block-cart-items__row:last-child {
  display: grid !important;
  grid-template-columns: 88px minmax(0, 1fr) auto !important;
  grid-template-areas:
    "image product total"
    "qty qty qty" !important;
  align-items: start !important;
  column-gap: 14px !important;
  row-gap: 12px !important;
  overflow: visible !important;
}
html body.woocommerce-cart .wc-block-cart-item__image {
  grid-area: image !important;
  width: 88px !important;
  height: 88px !important;
}
html body.woocommerce-cart .wc-block-cart-item__image a,
html body.woocommerce-cart .wc-block-cart-item__image img {
  position: relative !important;
  display: block !important;
  width: 88px !important;
  height: 88px !important;
  max-width: 88px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
}
html body.woocommerce-cart .wc-block-cart-item__product {
  grid-area: product !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
}
html body.woocommerce-cart .wc-block-cart-item__total,
html body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price {
  grid-area: total !important;
  justify-self: end !important;
  align-self: start !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  text-align: right !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums;
}
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
html body.woocommerce-cart a.wc-block-components-product-name {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
  line-height: 1.3 !important;
  hyphens: none !important;
}

html body.woocommerce-cart .wc-block-components-product-details,
html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}
html body.woocommerce-cart .wc-block-components-product-details > .rtf-cart-detail,
html body.woocommerce-cart .wc-block-components-product-details > li,
html body.woocommerce-cart .wc-block-components-product-details > div {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}
html body.woocommerce-cart .wc-block-components-product-details__name,
html body.woocommerce-cart .wc-block-components-product-details__value {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}
html body.woocommerce-cart .wc-block-components-product-details__name {
  color: var(--ink-muted) !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
html body.woocommerce-cart .wc-block-components-product-details__name::after {
  content: none !important;
}
html body.woocommerce-cart .wc-block-components-product-details__value {
  color: var(--ink) !important;
  font-weight: 650 !important;
}

@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-cart-items__row,
  html body.woocommerce-cart .wc-block-cart-items__row:first-child,
  html body.woocommerce-cart .wc-block-cart-items__row:last-child {
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    grid-template-areas:
      "image product total"
      "qty qty qty" !important;
    column-gap: 12px !important;
    padding: 14px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image,
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product {
    padding-right: 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total {
    grid-area: total !important;
    padding-top: 1px !important;
    font-size: 0.9375rem !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
  html body.woocommerce-cart a.wc-block-components-product-name {
    font-size: 0.9375rem !important;
    margin-bottom: 8px !important;
  }
}

@media (max-width: 380px) {
  html body.woocommerce-cart .wc-block-cart-items__row,
  html body.woocommerce-cart .wc-block-cart-items__row:first-child,
  html body.woocommerce-cart .wc-block-cart-items__row:last-child {
    grid-template-columns: 56px minmax(0, 1fr) auto !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image,
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
  }
}

/* ── Basket totals card + checkout CTA ────────────────────────────────── */
html body.woocommerce-cart .wc-block-cart__sidebar,
html body.woocommerce-cart .wc-block-components-sidebar {
  overflow: visible !important;
  min-width: 0 !important;
}
html body.woocommerce-cart .wc-block-components-totals-wrapper,
html body.woocommerce-cart .wc-block-components-totals-item,
html body.woocommerce-cart .wc-block-components-totals-footer-item {
  min-width: 0 !important;
  overflow: visible !important;
}
html body.woocommerce-cart .wc-block-components-totals-item,
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 8px 16px !important;
  width: 100% !important;
  padding: 12px 16px !important;
}
html body.woocommerce-cart .wc-block-components-totals-item__label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  font-weight: 700 !important;
  text-align: left !important;
  overflow-wrap: break-word !important;
}
html body.woocommerce-cart .wc-block-components-totals-item__value,
html body.woocommerce-cart .wc-block-components-totals-item .wc-block-components-formatted-money-amount {
  flex: 0 0 auto !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  color: var(--ink) !important;
  font-weight: 800 !important;
  text-align: right !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums;
}
html body.woocommerce-cart .wc-block-components-totals-item__description,
html body.woocommerce-cart .wc-block-components-totals-shipping__via {
  flex: 1 1 100% !important;
  width: 100% !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  color: var(--ink-soft) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 16px !important;
  border-top: 1px solid var(--line) !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
  position: static !important;
  z-index: auto !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
  color: var(--ink) !important;
  font-weight: 800 !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-size: 1.05rem !important;
  white-space: normal !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
  flex: 0 0 auto !important;
  font-size: 1.15rem !important;
  white-space: nowrap !important;
}

html body.woocommerce-cart .wc-block-cart__submit-container,
html body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block,
html body.woocommerce-cart .wc-block-cart__submit {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 16px calc(20px + env(safe-area-inset-bottom, 0px)) !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-cart .wc-block-cart__submit-button,
html body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button,
html body.woocommerce-cart a.wc-block-components-button.contained {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  overflow: visible !important;
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: var(--shadow-brand) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

html body.woocommerce-cart #ppcp-cart-paylater-messages,
html body.woocommerce-cart .ppcp-messages,
html body.woocommerce-cart [id^="ppcp-"][id*="paylater"] {
  display: block !important;
  box-sizing: border-box !important;
  width: auto !important;
  max-width: calc(100% - 32px) !important;
  margin: 8px 16px 4px !important;
  overflow: visible !important;
}

body.woocommerce-cart .back-to-top,
body.woocommerce-checkout .back-to-top {
  bottom: calc(88px + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 600px) {
  html body.woocommerce-cart .wc-block-components-totals-item,
  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item {
    padding: 12px 16px !important;
  }
  html body.woocommerce-cart .wc-block-components-totals-footer-item {
    padding: 14px 16px 16px !important;
  }
  html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: 1rem !important;
  }
  html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button {
    min-height: 48px !important;
  }
}

/* Mini-basket thumbnails stay square and cropped */
.cart-drawer .rtf-mini-cart-image,
#cartDrawer .rtf-mini-cart-image {
  width: 72px;
  height: 72px;
  flex: none;
  overflow: hidden;
  border-radius: 12px;
}
.cart-drawer .rtf-mini-cart-name,
#cartDrawer .rtf-mini-cart-name {
  min-width: 0;
  overflow-wrap: break-word;
}

/* ── Order summary item dividers ──────────────────────────────────────── */
html body.woocommerce-checkout .wc-block-components-order-summary-item,
html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child,
html body.woocommerce-checkout .wc-block-components-order-summary > .wc-block-components-order-summary-item {
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
  border-bottom: 1px solid var(--line) !important;
}
html body.woocommerce-checkout .wc-block-components-totals-item + .wc-block-components-totals-item,
html body.woocommerce-checkout .wc-block-components-totals-footer-item {
  border: 0 !important;
  border-top: 1px solid var(--line) !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
  border-top: 1px solid var(--line) !important;
}

html body.woocommerce-cart .wc-block-components-totals-coupon,
html body.woocommerce-cart .wc-block-components-totals-item,
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item,
html body.woocommerce-cart .wc-block-components-totals-footer-item {
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item {
  border-bottom: 0 !important;
}
html body.woocommerce-cart .wc-block-cart-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
html body.woocommerce-cart .wc-block-cart-items__row + .wc-block-cart-items__row {
  position: relative;
}

/* ── Mini-basket: fit the screen, keep actions visible ───────────────── */
#cartDrawer.cart-drawer,
#cartDrawer.rtf-cart-drawer,
.cart-drawer#cartDrawer {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: min(420px, 100vw) !important;
  height: 100svh !important;
  max-height: 100svh !important;
  overflow: hidden !important;
  padding-bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
  border-radius: 20px 0 0 20px !important;
}
#cartDrawer .cart-drawer-header {
  flex: 0 0 auto !important;
}
#cartDrawer .cart-drawer-body {
  display: flex !important;
  flex: 1 1 0 !important;
  flex-direction: column !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding-bottom: 0 !important;
}
#cartDrawer.rtf-cart-drawer .widget_shopping_cart_content,
#cartDrawer .widget_shopping_cart_content {
  display: flex !important;
  flex: 1 1 0 !important;
  flex-direction: column !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
}
#cartDrawer ul.woocommerce-mini-cart {
  display: flex !important;
  flex: 0 1 auto !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 8px !important;
  min-height: 0 !important;
  height: auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}
#cartDrawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
  flex: 0 0 auto !important;
  height: auto !important;
  max-height: none !important;
  align-self: stretch !important;
  overflow: visible !important;
}
#cartDrawer .rtf-mini-cart-product {
  height: auto !important;
  align-content: start !important;
}
#cartDrawer .rtf-mini-cart-name {
  min-height: 0 !important;
}
#cartDrawer .rtf-mini-cart-empty {
  flex: 1 1 auto !important;
  min-height: 0 !important;
}
#cartDrawer.rtf-cart-drawer .rtf-mini-cart-footer,
#cartDrawer .rtf-mini-cart-footer {
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 6 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 16px 32px !important;
  overflow: visible !important;
  background: var(--surface-raised) !important;
  border-top: 1px solid var(--line) !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
#cartDrawer .woocommerce-mini-cart__buttons,
#cartDrawer .woocommerce-mini-cart__buttons.buttons {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
#cartDrawer .woocommerce-mini-cart__buttons a.button,
#cartDrawer .woocommerce-mini-cart__buttons .btn,
#cartDrawer .woocommerce-mini-cart__buttons a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 48px !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 12px 10px !important;
  overflow: visible !important;
  border-radius: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

/* Desktop only: floating card. Phones, tablets and short windows stay full-bleed. */
@media (min-width: 1024px) and (min-height: 760px) {
  #cartDrawer.cart-drawer,
  #cartDrawer.rtf-cart-drawer,
  .cart-drawer#cartDrawer {
    top: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    width: min(400px, calc(100vw - 32px)) !important;
    height: auto !important;
    max-height: calc(100svh - 32px) !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
    border-radius: 22px !important;
  }
  #cartDrawer.rtf-cart-drawer .rtf-mini-cart-footer,
  #cartDrawer .rtf-mini-cart-footer {
    padding: 12px 16px 32px !important;
  }
}

@media (max-width: 360px) {
  #cartDrawer .woocommerce-mini-cart__buttons,
  #cartDrawer .woocommerce-mini-cart__buttons.buttons {
    grid-template-columns: 1fr !important;
  }
}

/* ── Checkout order summary: compact rows, real 3-column layout ───────── */
html body.woocommerce-checkout .wc-block-components-order-summary,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item,
html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child,
html body.woocommerce-checkout .wc-block-components-order-summary > .wc-block-components-order-summary-item {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) auto !important;
  grid-template-areas: "image description total" !important;
  grid-template-rows: auto !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  gap: 12px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  grid-area: image !important;
  position: relative !important;
  flex: none !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 52px !important;
  margin: 0 !important;
  overflow: visible !important;
  border-radius: 10px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  position: relative !important;
  display: block !important;
  inset: auto !important;
  width: 52px !important;
  height: 52px !important;
  max-width: 52px !important;
  object-fit: cover !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 22px !important;
  min-height: 22px !important;
  padding: 0 6px !important;
  color: #f7f4fb !important;
  background: #241f2e !important;
  border: 2px solid var(--surface-raised) !important;
  border-radius: 999px !important;
  transform: none !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
  display: flex !important;
  flex-direction: column !important;
  grid-area: description !important;
  gap: 4px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-price,
html body.woocommerce-checkout .wc-block-components-order-summary-item__description > .price {
  display: none !important;
}
html body.woocommerce-checkout .wc-block-components-product-name {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}
html body.woocommerce-checkout .wc-block-components-product-metadata,
html body.woocommerce-checkout .wc-block-components-product-details {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-components-product-details > *,
html body.woocommerce-checkout .wc-block-components-product-details > li,
html body.woocommerce-checkout .wc-block-components-product-details > span,
html body.woocommerce-checkout .wc-block-components-product-details > div {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  column-gap: 6px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: none !important;
  border: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__name,
html body.woocommerce-checkout .wc-block-components-product-details__value {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__name {
  color: var(--ink-muted) !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__value {
  color: var(--ink) !important;
  font-weight: 650 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
html body.woocommerce-checkout .wc-block-components-order-summary-item > .wc-block-components-product-price {
  position: static !important;
  inset: auto !important;
  grid-area: total !important;
  justify-self: end !important;
  align-self: start !important;
  width: auto !important;
  margin: 0 !important;
  padding: 1px 0 0 !important;
  white-space: nowrap !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  text-align: right !important;
  font-variant-numeric: tabular-nums;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices:empty {
  display: none !important;
}

@media (max-width: 781px) {
  html body.woocommerce-checkout .wc-block-components-order-summary-item,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
    grid-template-columns: 48px minmax(0, 1fr) auto !important;
    column-gap: 10px !important;
    padding: 12px 14px !important;
    overflow: visible !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image,
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-name {
    padding-right: 0 !important;
    font-size: 0.875rem !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
  html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
  html body.woocommerce-checkout .wc-block-components-order-summary-item > .wc-block-components-product-price {
    position: static !important;
    font-size: 0.875rem !important;
  }
}

/* ── Checkout shipping/billing address card ───────────────────────────── */
html body.woocommerce-checkout .wc-block-components-address-card,
html body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-card,
html body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas: "address edit" !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  overflow: visible !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-md) !important;
}
html body.woocommerce-checkout .wc-block-components-address-card address,
html body.woocommerce-checkout .wc-block-components-address-card__address,
html body.woocommerce-checkout .wc-block-components-address-card .wc-block-components-address-card__address-section {
  display: block !important;
  grid-area: address !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  line-height: 1.45 !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-address-card__edit,
html body.woocommerce-checkout .wc-block-components-address-card a.wc-block-components-address-card__edit,
html body.woocommerce-checkout .wc-block-components-address-card button.wc-block-components-address-card__edit {
  display: inline-flex !important;
  grid-area: edit !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: start !important;
  width: auto !important;
  min-width: 48px !important;
  max-width: none !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  overflow: visible !important;
  color: var(--brand-mid) !important;
  background: transparent !important;
  border: 0 !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  text-align: center !important;
  text-decoration: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__use-address-for-billing,
html body.woocommerce-checkout .wc-block-checkout__use-address-for-billing .wc-block-components-checkbox,
html body.woocommerce-checkout .wc-block-checkout__use-address-for-billing .wc-block-components-checkbox > label {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-top: 12px !important;
}
html body.woocommerce-checkout .wc-block-checkout__use-address-for-billing .wc-block-components-checkbox__label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  line-height: 1.4 !important;
}

@media (max-width: 600px) {
  html body.woocommerce-checkout .wc-block-components-address-card,
  html body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-card,
  html body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-card {
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: 12px 14px !important;
  }
  html body.woocommerce-checkout .wc-block-components-address-card__edit,
  html body.woocommerce-checkout .wc-block-components-address-card a.wc-block-components-address-card__edit,
  html body.woocommerce-checkout .wc-block-components-address-card button.wc-block-components-address-card__edit {
    min-width: 44px !important;
    padding: 8px 10px !important;
    white-space: nowrap !important;
  }
}

/* ── Line prices as their own row (phone, tablet, desktop) ───────────── */
html body.woocommerce-checkout .wc-block-components-order-summary-item,
html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child,
html body.woocommerce-checkout .wc-block-components-order-summary > .wc-block-components-order-summary-item {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  grid-template-areas:
    "image description"
    "image price" !important;
  grid-template-rows: auto auto !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
  grid-area: description !important;
}
html body.woocommerce-checkout .wc-block-components-product-name {
  padding-right: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
html body.woocommerce-checkout .wc-block-components-order-summary-item > .wc-block-components-product-price {
  position: static !important;
  inset: auto !important;
  grid-area: price !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 8px 0 0 !important;
  padding: 8px 0 0 !important;
  border-top: 1px solid var(--line) !important;
  text-align: right !important;
  white-space: nowrap !important;
}

html body.woocommerce-cart .wc-block-cart-items__row,
html body.woocommerce-cart .wc-block-cart-items__row:first-child,
html body.woocommerce-cart .wc-block-cart-items__row:last-child {
  grid-template-columns: 72px minmax(0, 1fr) !important;
  grid-template-areas:
    "image product"
    "image total"
    "qty qty" !important;
}
html body.woocommerce-cart .wc-block-cart-item__total {
  grid-area: total !important;
  display: flex !important;
  justify-content: flex-end !important;
  width: 100% !important;
  margin-top: 8px !important;
  padding: 8px 0 0 !important;
  border-top: 1px solid var(--line) !important;
  text-align: right !important;
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-cart-items__row,
  html body.woocommerce-cart .wc-block-cart-items__row:first-child,
  html body.woocommerce-cart .wc-block-cart-items__row:last-child {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    grid-template-areas:
      "image product"
      "image total"
      "qty qty" !important;
  }
}

@media (max-width: 781px) {
  html body.woocommerce-checkout .wc-block-components-order-summary-item,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    grid-template-areas:
      "image description"
      "image price" !important;
  }
}

@media (max-width: 380px) {
  html body.woocommerce-cart .wc-block-cart-items__row,
  html body.woocommerce-cart .wc-block-cart-items__row:first-child,
  html body.woocommerce-cart .wc-block-cart-items__row:last-child {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    grid-template-areas:
      "image product"
      "image total"
      "qty qty" !important;
  }
}

/* ── Checkout order-summary Total: no clipped shadow / haze ───────────── */
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
html body.woocommerce-checkout .wc-block-components-totals-wrapper,
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__content {
  box-shadow: none !important;
  filter: none !important;
}
html body.woocommerce-checkout .wc-block-components-totals-footer-item,
html body.woocommerce-checkout .wc-block-components-totals-footer-item.wc-block-components-totals-item {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 16px !important;
  overflow: visible !important;
  color: var(--ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}
html body.woocommerce-checkout .wc-block-components-totals-footer-item::before,
html body.woocommerce-checkout .wc-block-components-totals-footer-item::after,
html body.woocommerce-checkout .wc-block-components-totals-footer-item *::before,
html body.woocommerce-checkout .wc-block-components-totals-footer-item *::after {
  display: none !important;
  content: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__description,
html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__description:empty {
  display: none !important;
}
html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
  position: static !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
  color: var(--ink) !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

/* ── Product-card magnifier stays on the image, top-right ─────────────── */
.product-card .product-zoom,
button.product-zoom[data-product-zoom] {
  position: absolute !important;
  top: var(--s-2) !important;
  right: var(--s-2) !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 3 !important;
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border-radius: 50% !important;
}

/* ── Account: Payment methods empty state ─────────────────────────────── */
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info:not(:has(+ .woocommerce-info)):not(.woocommerce-info + .woocommerce-info),
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message:not(.woocommerce-info + .woocommerce-info),
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-Message:not(.woocommerce-info + .woocommerce-info),
html body.woocommerce-account.woocommerce-payment-methods .woocommerce-MyAccount-content > .woocommerce-info,
html body.woocommerce-account.woocommerce-payment-methods .woocommerce-MyAccount-content > .woocommerce-Message {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 22px 22px !important;
  overflow: hidden !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-left: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: none !important;
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info:not(:has(+ .woocommerce-info)):not(.woocommerce-info + .woocommerce-info)::before,
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info:not(:has(+ .woocommerce-info)):not(.woocommerce-info + .woocommerce-info)::after,
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-Message:not(.woocommerce-info + .woocommerce-info)::before,
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-Message:not(.woocommerce-info + .woocommerce-info)::after,
html body.woocommerce-account.woocommerce-payment-methods .woocommerce-MyAccount-content > .woocommerce-info::before,
html body.woocommerce-account.woocommerce-payment-methods .woocommerce-MyAccount-content > .woocommerce-info::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-account.woocommerce-payment-methods .woocommerce-MyAccount-content > a.button,
html body.woocommerce-account.woocommerce-payment-methods .woocommerce-MyAccount-content > .button,
html body.woocommerce-account.woocommerce-payment-methods .woocommerce-MyAccount-content > .woocommerce-Button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: flex-start !important;
  width: auto !important;
  min-height: 48px !important;
  margin: 4px 0 0 !important;
  padding: 12px 20px !important;
  float: none !important;
  border-radius: var(--r-md) !important;
  font-weight: 800 !important;
}
html body.woocommerce-account .woocommerce-PaymentMethods,
html body.woocommerce-account table.woocommerce-MyAccount-paymentMethods,
html body.woocommerce-account .woocommerce-SavedPaymentMethods {
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
}

/* ── Back to top sits on the viewport bottom ─────────────────────────── */
html body .back-to-top,
.back-to-top {
  --rtf-back-to-top-edge-gap: 12px;
  --rtf-safe-area-right: env(safe-area-inset-right, 0px);
  --rtf-safe-area-bottom: env(safe-area-inset-bottom, 0px);
  position: fixed !important;
  box-sizing: border-box !important;
  right: calc(var(--rtf-back-to-top-edge-gap) + var(--rtf-safe-area-right)) !important;
  bottom: calc(var(--rtf-back-to-top-edge-gap) + var(--rtf-safe-area-bottom)) !important;
  margin: 0 !important;
}
html body .back-to-top.visible {
  transform: none !important;
}
html body.has-sticky-buy .back-to-top {
  bottom: calc(var(--rtf-back-to-top-edge-gap) + 74px + var(--rtf-safe-area-bottom)) !important;
}
html body.woocommerce-cart .back-to-top,
html body.woocommerce-checkout .back-to-top {
  bottom: calc(var(--rtf-back-to-top-edge-gap) + var(--rtf-safe-area-bottom)) !important;
}

/* ── Quantity pills on basket / checkout thumbnails ───────────────────── */
html body.woocommerce-cart .wc-block-cart-item__image,
html body.woocommerce-cart .wc-block-components-order-summary-item__image,
html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  position: relative !important;
  overflow: visible !important;
}
html body.woocommerce-cart .wc-block-cart-item__image .wc-block-components-order-summary-item__quantity,
html body.woocommerce-cart .wc-block-cart-item__image .wc-block-components-product-badge,
html body.woocommerce-cart .wc-block-components-product-image .wc-block-components-product-badge,
html body.woocommerce-cart .wc-block-components-order-summary-item__quantity,
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
html body.woocommerce-checkout .wc-block-components-product-badge {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-width: 24px !important;
  min-height: 24px !important;
  padding: 0 7px !important;
  color: #f7f4fb !important;
  background: #241f2e !important;
  border: 2px solid var(--surface-raised) !important;
  border-radius: 999px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.45) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  transform: none !important;
}

/* ── Mobile order summary: compact rows, no stretch, readable qty ───── */
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item,
html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) auto !important;
  grid-template-areas: "image description total" !important;
  grid-template-rows: auto !important;
  align-items: start !important;
  align-content: start !important;
  column-gap: 10px !important;
  row-gap: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 12px 14px !important;
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item > * {
  flex: none !important;
  min-height: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
  display: flex !important;
  flex-direction: column !important;
  flex: none !important;
  gap: 4px !important;
  height: auto !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
html body.woocommerce-checkout .wc-block-components-order-summary-item > .wc-block-components-product-price {
  grid-area: total !important;
  grid-column: auto !important;
  grid-row: 1 !important;
  align-self: start !important;
  justify-self: end !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity span,
html body.woocommerce-checkout .wc-block-components-order-summary-item__image [class*="quantity"] {
  color: #f7f4fb !important;
  background: #241f2e !important;
  border-color: var(--surface-raised) !important;
}

@media (max-width: 781px) {
  html body.woocommerce-checkout .wc-block-components-order-summary-item,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
    grid-template-columns: 48px minmax(0, 1fr) auto !important;
    column-gap: 10px !important;
    padding: 10px 12px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image,
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
  }
}

/* ── Restore basket / checkout thumbnails (do not use absolute fill) ─── */
#cartDrawer .rtf-mini-cart-head,
.cart-drawer .rtf-mini-cart-head {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 12px !important;
}
#cartDrawer .rtf-mini-cart-image,
.cart-drawer .rtf-mini-cart-image,
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image {
  display: block !important;
  position: relative !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  height: 72px !important;
  overflow: hidden !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
}
#cartDrawer .rtf-mini-cart-image img,
.cart-drawer .rtf-mini-cart-image img,
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: none !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}
@media (max-width: 700px) {
  #cartDrawer .rtf-mini-cart-head,
  .cart-drawer .rtf-mini-cart-head {
    grid-template-columns: 56px minmax(0, 1fr) !important;
  }
  #cartDrawer .rtf-mini-cart-image,
  .cart-drawer .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image,
  #cartDrawer .rtf-mini-cart-image img,
  .cart-drawer .rtf-mini-cart-image img,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
  }
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image,
html body.woocommerce-cart .wc-block-components-order-summary-item__image {
  display: block !important;
  position: relative !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 52px !important;
  overflow: visible !important;
  background: var(--surface-sunken) !important;
}
html body.woocommerce-cart .wc-block-cart-item__image,
html body.woocommerce-cart .wc-block-cart-item__image a {
  display: block !important;
  position: relative !important;
  width: 72px !important;
  min-width: 72px !important;
  height: 72px !important;
  overflow: hidden !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image img,
html body.woocommerce-checkout .wc-block-components-order-summary-item__image .wc-block-components-product-image,
html body.woocommerce-checkout .wc-block-components-order-summary-item__image .wc-block-components-product-image img,
html body.woocommerce-cart .wc-block-components-order-summary-item__image img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  border-radius: 10px !important;
}
html body.woocommerce-cart .wc-block-cart-item__image img,
html body.woocommerce-cart .wc-block-cart-item__image a img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: none !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ── Checkout journey: review layout (adapted, RTF tokens) ───────────── */
body.woocommerce-checkout:not(.woocommerce-order-received) .page-header,
body.woocommerce-checkout:not(.woocommerce-order-received) .page-title,
body.woocommerce-checkout:not(.woocommerce-order-received) .page-card > .page-header {
  display: none;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .page-card {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.rtf-checkout-page { padding-block: 32px 96px; }
.rtf-checkout-shell { max-width: 1120px; }
.rtf-checkout-journey {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px 24px;
  margin: 0 0 28px;
}
.rtf-checkout-journey__eyebrow {
  margin: 0 0 8px;
  color: var(--brand);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.rtf-checkout-journey__title {
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.03em;
}
.rtf-checkout-journey__title em { font-style: italic; color: var(--brand); }
.rtf-checkout-journey__lede {
  margin: 8px 0 0;
  max-width: 36rem;
  color: var(--ink-muted);
  font-size: 0.9375rem;
}
.rtf-checkout-stepper {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rtf-checkout-stepper > li,
.rtf-checkout-stepper > li > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ink-muted);
  text-decoration: none;
}
.rtf-checkout-stepper > li + li::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 1px;
  margin-right: 8px;
  background: var(--line);
}
.rtf-checkout-stepper__n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--surface-sunken);
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 800;
}
.rtf-checkout-stepper .is-done .rtf-checkout-stepper__n,
.rtf-checkout-stepper .is-active .rtf-checkout-stepper__n {
  color: var(--ink-on-brand);
  background: var(--brand);
}
.rtf-checkout-stepper .is-done { color: var(--ink); }
.rtf-checkout-stepper .is-active .rtf-checkout-stepper__label {
  color: var(--ink);
  font-weight: 700;
}
.rtf-checkout-stepper__label { font-size: 0.875rem; }

/* Do not grid the outer checkout wrapper — that collapsed Contact information
   into a ~40px column (letters stacked) and left a hole on the right. */
html body.woocommerce-checkout .wp-block-woocommerce-checkout,
html body.woocommerce-checkout .wc-block-checkout {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-sidebar-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 24rem) !important;
  align-items: start !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-main,
html body.woocommerce-checkout .wc-block-checkout__main {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  writing-mode: horizontal-tb !important;
}
html body.woocommerce-checkout .wc-block-checkout__contact-fields,
html body.woocommerce-checkout .wc-block-checkout__payment-method,
html body.woocommerce-checkout .rtf-delivery-options {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  writing-mode: horizontal-tb !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-step__title,
html body.woocommerce-checkout .wc-block-components-checkout-step__heading,
html body.woocommerce-checkout .wc-block-components-checkout-step__container,
html body.woocommerce-checkout .wc-block-components-checkout-step__content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  writing-mode: horizontal-tb !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-step,
html body.woocommerce-checkout .wc-block-components-express-payment {
  margin: 0 !important;
  padding: 22px 24px !important;
  overflow: visible !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-step__title {
  margin: 0 0 8px !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.25 !important;
}
html body.woocommerce-checkout .wc-block-components-text-input,
html body.woocommerce-checkout .wc-block-components-text-input input,
html body.woocommerce-checkout .wc-block-checkout__contact-fields input,
html body.woocommerce-checkout .wc-block-components-address-form input {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 48px !important;
  box-sizing: border-box !important;
}
.rtf-checkout-step-lede,
html body.woocommerce-checkout .wc-block-components-checkout-step__description {
  margin: 0 0 16px !important;
  color: var(--ink-muted) !important;
  font-size: 0.875rem !important;
}
.rtf-checkout-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
}
.rtf-checkout-fields label {
  display: grid;
  gap: 6px;
  font-size: 0.8125rem;
  font-weight: 700;
}
.rtf-checkout-fields .optional { color: var(--ink-muted); font-weight: 500; }
.rtf-checkout-fields input {
  min-height: 44px;
  padding: 10px 12px;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
}
.rtf-ship-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
  padding: 12px 14px;
  border: 1.5px solid var(--brand);
  border-radius: 12px;
  background: var(--brand-tint-soft);
}
.rtf-ship-option__title { font-weight: 700; }
.rtf-ship-option__price { font-variant-numeric: tabular-nums; font-weight: 800; }

/* Keep checkout headings visible when the browser restores an in-progress scroll position. */
html body.woocommerce-checkout .header-wrapper {
  position: relative;
  top: auto;
}

html body.woocommerce-checkout .wc-block-checkout__sidebar,
html body.woocommerce-checkout .wc-block-components-sidebar {
  position: sticky !important;
  top: 16px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.admin-bar.woocommerce-checkout .wc-block-checkout__sidebar,
body.admin-bar.woocommerce-checkout .wc-block-components-sidebar {
  top: 48px !important;
}
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  padding: 0 0 12px !important;
  overflow: visible !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 18px 20px 12px !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
  min-width: 0 !important;
  overflow-wrap: break-word !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  white-space: nowrap !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title::before,
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title::after,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title::before,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title::after {
  display: none !important;
  content: none !important;
}
.rtf-checkout-summary-count {
  margin: 4px 0 12px;
  color: var(--ink-muted);
  font-size: 0.875rem;
}
html body.woocommerce-checkout .wc-block-components-totals-footer-item {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 16px 0 8px !important;
}
html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 1rem !important;
  font-weight: 700 !important;
}
html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums;
}
.rtf-checkout-place--aside { display: none; width: 100%; margin-top: 16px; min-height: 52px; }
.rtf-checkout-place { width: 100%; min-height: 52px; }

.rtf-checkout-mobile-bar { display: none; }

@media (min-width: 901px) {
  .rtf-checkout-place--aside { display: inline-flex; }
  html body.woocommerce-checkout .wc-block-checkout__payment-method .rtf-checkout-place { display: none; }
}

@media (max-width: 900px) {
  html body.woocommerce-checkout .wc-block-components-sidebar-layout {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__sidebar,
  html body.woocommerce-checkout .wc-block-components-sidebar {
    position: static !important;
  }
  .rtf-checkout-fields { grid-template-columns: 1fr; }
  .rtf-checkout-stepper__label { display: none; }
  .rtf-checkout-mobile-bar {
    position: sticky;
    bottom: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 16px -4px -32px;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
    background: color-mix(in srgb, var(--surface-raised) 94%, transparent);
    border-top: 1px solid var(--line);
    backdrop-filter: blur(10px);
  }
  .rtf-checkout-mobile-bar__label {
    margin: 0;
    color: var(--ink-muted);
    font-size: 0.75rem;
  }
  .rtf-checkout-mobile-bar__total {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
  }
  .rtf-checkout-mobile-bar .btn { margin-left: auto; min-width: 148px; min-height: 48px; }
}

@media (max-width: 600px) {
  html body.woocommerce-checkout .wc-block-components-main,
  html body.woocommerce-checkout .wc-block-checkout__main {
    gap: 12px !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-step,
  html body.woocommerce-checkout .wc-block-components-express-payment {
    padding: 16px !important;
    border-radius: 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-step__title {
    margin-bottom: 6px !important;
  }
  .rtf-checkout-step-lede,
  html body.woocommerce-checkout .wc-block-components-checkout-step__description {
    margin-bottom: 12px !important;
  }
  .rtf-checkout-fields,
  html body.woocommerce-checkout .wc-block-components-address-form {
    gap: 10px 12px !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title {
    padding: 14px 16px 10px !important;
  }
}

/* ── Thank-you journey ───────────────────────────────────────────────── */
.rtf-thankyou-shell { max-width: 760px; }
.rtf-thankyou-journey { margin: 0 0 28px; }
.rtf-thankyou-journey__mark {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: var(--ink-on-brand);
  background: var(--brand);
  border-radius: 999px;
}
.rtf-thankyou-journey__eyebrow {
  margin: 18px 0 8px;
  color: var(--brand);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.rtf-thankyou-journey__title {
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
}
.rtf-thankyou-journey__lede {
  margin: 10px 0 0;
  max-width: 36rem;
  color: var(--ink-muted);
}
.rtf-thankyou-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
.rtf-thankyou-steps li {
  padding: 16px 18px;
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
}
.rtf-thankyou-steps__n {
  margin: 0 0 6px;
  color: var(--brand);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.rtf-thankyou-steps h2 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
}
.rtf-thankyou-steps p {
  margin: 6px 0 0;
  color: var(--ink-muted);
  font-size: 0.875rem;
}
body.woocommerce-order-received:has(.rtf-thankyou-journey) .woocommerce-thankyou-order-received,
body.woocommerce-order-received:has(.rtf-thankyou-journey) .page-header {
  display: none;
}
body.woocommerce-order-received .page-card {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-order-received .woocommerce-order-overview {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 0 24px !important;
  padding: 18px 20px !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
}
html body.woocommerce-order-received .woocommerce-order-overview li {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
html body.woocommerce-order-received .woocommerce-order-details,
html body.woocommerce-order-received .woocommerce-customer-details {
  margin: 0 0 20px !important;
  padding: 8px 20px 20px !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
}
.rtf-thankyou-totals { display: grid; gap: 8px; margin: 16px 0 0; }
.rtf-thankyou-totals > div { display: flex; justify-content: space-between; }
.rtf-thankyou-totals .is-total { padding-top: 8px; border-top: 1px solid var(--line); font-weight: 800; }
.rtf-thankyou-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
@media (max-width: 700px) {
  .rtf-thankyou-steps,
  html body.woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: 1fr !important;
  }
  html body.woocommerce-order-received .woocommerce-order-overview {
    gap: 8px !important;
    margin-bottom: 16px !important;
    padding: 14px 16px !important;
  }
  html body.woocommerce-order-received .woocommerce-order-details,
  html body.woocommerce-order-received .woocommerce-customer-details {
    margin-bottom: 16px !important;
    padding: 6px 14px 14px !important;
  }
  html body.woocommerce-order-received .woocommerce-columns--addresses {
    gap: 12px;
  }
  html body.woocommerce-order-received .woocommerce-column--billing-address,
  html body.woocommerce-order-received .woocommerce-column--shipping-address {
    padding: 14px;
  }
  html body.woocommerce-order-received address { line-height: 1.6; }
}

/* ── Basket page matches checkout journey ────────────────────────────── */
body.woocommerce-cart .page-header,
body.woocommerce-cart .page-title,
body.woocommerce-cart .page-card > .page-header,
body.woocommerce-cart .cart-page-header {
  display: none;
}
body.woocommerce-cart .page-card {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart,
html body.woocommerce-cart .wc-block-cart {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}
html body.woocommerce-cart .wc-block-components-sidebar-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 24rem) !important;
  align-items: start !important;
  gap: 24px !important;
  width: 100% !important;
}
html body.woocommerce-cart .wc-block-cart__main,
html body.woocommerce-cart .wc-block-components-main {
  width: 100% !important;
  min-width: 0 !important;
}
.rtf-basket-card,
html body.woocommerce-cart .wc-block-cart-items {
  overflow: visible !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
}
.rtf-basket-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 20px 12px;
}
.rtf-basket-card__head h2 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 800;
}
.rtf-basket-card__head p {
  margin: 4px 0 0;
  color: var(--ink-muted);
  font-size: 0.875rem;
}
html body.woocommerce-cart .wc-block-cart-items__row {
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--line) !important;
}
html body.woocommerce-cart .wc-block-cart__sidebar,
html body.woocommerce-cart .wc-block-components-sidebar {
  position: sticky !important;
  top: calc(var(--header-height) + 16px) !important;
  width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-cart .wc-block-components-totals-wrapper {
  padding: 8px 0 12px !important;
  overflow: visible !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
}
.rtf-basket-summary-title {
  margin: 12px 20px 0 !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item {
  background: transparent !important;
  box-shadow: none !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
}
html body.woocommerce-cart .wc-block-cart__submit-container {
  margin-top: 12px !important;
}
html body.woocommerce-cart .wc-block-cart__submit-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
}
.cart-page-actions { padding: 12px 20px 16px; }
@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-components-sidebar-layout {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  html body.woocommerce-cart .wc-block-cart__sidebar {
    position: static !important;
  }
  body.woocommerce-cart .rtf-checkout-mobile-bar { display: flex; }
}

@media (max-width: 600px) {
  html body.woocommerce-cart .wp-block-woocommerce-cart,
  html body.woocommerce-cart .wc-block-cart,
  html body.woocommerce-cart .wc-block-components-sidebar-layout {
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
  }
  .rtf-basket-card__head { gap: 8px; padding: 14px 16px 10px; }
  html body.woocommerce-cart .wc-block-cart-items__row,
  html body.woocommerce-cart .wc-block-cart-items__row:first-child,
  html body.woocommerce-cart .wc-block-cart-items__row:last-child {
    grid-template-columns: 60px minmax(0, 1fr) auto !important;
    column-gap: 10px !important;
    row-gap: 8px !important;
    padding: 12px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image,
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 60px !important;
    height: 60px !important;
    max-width: 60px !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised {
    gap: 3px !important;
    padding: 6px 8px !important;
  }
  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item,
  html body.woocommerce-cart .wc-block-components-totals-item {
    gap: 8px 12px !important;
    padding: 10px 14px !important;
  }
  html body.woocommerce-cart .wc-block-components-totals-footer-item {
    padding: 12px 14px !important;
  }
  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button {
    padding-inline: 14px !important;
  }
  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping__via {
    padding: 0 14px 10px !important;
  }
  html body.woocommerce-cart .wc-block-cart__submit-container { margin-top: 10px !important; }
  html body.woocommerce-cart .wc-block-cart__submit-button { min-height: 48px !important; }
}

/* Empty shipping/description pills under Subtotal — hide unless they have copy. */
html body.woocommerce-checkout .wc-block-components-totals-item__description:empty,
html body.woocommerce-checkout .wc-block-components-totals-shipping__via:empty,
html body.woocommerce-cart .wc-block-components-totals-item__description:empty,
html body.woocommerce-cart .wc-block-components-totals-shipping__via:empty,
html body.woocommerce-checkout .wc-block-components-totals-item__description:not(:has(*)),
html body.woocommerce-cart .wc-block-components-totals-item__description:not(:has(*)) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-components-totals-shipping,
html body.woocommerce-cart .wc-block-components-totals-shipping {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
}
html body.woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-totals-item,
html body.woocommerce-cart .wc-block-components-totals-shipping .wc-block-components-totals-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px 16px !important;
}
html body.woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-totals-item__label,
html body.woocommerce-cart .wc-block-components-totals-shipping .wc-block-components-totals-item__label {
  color: var(--ink-muted) !important;
  font-weight: 700 !important;
}

/* Quantity: small light chip inset in the thumbnail, not a hanging black pill. */
html body.woocommerce-cart .wc-block-cart-item__image,
html body.woocommerce-cart .wc-block-components-order-summary-item__image,
html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}
html body.woocommerce-cart .wc-block-cart-item__image .wc-block-components-product-badge,
html body.woocommerce-cart .wc-block-components-product-image .wc-block-components-product-badge,
html body.woocommerce-cart .wc-block-components-order-summary-item__quantity,
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
html body.woocommerce-checkout .wc-block-components-product-badge,
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity span,
html body.woocommerce-checkout .wc-block-components-order-summary-item__image [class*="quantity"] {
  position: absolute !important;
  top: 4px !important;
  left: 4px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  padding: 0 !important;
  color: var(--ink) !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: 6px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
  line-height: 1 !important;
  transform: none !important;
}

/* Checkout fields: labels above inputs, two-column grid, aligned titles. */
html body.woocommerce-checkout .wc-block-components-checkout-step__heading,
html body.woocommerce-checkout .wc-block-components-checkout-step__heading-container {
  display: block !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-step__title,
html body.woocommerce-checkout .wc-block-components-title {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.25 !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-step__container::before,
html body.woocommerce-checkout .wc-block-components-checkout-step::before {
  display: none !important;
  content: none !important;
}
html body.woocommerce-checkout .wc-block-components-address-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 14px 16px !important;
  align-items: start !important;
  width: 100% !important;
}
html body.woocommerce-checkout .wc-block-components-address-form__country,
html body.woocommerce-checkout .wc-block-components-address-form__address_1,
html body.woocommerce-checkout .wc-block-components-address-form__address_2,
html body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle,
html body.woocommerce-checkout .wc-block-components-address-form__address_2-hidden-input {
  grid-column: 1 / -1 !important;
}
html body.woocommerce-checkout .wc-block-components-text-input,
html body.woocommerce-checkout .wc-block-components-combobox,
html body.woocommerce-checkout .wc-block-components-combobox-control,
html body.woocommerce-checkout .wc-block-components-country-input,
html body.woocommerce-checkout .wc-block-components-state-input,
html body.woocommerce-checkout .wc-blocks-components-select,
html body.woocommerce-checkout .wc-block-components-textarea,
html body.woocommerce-checkout .components-base-control__field {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-text-input label,
html body.woocommerce-checkout .wc-block-components-combobox label,
html body.woocommerce-checkout .wc-block-components-combobox-control label,
html body.woocommerce-checkout .wc-block-components-country-input label,
html body.woocommerce-checkout .wc-block-components-state-input label,
html body.woocommerce-checkout .wc-blocks-components-select__label,
html body.woocommerce-checkout .wc-block-components-textarea label,
html body.woocommerce-checkout .wc-block-components-validated-text-input label,
html body.woocommerce-checkout .components-base-control__label {
  position: static !important;
  order: -1 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink) !important;
  background: transparent !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  transform: none !important;
  pointer-events: none !important;
}
html body.woocommerce-checkout .wc-block-components-text-input input,
html body.woocommerce-checkout .wc-block-components-combobox input,
html body.woocommerce-checkout .wc-block-components-country-input input,
html body.woocommerce-checkout .wc-block-components-state-input input,
html body.woocommerce-checkout .wc-blocks-components-select__select,
html body.woocommerce-checkout .wc-block-components-textarea {
  display: block !important;
  order: 0 !important;
  width: 100% !important;
  min-height: 48px !important;
  height: 48px !important;
  margin: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-textarea { height: auto !important; min-height: 88px !important; }
@media (max-width: 700px) {
  html body.woocommerce-checkout .wc-block-components-address-form {
    grid-template-columns: 1fr !important;
  }
}

/* Restore WooCommerce delivery options (name + price), not the custom select. */
html body.woocommerce-checkout .rtf-shipping-select-wrap,
html body.woocommerce-checkout .rtf-shipping-choice {
  display: block !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  pointer-events: auto !important;
}
html body.woocommerce-checkout .rtf-shipping-choice .rtf-choice-button,
html body.woocommerce-checkout .rtf-shipping-choice .rtf-choice-value {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
html body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block,
html body.woocommerce-checkout .wc-block-checkout__shipping-option,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control__package {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
}
/* Native radios stay in the DOM for WooCommerce; the themed selector is what shoppers use. */
html body.woocommerce-checkout .rtf-shipping-has-select .wc-block-components-radio-control,
html body.woocommerce-checkout .rtf-shipping-has-select #shipping_method,
html body.woocommerce-checkout .rtf-shipping-has-select .woocommerce-shipping-methods,
html body.woocommerce-checkout .rtf-shipping-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  pointer-events: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control,
html body.woocommerce-checkout #shipping_method {
  display: grid !important;
  gap: 8px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
html body.woocommerce-checkout #shipping_method li {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 12px !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  overflow: visible !important;
  color: var(--ink) !important;
  background: var(--surface) !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(:checked),
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(:checked),
html body.woocommerce-checkout #shipping_method li:has(:checked) {
  border-color: var(--brand) !important;
  background: var(--brand-tint-soft) !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label {
  grid-column: 2 !important;
  font-weight: 700 !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__secondary-label,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label {
  grid-column: 3 !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option input[type="radio"] {
  position: static !important;
  grid-column: 1 !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  accent-color: var(--brand) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Force the WooCommerce shipping-methods block back on screen. */
html body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block,
html body.woocommerce-checkout .wc-block-checkout__shipping-method,
html body.woocommerce-checkout .wc-block-checkout__shipping-option,
html body.woocommerce-checkout .wc-block-components-checkout-step--shipping,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control__package,
html body.woocommerce-checkout #shipping_method,
html body.woocommerce-checkout .woocommerce-shipping-methods,
html body.woocommerce-checkout .woocommerce-checkout-review-order .woocommerce-shipping-totals {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  pointer-events: auto !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr !important;
  gap: 12px !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option,
html body.woocommerce-checkout #shipping_method li {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 12px 14px !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option-layout {
  display: flex !important;
  flex: 1 1 auto !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-width: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label,
html body.woocommerce-checkout #shipping_method label {
  display: inline !important;
  color: var(--ink) !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__secondary-label {
  display: inline-block !important;
  margin-left: auto !important;
  color: var(--ink) !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
  opacity: 1 !important;
  white-space: nowrap !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control input[type="radio"],
html body.woocommerce-checkout .wc-block-checkout__shipping-option input[type="radio"],
html body.woocommerce-checkout #shipping_method input[type="radio"] {
  position: static !important;
  inset: auto !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  opacity: 1 !important;
  appearance: auto !important;
  -webkit-appearance: radio !important;
  accent-color: var(--brand) !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option::after,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option::after {
  content: none !important;
  display: none !important;
}

/* Quantity chip: flush with the thumbnail's top-left corner. */
html body.woocommerce-checkout .wc-block-components-order-summary-item__image,
html body.woocommerce-checkout .wc-block-components-order-summary-item__image .wc-block-components-product-image,
html body.woocommerce-cart .wc-block-components-order-summary-item__image {
  position: relative !important;
  overflow: hidden !important;
  width: 56px !important;
  min-width: 56px !important;
  height: 56px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 12px !important;
}
html body.woocommerce-cart .wc-block-cart-item__image,
html body.woocommerce-cart .cart-page-item-image {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image img,
html body.woocommerce-cart .wc-block-components-order-summary-item__image img {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity span,
html body.woocommerce-checkout .wc-block-components-product-badge,
html body.woocommerce-checkout .wc-block-components-order-summary-item__image [class*="quantity"],
html body.woocommerce-cart .wc-block-components-order-summary-item__quantity,
html body.woocommerce-cart .wc-block-components-product-badge,
html body.woocommerce-cart .rtf-cart-qty-badge,
html body.woocommerce-cart .wc-block-cart-item__image .wc-block-components-order-summary-item__quantity,
html body.woocommerce-cart .cart-page-item-image .rtf-cart-qty-badge {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink) !important;
  background: var(--surface-raised) !important;
  border: 0 !important;
  border-radius: 0 0 8px 0 !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
  line-height: 1 !important;
  transform: none !important;
  inset: 0 auto auto 0 !important;
}

/* Delivery prices: name left, WooCommerce rate right. Never park the price in a 3rd grid column. */
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option-layout,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group {
  display: block !important;
  flex: 1 1 auto !important;
  grid-column: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: visible !important;
  color: var(--ink) !important;
  font-weight: 700 !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__secondary-label,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label,
html body.woocommerce-checkout #shipping_method .woocommerce-Price-amount,
html body.woocommerce-checkout #shipping_method .amount,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-formatted-money-amount,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-formatted-money-amount {
  display: inline-block !important;
  flex: 0 0 auto !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: auto !important;
  min-width: 0 !important;
  margin-left: auto !important;
  overflow: visible !important;
  color: var(--ink) !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  visibility: visible !important;
}
html body.woocommerce-checkout .wc-block-components-totals-shipping,
html body.woocommerce-cart .wc-block-components-totals-shipping {
  display: block !important;
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-totals-item__value,
html body.woocommerce-cart .wc-block-components-totals-shipping .wc-block-components-totals-item__value {
  display: inline-block !important;
  color: var(--ink) !important;
  font-weight: 800 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html body.woocommerce-checkout .rtf-delivery-options,
html body.woocommerce-checkout .rtf-delivery-options__control,
html body.woocommerce-checkout .rtf-delivery-options .rtf-shipping-select-wrap,
html body.woocommerce-checkout .rtf-delivery-options .rtf-shipping-choice,
html body.woocommerce-checkout .rtf-delivery-options .rtf-choice-button {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  clip: auto !important;
  pointer-events: auto !important;
}
html body.woocommerce-checkout .rtf-delivery-options .rtf-choice-button {
  display: flex !important;
  width: 100% !important;
}
html body.woocommerce-checkout .rtf-delivery-options__empty {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.9375rem;
}

html body.woocommerce-checkout .wc-block-components-checkout-step[hidden],
html body.woocommerce-checkout [hidden] .wc-block-checkout__billing-fields,
html body.woocommerce-checkout .wc-block-checkout__billing-fields[hidden],
html body.woocommerce-checkout .wc-block-checkout__shipping-fields[hidden] {
  display: none !important;
}

html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-shipping-block,
html body.woocommerce-cart .wc-block-components-totals-shipping,
html body.woocommerce-cart .wc-block-components-shipping-calculator,
html body.woocommerce-cart .wc-block-components-shipping-calculator-address,
html body.woocommerce-cart .wc-block-components-shipping-rates-control,
html body.woocommerce-cart .woocommerce-shipping-calculator,
html body.woocommerce-cart .shipping-calculator-form,
html body.woocommerce-cart .woocommerce-shipping-methods {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

html body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block,
html body.woocommerce-checkout .wc-block-checkout__shipping-option,
html body.woocommerce-checkout .wc-block-checkout__shipping-method,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}


/* International delivery is reviewed and invoiced separately after checkout. */
.rtf-international-delivery-notice {
  display: block;
  width: 100%;
  margin: 14px 0 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--brand-tint-soft);
  color: var(--ink);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.45;
}
.rtf-international-delivery-notice--summary {
  margin: 12px 0;
}
html body.woocommerce-checkout .rtf-international-delivery-price {
  flex: 0 1 320px !important;
  min-width: 0 !important;
  max-width: 320px !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: right;
  line-height: 1.35;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__secondary-label.rtf-international-delivery-price,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label.rtf-international-delivery-price {
  flex: 0 1 320px !important;
  min-width: 0 !important;
  max-width: 320px !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
@media (max-width: 600px) {
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option-layout.rtf-international-delivery-rate,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout.rtf-international-delivery-rate {
    flex-wrap: wrap !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .rtf-international-delivery-rate .wc-block-components-radio-control__label-group,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .rtf-international-delivery-rate .wc-block-components-radio-control__label-group {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__secondary-label.rtf-international-delivery-price,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label.rtf-international-delivery-price {
    display: block !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    text-align: left;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 0.875rem;
  }
}


/* Neutral carrier marker for United Kingdom Royal Mail Tracked 48 delivery methods. */
.rtf-royal-mail-badge {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 4px 8px;
  border: 1px solid var(--line-strong);
  border-radius: 9px;
  background: var(--surface-sunken);
  color: var(--ink-muted);
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0;
  text-align: left;
  white-space: nowrap;
}
.rtf-royal-mail-badge__icon {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  color: var(--brand);
}
.rtf-royal-mail-badge__copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rtf-royal-mail-badge__copy strong {
  color: var(--ink);
  font-size: 0.6875rem;
  font-weight: 800;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 10px !important;
}
.rtf-shipping-choice .rtf-choice-button:has(> .rtf-royal-mail-badge) {
  flex-wrap: wrap;
  gap: 8px 10px;
  padding-block: 8px;
}
.rtf-shipping-choice .rtf-choice-button > .rtf-choice-value {
  flex: 1 1 180px;
  min-width: 0;
}
.rtf-choice-list--shipping .rtf-choice-option:has(> .rtf-royal-mail-badge) {
  flex-wrap: wrap;
}
.rtf-choice-list--shipping .rtf-choice-option > .rtf-choice-option-copy {
  flex: 1 1 160px;
}
.rtf-choice-list--shipping .rtf-choice-option > .rtf-royal-mail-badge {
  margin-left: auto;
}
@media (max-width: 600px) {
  .rtf-royal-mail-badge {
    min-height: 28px;
    padding: 4px 7px;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) {
    align-items: flex-start !important;
  }
  .rtf-choice-list--shipping .rtf-choice-option > .rtf-royal-mail-badge {
    margin-left: 0;
  }
  .rtf-shipping-choice .rtf-choice-button > .rtf-choice-value {
    flex: 1 1 calc(100% - 42px);
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.35;
  }
  .rtf-shipping-choice .rtf-choice-button > .rtf-choice-arrow {
    order: 2;
    margin-left: auto;
  }
  .rtf-shipping-choice .rtf-choice-button > .rtf-royal-mail-badge {
    order: 3;
    margin-right: auto;
  }
}


/* Mandatory acknowledgement for separately invoiced international delivery. */
body.rtf-international-delivery-modal-open {
  overflow: hidden !important;
}
.rtf-international-delivery-modal[hidden] {
  display: none !important;
}
.rtf-international-delivery-modal {
  position: fixed;
  z-index: calc(var(--z-modal) + 40);
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
}
.rtf-international-delivery-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(22, 17, 29, 0.72);
  backdrop-filter: blur(4px);
}
.rtf-international-delivery-modal__dialog {
  position: relative;
  width: min(100%, 480px);
  padding: 30px;
  border: 1px solid var(--line-strong);
  border-radius: 22px;
  background: var(--surface-raised);
  color: var(--ink);
  box-shadow: var(--shadow-xl);
  text-align: center;
}
.rtf-international-delivery-modal__icon {
  display: grid;
  width: 52px;
  height: 52px;
  margin: 0 auto 16px;
  place-items: center;
  border-radius: 15px;
  background: var(--brand-wash);
  color: var(--brand);
}
.rtf-international-delivery-modal__icon svg {
  width: 27px;
  height: 27px;
}
.rtf-international-delivery-modal__dialog h2 {
  margin: 0 0 10px;
  color: var(--ink);
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  line-height: 1.2;
}
.rtf-international-delivery-modal__dialog p {
  margin: 0 0 22px;
  color: var(--ink);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
html body .rtf-international-delivery-modal__confirm {
  width: 100%;
  min-height: 48px;
  margin: 0;
  border: 1px solid var(--brand);
  border-radius: 12px;
  background: var(--brand);
  color: var(--ink-on-brand);
  font-weight: 800;
  cursor: pointer;
}
html body .rtf-international-delivery-modal__confirm:hover,
html body .rtf-international-delivery-modal__confirm:focus-visible {
  border-color: var(--brand-strong);
  background: var(--brand-strong);
  color: var(--ink-on-brand);
  outline: 3px solid var(--brand-wash);
  outline-offset: 3px;
}
@media (max-width: 600px) {
  .rtf-international-delivery-modal {
    padding: 16px;
  }
  .rtf-international-delivery-modal__dialog {
    padding: 24px 20px;
    border-radius: 18px;
  }
}
@media (forced-colors: active) {
  .rtf-international-delivery-modal__backdrop {
    background: Canvas;
    opacity: 0.78;
  }
  .rtf-international-delivery-modal__dialog,
  html body .rtf-international-delivery-modal__confirm {
    border: 2px solid CanvasText;
  }
}


/* Customer Orders screen: full-width table, clear actions and responsive cards. */
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  width: 100% !important;
  min-width: 0;
}
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > * {
  margin-top: 0 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > h2 {
  margin: 0 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-info,
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-message,
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-Message {
  display: flex !important;
  flex-direction: row-reverse !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 18px 20px !important;
  overflow: visible !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-left: 3px solid var(--brand) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: none !important;
  color: var(--ink-muted) !important;
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-info .button,
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-message .button,
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-Message .button {
  flex: 0 0 auto;
  width: auto !important;
  max-width: none !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 9px 16px !important;
  white-space: nowrap !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content > table.woocommerce-orders-table {
  display: table !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: hidden !important;
  table-layout: fixed;
  border-collapse: separate !important;
  border-spacing: 0;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-xs);
}
html body.woocommerce-account table.woocommerce-orders-table thead {
  display: table-header-group !important;
  background: var(--surface-sunken) !important;
}
html body.woocommerce-account table.woocommerce-orders-table tbody {
  display: table-row-group !important;
}
html body.woocommerce-account table.woocommerce-orders-table tr {
  display: table-row !important;
}
html body.woocommerce-account table.woocommerce-orders-table th,
html body.woocommerce-account table.woocommerce-orders-table td {
  display: table-cell !important;
  box-sizing: border-box;
  padding: 15px 16px !important;
  text-align: left;
  vertical-align: middle;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
}
html body.woocommerce-account table.woocommerce-orders-table thead th {
  color: var(--ink-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  line-height: 1.25;
  text-transform: uppercase;
}
html body.woocommerce-account table.woocommerce-orders-table tbody th,
html body.woocommerce-account table.woocommerce-orders-table td {
  color: var(--ink) !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.45;
  overflow-wrap: normal;
  text-transform: none !important;
  word-break: normal;
}
html body.woocommerce-account table.woocommerce-orders-table tbody tr:last-child th,
html body.woocommerce-account table.woocommerce-orders-table tbody tr:last-child td {
  border-bottom: 0 !important;
}
html body.woocommerce-account table.woocommerce-orders-table th:nth-child(1),
html body.woocommerce-account table.woocommerce-orders-table td:nth-child(1) {
  width: 11%;
}
html body.woocommerce-account table.woocommerce-orders-table th:nth-child(2),
html body.woocommerce-account table.woocommerce-orders-table td:nth-child(2) {
  width: 18%;
}
html body.woocommerce-account table.woocommerce-orders-table th:nth-child(3),
html body.woocommerce-account table.woocommerce-orders-table td:nth-child(3) {
  width: 19%;
}
html body.woocommerce-account table.woocommerce-orders-table th:nth-child(4),
html body.woocommerce-account table.woocommerce-orders-table td:nth-child(4) {
  width: 21%;
}
html body.woocommerce-account table.woocommerce-orders-table th:nth-child(5),
html body.woocommerce-account table.woocommerce-orders-table td:nth-child(5) {
  width: 31%;
}
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
  display: inline-block;
  width: auto !important;
  color: var(--brand) !important;
  font-weight: 800;
  overflow-wrap: normal !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  white-space: nowrap !important;
  word-break: keep-all !important;
}
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
  font-weight: 700;
}
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
  white-space: normal !important;
}
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
  min-width: 68px;
  min-height: 40px !important;
  margin: 3px 6px 3px 0 !important;
  padding: 8px 13px !important;
  border-radius: 11px !important;
  font-size: 0.8125rem !important;
  line-height: 1.2 !important;
  white-space: nowrap;
}
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button.view {
  color: var(--brand) !important;
  background: var(--surface-sunken) !important;
  border-color: var(--line-strong) !important;
}
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button.cancel {
  color: var(--rose) !important;
  background: transparent !important;
  border-color: currentColor !important;
}
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button.view:hover,
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button.view:focus-visible {
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  border-color: var(--brand) !important;
}
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button.cancel:hover,
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button.cancel:focus-visible {
  color: var(--surface-raised) !important;
  background: var(--rose) !important;
  border-color: var(--rose) !important;
}
@media (max-width: 900px) {
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) {
    gap: 14px;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-info,
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-message,
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-Message {
    flex-direction: column-reverse !important;
    align-items: stretch !important;
    padding: 16px !important;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-info .button,
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-message .button,
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-Message .button {
    width: 100% !important;
    white-space: normal !important;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content > table.woocommerce-orders-table {
    display: block !important;
    overflow: visible !important;
    table-layout: auto;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none;
  }
  html body.woocommerce-account table.woocommerce-orders-table thead {
    display: none !important;
  }
  html body.woocommerce-account table.woocommerce-orders-table tbody {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    width: 100%;
  }
  html body.woocommerce-account table.woocommerce-orders-table tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    margin: 0 !important;
    padding: 12px 14px !important;
    overflow: hidden;
    background: var(--surface-raised) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-md) !important;
    box-shadow: var(--shadow-xs);
  }
  html body.woocommerce-account table.woocommerce-orders-table tbody th,
  html body.woocommerce-account table.woocommerce-orders-table tbody td,
  html body.woocommerce-account table.woocommerce-orders-table tbody th:nth-child(n),
  html body.woocommerce-account table.woocommerce-orders-table tbody td:nth-child(n) {
    position: relative;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 8px 0 8px 78px !important;
    color: var(--ink) !important;
    font-size: 0.9rem !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    line-height: 1.45;
    text-align: left;
    text-transform: none !important;
    border-bottom: 1px solid var(--line-soft) !important;
    overflow-wrap: normal;
    word-break: normal;
  }
  html body.woocommerce-account table.woocommerce-orders-table tbody th::before,
  html body.woocommerce-account table.woocommerce-orders-table tbody td::before {
    content: attr(data-title);
    position: absolute;
    top: 9px;
    left: 0;
    width: 68px;
    color: var(--ink-muted);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-align: left;
    text-transform: uppercase;
  }
  html body.woocommerce-account table.woocommerce-orders-table tbody tr > :last-child {
    border-bottom: 0 !important;
  }
  html body.woocommerce-account table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions:nth-child(n) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 8px 0 0 !important;
    text-align: center;
  }
  html body.woocommerce-account table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions:nth-child(n):has(.button:only-child) {
    grid-template-columns: minmax(0, 1fr);
  }
  html body.woocommerce-account table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions:nth-child(n)::before {
    position: static;
    width: auto;
    grid-column: 1 / -1;
    text-align: left;
  }
  html body.woocommerce-account table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions:nth-child(n) .button {
    width: 100% !important;
    min-width: 0;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 8px !important;
    white-space: normal;
  }
}

/* Customer Order details: full-width summary, structured totals and responsive order cards. */
html body.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-order-details) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  width: 100% !important;
  min-width: 0;
}
html body.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-order-details) > * {
  margin-top: 0 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-order-details) > p:has(+ .woocommerce-order-details) {
  margin: 0 !important;
  padding: 16px 18px !important;
  color: var(--ink-muted) !important;
  line-height: 1.55;
  background: var(--surface-sunken);
  border: 1px solid var(--line);
  border-left: 3px solid var(--brand);
  border-radius: var(--r-lg);
}
html body.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-order-details) > p mark {
  padding: 0;
  color: var(--ink);
  background: transparent;
  font-weight: 800;
}
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-order-details,
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-xs);
}
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-order-details > h2,
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details > h2 {
  margin: 0 !important;
  padding: 18px 20px 14px;
  font-size: 1.125rem;
  border-bottom: 1px solid var(--line);
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details {
  display: table !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: hidden !important;
  table-layout: fixed;
  border: 0 !important;
  border-radius: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0;
  background: transparent !important;
  box-shadow: none !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details thead {
  display: table-header-group !important;
  background: var(--surface-sunken) !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody {
  display: table-row-group !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot {
  display: table-footer-group !important;
  background: var(--surface-sunken) !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tr {
  display: table-row !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details th,
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details td {
  display: table-cell !important;
  box-sizing: border-box;
  padding: 15px 18px !important;
  text-align: left;
  vertical-align: top;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details thead th {
  color: var(--ink-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details th:first-child,
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details td:first-child {
  width: 76%;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details th:last-child,
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details td:last-child {
  width: 24%;
  text-align: right;
  white-space: normal;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody td.product-name > a {
  color: var(--brand) !important;
  font-weight: 800;
  line-height: 1.4;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details .product-quantity {
  color: var(--ink);
  white-space: nowrap;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details .wc-item-meta {
  display: grid;
  gap: 4px;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  color: var(--ink-muted);
  font-size: 0.8125rem;
  list-style: none;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details .wc-item-meta li,
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details .wc-item-meta p {
  margin: 0 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details .wc-item-meta strong {
  color: var(--ink);
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot th {
  color: var(--ink-muted) !important;
  font-size: 0.8125rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot td {
  color: var(--ink);
  font-weight: 700;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot tr:last-child th,
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot tr:last-child td {
  border-bottom: 0 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot tr:nth-last-child(2) th,
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot tr:nth-last-child(2) td {
  color: var(--ink) !important;
  font-size: 1rem !important;
  font-weight: 800;
}
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details .woocommerce-columns--addresses {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: 100% !important;
  margin: 0 !important;
  padding: 18px 20px 20px;
}
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details .woocommerce-column {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 16px 18px;
  background: var(--surface-sunken);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details .woocommerce-column__title {
  margin: 0 0 10px !important;
  font-size: 1rem;
}
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details address {
  margin: 0;
  color: var(--ink-muted);
  font-style: normal;
  line-height: 1.65;
}
@media (max-width: 760px) {
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-order-details) {
    gap: 12px;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-order-details) > p:has(+ .woocommerce-order-details) {
    padding: 12px 14px !important;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-order-details > h2,
  html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details > h2 {
    padding: 14px;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details {
    display: block !important;
    overflow: visible !important;
    table-layout: auto;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details thead {
    display: none !important;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody,
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 12px;
    background: transparent !important;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot {
    padding-top: 0;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    overflow: hidden;
    background: var(--surface-sunken);
    border: 1px solid var(--line);
    border-radius: var(--r-md);
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody td,
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody td:first-child,
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody td:last-child {
    display: block !important;
    width: auto !important;
    min-width: 0;
    padding: 11px 12px !important;
    text-align: left;
    border: 0 !important;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody td:last-child {
    min-width: 76px;
    text-align: right;
    white-space: nowrap;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody td::before {
    display: block;
    margin-bottom: 5px;
    color: var(--ink-muted);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-align: inherit;
    text-transform: uppercase;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    padding: 9px 0;
    border-bottom: 1px solid var(--line);
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot tr:last-child {
    border-bottom: 0;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot th,
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot td,
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot th:first-child,
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot td:last-child {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    text-align: left;
    border: 0 !important;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot td:last-child {
    text-align: right;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details .woocommerce-columns--addresses {
    grid-template-columns: minmax(0, 1fr);
    padding: 12px;
  }
}

@media (min-width: 701px) {
  #cartDrawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
    padding: 8px !important;
  }
  #cartDrawer .rtf-mini-cart-product {
    gap: 6px !important;
  }
  #cartDrawer dl.rtf-mini-cart-options,
  .cart-drawer dl.rtf-mini-cart-options {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  #cartDrawer .rtf-mini-cart-option,
  .cart-drawer .rtf-mini-cart-option {
    box-sizing: border-box !important;
    min-height: 54px !important;
    padding: 8px 10px !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: center !important;
    column-gap: 4px !important;
    row-gap: 1px !important;
    background: var(--surface-sunken) !important;
    border: 1px solid var(--line-soft) !important;
    border-radius: var(--r-md) !important;
  }
}

#cartDrawer .rtf-mini-cart-summary-row,
.cart-drawer .rtf-mini-cart-summary-row {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 54px;
  padding: 8px 10px;
  background: var(--surface-sunken);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
}
#cartDrawer .rtf-mini-cart-summary-row .woocommerce-mini-cart__total,
.cart-drawer .rtf-mini-cart-summary-row .woocommerce-mini-cart__total {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 4px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
#cartDrawer .rtf-mini-cart-summary-row .rtf-mini-cart-clear,
.cart-drawer .rtf-mini-cart-summary-row .rtf-mini-cart-clear {
  margin: 0 !important;
}
#cartDrawer ul.woocommerce-mini-cart,
.cart-drawer ul.woocommerce-mini-cart {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
}
#cartDrawer .rtf-mini-cart-product,
.cart-drawer .rtf-mini-cart-product {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
}
#cartDrawer .rtf-mini-cart-head .rtf-mini-cart-name,
.cart-drawer .rtf-mini-cart-head .rtf-mini-cart-name {
  display: flex !important;
}
@media (min-width: 341px) {
  #cartDrawer dl.rtf-mini-cart-options,
  .cart-drawer dl.rtf-mini-cart-options {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 901px) {
  html body.woocommerce-cart .wc-block-cart-items__row,
  html body.woocommerce-cart .wc-block-cart-items__row:first-child,
  html body.woocommerce-cart .wc-block-cart-items__row:last-child {
    grid-template-columns: 72px minmax(0, 1fr) auto !important;
    grid-template-areas:
      "image product total"
      "qty qty qty" !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total {
    align-self: start !important;
    justify-self: end !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
  }
}
html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 8px 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  overflow: visible !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 10px !important;
}
html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 4px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail[class*='wc-block-components-product-details__'] {
  display: grid !important;
}
@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail,
  html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail[class*='wc-block-components-product-details__'] {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    width: 100% !important;
  }
}
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding-inline: 16px !important;
}
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button > :last-child {
  margin-left: auto !important;
}
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 12px !important;
  padding-inline: 16px !important;
}
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping__via {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 16px 12px !important;
}
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping__via :is(ul, li, span) {
  margin-left: 0 !important;
  padding-left: 0 !important;
}
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping__via :is(ul, li) {
  list-style: none !important;
}
@media (min-width: 901px) {
  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon__content,
  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon__form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 8px !important;
    padding-inline: 16px !important;
  }
  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon__button {
    width: auto !important;
    min-width: 88px !important;
    margin: 0 !important;
  }
}

/* Product imagery controls: restrained overlays with independent touch areas. */
.product-card .product-image-shell {
  position: relative;
  min-width: 0;
}
.product-card .product-badges,
.pdp-image-wrap .pdp-image-badge {
  z-index: 4 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.product-card .badge-preorder,
.pdp-image-wrap .pdp-image-badge {
  color: #eadcf4 !important;
  background: rgba(29, 25, 38, 0.84) !important;
  border: 1px solid rgba(215, 194, 232, 0.34) !important;
  box-shadow: 0 2px 8px rgba(14, 12, 20, 0.24) !important;
}
.product-card .product-wishlist,
.product-card .product-zoom,
button.product-zoom[data-product-zoom] {
  position: absolute !important;
  right: 8px !important;
  z-index: 4 !important;
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #f3edf8 !important;
  background: rgba(29, 25, 38, 0.84) !important;
  border: 1px solid rgba(215, 194, 232, 0.34) !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 8px rgba(14, 12, 20, 0.28) !important;
  backdrop-filter: blur(6px);
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
}
.product-card .product-wishlist {
  top: 8px !important;
  bottom: auto !important;
}
.product-card .product-zoom,
button.product-zoom[data-product-zoom] {
  top: auto !important;
  bottom: 8px !important;
}
.product-card .product-wishlist:hover,
.product-card .product-zoom:hover,
button.product-zoom[data-product-zoom]:hover {
  color: #fff !important;
  background: rgba(29, 25, 38, 0.94) !important;
}
.product-card .product-wishlist.is-active,
.product-card .product-wishlist.wishlisted {
  color: #ff8bab !important;
}
.pdp-image-wrap .pdp-wishlist-float {
  z-index: 4 !important;
  color: #f3edf8 !important;
  background: rgba(29, 25, 38, 0.84) !important;
  border: 1px solid rgba(215, 194, 232, 0.34) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.pdp-image-wrap .pdp-wishlist-float:hover {
  color: #fff !important;
  background: rgba(29, 25, 38, 0.94) !important;
}
.pdp-zoom-indicator {
  position: absolute;
  right: var(--s-3);
  bottom: var(--s-3);
  z-index: 4;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #f3edf8;
  background: rgba(29, 25, 38, 0.84);
  border: 1px solid rgba(215, 194, 232, 0.34);
  border-radius: 50%;
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(6px);
  pointer-events: none;
}
.pdp-main-image-trigger:hover .pdp-zoom-indicator {
  color: #fff;
  background: rgba(29, 25, 38, 0.94);
}
@media (max-width: 768px) {
  .product-card .product-badges {
    top: 8px;
    left: 8px;
    max-width: calc(100% - 68px);
  }
  .product-card .product-badge {
    padding: 4px 8px;
    font-size: 9px;
    line-height: 1.35;
    white-space: nowrap;
  }
  .product-card .product-zoom,
  button.product-zoom[data-product-zoom] {
    top: auto !important;
    right: 8px !important;
    bottom: 8px !important;
    width: 36px !important;
    height: 36px !important;
  }
  .product-card .product-wishlist {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    z-index: 4 !important;
    display: grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    color: #f3edf8 !important;
    background: rgba(29, 25, 38, 0.84) !important;
    border: 1px solid rgba(215, 194, 232, 0.34) !important;
    border-radius: 50% !important;
    box-shadow: var(--shadow-sm) !important;
    backdrop-filter: blur(6px);
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  :root[data-theme='dark'] .product-card .product-wishlist {
    color: var(--ink) !important;
    background: rgba(29, 25, 38, 0.9) !important;
    border-color: var(--line-strong) !important;
  }
  .product-card .product-wishlist.is-active,
  .product-card .product-wishlist.wishlisted {
    color: var(--heart) !important;
  }
  .product-card .product-wishlist::after,
  .product-card .product-zoom::after {
    inset: -4px;
  }
  .pdp-image-wrap .pdp-image-badge {
    top: 10px;
    left: 10px;
  }
  .pdp-image-wrap .pdp-wishlist-float {
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
  }
  .pdp-zoom-indicator {
    right: 10px;
    bottom: 10px;
    width: 36px;
    height: 36px;
  }
  .pdp-image-wrap .pdp-wishlist-float::after {
    content: '';
    position: absolute;
    inset: -4px;
  }
}
@media (max-width: 430px) {
  .product-card .product-wishlist,
  .product-card .product-zoom,
  button.product-zoom[data-product-zoom] {
    width: 32px !important;
    height: 32px !important;
  }
  .product-card .product-wishlist::after,
  .product-card .product-zoom::after {
    inset: -6px;
  }
  .pdp-image-wrap .pdp-wishlist-float,
  .pdp-zoom-indicator {
    width: 34px;
    height: 34px;
  }
  .pdp-image-wrap .pdp-wishlist-float::after {
    inset: -5px;
  }
}

/* =============================================================================
   v1.2.158 — Desktop mini-basket viewport fit and fabric measurement.
   ========================================================================== */
#cartDrawer .rtf-mini-cart-measure,
.cart-drawer .rtf-mini-cart-measure {
  display: inline-flex !important;
  flex: 1 1 auto !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 2px 5px !important;
  min-width: 0 !important;
  min-height: 28px !important;
  padding: 0 2px !important;
  color: var(--ink) !important;
  font-size: 0.8125rem !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  font-variant-numeric: tabular-nums !important;
}

#cartDrawer .rtf-mini-cart-measure > span,
.cart-drawer .rtf-mini-cart-measure > span {
  display: inline !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  white-space: nowrap !important;
}

#cartDrawer .rtf-mini-cart-equation,
.cart-drawer .rtf-mini-cart-equation {
  color: var(--ink-muted) !important;
  font-weight: 700 !important;
}

#cartDrawer .rtf-mini-cart-length,
.cart-drawer .rtf-mini-cart-length {
  color: var(--brand-strong) !important;
}

@media (min-width: 901px) {
  #cartDrawer.cart-drawer,
  #cartDrawer.rtf-cart-drawer,
  .cart-drawer#cartDrawer {
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 16px) !important;
    right: 16px !important;
    bottom: auto !important;
    width: min(400px, calc(100vw - 32px)) !important;
    height: auto !important;
    max-height: calc(100svh - var(--wp-admin--admin-bar--height, 0px) - 32px) !important;
    max-height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px) - 32px) !important;
    padding-bottom: 0 !important;
    border-radius: 22px !important;
  }

  #cartDrawer .cart-drawer-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }

  #cartDrawer.rtf-cart-drawer .widget_shopping_cart_content,
  #cartDrawer .widget_shopping_cart_content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }

  #cartDrawer.rtf-cart-drawer .rtf-mini-cart-footer,
  #cartDrawer .rtf-mini-cart-footer {
    padding-bottom: 16px !important;
  }
}

/* =============================================================================
   v1.2.157 — Checkout order-summary alignment.
   Keep the heading, line items, coupon, totals and delivery method on one
   consistent inset while anchoring quantity badges inside their thumbnails.
   ========================================================================== */
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block {
  --rtf-summary-inline: 24px;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-order-summary__title,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title {
  padding: 24px var(--rtf-summary-inline) 18px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:last-child {
  grid-template-columns: 56px minmax(0, 1fr) max-content !important;
  grid-template-areas: "image description total" !important;
  grid-template-rows: auto !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  padding: 18px var(--rtf-summary-inline) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image .wc-block-components-product-image {
  grid-area: image !important;
  width: 56px !important;
  min-width: 56px !important;
  height: 56px !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__quantity,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__quantity span,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image [class*="quantity"] {
  inset: 4px auto auto 4px !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  color: var(--ink) !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--brand) !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__description {
  grid-area: description !important;
  display: flex !important;
  min-width: 0 !important;
  gap: 5px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-name {
  margin: 0 !important;
  line-height: 1.35 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-metadata,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-details {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 3px !important;
  min-width: 0 !important;
  margin: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-details > :is(li, span, div, .rtf-cart-detail) {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: baseline !important;
  column-gap: 6px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-details__name,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-details__value {
  min-width: 0 !important;
  line-height: inherit !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__total-price,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__individual-prices {
  grid-area: total !important;
  align-self: start !important;
  justify-self: end !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper > :is(
  .wc-block-components-panel__button,
  .wc-block-components-totals-item
) {
  padding: 18px var(--rtf-summary-inline) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-item,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-footer-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  grid-template-areas:
    "label value"
    "description description" !important;
  align-items: baseline !important;
  column-gap: 16px !important;
  row-gap: 10px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-item__label {
  grid-area: label !important;
  align-self: baseline !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-item__value,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-item .wc-block-components-formatted-money-amount {
  grid-area: value !important;
  align-self: baseline !important;
  justify-self: end !important;
  margin: 0 !important;
  line-height: 1.35 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-item__description {
  grid-area: description !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-shipping__via {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 7px 12px !important;
  box-sizing: border-box !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 999px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 600px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block {
    --rtf-summary-inline: 18px;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-order-summary__title,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title {
    padding-top: 18px !important;
    padding-bottom: 14px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:last-child {
    grid-template-columns: 52px minmax(0, 1fr) max-content !important;
    column-gap: 10px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image .wc-block-components-product-image,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image img {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper > :is(
    .wc-block-components-panel__button,
    .wc-block-components-totals-item
  ) {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
}

@media (max-width: 360px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block {
    --rtf-summary-inline: 14px;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:last-child {
    grid-template-columns: 48px minmax(0, 1fr) max-content !important;
    column-gap: 9px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image .wc-block-components-product-image,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image img {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
  }
}

@media (max-width: 340px) {
  .community-stats .stat-box { padding-inline: 4px; }
  .community-stats .stat-label {
    font-size: 9px;
    letter-spacing: 0.02em;
    white-space: nowrap;
    overflow-wrap: normal;
  }
}

/* Shipping rates: balanced cards with a clear method, price and service hierarchy. */
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  align-items: start !important;
  justify-content: stretch !important;
  gap: 14px !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 16px !important;
  overflow: hidden !important;
  background: var(--surface-raised) !important;
  border-color: var(--line-strong) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-xs) !important;
  transition: border-color var(--dur-fast) ease, background-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):hover,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):hover,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):hover {
  border-color: var(--brand-mid) !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):focus-within,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):focus-within,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):focus-within {
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px var(--brand-tint), var(--shadow-xs) !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):has(:checked),
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):has(:checked),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):has(:checked) {
  background: var(--brand-tint-soft) !important;
  border-color: var(--brand) !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge)::before,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge)::after,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge)::before,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge)::after,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge)::before,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge)::after {
  display: none !important;
  content: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio'],
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio'],
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio'] {
  position: static !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 2px 0 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio']::before,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio']::after,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio']::before,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio']::after,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio']::before,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio']::after {
  display: none !important;
  content: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout {
  display: grid !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  align-items: start !important;
  justify-content: stretch !important;
  gap: 12px 18px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) {
  display: grid !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  justify-items: start !important;
  gap: 12px !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--ink) !important;
  font-size: var(--t-base) !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  overflow-wrap: break-word !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  justify-self: end !important;
  width: auto !important;
  min-width: max-content !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink) !important;
  font-size: var(--t-md) !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  text-align: right !important;
  white-space: nowrap !important;
}
.rtf-royal-mail-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-self: start !important;
  gap: 7px !important;
  width: auto !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 6px 10px !important;
  font-size: var(--t-xs) !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
.rtf-royal-mail-badge__copy {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 4px !important;
  white-space: nowrap !important;
}
.rtf-royal-mail-badge__copy strong {
  font-size: var(--t-xs) !important;
  line-height: inherit !important;
}
@media (max-width: 700px) {
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control,
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
@media (max-width: 600px) {
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) {
    grid-template-columns: 20px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 12px !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout {
    gap: 8px 10px !important;
  }
  .rtf-royal-mail-badge {
    min-height: 28px !important;
    padding: 4px 7px !important;
    font-size: 0.625rem !important;
  }
  .rtf-royal-mail-badge__copy strong {
    font-size: 0.625rem !important;
  }
}

/* Account authentication: support WooCommerce with registration enabled or disabled. */
html body.woocommerce-account .page-content > .woocommerce > .woocommerce-notices-wrapper:empty {
  display: none !important;
  margin: 0 !important;
}
html body.woocommerce-account .page-content > .woocommerce:has(> form.woocommerce-form-login),
html body.woocommerce-account .page-content > .woocommerce:has(> form.woocommerce-ResetPassword) {
  display: grid !important;
  grid-template-columns: minmax(0, 640px) !important;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
}
html body.woocommerce-account .page-content > .woocommerce:has(> form.woocommerce-form-login) > h2 {
  width: 100%;
  margin: 0 !important;
  font-size: var(--t-xl);
  line-height: 1.25;
}
html body.woocommerce-account #customer_login {
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  align-items: start;
}
html body.woocommerce-account #customer_login > :is(.u-column1, .u-column2, .col-1, .col-2, div) {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}
html body.woocommerce-account #customer_login h2 {
  margin: 0 0 12px !important;
  line-height: 1.25;
}
html body.woocommerce-account form.woocommerce-form-login,
html body.woocommerce-account form.woocommerce-form-register,
html body.woocommerce-account form.woocommerce-ResetPassword {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  box-sizing: border-box;
}
html body.woocommerce-account form.woocommerce-ResetPassword {
  padding: var(--s-5);
  background: var(--surface-sunken);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
}
html body.woocommerce-account form.woocommerce-ResetPassword > :first-child {
  margin-top: 0;
}
html body.woocommerce-account form.woocommerce-ResetPassword .form-row-first {
  float: none !important;
  width: 100% !important;
}
html body.woocommerce-account form.woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme) {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  justify-content: space-between;
}
html body.woocommerce-account form.woocommerce-form-login .woocommerce-form-login__rememberme {
  margin: 0;
}
html body.woocommerce-account form.woocommerce-form-login .woocommerce-form-login__submit {
  margin: 0;
}

/* Mobile My Account: compact, readable navigation and dashboard hierarchy. */
@media (max-width: 600px) {
  html body.woocommerce-account .page-shell {
    padding-block: 14px 24px;
  }
  html body.woocommerce-account .page-card {
    padding: 14px;
    border-radius: var(--r-lg);
  }
  html body.woocommerce-account .page-header {
    margin-bottom: 12px;
    padding-bottom: 12px;
  }
  html body.woocommerce-account .page-title {
    font-size: 1.625rem;
    line-height: 1.15;
  }
  html body.woocommerce-account .page-content > .woocommerce {
    gap: 12px;
  }
  html body.woocommerce-account .woocommerce-MyAccount-navigation {
    padding: 6px;
    border-radius: var(--r-md);
  }
  html body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(44px, auto);
    gap: 6px;
    width: 100%;
    min-width: 0;
    align-items: stretch;
  }
  html body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    display: flex;
    min-width: 0;
    min-height: 0;
    margin: 0;
  }
  html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a,
  html body.woocommerce-account .page-content .woocommerce-MyAccount-navigation ul li a:not(.btn):not(.button) {
    min-width: 0;
    min-height: 44px !important;
    height: 100%;
    padding: 8px 6px !important;
    font-size: 0.75rem !important;
    line-height: 1.25;
    white-space: normal !important;
    overflow: visible;
    overflow-wrap: normal;
    word-break: normal;
    text-overflow: clip;
  }
  html body.woocommerce-account .rtf-account-overview {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px;
    text-align: left;
    border-radius: var(--r-lg);
  }
  html body.woocommerce-account .rtf-account-overview__icon {
    width: 44px;
    height: 44px;
  }
  html body.woocommerce-account .rtf-account-overview h2 {
    font-size: 1.125rem;
    line-height: 1.25;
  }
  html body.woocommerce-account .rtf-account-overview__copy > p:last-child {
    margin-top: 4px;
    font-size: 0.8125rem;
    line-height: 1.5;
  }
  html body.woocommerce-account .rtf-account-logout {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 44px;
  }
  html body.woocommerce-account .rtf-account-shortcuts {
    gap: 8px;
    margin-top: 10px;
  }
  html body.woocommerce-account .rtf-account-shortcuts > a {
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 10px;
    min-height: 60px;
    padding: 9px 10px;
    border-radius: var(--r-md);
  }
  html body.woocommerce-account .rtf-account-shortcut__icon {
    width: 36px;
    height: 36px;
  }
  html body.woocommerce-account form.login,
  html body.woocommerce-account form.register,
  html body.woocommerce-account form.woocommerce-ResetPassword,
  html body.woocommerce-account form.edit-account,
  html body.woocommerce-account form.woocommerce-address-fields {
    padding: 14px;
  }
  html body.woocommerce-account .page-content > .woocommerce:has(> form.woocommerce-form-login),
  html body.woocommerce-account .page-content > .woocommerce:has(> form.woocommerce-ResetPassword) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html body.woocommerce-account form.edit-account fieldset {
    margin-top: 16px;
    padding: 12px;
  }
  html body.woocommerce-account form .form-row { margin-bottom: 12px; }
  html body.woocommerce-account form .form-row label { margin-bottom: 6px; }
  html body.woocommerce-account .woocommerce-Address { padding: 14px; }
}

/* Mobile shipping rates: full-width title, then badge and price on a second row. */
@media (max-width: 600px) {
  html body.woocommerce-checkout .wc-block-checkout__shipping-option {
    padding: 16px !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-checkout-step__heading-container,
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-checkout-step__content,
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control,
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control__package,
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control {
    width: 100% !important;
    min-width: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) {
    grid-template-columns: 18px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 10px !important;
    overflow: visible !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    gap: 8px 10px !important;
    align-items: start !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) {
    display: contents !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: 100% !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: center !important;
    justify-self: end !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .rtf-royal-mail-badge,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .rtf-royal-mail-badge,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .rtf-royal-mail-badge {
    grid-column: 1 !important;
    grid-row: 2 !important;
    max-width: 100% !important;
  }
  .rtf-royal-mail-badge__copy {
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 4px !important;
  }
  .rtf-shipping-choice,
  .rtf-shipping-choice .rtf-choice-button,
  .rtf-choice-list--shipping,
  .rtf-choice-list--shipping .rtf-choice-option {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .rtf-shipping-choice .rtf-choice-button,
  .rtf-choice-list--shipping .rtf-choice-option {
    height: auto !important;
    min-height: 48px !important;
    overflow: visible !important;
  }
}

/* Mini-basket product rows follow WooCommerce's compact list hierarchy: the
   products scroll independently, while the subtotal and actions remain fixed.
   One shared option panel avoids the space and visual weight of nested cards. */
#cartDrawer dl.rtf-mini-cart-options,
.cart-drawer dl.rtf-mini-cart-options {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 10px !important;
}
#cartDrawer .rtf-mini-cart-option,
.cart-drawer .rtf-mini-cart-option {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  align-content: center !important;
  align-items: start !important;
  justify-items: center !important;
  gap: 3px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 6px 8px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
#cartDrawer .rtf-mini-cart-option dt,
.cart-drawer .rtf-mini-cart-option dt,
#cartDrawer .rtf-mini-cart-option dd,
.cart-drawer .rtf-mini-cart-option dd {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  writing-mode: horizontal-tb !important;
}
#cartDrawer .rtf-mini-cart-option dt,
.cart-drawer .rtf-mini-cart-option dt {
  align-self: end !important;
  color: var(--ink-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}
#cartDrawer .rtf-mini-cart-option dt::after,
.cart-drawer .rtf-mini-cart-option dt::after {
  content: ":" !important;
}
#cartDrawer .rtf-mini-cart-option dd,
.cart-drawer .rtf-mini-cart-option dd {
  align-self: start !important;
  color: var(--ink) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  white-space: normal !important;
}
#cartDrawer .rtf-mini-cart-option + .rtf-mini-cart-option,
.cart-drawer .rtf-mini-cart-option + .rtf-mini-cart-option {
  border-left: 1px solid var(--line-soft) !important;
}
@media (max-width: 340px) {
  #cartDrawer dl.rtf-mini-cart-options,
  .cart-drawer dl.rtf-mini-cart-options {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #cartDrawer .rtf-mini-cart-option + .rtf-mini-cart-option,
  .cart-drawer .rtf-mini-cart-option + .rtf-mini-cart-option {
    border-top: 1px solid var(--line-soft) !important;
    border-left: 0 !important;
  }
}

/* Compact mini-basket items: use the space beside the thumbnail for the
   product identity, then give details and totals one predictable reading row. */
#cartDrawer ul.woocommerce-mini-cart,
.cart-drawer ul.woocommerce-mini-cart {
  gap: 0 !important;
}
#cartDrawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item,
.cart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
  padding: 12px 2px 14px !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line-soft) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#cartDrawer .rtf-mini-cart-product,
.cart-drawer .rtf-mini-cart-product {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  grid-template-areas:
    "image name"
    "image options"
    "quantity quantity" !important;
  column-gap: 10px !important;
  row-gap: 5px !important;
  width: 100% !important;
  min-width: 0 !important;
}
#cartDrawer .rtf-mini-cart-head,
.cart-drawer .rtf-mini-cart-head {
  display: contents !important;
}
#cartDrawer .rtf-mini-cart-image,
.cart-drawer .rtf-mini-cart-image,
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: start !important;
  width: 64px !important;
  min-width: 64px !important;
  height: 64px !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img,
.cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
}
#cartDrawer .rtf-mini-cart-head .rtf-mini-cart-name,
.cart-drawer .rtf-mini-cart-head .rtf-mini-cart-name {
  grid-area: name !important;
  align-items: flex-start !important;
  min-width: 0 !important;
  min-height: 30px !important;
  padding: 2px 44px 0 0 !important;
  line-height: 1.25 !important;
}
#cartDrawer dl.rtf-mini-cart-options,
.cart-drawer dl.rtf-mini-cart-options {
  grid-area: options !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(72px, 0.65fr) !important;
  gap: 0 !important;
}
#cartDrawer .rtf-mini-cart-option--base,
#cartDrawer .rtf-mini-cart-option--fabric-base,
#cartDrawer .rtf-mini-cart-option--material,
.cart-drawer .rtf-mini-cart-option--base,
.cart-drawer .rtf-mini-cart-option--fabric-base,
.cart-drawer .rtf-mini-cart-option--material {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
#cartDrawer .rtf-mini-cart-option--scale,
.cart-drawer .rtf-mini-cart-option--scale {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
#cartDrawer .rtf-mini-cart-option,
.cart-drawer .rtf-mini-cart-option {
  min-height: 46px !important;
  height: auto !important;
  gap: 2px !important;
  padding: 5px 6px !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity,
.cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity {
  grid-area: quantity !important;
  margin: 3px 0 0 !important;
  padding: 9px 1px 0 !important;
}

@media (max-width: 700px) {
  #cartDrawer .rtf-mini-cart-product,
  .cart-drawer .rtf-mini-cart-product {
    grid-template-columns: 60px minmax(0, 1fr) !important;
    column-gap: 9px !important;
  }
  #cartDrawer .rtf-mini-cart-image,
  .cart-drawer .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    height: 60px !important;
  }
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img,
  .cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
    width: 60px !important;
    height: 60px !important;
  }
}

@media (max-width: 340px) {
  #cartDrawer .rtf-mini-cart-product,
  .cart-drawer .rtf-mini-cart-product {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    column-gap: 8px !important;
  }
  #cartDrawer .rtf-mini-cart-image,
  .cart-drawer .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
  }
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img,
  .cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
    width: 52px !important;
    height: 52px !important;
  }
  #cartDrawer .rtf-mini-cart-head .rtf-mini-cart-name,
  .cart-drawer .rtf-mini-cart-head .rtf-mini-cart-name {
    padding-right: 40px !important;
  }
  #cartDrawer dl.rtf-mini-cart-options,
  .cart-drawer dl.rtf-mini-cart-options {
    grid-template-columns: minmax(0, 1.5fr) minmax(62px, 0.5fr) !important;
  }
}

/* Checkout spacing rhythm: preserve the WooCommerce structure while giving
   major sections, fields and summary rows a clear visual separation. */
body.woocommerce-checkout:not(.woocommerce-order-received) .rtf-checkout-journey {
  margin-bottom: 36px;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-sidebar-layout {
  gap: 32px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-main,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__main {
  gap: 24px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__form,
html body.woocommerce-checkout:not(.woocommerce-order-received) form.wc-block-components-form,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-fields-block {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  width: 100% !important;
  min-width: 0 !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-step,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-express-payment {
  padding: 28px 30px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-step__heading,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-step__heading-container {
  margin-bottom: 20px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-address-form,
body.woocommerce-checkout:not(.woocommerce-order-received) .rtf-checkout-fields {
  gap: 20px 18px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-components-text-input,
  .wc-block-components-combobox,
  .wc-block-components-combobox-control,
  .wc-block-components-country-input,
  .wc-block-components-state-input,
  .wc-blocks-components-select,
  .wc-block-components-textarea,
  .components-base-control__field
) {
  gap: 8px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block {
  padding-bottom: 18px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-order-summary__title,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title {
  padding: 24px 24px 18px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:last-child {
  padding: 20px 24px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper > :is(
  .wc-block-components-panel__button,
  .wc-block-components-totals-item
) {
  padding: 18px 24px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-radio-control,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control {
  gap: 10px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-radio-control__option,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
html body.woocommerce-checkout:not(.woocommerce-order-received) #shipping_method li {
  padding-block: 15px !important;
}

@media (max-width: 900px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .rtf-checkout-journey {
    margin-bottom: 28px;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-sidebar-layout {
    gap: 20px !important;
  }
}

@media (max-width: 600px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-main,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__main {
    gap: 18px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__form,
  html body.woocommerce-checkout:not(.woocommerce-order-received) form.wc-block-components-form,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-fields-block {
    gap: 18px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-step,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-express-payment {
    padding: 18px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-step__heading,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-step__heading-container {
    margin-bottom: 16px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-address-form,
  body.woocommerce-checkout:not(.woocommerce-order-received) .rtf-checkout-fields {
    gap: 16px 12px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-order-summary__title,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title {
    padding: 18px 18px 14px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:last-child {
    padding: 16px 18px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper > :is(
    .wc-block-components-panel__button,
    .wc-block-components-totals-item
  ) {
    padding: 16px 18px !important;
  }
}

/* =============================================================================
   v1.2.153 — Refine the Login and Register account cards.
   ========================================================================== */
html body.woocommerce-account #customer_login {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(20px, 3vw, 36px) !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
}

html body.woocommerce-account #customer_login > :is(.u-column1, .col-1, :first-child),
html body.woocommerce-account #customer_login > :is(.u-column2, .col-2, :last-child) {
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: clamp(24px, 2.5vw, 34px) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: var(--r-lg) !important;
  box-sizing: border-box !important;
}

html body.woocommerce-account #customer_login > :first-child {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

html body.woocommerce-account #customer_login > :last-child {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

html body.woocommerce-account #customer_login h2 {
  margin: 0 0 24px !important;
  padding: 0 0 16px !important;
  font-size: var(--t-xl) !important;
  line-height: 1.2 !important;
  border-bottom: 1px solid var(--line-soft);
}

html body.woocommerce-account #customer_login form.woocommerce-form-login,
html body.woocommerce-account #customer_login form.woocommerce-form-register {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.woocommerce-account #customer_login form > .form-row-wide {
  width: 100% !important;
  margin: 0 0 20px !important;
}

html body.woocommerce-account #customer_login form > .form-row-wide label {
  display: block;
  margin: 0 0 8px !important;
  line-height: 1.35;
}

html body.woocommerce-account #customer_login form > .form-row-wide :is(input.input-text, .password-input) {
  width: 100% !important;
}

html body.woocommerce-account #customer_login form > .form-row-wide input.input-text {
  min-height: 52px;
}

html body.woocommerce-account #customer_login form.woocommerce-form-login > .woocommerce-LostPassword {
  order: 1;
  margin: 0 0 18px !important;
  font-size: var(--t-sm);
  line-height: 1.45;
}

html body.woocommerce-account #customer_login form.woocommerce-form-login > .form-row:has(.woocommerce-form-login__submit),
html body.woocommerce-account #customer_login form.woocommerce-form-register > .form-row:has(.woocommerce-form-register__submit),
html body.woocommerce-account #customer_login form.woocommerce-form-register > .form-row:has(button[type='submit']) {
  order: 2;
  width: 100% !important;
  margin: auto 0 0 !important;
  padding: 20px 0 0 !important;
  border-top: 1px solid var(--line-soft);
  box-sizing: border-box;
}

html body.woocommerce-account #customer_login form.woocommerce-form-login > .form-row:has(.woocommerce-form-login__submit) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px 20px;
  align-items: center;
}

html body.woocommerce-account #customer_login form.woocommerce-form-register > .form-row:has(.woocommerce-form-register__submit),
html body.woocommerce-account #customer_login form.woocommerce-form-register > .form-row:has(button[type='submit']) {
  display: flex !important;
  justify-content: flex-end;
}

html body.woocommerce-account #customer_login form.woocommerce-form-login .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  min-width: 0;
  margin: 0 !important;
  align-items: center;
  gap: 10px;
  line-height: 1.35;
}

html body.woocommerce-account #customer_login form.woocommerce-form-login .woocommerce-form-login__rememberme input[type='checkbox'] {
  flex: 0 0 22px;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
}

html body.woocommerce-account #customer_login :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit, form.woocommerce-form-register button[type='submit']) {
  display: inline-flex !important;
  width: auto !important;
  min-width: 140px;
  min-height: 48px;
  margin: 0 !important;
  padding: 11px 22px !important;
  align-items: center;
  justify-content: center;
}

html body.woocommerce-account #customer_login .woocommerce-privacy-policy-text {
  margin: 2px 0 20px;
  padding: 16px 18px;
  color: var(--ink-muted);
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  font-size: var(--t-sm);
  line-height: 1.6;
}

html body.woocommerce-account #customer_login .woocommerce-privacy-policy-text > :first-child { margin-top: 0; }
html body.woocommerce-account #customer_login .woocommerce-privacy-policy-text > :last-child { margin-bottom: 0; }

html body.woocommerce-account #customer_login form :is(input, select, textarea, button) {
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 900px) {
  html body.woocommerce-account #customer_login {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    max-width: 680px !important;
  }

  html body.woocommerce-account #customer_login > :first-child,
  html body.woocommerce-account #customer_login > :last-child {
    grid-column: 1 !important;
    grid-row: auto !important;
    height: auto !important;
  }
}

@media (max-width: 600px) {
  html body.woocommerce-account #customer_login {
    gap: 14px !important;
  }

  html body.woocommerce-account #customer_login > :is(.u-column1, .u-column2, .col-1, .col-2, :first-child, :last-child) {
    padding: 18px !important;
  }

  html body.woocommerce-account #customer_login h2 {
    margin-bottom: 18px !important;
    padding-bottom: 12px !important;
    font-size: var(--t-lg) !important;
  }

  html body.woocommerce-account #customer_login form > .form-row-wide {
    margin-bottom: 16px !important;
  }

  html body.woocommerce-account #customer_login .woocommerce-privacy-policy-text {
    padding: 14px;
  }
}

@media (max-width: 430px) {
  html body.woocommerce-account #customer_login form.woocommerce-form-login > .form-row:has(.woocommerce-form-login__submit) {
    grid-template-columns: minmax(0, 1fr);
  }

  html body.woocommerce-account #customer_login :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit, form.woocommerce-form-register button[type='submit']) {
    width: 100% !important;
  }
}

/* =============================================================================
   v1.2.161 — Explicit delivery selection and cohesive basket summary.
   ========================================================================== */
html body.woocommerce-cart .wc-block-cart__sidebar {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html body.woocommerce-cart .wc-block-cart__sidebar > .wc-block-cart__totals-title {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 18px 18px 16px !important;
  box-sizing: border-box !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-bottom-color: var(--line-soft) !important;
  border-radius: var(--r-lg) var(--r-lg) 0 0 !important;
  font-size: var(--t-lg) !important;
  line-height: 1.25 !important;
}

html body.woocommerce-cart .wc-block-cart__sidebar > .wc-block-components-totals-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  background: var(--surface-raised) !important;
  border: 0 solid var(--line) !important;
  border-right-width: 1px !important;
  border-bottom-width: 1px !important;
  border-left-width: 1px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.woocommerce-cart .wc-block-cart__sidebar > .wc-block-components-totals-wrapper:has(> .wc-block-components-totals-footer-item) {
  border-radius: 0 0 var(--r-lg) var(--r-lg) !important;
  overflow: hidden !important;
}

html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button,
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item {
  min-width: 0 !important;
  padding: 16px !important;
  box-sizing: border-box !important;
}

html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping__via {
  min-width: 0 !important;
  padding: 0 16px 16px !important;
  overflow-wrap: anywhere !important;
}

html body.woocommerce-cart .wc-block-cart__sidebar .rtf-delivery-options {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-top: 16px !important;
  box-sizing: border-box !important;
}

html body.rtf-shipping-unconfirmed :is(
  .wc-block-components-order-summary,
  .woocommerce-checkout-review-order
) .rtf-review-shipping-summary {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 6px 0 0 !important;
  color: var(--ink-muted) !important;
  font-size: var(--t-xs) !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 600px) {
  html body.woocommerce-cart .wc-block-cart__sidebar > .wc-block-cart__totals-title {
    padding: 16px 14px 14px !important;
  }

  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button,
  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item {
    padding: 14px !important;
  }

  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping__via {
    padding: 0 14px 14px !important;
  }
}

/* v1.2.162 final cascade: WooCommerce's live Cart Block nesting. */
body.woocommerce-cart .page-shell { padding-block: clamp(24px, 3vw, 36px) 72px !important; }
body.woocommerce-cart .rtf-checkout-journey {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 20px 32px !important;
  margin: 0 0 20px !important;
  padding: 20px 22px !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
}
body.woocommerce-cart .rtf-checkout-journey__intro,
body.woocommerce-cart .rtf-checkout-stepper { min-width: 0 !important; }
body.woocommerce-cart .rtf-checkout-journey__eyebrow { margin-bottom: 5px !important; }
body.woocommerce-cart .rtf-checkout-journey__title { font-size: clamp(1.65rem, 2.6vw, 2.25rem) !important; }
body.woocommerce-cart .rtf-checkout-journey__lede { margin-top: 5px !important; }

html body.woocommerce-cart .wc-block-cart {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 23rem) !important;
  gap: 20px !important;
}
html body.woocommerce-cart .wc-block-cart-items__row,
html body.woocommerce-cart .wc-block-cart-items__row:first-child,
html body.woocommerce-cart .wc-block-cart-items__row:last-child {
  grid-template-columns: 88px minmax(0, 1fr) auto !important;
  column-gap: 16px !important;
  row-gap: 8px !important;
  padding: 16px 20px !important;
}
html body.woocommerce-cart .wc-block-cart-item__image,
html body.woocommerce-cart .wc-block-cart-item__image a,
html body.woocommerce-cart .wc-block-cart-item__image img {
  width: 88px !important;
  height: 88px !important;
  max-width: 88px !important;
}
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 10px 0 6px !important;
  min-width: 0 !important;
}
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details.rtf-cart-details-normalised {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 9px 11px !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
}
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  gap: 5px !important;
  min-width: 0 !important;
}
html body.woocommerce-cart .wc-block-cart-item__quantity {
  margin-top: 2px !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--line-soft) !important;
}

html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 14px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block > .wc-block-cart__totals-title {
  margin: 0 !important;
  padding: 17px 18px 15px !important;
  background: color-mix(in srgb, var(--brand) 7%, transparent) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line-soft) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 1.125rem !important;
  line-height: 1.3 !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block > .wc-block-components-totals-wrapper,
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-totals-block > .wc-block-components-totals-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block > .wc-block-components-totals-wrapper,
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block > .wp-block-woocommerce-cart-order-summary-totals-block {
  border-bottom: 1px solid var(--line-soft) !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block > .wc-block-components-totals-wrapper:last-child { border-bottom: 0 !important; }
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-coupon .wc-block-components-panel__button {
  min-width: 0 !important;
  padding: 14px 16px !important;
  box-sizing: border-box !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item {
  min-width: 0 !important;
  padding: 14px 18px !important;
  box-sizing: border-box !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-shipping__via {
  min-width: 0 !important;
  margin: -4px 0 0 !important;
  padding: 0 16px 14px !important;
  overflow-wrap: anywhere !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .rtf-delivery-options {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line-soft) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .rtf-delivery-options .wc-block-components-checkout-step__title {
  margin: 0 0 4px !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .rtf-checkout-step-lede {
  margin: 0 0 12px !important;
  font-size: 0.8125rem !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-footer-item { padding-block: 16px !important; }

@media (max-width: 1024px) {
  body.woocommerce-cart .rtf-checkout-journey { grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; }
  body.woocommerce-cart .rtf-checkout-stepper { width: 100% !important; justify-content: space-between !important; }
}
@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-cart { grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; }
}
@media (max-width: 600px) {
  body.woocommerce-cart .page-shell { padding-block: 16px 56px !important; }
  body.woocommerce-cart .rtf-checkout-journey { gap: 14px !important; margin-bottom: 14px !important; padding: 16px !important; }
  body.woocommerce-cart .rtf-checkout-stepper > li + li::before { width: clamp(10px, 4vw, 22px) !important; margin-right: 4px !important; }
  body.woocommerce-cart .rtf-checkout-stepper { gap: 4px !important; }
  body.woocommerce-cart .rtf-checkout-stepper__label { display: inline !important; font-size: 0.75rem !important; }
  html body.woocommerce-cart .wc-block-cart-items__row,
  html body.woocommerce-cart .wc-block-cart-items__row:first-child,
  html body.woocommerce-cart .wc-block-cart-items__row:last-child {
    grid-template-columns: 72px minmax(0, 1fr) auto !important;
    column-gap: 11px !important;
    padding: 14px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image,
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 72px !important;
    height: 72px !important;
    max-width: 72px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata { grid-template-columns: minmax(0, 1fr) !important; gap: 6px !important; }
  html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block > .wc-block-cart__totals-title,
  html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-coupon .wc-block-components-panel__button,
  html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item { padding-inline: 14px !important; }
  html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-shipping__via,
  html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .rtf-delivery-options { padding-inline: 14px !important; }
  html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-coupon__content {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-coupon__button {
    width: 100% !important;
  }
}

/* Shipping methods: one compact, readable list instead of equal-height cards. */
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: auto !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 12px 14px !important;
  overflow: visible !important;
  border-radius: var(--r-md) !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio'],
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio'],
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio'] {
  margin-top: 2px !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  grid-template-rows: auto auto !important;
  align-items: start !important;
  gap: 7px 16px !important;
  width: 100% !important;
  min-width: 0 !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) {
  display: contents !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
  margin: 0 !important;
  font-size: 0.9375rem !important;
  line-height: 1.4 !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  justify-self: end !important;
  margin: 0 !important;
  font-size: 0.9375rem !important;
  line-height: 1.4 !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .rtf-royal-mail-badge,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .rtf-royal-mail-badge,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .rtf-royal-mail-badge {
  grid-column: 1 !important;
  grid-row: 2 !important;
  min-height: 26px !important;
  padding: 4px 8px !important;
  font-size: 0.6875rem !important;
}
html body.woocommerce-checkout .rtf-royal-mail-badge__copy strong,
html body.woocommerce-cart .rtf-royal-mail-badge__copy strong {
  font-size: 0.6875rem !important;
}

@media (max-width: 600px) {
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) {
    padding: 10px !important;
    gap: 8px !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout {
    gap: 7px 10px !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label {
    grid-column: 1 / -1 !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: center !important;
  }
}

/* Checkout summary: WooCommerce now supplies its own quantity badge. Keep the
   theme fallback for older markup, but suppress it when a native badge exists. */
html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wc-block-components-order-summary-item__image:has(
    .wc-block-components-product-badge,
    .wc-block-components-order-summary-item__quantity:not(.rtf-cart-qty-badge)
  ) .rtf-cart-qty-badge {
  display: none !important;
}

/* Checkout delivery alignment: WooCommerce and block-theme form spacing must
   not offset the first delivery card from the order-summary card. */
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__main,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-main,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__sidebar,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-sidebar {
  align-self: start !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__form,
html body.woocommerce-checkout:not(.woocommerce-order-received) form.wc-block-components-form {
  margin-block: 0 !important;
  padding-block: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > :is(
  .wc-block-components-checkout-order-summary__title,
  .wc-block-components-title,
  h2
),
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button {
  margin: 0 !important;
  padding: 24px var(--rtf-summary-inline) 18px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-order-summary__title-text,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > h2,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button > span:first-child {
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 600px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > :is(
    .wc-block-components-checkout-order-summary__title,
    .wc-block-components-title,
    h2
  ),
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button {
    padding: 18px var(--rtf-summary-inline) 14px !important;
  }
}
