/* =====================================================================================
   clicmania — brand layer (source of truth: docs/clicmania-guia-marca.md)
   Loaded LAST, after the old kit tokens/components, mo-core.css and the theme stylesheet.
   It re-points the kit tokens to the clicmania palette and restyles components to the guide:
   white UI, ink primary buttons, one blue accent, yellow only for campaign blocks,
   Poppins 500/700/800, radii 12/18/24, no borders or hard shadows.
   ===================================================================================== */

@font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/Poppins-500.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/Poppins-700.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 800; font-display: swap; src: url("fonts/Poppins-800.woff2") format("woff2"); }

:root {
  /* guide 2.3 */
  --cm-blue: #441FDA; --cm-blue-dark: #2A0F9E; --cm-yellow: #FFF112;
  --cm-pink: #F85ED7; --cm-cyan: #2BDAFA;
  --cm-ink: #16161D; --cm-muted: #6B6B78; --cm-line: #EEEEF2; --cm-soft: #F6F6F8; --cm-white: #FFFFFF;
  --cm-success: #0F9D58; --cm-success-bg: #E9F7EF;
  --cm-warning: #B26A00; --cm-warning-bg: #FFF4D6;
  --cm-error: #D93025; --cm-error-bg: #FDECEA;
  --cm-pastel-yellow: #FFF6CC; --cm-pastel-violet: #EEEAFE; --cm-pastel-mint: #E6F7F1;
  --cm-pastel-pink: #FDECF6; --cm-pastel-sky: #EAF6FD; --cm-pastel-grey: #F3F3F5;
  --cm-radius-sm: 12px; --cm-radius-md: 18px; --cm-radius-lg: 24px;
  --cm-font: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
  --cm-shadow-float: 0 8px 24px rgba(22, 22, 29, .08);

  /* the old kit tokens, re-pointed so every existing component follows the new brand */
  --font-display: var(--cm-font); --font-sans: var(--cm-font);
  --primary-50: #F3F0FE; --primary-100: #EEEAFE; --primary-200: #D6CCFB; --primary-300: #B3A2F6; --primary-400: #7E62EC;
  --primary-500: #441FDA; --primary-600: #3A19C2; --primary-700: #2A0F9E; --primary-800: #22097F; --primary-900: #1A0563; --primary-950: #10033D;
  --ink-50: #FAFAFB; --ink-100: #F6F6F8; --ink-200: #EEEEF2; --ink-300: #D9D9E0; --ink-400: #A3A3AF; --ink-500: #6B6B78;
  --ink-600: #55555F; --ink-700: #3A3A44; --ink-800: #24242C; --ink-900: #16161D; --ink-950: #0C0C10;
  --bg: #FFFFFF; --bg-raised: #FFFFFF; --bg-sunken: var(--cm-soft);
  --text: var(--cm-ink); --text-muted: var(--cm-muted);
  --border-soft: var(--cm-line); --border-strong: #D9D9E0;
  --brand: var(--cm-blue); --brand-fill: var(--cm-blue); --on-brand-fill: #FFFFFF;
  --cta-fill: var(--cm-ink); --on-cta-fill: #FFFFFF;           /* primary button = ink (guide 3.1) */
  --flash-fill: var(--cm-blue); --on-flash-fill: #FFFFFF;      /* the old orange accent becomes the one blue accent */
  --flash-100: var(--cm-pastel-violet); --flash-400: var(--cm-blue); --flash-800: var(--cm-blue-dark);
  --coral-fill: var(--cm-pink); --on-coral-fill: #FFFFFF;
  --urgent-text: var(--cm-warning);
  --success-text: var(--cm-success); --success-soft: var(--cm-success-bg); --on-success-soft: #0B6E3E;
  --radius-sm: 8px; --radius-md: 12px; --radius-sticker: 12px; --radius-card: 18px;
  --shadow-sticker-sm: none; --shadow-sticker: none; --shadow-sticker-lg: none; --shadow-sticker-brand: none; --shadow-glow: none; --shadow-card: none;
  --focus-ring: 0 0 0 2px var(--cm-blue);
}

/* ---------- base & type (guide 2.4) ---------- */
html, body { background: #FFFFFF; }
body { font-family: var(--cm-font); font-weight: 500; color: var(--cm-ink); }
h1, .h1, .display { font-family: var(--cm-font); font-weight: 800; letter-spacing: -.02em; line-height: 1.05; }
h2, .h2, h3, .h3 { font-family: var(--cm-font); font-weight: 800; letter-spacing: -.01em; }
h2, .h2 { font-size: clamp(22px, 1.4vw + 16px, 26px); }
.section__head .h3, .section .h3 { font-size: clamp(22px, 1.4vw + 16px, 26px); font-weight: 800; }
.body, .body-lg, .body-sm, p { font-family: var(--cm-font); }
.body, .body-lg { font-weight: 500; }
a { color: var(--cm-ink); }
:focus-visible { outline: 2px solid var(--cm-blue); outline-offset: 2px; }
.wrap { width: min(100% - 2 * 24px, 1200px); }
@media (max-width: 640px) { .wrap { width: min(100% - 2 * 16px, 1200px); } }

/* ---------- buttons (guide 3.1) ---------- */
.mo-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  min-height: 48px; padding: 0 24px; border: 0 !important; border-radius: var(--cm-radius-sm); box-shadow: none !important;
  font: 700 15px/1 var(--cm-font); letter-spacing: 0; text-transform: none; transform: none !important; transition: background-color .2s ease, color .2s ease;
}
.mo-btn-primary, .mo-btn-cart, .mo-btn-transfer, .woocommerce a.button.alt, .woocommerce button.button.alt, .checkout-button { background: var(--cm-ink) !important; color: #FFFFFF !important; }
.mo-btn-primary:hover:not(:disabled), .mo-btn-cart:hover:not(:disabled), .mo-btn-transfer:hover:not(:disabled), .woocommerce a.button.alt:hover, .checkout-button:hover { background: var(--cm-blue) !important; color: #FFFFFF !important; }
.mo-btn-secondary, .woocommerce a.button:not(.alt):not(.checkout-button), .woocommerce button.button:not(.alt) { background: var(--cm-soft) !important; color: var(--cm-ink) !important; }
.mo-btn-secondary:hover:not(:disabled), .woocommerce a.button:not(.alt):hover { background: #E8E8EE !important; }
.mo-btn:disabled, .mo-btn.is-disabled { opacity: .4; }
.mo-btn svg { width: 18px; height: 18px; }
.mo-btn:hover:not(:disabled) svg { transform: none; }

/* ---------- announcement bar (guide 4.1) ---------- */
.mo-topbar { min-height: 34px; padding: 6px 16px; background: var(--cm-soft); color: var(--cm-muted); font: 500 12.5px/1.4 var(--cm-font); border-bottom: 1px solid var(--cm-line); }
.mo-topbar strong, .mo-topbar .mo-tb-long, .mo-topbar .mo-tb-short { color: var(--cm-ink); font-weight: 700; }
.mo-topbar a, .mo-topbar .mo-tb-cta { color: var(--cm-blue); font-weight: 700; }
.mo-tb-short svg { color: var(--cm-blue); }
.mo-topbar .mo-countdown--inline, .mo-topbar .mo-countdown--inline * { background: none !important; border: 0 !important; color: var(--cm-ink); font: 800 12.5px/1 var(--cm-font); padding: 0; min-width: 0; height: auto; box-shadow: none; }

/* ---------- header (guide 4.2) ---------- */
.site-header { background: #FFFFFF; border-bottom: 1px solid var(--cm-line); }
.site-header .mo-header, .mo-header { background: #FFFFFF !important; color: var(--cm-ink); border: 0 !important; }
.mo-header__in { min-height: 76px; padding-block: 12px; }
.cm-wordmark { display: inline-block; font: 800 30px/1 var(--cm-font); letter-spacing: -.03em; color: var(--cm-ink); white-space: nowrap; }
.cm-wordmark__i { color: var(--cm-blue); }
.mo-drawer .cm-wordmark, .site-footer .cm-wordmark { font-size: 26px; }
.cm-mark { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: var(--cm-blue); color: #FFFFFF; font: 800 20px/1 var(--cm-font); }
.cm-logo { height: 44px; width: auto; }
.mo-header .mo-header-mark { display: none !important; }
.mo-header .mo-header-full { display: inline-block !important; height: auto; }
.mo-search { background: var(--cm-soft) !important; border: 0 !important; border-radius: var(--cm-radius-sm) !important; min-height: 48px; }
.mo-search:focus-within { box-shadow: 0 0 0 2px var(--cm-blue) !important; background: #FFFFFF !important; }
.mo-search__q { font: 500 15px/1.4 var(--cm-font) !important; color: var(--cm-ink); }
.mo-search__go { background: transparent !important; color: var(--cm-ink) !important; width: 52px; }
.mo-search__go:hover { background: #E8E8EE !important; }
.mo-header .mo-cart-btn { background: transparent !important; color: var(--cm-ink) !important; border: 0 !important; box-shadow: none !important; height: 48px; padding: 0 12px; border-radius: var(--cm-radius-sm); }
.mo-header .mo-cart-btn:hover { background: var(--cm-soft) !important; }
.mo-cart-btn__txt, .mo-cart-btn__txt b { color: var(--cm-ink); font-family: var(--cm-font); }
.mo-cart-count { background: var(--cm-blue) !important; color: #FFFFFF !important; border: 2px solid #FFFFFF !important; font: 800 11px/1 var(--cm-font); }
.mo-burger { color: var(--cm-ink) !important; }
.mo-burger:hover { background: var(--cm-soft) !important; }

/* category navigation: plain 14px grey text, active ink bold + 2px underline, offers first in blue */
.mo-nav { background: #FFFFFF; border-bottom: 1px solid var(--cm-line); }
.mo-nav a { min-height: 44px; padding-inline: 10px; background: none !important; color: var(--cm-muted) !important; font: 500 14px/1 var(--cm-font) !important; border-radius: 0 !important; box-shadow: none !important; animation: none !important; text-decoration: none; }
.mo-nav a > svg { display: none; }
.mo-nav a:hover { color: var(--cm-ink) !important; text-decoration: none; }
.mo-nav a[aria-current] { color: var(--cm-ink) !important; font-weight: 700 !important; box-shadow: inset 0 -2px 0 var(--cm-ink) !important; }
.mo-nav a.mo-nav__sale { color: var(--cm-blue) !important; font-weight: 700 !important; margin: 0; min-height: 44px; }
.mo-nav a.mo-nav__sale > svg { display: inline-block; width: 16px; height: 16px; fill: currentColor; stroke: none; color: var(--cm-blue); }
.mo-nav a.mo-nav__sale[aria-current] { box-shadow: inset 0 -2px 0 var(--cm-blue) !important; }
.mo-nav a[href*="mo_luca"] { margin: 0; min-height: 44px; }

/* drawer (mobile menu) */
.mo-drawer { box-shadow: var(--cm-shadow-float); }
.mo-drawer__nav a { color: var(--cm-ink); font: 500 16px/1.3 var(--cm-font); border-bottom: 1px solid var(--cm-line); animation: none !important; }
.mo-drawer__nav a.is-sale { background: none !important; color: var(--cm-blue) !important; font-weight: 700; padding: 0; margin: 0; border-radius: 0; min-height: 56px; border-bottom: 1px solid var(--cm-line); }
.mo-drawer__nav a > svg { color: var(--cm-ink); }
.mo-drawer__nav a.is-sale > svg { color: var(--cm-blue); }
.mo-drawer__nav a[aria-current] { box-shadow: inset 2px 0 0 var(--cm-ink); background: var(--cm-soft); }
.mo-drawer__search { border: 0; background: var(--cm-soft); border-radius: var(--cm-radius-sm); }
.mo-drawer__search button { background: transparent; color: var(--cm-ink); }

/* mobile header: [menu | logo | cart], full-width search below (guide 4.2) */
@media (max-width: 1279px) {
  .mo-header__in { min-height: 0; }
  .mo-header .mo-header-full.cm-wordmark { font-size: 24px; }
  .mo-header .cm-logo { height: 36px; }
  .mo-header .mo-cart-btn { padding: 0; width: 48px; }
  .mo-header .mo-cart-btn svg { width: 24px; height: 24px; }
}

/* ---------- hero (guide 5.1): yellow campaign block, ink text, black CTA, the real product ---------- */
.banner.hero-slides, .banner.hero-slides > .hero-slide, .hero-slide--flash, .hero-slide--luca, .hero-slide--ship { background: var(--cm-yellow) !important; color: var(--cm-ink); }
.banner { border-radius: var(--cm-radius-lg); }
.hero-slide .hero-media, .hero-slide--flash .hero-media, .hero-slide--luca .hero-media, .hero-slide--ship .hero-media { background: transparent !important; }
.hero-slide .banner__text h1, .hero-slide .banner__text .hero-h { color: var(--cm-ink); font: 800 clamp(32px, 3.4vw + 12px, 58px)/1.05 var(--cm-font); letter-spacing: -.02em; max-width: 13ch; }
.hero-slide .banner__text .body-lg, .hero-slide--luca .banner__text .body-lg, .hero-slide--ship .banner__text .body-lg { color: var(--cm-ink); font: 500 17px/1.5 var(--cm-font); opacity: .85; }
.hero-slide .mo-btn-cart, .hero-slide--luca .mo-btn-cart { background: var(--cm-ink) !important; color: #FFFFFF !important; }
.hero-slide .mo-btn-cart:hover { background: var(--cm-blue) !important; }
.hero-slide .mo-badge { background: var(--cm-ink) !important; color: #FFFFFF !important; animation: none; }
.hero-slide .mo-badge svg { color: var(--cm-yellow); }
.hero-slide__cap { color: var(--cm-ink); }
.hero-slide__cap b { color: var(--cm-ink); }
.hero-dot::after { background: var(--cm-ink); opacity: .25; }
.hero-dot[aria-pressed="true"]::after { background: var(--cm-ink); opacity: 1; }
.hero-dot:focus-visible { box-shadow: inset 0 0 0 2px var(--cm-ink); }

/* ---------- benefits strip ---------- */
.trustbar { border-top: 0; }
.trustbar__ico, .trustbar__ico svg { color: var(--cm-ink); }
.trustbar strong { font-weight: 700; }
.trustbar small { color: var(--cm-muted); }

/* ---------- badges (guide 3.4): discount = blue pill with the real %; max 2 per card ---------- */
.mo-badge { border: 0 !important; box-shadow: none !important; animation: none !important; border-radius: 999px; font: 800 12.5px/1.4 var(--cm-font); letter-spacing: 0; text-transform: none; padding: 4px 10px; }
.mo-badge-descuento { background: var(--cm-blue) !important; color: #FFFFFF !important; }
.mo-badge-flash { background: var(--cm-ink) !important; color: #FFFFFF !important; }
.mo-badge-flash svg { color: var(--cm-yellow); }
.mo-badge-oferta { background: var(--cm-pink) !important; color: #FFFFFF !important; }
.mo-card .mo-badge-flash, .mo-offer .mo-badge-flash, .mo-mini .mo-badge-flash { display: none; }  /* cards keep only the -XX% pill */
.mo-badge-luca { background: var(--cm-ink) !important; color: #FFFFFF !important; border: 0 !important; }
.mo-badge-luca.is-unlocked { background: var(--cm-blue) !important; color: #FFFFFF !important; }
.mo-badge-luca .mo-luca-label { color: inherit; opacity: .8; }

/* ---------- product cards (guide 3.2): no border, no shadow, 1:1 image on soft bg, 4% zoom ---------- */
.mo-card, .mo-products .mo-card, .mo-combo, .mo-offer, .mo-mini { border: 0 !important; box-shadow: none !important; background: transparent !important; padding: 0 !important; transform: none !important; }
.mo-products .mo-card:hover, .mo-products .mo-card:focus-within { border: 0 !important; box-shadow: none !important; }
.mo-card-media, .mo-offer__media, .mo-mini__media, .mo-combo__imgs { background: var(--cm-soft) !important; border-radius: var(--cm-radius-md) !important; aspect-ratio: 1 / 1; height: auto; overflow: hidden; }
.mo-offer__media { aspect-ratio: 4 / 3; }
.mo-combo__imgs { aspect-ratio: auto; height: 160px; }
.mo-card-media img, .mo-offer__media img, .mo-mini__media img { transition: transform .3s ease; }
.mo-card:hover .mo-card-media img, .mo-offer:hover .mo-offer__media img, .mo-mini:hover .mo-mini__media img { transform: scale(1.04); }
.mo-products { gap: 32px 24px; }
.mo-card { gap: 8px !important; }
.mo-card-title, .mo-mini__name, .mo-offer__body h3, .mo-combos .mo-combo h3 { font: 500 15px/1.4 var(--cm-font) !important; color: var(--cm-ink); }
.mo-card .mo-price-now.is-lg, .mo-offer__price ins, .mo-mini__price, .mo-combos .mo-combo .mo-price-now { font: 800 18px/1.1 var(--cm-font) !important; color: var(--cm-ink); letter-spacing: -.01em; }
.mo-card .mo-price-old, .mo-offer__price del, .mo-combos .mo-combo .mo-price-old, .mo-price-old { color: var(--cm-muted) !important; font: 500 13px/1 var(--cm-font) !important; text-decoration-color: currentColor !important; text-decoration-thickness: 1px !important; }
.mo-card .mo-btn:not(:disabled), .mo-combos .mo-combo .mo-btn:not(:disabled) { background: var(--cm-soft) !important; color: var(--cm-ink) !important; box-shadow: none !important; min-height: 44px; font: 700 14px/1 var(--cm-font); }
.mo-card .mo-btn:hover:not(:disabled), .mo-combos .mo-combo .mo-btn:hover:not(:disabled) { background: var(--cm-ink) !important; color: #FFFFFF !important; }
.mo-card .mo-btn.is-added { background: var(--cm-success) !important; color: #FFFFFF !important; }
.mo-offer__cat { color: var(--cm-muted); font: 500 12px/1.3 var(--cm-font); }
.mo-instock { color: var(--cm-success); }
.mo-stock-label { color: var(--cm-warning) !important; }
.mo-stock-fill { background-color: var(--cm-warning) !important; }

/* ---------- price block on the product page (guide 3.3 / 5.3) ---------- */
.single-product .mo-price-now.is-xl { font: 800 clamp(28px, 1.2vw + 20px, 34px)/1 var(--cm-font) !important; color: var(--cm-ink); }
.single-product .mo-price-now .mo-cur { font-size: 1em; vertical-align: baseline; }
.mo-price-save { background: none !important; color: var(--cm-blue) !important; padding: 0 !important; font: 700 14px/1.3 var(--cm-font) !important; }
.mo-flash-line { background: var(--cm-soft); border-radius: var(--cm-radius-sm); }
.mo-flash-line__lbl { color: var(--cm-ink); }
.mo-flash-line__lbl svg { color: var(--cm-blue); }
.mo-flash-line .mo-countdown--inline, .mo-flash-line .mo-countdown--inline * { background: none !important; border: 0 !important; color: var(--cm-ink); font: 800 14px/1 var(--cm-font); padding: 0; min-width: 0; height: auto; box-shadow: none; }
.mo-assure svg { color: var(--cm-ink); stroke-width: 1.8; }
.mo-details summary svg { stroke: var(--cm-ink); }
.mo-gallery__main { background: var(--cm-soft); border: 0 !important; border-radius: var(--cm-radius-md); }
.mo-gallery__thumb { border: 0 !important; background: var(--cm-soft); border-radius: var(--cm-radius-sm); box-shadow: none; }
.mo-gallery__thumb[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--cm-ink) !important; }
.mo-qty__ctl { border: 0 !important; background: var(--cm-soft) !important; border-radius: var(--cm-radius-sm); }
.mo-qty__btn:hover { background: #E8E8EE; }
.mo-luca-offer { background: var(--cm-soft) !important; border-radius: var(--cm-radius-sm); box-shadow: none !important; }
.mo-luca-offer.is-open { background: var(--cm-pastel-violet) !important; }
.mo-luca-offer .js-luca-add { background: var(--cm-blue) !important; color: #FFFFFF !important; filter: none !important; }
.mo-luca-offer p a { color: var(--cm-blue); }
.mo-crumbs, .mo-crumbs a { color: var(--cm-muted); font: 500 13px/1.4 var(--cm-font); }

/* ---------- campaign / promo blocks: soft, quiet, one accent ---------- */
.luca-band { background: var(--cm-soft) !important; color: var(--cm-ink) !important; }
.luca-band h2 { color: var(--cm-ink) !important; }
.luca-band__price { color: var(--cm-blue) !important; }
.luca-band__lead { color: var(--cm-muted) !important; }
.luca-band__cta, .luca-band__cta:hover:not(:disabled) { background: var(--cm-blue) !important; color: #FFFFFF !important; filter: none !important; }
.spin-band { background: var(--cm-pastel-violet) !important; }
.spin-band .mo-btn-primary { background: var(--cm-blue) !important; }
.mo-luca-ticket .mo-luca-state { color: var(--cm-muted); }

/* ---------- progress to free shipping (guide 5.4) ---------- */
.mo-progress { background: #FFFFFF; border-bottom: 1px solid var(--cm-line); }
.mo-progress .mo-stock-fill { background-color: var(--cm-blue) !important; }
.mo-progress.is-done { background: var(--cm-pastel-yellow); }
.mo-progress.is-done .mo-stock-fill { background-color: var(--cm-ink) !important; }

/* ---------- forms (guide 3.5) ---------- */
.mo-input, .woocommerce form .input-text, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce select, .woocommerce form .form-row select, .select2-container--default .select2-selection--single, .mo-filters select, .mo-filters .mo-input,
.woocommerce-cart table.cart td.actions .coupon .input-text {
  background: var(--cm-soft) !important; border: 0 !important; border-radius: var(--cm-radius-sm) !important; min-height: 48px; box-shadow: none !important;
  font: 500 15px/1.4 var(--cm-font) !important; color: var(--cm-ink) !important;
}
.mo-input:focus, .woocommerce form .input-text:focus, .woocommerce select:focus, .mo-filters select:focus {
  outline: 2px solid var(--cm-blue) !important; outline-offset: 0; background: #FFFFFF !important;
}
.woocommerce form .form-row label, .mo-field-label { font: 700 13px/1.4 var(--cm-font); color: var(--cm-ink); }
.mo-filters { border: 0 !important; background: var(--cm-soft) !important; border-radius: var(--cm-radius-md) !important; box-shadow: none !important; }
.mo-filters select, .mo-filters .mo-input { background: #FFFFFF !important; }
.mo-check input[type="checkbox"] { accent-color: var(--cm-blue); }

/* ---------- notices (guide 3.6) ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .mo-toast {
  border: 0 !important; border-radius: var(--cm-radius-sm) !important; box-shadow: none; color: var(--cm-ink) !important; font: 500 14px/1.5 var(--cm-font);
}
.woocommerce-message, .mo-toast-success { background: var(--cm-success-bg) !important; }
.woocommerce-info, .mo-toast-info { background: var(--cm-soft) !important; }
.woocommerce-error, .mo-toast-error { background: var(--cm-error-bg) !important; }
.mo-toasts .mo-toast { box-shadow: var(--cm-shadow-float) !important; background: #FFFFFF !important; }
.mo-toast a { color: var(--cm-blue); font-weight: 700; }

/* ---------- cart & checkout (guide 5.5 / 5.6) ---------- */
.woocommerce-cart table.cart, .woocommerce-checkout .mo-checkout-col, .woocommerce-order-details table.shop_table { border: 0 !important; background: #FFFFFF; }
.woocommerce-cart table.cart th { color: var(--cm-muted); border-bottom: 1px solid var(--cm-line); }
.woocommerce-cart table.cart td { border-top: 1px solid var(--cm-line); }
.woocommerce-cart table.cart img { background: var(--cm-soft); border-radius: var(--cm-radius-sm); }
.woocommerce-cart .cart_totals { background: var(--cm-soft) !important; border: 0 !important; border-radius: var(--cm-radius-md) !important; }
.woocommerce-cart .cart_totals th, .woocommerce-cart .cart_totals td { border-color: #E3E3E9; }
.woocommerce-cart .cart_totals .order-total .amount, .woocommerce-checkout table.shop_table .order-total .amount { font: 800 24px/1 var(--cm-font) !important; }
.woocommerce-cart table.cart a.remove { color: var(--cm-muted) !important; }
.woocommerce-cart table.cart a.remove:hover { color: var(--cm-error) !important; background: var(--cm-error-bg) !important; }
.woocommerce-cart table.cart td.actions { background: #FFFFFF !important; }
.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review, .woocommerce-checkout .col2-set, .woocommerce-checkout-review-order {
  border: 0 !important; box-shadow: none !important; border-radius: var(--cm-radius-md);
}
.woocommerce-checkout #order_review { background: var(--cm-soft); }
.woocommerce-checkout #payment, .woocommerce-checkout #payment div.payment_box { background: #FFFFFF !important; border: 0 !important; border-radius: var(--cm-radius-sm) !important; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.mo-bump, .mo-receipt, .woocommerce-order-overview li { border: 0 !important; background: var(--cm-soft) !important; border-radius: var(--cm-radius-md) !important; box-shadow: none !important; }
.mo-receipt input[type="file"]::file-selector-button { background: var(--cm-ink); }

/* ---------- dialogs: the only place with a soft shadow ---------- */
.mo-dialog { border: 0 !important; border-radius: var(--cm-radius-lg) !important; box-shadow: var(--cm-shadow-float) !important; }

/* ---------- footer (guide 4.3) ---------- */
.site-footer { background: var(--cm-soft) !important; color: var(--cm-ink) !important; border-top: 1px solid var(--cm-line); }
.site-footer h2, .site-footer .h6 { color: var(--cm-ink) !important; font: 700 13px/1.4 var(--cm-font); letter-spacing: 0; text-transform: none; }
.site-footer a, .site-footer p, .site-footer li { color: var(--cm-muted) !important; font-family: var(--cm-font); }
.site-footer a:hover { color: var(--cm-ink) !important; }
.site-footer__legal { color: var(--cm-muted) !important; border-color: #E3E3E9 !important; }

/* ---------- motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .mo-card-media img, .mo-offer__media img, .mo-mini__media img { transition: none; }
  .mo-card:hover .mo-card-media img { transform: none; }
}

/* cards that sit on a soft block get white image frames so they still read as frames */
.luca-band .mo-card-media, .spin-band .mo-card-media, .mo-filters + * .mo-card-media { background: #FFFFFF !important; }
.mo-combos .mo-combo .mo-price { flex-direction: row !important; flex-wrap: wrap; justify-content: flex-start; align-items: baseline; gap: 4px 8px; }
.mo-combos .mo-combo .mo-price-now { order: 1; } .mo-combos .mo-combo .mo-price-old { order: 2; } .mo-combos .mo-combo .mo-price-save { order: 3; flex-basis: 100%; }
.single-product .product_title { font: 700 clamp(22px, 1.2vw + 16px, 30px)/1.2 var(--cm-font) !important; letter-spacing: -.01em; max-width: none; }
.luca-band .mo-card .mo-btn:not(:disabled) { background: #FFFFFF !important; color: var(--cm-ink) !important; }
.luca-band .mo-card .mo-btn:hover:not(:disabled) { background: var(--cm-blue) !important; color: #FFFFFF !important; }

/* =================== checkout (guide 5.6) =================== */
.cm-checkout-header { background: #FFFFFF; border-bottom: 1px solid var(--cm-line); }
.cm-checkout-header__in { display: flex; align-items: center; justify-content: space-between; min-height: 68px; }
.cm-checkout-header__logo { text-decoration: none; line-height: 0; }
.cm-checkout-header .cm-wordmark { font-size: 26px; }
.cm-secure { display: inline-flex; align-items: center; gap: 8px; color: var(--cm-muted); font: 700 13px/1 var(--cm-font); }
.cm-secure svg { width: 18px; height: 18px; fill: none; stroke: var(--cm-success); stroke-width: 1.8; }
.cm-checkout-footer { margin-top: 48px; padding: 24px 0; border-top: 1px solid var(--cm-line); }
.cm-checkout-footer .wrap { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.cm-checkout-footer a { color: var(--cm-muted); font: 500 13px/1.4 var(--cm-font); }

.woocommerce-checkout .woocommerce-billing-fields > h3:empty, .woocommerce-checkout #order_review_heading:empty { display: none; }
.cm-step { display: flex; align-items: center; gap: 10px; margin: 8px 0 16px; font: 800 18px/1.2 var(--cm-font); color: var(--cm-ink); width: 100%; }
.woocommerce-billing-fields__field-wrapper .cm-step { grid-column: 1 / -1; }
.cm-step__n { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 999px; background: var(--cm-ink); color: #FFFFFF; font: 800 13px/1 var(--cm-font); }
#billing_first_name_field { position: relative; }
.woocommerce form .form-row .description { color: var(--cm-muted); font: 500 12.5px/1.4 var(--cm-font); margin-top: 6px; }
.cm-prefix-wrap { display: flex; align-items: stretch; background: var(--cm-soft); border-radius: var(--cm-radius-sm); }
.cm-prefix-wrap:focus-within { box-shadow: 0 0 0 2px var(--cm-blue); background: #FFFFFF; }
.cm-prefix { display: grid; place-items: center; padding: 0 4px 0 14px; color: var(--cm-ink); font: 700 15px/1 var(--cm-font); }
.cm-prefix-wrap input.input-text { background: transparent !important; outline: 0 !important; flex: 1; min-width: 0; }
.woocommerce form .form-row select:disabled { opacity: .6; cursor: not-allowed; }
.woocommerce-checkout .woocommerce-invalid input.input-text, .woocommerce-checkout .woocommerce-invalid select { box-shadow: inset 0 0 0 2px var(--cm-error) !important; background: #FFFFFF !important; }
.woocommerce-checkout .form-row .checkout-inline-error-message { color: var(--cm-error); font: 500 12.5px/1.4 var(--cm-font); margin-top: 6px; }

.cm-pay { min-height: 54px !important; font-size: 16px !important; }
.cm-pay-note { margin: 10px 0 0; color: var(--cm-muted); font: 500 13px/1.4 var(--cm-font); text-align: center; }
.cm-trust { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; margin: 14px 0 0; color: var(--cm-muted); font: 500 13px/1.4 var(--cm-font); }
.cm-trust svg { width: 16px; height: 16px; fill: none; stroke: var(--cm-success); stroke-width: 1.8; }
.cm-trust a, .cm-legal a { color: var(--cm-ink); }
.cm-legal { margin: 8px 0 0; color: var(--cm-muted); font: 500 12px/1.5 var(--cm-font); text-align: center; }
.woocommerce-checkout #payment .place-order { padding: 16px 0 0 !important; }

.cm-summary-toggle { display: none; margin: 0 0 24px; border-radius: var(--cm-radius-sm); background: var(--cm-soft); }
.cm-summary-toggle summary { display: flex; justify-content: space-between; align-items: center; min-height: 52px; padding: 0 16px; cursor: pointer; font: 700 15px/1 var(--cm-font); list-style: none; }
.cm-summary-toggle summary::-webkit-details-marker { display: none; }
.cm-summary-toggle summary > span:first-child::after { content: " ▾"; color: var(--cm-muted); }
.cm-summary-toggle[open] summary > span:first-child::after { content: " ▴"; }
.cm-summary-toggle ul { margin: 0; padding: 0 16px 16px; list-style: none; display: grid; gap: 8px; font: 500 14px/1.4 var(--cm-font); }
.cm-summary-toggle li { display: flex; justify-content: space-between; gap: 12px; }
@media (max-width: 800px) {
  .cm-summary-toggle { display: block; }
  .woocommerce-checkout .woocommerce-checkout-review-order-table { display: none; }
}

/* =================== thank-you (guide 5.7) =================== */
.cm-thanks { padding: 32px 0 16px; }
.cm-thanks__head { display: flex; align-items: center; gap: 20px; margin-bottom: 28px; }
.cm-mark--xl { width: 72px; height: 72px; border-radius: 20px; font-size: 34px; flex: none; transform: rotate(-6deg); }
.cm-thanks h1 { margin: 0 0 6px; font: 800 clamp(28px, 2vw + 18px, 40px)/1.1 var(--cm-font); }
.cm-thanks__lead { margin: 0; font: 500 16px/1.5 var(--cm-font); max-width: 60ch; }
.cm-thanks__mail { margin: 6px 0 0; color: var(--cm-muted); font: 500 14px/1.5 var(--cm-font); }
.cm-thanks__grid { display: grid; gap: 24px; align-items: start; }
@media (min-width: 900px) { .cm-thanks__grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); } .cm-thanks__summary { position: sticky; top: 24px; } }
.cm-thanks__main { display: grid; gap: 16px; }
.cm-card { padding: 20px; border-radius: var(--cm-radius-md); background: var(--cm-soft); }
.cm-card__title { margin: 0 0 14px; font: 800 18px/1.25 var(--cm-font); }
.cm-card--receipt .mo-receipt { padding: 0 !important; background: none !important; }
.cm-card--receipt .mo-receipt > .body { margin: 0 0 12px; color: var(--cm-muted); font-size: 14px; }
.cm-copylist { display: grid; gap: 2px; margin: 0; }
.cm-copylist > div { display: grid; grid-template-columns: 140px minmax(0, 1fr); align-items: center; gap: 12px; padding: 10px 12px; background: #FFFFFF; border-radius: 10px; }
.cm-copylist dt { color: var(--cm-muted); font: 500 13px/1.3 var(--cm-font); }
.cm-copylist dd { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; font: 700 15px/1.3 var(--cm-font); word-break: break-word; }
.cm-copy { flex: none; min-height: 36px; padding: 0 12px; border: 0; border-radius: 999px; background: var(--cm-soft); color: var(--cm-ink); font: 700 13px/1 var(--cm-font); cursor: pointer; }
.cm-copy:hover { background: var(--cm-ink); color: #FFFFFF; }
.cm-copy.is-done { background: var(--cm-success); color: #FFFFFF; }
@media (max-width: 520px) { .cm-copylist > div { grid-template-columns: 1fr; gap: 4px; } }
.cm-lines { margin: 0 0 14px; padding: 0; list-style: none; display: grid; gap: 12px; }
.cm-lines li { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 12px; font: 500 14px/1.35 var(--cm-font); }
.cm-lines img { width: 56px; height: 56px; object-fit: contain; border-radius: 10px; background: #FFFFFF; }
.cm-lines small { color: var(--cm-muted); }
.cm-totals { margin: 0; display: grid; gap: 8px; border-top: 1px solid #E3E3E9; padding-top: 12px; font: 500 14px/1.3 var(--cm-font); }
.cm-totals > div { display: flex; justify-content: space-between; }
.cm-totals dt { color: var(--cm-muted); }
.cm-totals dd { margin: 0; }
.cm-totals__total dt, .cm-totals__total dd { color: var(--cm-ink); font: 800 20px/1.2 var(--cm-font); }
.cm-ship-to { margin: 12px 0 0; color: var(--cm-muted); font: 500 13px/1.4 var(--cm-font); }
.cm-thanks__ctas { display: grid; gap: 8px; margin-top: 16px; }
.cm-pw label { display: block; margin-bottom: 6px; font: 700 13px/1.4 var(--cm-font); }
.cm-pw__row { display: flex; gap: 8px; flex-wrap: wrap; }
.cm-pw__row input { flex: 1 1 220px; min-height: 48px; padding: 0 14px; border: 0; border-radius: var(--cm-radius-sm); background: #FFFFFF; font: 500 15px/1 var(--cm-font); }
.cm-pw__row input:focus { outline: 2px solid var(--cm-blue); }
.cm-field-error { color: var(--cm-error); font: 500 13px/1.4 var(--cm-font); margin: 0 0 8px; }
#billing_country_field { display: none !important; }   /* Chile only: nothing to choose */
.woocommerce-billing-fields__field-wrapper .cm-step { margin: 8px 0 12px; }
.woocommerce-billing-fields__field-wrapper .cm-step ~ .cm-step { margin-top: 24px; }
.woocommerce-error a { color: var(--cm-ink); text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-order-received .page-head > h1 { display: none; }   /* the thank-you greeting is the title */
.woocommerce-order-received .cm-thanks { padding-top: 8px; }

/* =================== mini-carro (guide 5.4) =================== */
.cm-minicart { margin: 0 0 0 auto; padding: 0; width: min(100vw, 420px); height: 100dvh; max-height: none; border: 0; background: #FFFFFF; color: var(--cm-ink); box-shadow: var(--cm-shadow-float); inset: 0 0 0 auto; }
.cm-minicart[open] { display: flex; flex-direction: column; animation: cm-slide-in .22s ease-out; }
.cm-minicart::backdrop { background: rgba(22, 22, 29, .35); }
@keyframes cm-slide-in { from { transform: translateX(24px); opacity: 0; } }
@media (max-width: 520px) { .cm-minicart { width: 100vw; } }
.cm-minicart__head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--cm-line); }
.cm-minicart__head h2 { margin: 0; font: 800 18px/1.2 var(--cm-font); }
.cm-minicart__count { color: var(--cm-muted); font-weight: 500; }
.cm-minicart__close { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: var(--cm-radius-sm); background: transparent; color: var(--cm-ink); cursor: pointer; }
.cm-minicart__close:hover { background: var(--cm-soft); }
.cm-minicart__close svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.cm-minicart__body { flex: 1; display: flex; flex-direction: column; min-height: 0; overflow-y: auto; }
.cm-ship { padding: 16px 20px; border-bottom: 1px solid var(--cm-line); }
.cm-ship p { margin: 0 0 10px; font: 500 14px/1.4 var(--cm-font); }
.cm-ship__track { height: 6px; border-radius: 999px; background: var(--cm-line); overflow: hidden; }
.cm-ship__track span { display: block; height: 100%; background: var(--cm-blue); border-radius: inherit; transition: width .3s ease; }
.cm-ship.is-done { background: var(--cm-pastel-yellow); }
.cm-ship.is-done .cm-ship__track span { background: var(--cm-ink); }
.cm-mc-items { margin: 0; padding: 4px 20px; list-style: none; }
.cm-mc-item { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--cm-line); }
.cm-mc-item.is-busy { opacity: .5; pointer-events: none; }
.cm-mc-item__img { display: grid; place-items: center; width: 72px; height: 72px; border-radius: var(--cm-radius-sm); background: var(--cm-soft); overflow: hidden; }
.cm-mc-item__img img { max-width: 86%; max-height: 86%; width: auto; height: auto; object-fit: contain; }
.cm-mc-item__name { color: var(--cm-ink); font: 500 14px/1.35 var(--cm-font); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cm-mc-item__name:hover { text-decoration: underline; }
.cm-mc-item__tag { display: inline-block; margin-top: 4px; padding: 2px 8px; border-radius: 999px; background: var(--cm-ink); color: #FFFFFF; font: 700 11px/1.4 var(--cm-font); }
.cm-mc-item__price { margin: 4px 0 8px; font: 800 15px/1.2 var(--cm-font); }
.cm-mc-item__price del { color: var(--cm-muted); font: 500 12.5px/1 var(--cm-font); margin-left: 4px; }
.cm-mc-item__row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cm-mc-item__qty { color: var(--cm-muted); font: 500 13px/1 var(--cm-font); }
.cm-mc-qty { display: inline-flex; align-items: center; height: 36px; border-radius: 10px; background: var(--cm-soft); }
.cm-mc-qty button { width: 36px; height: 36px; border: 0; background: transparent; color: var(--cm-ink); font: 500 18px/1 var(--cm-font); cursor: pointer; border-radius: 10px; }
.cm-mc-qty button:hover:not(:disabled) { background: #E8E8EE; }
.cm-mc-qty button:disabled { opacity: .4; cursor: not-allowed; }
.cm-mc-qty span { min-width: 24px; text-align: center; font: 700 14px/1 var(--cm-font); }
.cm-mc-remove { border: 0; background: none; color: var(--cm-muted); font: 500 13px/1 var(--cm-font); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; padding: 8px 0; min-height: 36px; }
.cm-mc-remove:hover { color: var(--cm-error); }
.cm-mc-luca { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 16px 20px 0; padding: 12px 14px; border-radius: var(--cm-radius-sm); background: var(--cm-pastel-violet); color: var(--cm-ink); font: 500 13.5px/1.4 var(--cm-font); text-decoration: none; }
.cm-mc-luca strong { color: var(--cm-blue); }
.cm-mc-foot { position: sticky; bottom: 0; margin-top: auto; padding: 16px 20px 20px; display: grid; gap: 10px; background: #FFFFFF; border-top: 1px solid var(--cm-line); }
.cm-mc-line { display: flex; justify-content: space-between; font: 700 16px/1.2 var(--cm-font); }
.cm-mc-saving { margin: 0; color: var(--cm-blue); font: 700 14px/1.3 var(--cm-font); }
.cm-empty { display: grid; justify-items: center; gap: 8px; padding: 48px 24px; text-align: center; }
.cm-empty svg { width: 48px; height: 48px; fill: none; stroke: var(--cm-muted); stroke-width: 1.5; }
.cm-empty__title { margin: 8px 0 0; font: 800 18px/1.2 var(--cm-font); }
.cm-empty__text { margin: 0 0 12px; color: var(--cm-muted); font: 500 14px/1.5 var(--cm-font); }
@media (prefers-reduced-motion: reduce) { .cm-minicart[open] { animation: none; } .cm-ship__track span { transition: none; } }

/* toast: bottom on phones, top-right on desktop (guide 3.6) */
@media (min-width: 800px) { .mo-toasts { top: 88px; bottom: auto; right: 24px; } }
.mo-toasts .mo-toast { border-radius: var(--cm-radius-sm) !important; }
.mo-cart-btn[aria-busy="true"], .single_add_to_cart_button[aria-busy="true"] { opacity: .7; pointer-events: none; }
a.added_to_cart { display: none !important; }   /* the mini-cart replaces WooCommerce's "Ver carrito" link */

/* =================== shop / category / search (guide 5.2) =================== */
.mo-filters { display: none !important; }            /* the old horizontal bar */
.cm-shop { display: grid; gap: 32px; align-items: start; }
@media (min-width: 900px) { .cm-shop { grid-template-columns: 240px minmax(0, 1fr); } }
.cm-shop__main { min-width: 0; }
.cm-shop .mo-products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 899px) { .cm-shop .mo-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; } }

.cm-filters { position: sticky; top: 24px; }
.cm-filters__head { display: none; }
.cm-filters__form { display: grid; gap: 4px; }
.cm-fgroup { margin: 0; padding: 16px 0; border: 0; border-bottom: 1px solid var(--cm-line); }
.cm-fgroup legend { padding: 0; margin-bottom: 10px; font: 700 14px/1.3 var(--cm-font); color: var(--cm-ink); }
.cm-fcats { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; }
.cm-fcats a { display: flex; justify-content: space-between; gap: 8px; padding: 8px 10px; border-radius: 10px; color: var(--cm-muted); font: 500 14px/1.3 var(--cm-font); text-decoration: none; }
.cm-fcats a span { color: var(--cm-muted); font-size: 12px; }
.cm-fcats a:hover { background: var(--cm-soft); color: var(--cm-ink); }
.cm-fcats a[aria-current] { background: var(--cm-soft); color: var(--cm-ink); font-weight: 700; }
.cm-fopt { display: flex; align-items: center; gap: 10px; min-height: 40px; cursor: pointer; font: 500 14px/1.3 var(--cm-font); color: var(--cm-ink); }
.cm-fopt input { width: 18px; height: 18px; margin: 0; accent-color: var(--cm-blue); flex: none; }
.cm-filters__actions { display: grid; gap: 10px; padding-top: 16px; }
.cm-filters__actions .mo-btn { display: none; }      /* desktop applies on change */
.cm-link { color: var(--cm-ink); font: 500 14px/1.4 var(--cm-font); text-decoration: underline; text-underline-offset: 3px; }

.cm-toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.cm-toolbar__count { margin: 0 auto 0 0; color: var(--cm-muted); font: 500 14px/1.3 var(--cm-font); }
.cm-toolbar__filter { display: none !important; min-height: 44px !important; padding: 0 16px !important; gap: 8px; }
.cm-sort { display: flex; align-items: center; gap: 8px; }
.cm-sort label { color: var(--cm-muted); font: 500 14px/1 var(--cm-font); white-space: nowrap; }
.cm-sort select { min-height: 44px; padding: 0 36px 0 14px; border: 0; border-radius: var(--cm-radius-sm); background: var(--cm-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2316161D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center / 16px; font: 700 14px/1 var(--cm-font); color: var(--cm-ink); appearance: none; cursor: pointer; }
.cm-sort select:focus { outline: 2px solid var(--cm-blue); }
.cm-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; }
.cm-chips a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 14px; border-radius: 999px; background: var(--cm-soft); color: var(--cm-ink); font: 700 13px/1 var(--cm-font); text-decoration: none; }
.cm-chips a:hover { background: #E8E8EE; }
.cm-chips a span { color: var(--cm-muted); font-size: 16px; }
.cm-chips .cm-chips__clear { background: none; text-decoration: underline; text-underline-offset: 3px; font-weight: 500; }

/* phones: "Filtrar" opens the panel as a bottom sheet */
.cm-sheet-backdrop { display: none; }
@media (max-width: 899px) {
  .cm-toolbar__filter { display: inline-flex !important; }
  .cm-toolbar__filter svg { width: 18px; height: 18px; }
  .cm-sort label { display: none; }
  .cm-toolbar__count { flex-basis: 100%; }
  .cm-filters { position: fixed; z-index: 80; left: 0; right: 0; bottom: 0; top: auto; max-height: 85dvh; overflow-y: auto; padding: 0 16px 16px; border-radius: 24px 24px 0 0; background: #FFFFFF; box-shadow: var(--cm-shadow-float); transform: translateY(105%); transition: transform .25s ease; visibility: hidden; }
  .cm-filters.is-open { transform: none; visibility: visible; }
  .cm-filters__head { display: flex; position: sticky; top: 0; z-index: 1; align-items: center; justify-content: space-between; padding: 16px 0 8px; background: #FFFFFF; }
  .cm-filters__head h2 { margin: 0; font: 800 18px/1.2 var(--cm-font); }
  .cm-filters__close { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 12px; background: var(--cm-soft); color: var(--cm-ink); cursor: pointer; }
  .cm-filters__close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
  .cm-filters__actions { position: sticky; bottom: 0; background: #FFFFFF; padding: 12px 0 calc(4px + env(safe-area-inset-bottom)); }
  .cm-filters__actions .mo-btn { display: flex; }
  .cm-sheet-open .cm-sheet-backdrop { display: block; position: fixed; inset: 0; z-index: 79; background: rgba(22, 22, 29, .35); }
  html.cm-sheet-open { overflow: hidden; }
}
@media (prefers-reduced-motion: reduce) { .cm-filters { transition: none; } }
.cm-toolbar__filter svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
@media (max-width: 899px) {
  .cm-filters { padding-bottom: 0; }
  .cm-filters__actions { margin: 0 -16px; padding: 12px 16px calc(16px + env(safe-area-inset-bottom)); box-shadow: 0 -1px 0 var(--cm-line); justify-items: center; }
}

/* =================== Mi cuenta (guide 5.8) =================== */
.woocommerce-account .woocommerce { display: grid; gap: 32px; align-items: start; }
@media (min-width: 900px) { .woocommerce-account.logged-in .woocommerce { grid-template-columns: 240px minmax(0, 1fr); } }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.cm-accnav ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; }
.cm-accnav a { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 12px; border-radius: var(--cm-radius-sm); color: var(--cm-muted); font: 500 15px/1.2 var(--cm-font); text-decoration: none; }
.cm-accnav a span { flex: 1; }
.cm-accnav a svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.cm-accnav a svg:last-child { width: 16px; height: 16px; opacity: 0; }
.cm-accnav a:hover { background: var(--cm-soft); color: var(--cm-ink); }
.cm-accnav a[aria-current] { background: var(--cm-soft); color: var(--cm-ink); font-weight: 700; }
.cm-accback { display: none; }
@media (max-width: 899px) {
  .cm-accnav a { border-bottom: 1px solid var(--cm-line); border-radius: 0; min-height: 56px; color: var(--cm-ink); }
  .cm-accnav a svg:last-child { opacity: .5; }
  .cm-accnav.is-inner { display: none; }               /* phones: the menu is the Resumen's start screen */
  .cm-accback { display: inline-flex; min-height: 44px; align-items: center; color: var(--cm-ink); font: 700 14px/1 var(--cm-font); text-decoration: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation:not(.is-inner) { order: 2; }
}
.cm-acc-head { margin-bottom: 20px; }
.cm-acc-head h2 { margin: 0 0 4px; font: 800 clamp(22px, 1.4vw + 16px, 26px)/1.2 var(--cm-font); }
.cm-acc-head p { margin: 0; color: var(--cm-muted); font: 500 14px/1.5 var(--cm-font); }
.cm-acc-head--row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.cm-saved { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin: 0 0 16px; padding: 16px 20px; border-radius: var(--cm-radius-md); background: var(--cm-pastel-violet); font: 500 15px/1.3 var(--cm-font); }
.cm-saved strong { color: var(--cm-blue); font: 800 24px/1 var(--cm-font); }
.cm-lastorder h3 { margin: 0 0 12px; font: 700 15px/1.3 var(--cm-font); }
.cm-lastorder__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.cm-lastorder__n { margin: 0 0 6px; font: 700 15px/1.3 var(--cm-font); }
.cm-quick { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 16px 0 0; padding: 0; list-style: none; }
.cm-quick a { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 0 16px; border-radius: var(--cm-radius-md); background: var(--cm-soft); color: var(--cm-ink); font: 700 14px/1.2 var(--cm-font); text-decoration: none; }
.cm-quick a:hover { background: #E8E8EE; }
.cm-quick svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cm-status { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: 999px; font: 700 12.5px/1 var(--cm-font); white-space: nowrap; }
.cm-status--warn { background: var(--cm-warning-bg); color: var(--cm-warning); }
.cm-status--info { background: var(--cm-pastel-violet); color: var(--cm-blue); }
.cm-status--ok { background: var(--cm-success-bg); color: #0B6E3E; }
.cm-status--error { background: var(--cm-error-bg); color: var(--cm-error); }
.cm-status--muted { background: var(--cm-soft); color: var(--cm-muted); }
.cm-orders { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.cm-order { padding: 16px 18px; border-radius: var(--cm-radius-md); background: var(--cm-soft); }
.cm-order__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.cm-order__n { margin: 0; font: 700 16px/1.3 var(--cm-font); }
.cm-order__date { margin: 2px 0 0; color: var(--cm-muted); font: 500 13px/1.4 var(--cm-font); }
.cm-order__thumbs { display: flex; align-items: center; gap: 8px; margin: 14px 0; }
.cm-order__thumbs img { width: 56px; height: 56px; object-fit: contain; border-radius: 10px; background: #FFFFFF; }
.cm-order__thumbs span { color: var(--cm-muted); font: 700 13px/1 var(--cm-font); }
.cm-order__foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.cm-order__total { margin: 0; font: 800 18px/1 var(--cm-font); }
.cm-order__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.cm-order__actions .mo-btn { min-height: 44px; padding: 0 16px; font-size: 14px; }
.cm-order .mo-btn-secondary { background: #FFFFFF !important; }
.cm-pager { display: flex; gap: 8px; justify-content: center; margin-top: 16px; }
.cm-timeline { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 0 20px; padding: 0; list-style: none; counter-reset: s; }
.cm-timeline li { position: relative; padding-top: 22px; color: var(--cm-muted); font: 500 12.5px/1.3 var(--cm-font); text-align: center; }
.cm-timeline li::before { content: ""; position: absolute; top: 5px; left: 0; right: 0; height: 3px; background: var(--cm-line); }
.cm-timeline li::after { content: ""; position: absolute; top: 0; left: 50%; width: 13px; height: 13px; margin-left: -6.5px; border-radius: 50%; background: var(--cm-line); }
.cm-timeline li.is-done { color: var(--cm-ink); }
.cm-timeline li.is-done::before, .cm-timeline li.is-done::after { background: var(--cm-blue); }
.cm-timeline li.is-current { font-weight: 700; }
.cm-timeline li:first-child::before { left: 50%; } .cm-timeline li:last-child::before { right: 50%; }
.cm-vo-grid { display: grid; gap: 16px; align-items: start; }
@media (min-width: 1000px) { .cm-vo-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); } }
.cm-vo-side { display: grid; gap: 12px; }
.cm-vo-text { margin: 0; font: 500 14px/1.6 var(--cm-font); }
.cm-totals__save dt, .cm-totals__save dd { color: var(--cm-blue) !important; font-weight: 700; }
.cm-lines__name a { color: var(--cm-ink); text-decoration: none; }
.woocommerce-account .cm-card { background: var(--cm-soft); }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info { margin-bottom: 16px; }

/* auth */
.woocommerce-account:not(.logged-in) .woocommerce { display: block; }
.cm-auth { max-width: 420px; margin: 16px auto 48px; display: grid; gap: 16px; justify-items: center; }
.cm-auth__title { margin: 0; text-align: center; font: 800 clamp(26px, 1.6vw + 18px, 32px)/1.15 var(--cm-font); }
.cm-tabs { display: grid; grid-template-columns: 1fr 1fr; width: 100%; padding: 4px; border-radius: var(--cm-radius-sm); background: var(--cm-soft); }
.cm-tabs button { min-height: 44px; border: 0; border-radius: 10px; background: transparent; color: var(--cm-muted); font: 700 14px/1 var(--cm-font); cursor: pointer; }
.cm-tabs button[aria-selected="true"] { background: #FFFFFF; color: var(--cm-ink); box-shadow: 0 1px 2px rgba(22, 22, 29, .08); }
.cm-pane { width: 100%; }
.cm-form { display: grid; gap: 14px; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.cm-form .form-row { margin: 0 !important; padding: 0 !important; }
.cm-form label { display: block; margin-bottom: 6px; font: 700 13px/1.4 var(--cm-font); }
.cm-form .input-text { width: 100%; }
.cm-form .description { display: block; margin-top: 6px; color: var(--cm-muted); font: 500 12.5px/1.4 var(--cm-font); }
.cm-form__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0; }
.cm-pass { display: flex; align-items: stretch; background: var(--cm-soft); border-radius: var(--cm-radius-sm); }
.cm-pass:focus-within { box-shadow: 0 0 0 2px var(--cm-blue); background: #FFFFFF; }
.cm-pass .input-text { flex: 1; min-width: 0; background: transparent !important; outline: 0 !important; }
.cm-pass__toggle { border: 0; background: none; padding: 0 14px; color: var(--cm-ink); font: 700 13px/1 var(--cm-font); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }

/* =================== favoritos (guide 5.9) =================== */
.mo-card-media { position: relative; }
.cm-fav { position: absolute; z-index: 2; top: 10px; right: 10px; display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 999px; background: #FFFFFF; color: var(--cm-ink); cursor: pointer; transition: opacity .2s ease, transform .15s ease; }
.cm-fav svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
.cm-fav[aria-pressed="true"] svg { fill: var(--cm-pink); stroke: var(--cm-pink); }
.cm-fav:hover { transform: scale(1.06); }
.cm-fav[aria-busy="true"] { opacity: .5; }
@media (hover: hover) and (min-width: 900px) {
  .mo-card .cm-fav[aria-pressed="false"] { opacity: 0; }
  .mo-card:hover .cm-fav, .mo-card:focus-within .cm-fav { opacity: 1; }
}
.cm-fav--inline { position: static; width: 52px; height: 52px; flex: none; background: var(--cm-soft); }
.mo-buybox__buttons:has(.cm-fav--inline) { grid-template-columns: 1fr 1fr auto; }
.cm-badge-drop { position: absolute; z-index: 2; bottom: 10px; left: 10px; background: var(--cm-pink) !important; color: #FFFFFF !important; }
.cm-fav-login { max-width: 400px; }
.cm-fav-login__body { display: grid; gap: 10px; padding: 32px 24px 24px; text-align: center; justify-items: center; }
.cm-fav-login__body h2 { margin: 4px 0 0; font: 800 22px/1.2 var(--cm-font); }
.cm-fav-login__body p { margin: 0 0 8px; color: var(--cm-muted); font: 500 14px/1.5 var(--cm-font); }
.cm-fav-login__ico svg { width: 40px; height: 40px; fill: var(--cm-pink); stroke: var(--cm-pink); }

/* header icons (guide 4.2) */
.cm-hicon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--cm-radius-sm); color: var(--cm-ink); flex: none; }
.cm-hicon:hover { background: var(--cm-soft); }
.cm-hicon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mo-header__in .cm-hicon:first-of-type { margin-left: auto; }
.mo-header__in .cm-hicon ~ .mo-cart-btn { margin-left: 0 !important; }
@media (max-width: 1279px) { .mo-header__in .cm-hicon { display: none; } }
.mo-drawer__nav a > svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
@media (min-width: 900px) {
  .woocommerce-account.logged-in .woocommerce-MyAccount-navigation { grid-column: 1; }
  .woocommerce-account.logged-in .woocommerce-MyAccount-content { grid-column: 2; }
}
.cm-card .mo-btn-secondary { background: #FFFFFF !important; } .cm-card .mo-btn-secondary:hover { background: #E8E8EE !important; }
.mo-card-media .cm-badge-drop { top: auto !important; right: auto !important; bottom: 10px !important; left: 10px !important; width: auto !important; height: auto !important; inset: auto auto 10px 10px !important; align-self: auto; }
.cm-form .cm-fopt { display: flex; margin: 0; font-weight: 500; }
.woocommerce-account:not(.logged-in) .page-head > h1 { display: none; }
.cm-form .password-input { display: flex; align-items: stretch; width: 100%; background: var(--cm-soft); border-radius: var(--cm-radius-sm); position: relative; }
.cm-form .password-input:focus-within { box-shadow: 0 0 0 2px var(--cm-blue); background: #FFFFFF; }
.cm-form .password-input .input-text { flex: 1; background: transparent !important; outline: 0 !important; }
.cm-form .show-password-input { position: static !important; display: grid; place-items: center; width: 48px; border: 0; background: none; color: var(--cm-ink); cursor: pointer; }

/* official logo sizing (kit notes: 170-200 px desktop, 120-130 px phones, never recolored) */
.mo-header .cm-logo, .mo-header .mo-header-full { display: block; width: clamp(124px, 14vw, 200px); height: auto; }
.mo-header__logo { display: block; line-height: 0; }
.mo-drawer .cm-logo, .mo-drawer__logo { width: 150px; height: auto; }
.cm-checkout-header .cm-logo { width: clamp(124px, 14vw, 180px); height: auto; }
.site-footer .cm-footer-logo { width: 180px; height: auto; }
@media (max-width: 1279px) { .mo-header .cm-logo, .mo-header .mo-header-full { width: 126px; height: auto; } }

/* =================== Productos a Luca: quiet chips instead of big ovals =================== */
/* card badge: a small flat tag, price lives in the price row below */
.mo-card--luca .mo-badge-luca, .mo-card-badges .mo-badge-luca, .mo-gallery__main .mo-badge-luca {
  display: inline-flex; align-items: center; gap: 0; padding: 4px 10px; border-radius: 999px;
  background: var(--cm-ink) !important; color: #FFFFFF !important; font: 800 12px/1.4 var(--cm-font); letter-spacing: 0; text-transform: none;
}
.mo-card--luca .mo-badge-luca > span, .mo-card-badges .mo-badge-luca > span { display: inline-flex; gap: 0; }
.mo-card--luca .mo-luca-price, .mo-card-badges .mo-badge-luca .mo-luca-price { display: none; }
.mo-card--luca .mo-luca-label { color: inherit; opacity: 1; font: 800 12px/1.4 var(--cm-font); letter-spacing: 0; text-transform: none; }
.mo-card--luca .mo-badge-luca.is-unlocked { background: var(--cm-blue) !important; }
.mo-card--luca .mo-card-badges { top: 10px; left: 10px; }
.mo-card--luca .mo-card-media img { opacity: 1; }

/* ticket: one calm line, not a pill with huge numbers */
.mo-luca-ticket { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin: 0 0 16px; padding: 10px 14px; border-radius: var(--cm-radius-sm); background: var(--cm-soft); }
.mo-luca-ticket .mo-badge-luca { display: inline-flex; align-items: center; gap: 8px; padding: 0; background: none !important; color: var(--cm-ink) !important; border: 0; font: 800 14px/1.3 var(--cm-font); }
.mo-luca-ticket .mo-badge-luca svg { width: 18px !important; height: 18px !important; fill: none; stroke: currentColor; stroke-width: 1.8; }
.mo-luca-ticket .mo-badge-luca > span { display: inline-flex; align-items: baseline; gap: 6px; }
.mo-luca-ticket .mo-luca-label { color: var(--cm-ink); font: 800 14px/1.3 var(--cm-font); letter-spacing: 0; text-transform: none; opacity: 1; }
.mo-luca-ticket .mo-luca-price { color: var(--cm-blue); font: 800 14px/1.3 var(--cm-font); letter-spacing: 0; }
.mo-luca-ticket .mo-luca-price::before { content: "· "; color: var(--cm-muted); }
.mo-luca-ticket .mo-badge-luca.is-unlocked .mo-luca-label { color: var(--cm-blue); }
.mo-luca-state { margin: 0; color: var(--cm-muted); font: 500 14px/1.4 var(--cm-font); }
.luca-band .mo-luca-ticket { background: #FFFFFF; }
.luca-band__price { font-size: clamp(40px, 5vw, 56px); }
.mo-luca-offer .mo-badge-luca { background: var(--cm-ink) !important; padding: 4px 10px; }
.mo-luca-offer .mo-luca-price { display: none; }

/* cart: the reward cards are compact and aligned, not stacked ovals over the photo */
[data-mo-luca-section] { margin-top: 32px; padding: 20px; border-radius: var(--cm-radius-md); background: var(--cm-soft); }
[data-mo-luca-section] > h2 { margin: 0 0 16px; font: 800 18px/1.3 var(--cm-font); }
[data-mo-luca-section] .mo-luca-grid, [data-mo-luca-section] .mo-products { grid-template-columns: repeat(auto-fill, minmax(185px, 1fr)); gap: 20px 16px; }
[data-mo-luca-section] .mo-btn { white-space: nowrap; padding-inline: 8px; font-size: 13.5px; }
[data-mo-luca-section] .mo-card-media { height: auto; aspect-ratio: 1 / 1; background: #FFFFFF !important; }
[data-mo-luca-section] .mo-card-title { font-size: 13.5px !important; min-height: calc(2 * 1.4em); }
[data-mo-luca-section] .mo-btn:not(:disabled) { background: #FFFFFF !important; }
.cm-icon-xl { width: 72px; height: 72px; flex: none; border-radius: 18px; transform: rotate(-6deg); }
.woocommerce-cart .woocommerce-message a.wc-forward { display: none; }

/* =================== brand colours, applied on purpose (guide 2.3) ===================
   ~80% white/soft greys, ~15% ink, ~5% blue; yellow only as campaign background;
   pink and cyan only as small accents; pastels only behind product cut-outs. */

/* hero: yellow · blue · pink campaign blocks, one per slide */
.hero-slide--flash, .banner.hero-slides > .hero-slide--flash { background: var(--cm-yellow) !important; }
.hero-slide--luca, .banner.hero-slides > .hero-slide--luca { background: var(--cm-blue) !important; color: #FFFFFF; }
.hero-slide--ship, .banner.hero-slides > .hero-slide--ship { background: var(--cm-pink) !important; }
.hero-slide--luca .banner__text h2, .hero-slide--luca .banner__text .body-lg, .hero-slide--luca .hero-slide__cap, .hero-slide--luca .hero-slide__cap b { color: #FFFFFF !important; opacity: 1; }
.hero-slide--luca .mo-btn-cart { background: #FFFFFF !important; color: var(--cm-ink) !important; }
.hero-slide--luca .mo-btn-cart:hover { background: var(--cm-yellow) !important; }
.hero-slide--luca .mo-badge { background: var(--cm-yellow) !important; color: var(--cm-ink) !important; }
.hero-slide--luca .mo-badge svg { color: var(--cm-ink); }
.hero-slide--ship .mo-badge { background: var(--cm-ink) !important; color: #FFFFFF !important; }
.hero-slide--luca ~ .hero-dots .hero-dot::after { background: var(--cm-ink); }
.banner.hero-slides:has(.hero-slide--luca.is-active) .hero-dot::after { background: #FFFFFF; opacity: .45; }
.banner.hero-slides:has(.hero-slide--luca.is-active) .hero-dot[aria-pressed="true"]::after { opacity: 1; }
.banner.hero-slides:has(.hero-slide--luca.is-active) .hero-dot:focus-visible { box-shadow: inset 0 0 0 2px #FFFFFF; }

/* product frames: ONE pastel per category (guide 2.3), so a whole category reads as one colour */
:root { --cat-tech: var(--cm-pastel-sky); --cat-hogar: var(--cm-pastel-yellow); --cat-herramientas: var(--cm-pastel-mint); --cat-belleza: var(--cm-pastel-pink); --cat-juguetes: var(--cm-pastel-violet); --cat-none: var(--cm-pastel-grey); }
[data-cat] { --cat-bg: var(--cat-none); }
[data-cat="tech"] { --cat-bg: var(--cat-tech); }
[data-cat="hogar"] { --cat-bg: var(--cat-hogar); }
[data-cat="herramientas"] { --cat-bg: var(--cat-herramientas); }
[data-cat="belleza"] { --cat-bg: var(--cat-belleza); }
[data-cat="juguetes"] { --cat-bg: var(--cat-juguetes); }
.mo-card[data-cat] .mo-card-media, .mo-mini[data-cat] .mo-mini__media, .mo-offer[data-cat] .mo-offer__media, .mo-gallery__main[data-cat] { background: var(--cat-bg) !important; }
.mo-combos .mo-combo .mo-combo__imgs { background: var(--cm-soft) !important; }
/* photos with their own background and everything small stays neutral */
.cm-lines img, .cm-mc-item__img, .cm-order__thumbs img { background: var(--cm-soft) !important; }
.mo-card-media:has(img.mo-card-img--photo), .mo-mini__media:has(img.mo-card-img--photo) { background: var(--cm-soft) !important; }
/* the white frames inside the blue Luca band keep their category colour */
.luca-band .mo-card[data-cat] .mo-card-media { background: var(--cat-bg) !important; }

/* Productos a Luca: a blue campaign band */
.luca-band { background: var(--cm-blue) !important; color: #FFFFFF !important; }
.luca-band h2, .luca-band__price { color: #FFFFFF !important; }
.luca-band__lead { color: rgba(255, 255, 255, .86) !important; }
.luca-band__cta, .luca-band__cta:hover:not(:disabled) { background: #FFFFFF !important; color: var(--cm-ink) !important; }
.luca-band__cta:hover { background: var(--cm-yellow) !important; }
.luca-band .mo-luca-ticket { background: rgba(255, 255, 255, .14); }
.luca-band .mo-luca-ticket .mo-luca-label, .luca-band .mo-luca-ticket .mo-luca-price, .luca-band .mo-luca-state, .luca-band .mo-luca-ticket .mo-badge-luca { color: #FFFFFF !important; }
.luca-band .mo-luca-ticket .mo-luca-price::before { color: rgba(255, 255, 255, .7); }
.luca-band .mo-card-title, .luca-band .mo-price-now { color: #FFFFFF !important; }
.luca-band .mo-price-old { color: rgba(255, 255, 255, .75) !important; }
.luca-band .mo-card-media { background: #FFFFFF !important; }
.luca-band .mo-card .mo-btn:not(:disabled) { background: #FFFFFF !important; color: var(--cm-ink) !important; }
.luca-band .mo-card .mo-btn:hover:not(:disabled) { background: var(--cm-yellow) !important; color: var(--cm-ink) !important; }
.luca-band .mo-card--luca .mo-badge-luca { background: var(--cm-ink) !important; }

/* Gira y Gana: pink/cyan accents on a pastel */
.spin-band { background: var(--cm-pastel-sky) !important; }
.spin-band__wheel { background: conic-gradient(var(--cm-blue) 0 60deg, var(--cm-yellow) 60deg 120deg, var(--cm-pink) 120deg 180deg, var(--cm-cyan) 180deg 240deg, var(--cm-blue) 240deg 300deg, var(--cm-pink) 300deg 360deg) !important; box-shadow: 0 0 0 5px #FFFFFF !important; }
.spin-band__wheel::after { box-shadow: none !important; }
.spin-band .mo-badge-descuento { background: var(--cm-pink) !important; color: #FFFFFF !important; }
.spin-band .mo-btn-primary { background: var(--cm-ink) !important; }
.spin-band .mo-btn-primary:hover { background: var(--cm-blue) !important; }

/* small brand touches */
.mo-badge-oferta, .cm-badge-drop, .mo-nav__new { background: var(--cm-pink) !important; color: #FFFFFF !important; }
.trustbar__ico { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--cm-pastel-violet); color: var(--cm-blue); }
.trustbar li:nth-child(2) .trustbar__ico { background: var(--cm-pastel-sky); }
.trustbar li:nth-child(3) .trustbar__ico { background: var(--cm-pastel-yellow); color: var(--cm-ink); }
.trustbar li:nth-child(4) .trustbar__ico { background: var(--cm-pastel-pink); color: #B0239A; }
.trustbar__ico svg { width: 22px; height: 22px; }
.mo-progress.is-done, .cm-ship.is-done { background: var(--cm-yellow); }
.mo-progress.is-done .mo-stock-fill, .cm-ship.is-done .cm-ship__track span { background-color: var(--cm-ink) !important; }
.site-footer { background: var(--cm-soft) !important; }
.site-footer h2, .site-footer .h6 { color: var(--cm-blue) !important; }
::selection { background: var(--cm-yellow); color: var(--cm-ink); }

/* "Cargar más" */
.cm-more { display: grid; justify-items: center; gap: 12px; margin: 40px 0 8px; }
.cm-more__count { margin: 0; color: var(--cm-muted); font: 500 14px/1.3 var(--cm-font); }
.cm-more__count strong { color: var(--cm-ink); }
.cm-more__bar { width: min(240px, 60%); height: 4px; border-radius: 999px; background: var(--cm-line); overflow: hidden; }
.cm-more__bar span { display: block; height: 100%; background: var(--cm-blue); border-radius: inherit; }
.cm-more__btn { min-width: 220px; }
.cm-more__btn[aria-busy] { opacity: .6; pointer-events: none; }

/* every slide fills the whole banner, whatever its content height (no background strips from the neighbour slide) */
.banner.hero-slides { background: transparent !important; }
.banner.hero-slides > .hero-slide { align-self: stretch; height: 100%; }
@media (max-width: 899px) {
  .woocommerce-account .woocommerce-MyAccount-navigation:not(.is-inner) { order: -1 !important; }   /* the menu is the first thing on phones */
  .woocommerce-account .woocommerce-MyAccount-navigation:not(.is-inner) + .woocommerce-MyAccount-content .cm-quick { display: none; }
  .woocommerce-MyAccount-content .cm-acc-head h2 { font-size: 22px; }
  .cm-order__actions .mo-btn { flex: 1 1 auto; }
  .cm-order__foot { align-items: stretch; }
  .cm-order__total { width: 100%; }
}
@media (max-width: 899px) { .woocommerce-account .woocommerce { gap: 20px; } }
.woocommerce-MyAccount-content .mo-toast { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 8px 12px; align-items: start; padding: 16px; }
.woocommerce-MyAccount-content .mo-toast > p, .woocommerce-MyAccount-content .mo-toast > div { margin: 0; }
.woocommerce-MyAccount-content .mo-toast h2, .woocommerce-MyAccount-content .mo-toast strong { font: 800 15px/1.3 var(--cm-font); }
.woocommerce-MyAccount-content .mo-toast .button, .woocommerce-MyAccount-content .mo-toast a.button { margin-top: 8px; background: var(--cm-ink) !important; color: #FFFFFF !important; }
.cm-callout { display: flex; align-items: center; justify-content: space-between; gap: 12px 16px; flex-wrap: wrap; margin: 0 0 20px; padding: 14px 16px; border-radius: var(--cm-radius-md); background: var(--cm-warning-bg); }
.cm-callout p { margin: 0; font: 700 14px/1.4 var(--cm-font); color: var(--cm-ink); }
.cm-callout .mo-btn { min-height: 44px; padding: 0 18px; font-size: 14px; }
@media (max-width: 599px) { .cm-callout .mo-btn { width: 100%; } }
.cm-checkout-header .cm-logo, .cm-checkout-header .mo-header-full { display: block !important; }

/* =================== Productos a Luca band, round 2 =================== */
.luca-band { gap: 28px; padding: clamp(24px, 3vw, 40px); position: relative; overflow: hidden; }
.luca-band::after { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: rgba(255, 255, 255, .07); pointer-events: none; }
.luca-band__head { position: relative; z-index: 1; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px 28px; }
.luca-band__price { padding: 6px 18px 10px; border-radius: 20px; background: var(--cm-yellow); color: var(--cm-ink) !important; transform: rotate(-3deg); letter-spacing: -.03em; line-height: 1; box-shadow: none; }
.luca-band h2 { font: 800 clamp(24px, 1.4vw + 18px, 32px)/1.1 var(--cm-font); }
.luca-band__lead { max-width: 60ch; }
.luca-band .mo-luca-ticket { position: relative; z-index: 1; margin: 0; background: rgba(255, 255, 255, .14); }
.luca-band .mo-luca-shelf { position: relative; z-index: 1; }
.luca-band .mo-products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 899px) { .luca-band .mo-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; } }
.luca-band .mo-card { padding: 10px !important; border-radius: var(--cm-radius-md); background: #FFFFFF !important; }
.luca-band .mo-card-media { aspect-ratio: 4 / 3; border-radius: 14px; }
.luca-band .mo-card-title { color: var(--cm-ink) !important; padding: 0 4px; }
.luca-band .mo-card .mo-price { padding: 0 4px; }
.luca-band .mo-card .mo-price-now { color: var(--cm-blue) !important; font-size: 22px !important; }
.luca-band .mo-card .mo-price-old { color: var(--cm-muted) !important; }
.luca-band .mo-card .mo-btn:not(:disabled) { background: var(--cm-ink) !important; color: #FFFFFF !important; margin-top: 2px; }
.luca-band .mo-card .mo-btn:hover:not(:disabled) { background: var(--cm-blue) !important; color: #FFFFFF !important; }
.luca-band .mo-card--luca.is-locked::after { content: "Se desbloquea al pasar los $10.000"; display: block; margin: 2px 4px 4px; color: var(--cm-muted); font: 500 12.5px/1.4 var(--cm-font); }
@media (max-width: 800px) {
  .luca-band__head { grid-template-columns: 1fr; }
  .luca-band__price { justify-self: start; font-size: 40px; }
}

/* =================== menu: A Luca prioritised like Ofertas flash =================== */
.mo-nav a.mo-nav__sale, .mo-nav a[href*="mo_luca"] { padding-inline: 12px; border-radius: 999px; background: var(--cm-pastel-violet) !important; color: var(--cm-blue) !important; font-weight: 700 !important; min-height: 36px; margin: 4px 2px; box-shadow: none !important; }
.mo-nav a[href*="mo_luca"] > svg { display: inline-block !important; width: 16px; height: 16px; color: var(--cm-blue); fill: none; stroke: currentColor; stroke-width: 1.8; }
.mo-nav a.mo-nav__sale:hover, .mo-nav a[href*="mo_luca"]:hover { background: #E2DBFC !important; color: var(--cm-blue-dark) !important; }
.mo-nav a.mo-nav__sale[aria-current], .mo-nav a[href*="mo_luca"][aria-current] { background: var(--cm-blue) !important; color: #FFFFFF !important; }
.mo-nav a.mo-nav__sale[aria-current] > svg, .mo-nav a[href*="mo_luca"][aria-current] > svg { color: #FFFFFF; }
.mo-drawer__nav a[href*="mo_luca"] { color: var(--cm-blue); font-weight: 700; }
.mo-drawer__nav a[href*="mo_luca"] > svg { color: var(--cm-blue); }

/* menu priorities: no pill background, each in its own brand colour (blue · pink) */
.mo-nav a.mo-nav__sale, .mo-nav a[href*="mo_luca"] { background: none !important; border-radius: 0 !important; margin: 0 !important; min-height: 44px; padding-inline: 10px; }
.mo-nav a.mo-nav__sale { color: var(--cm-blue) !important; }
.mo-nav a[href*="mo_luca"] { color: #B0239A !important; }
.mo-nav a[href*="mo_luca"] > svg { color: #B0239A; }
.mo-nav a.mo-nav__sale:hover { background: none !important; color: var(--cm-blue-dark) !important; text-decoration: underline; text-underline-offset: 6px; }
.mo-nav a[href*="mo_luca"]:hover { background: none !important; color: #8A1A78 !important; text-decoration: underline; text-underline-offset: 6px; }
.mo-nav a.mo-nav__sale[aria-current] { background: none !important; color: var(--cm-blue) !important; box-shadow: inset 0 -2px 0 var(--cm-blue) !important; }
.mo-nav a[href*="mo_luca"][aria-current] { background: none !important; color: #B0239A !important; box-shadow: inset 0 -2px 0 #B0239A !important; }
.mo-nav a.mo-nav__sale[aria-current] > svg { color: var(--cm-blue); }
.mo-nav a[href*="mo_luca"][aria-current] > svg { color: #B0239A; }
.mo-drawer__nav a[href*="mo_luca"], .mo-drawer__nav a[href*="mo_luca"] > svg { color: #B0239A; }

/* design review: touch targets and small type */
.section__more, .section__head a { display: inline-flex; align-items: center; min-height: 44px; }
.site-footer li a, .cm-checkout-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.hero-dot { width: 36px; height: 36px; }
.trustbar small, .caption, .mo-offer__cat, .mo-instock { font-size: 13px !important; }
.mo-card-title a, .mo-mini, .mo-offer__body h3 a { display: inline-block; padding-block: 2px; }
.mo-topbar a { display: inline-flex; align-items: center; min-height: 32px; }

/* =================== search autocomplete =================== */
.cm-suggest { position: absolute; z-index: 70; left: 0; right: 0; top: calc(100% + 8px); max-height: min(70vh, 480px); overflow-y: auto; padding: 8px; border-radius: var(--cm-radius-md); background: #FFFFFF; box-shadow: var(--cm-shadow-float), 0 0 0 1px var(--cm-line); text-align: left; }
.cm-suggest[hidden] { display: none; }
.cm-suggest__h { margin: 8px 10px 4px; color: var(--cm-muted); font: 700 12px/1.3 var(--cm-font); letter-spacing: .02em; text-transform: uppercase; }
.cm-suggest ul { margin: 0; padding: 0; list-style: none; }
.cm-suggest__pop { display: flex; flex-wrap: wrap; gap: 8px; padding: 4px 10px 8px !important; }
.cm-suggest__pop a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 999px; background: var(--cm-soft); color: var(--cm-ink); font: 500 14px/1 var(--cm-font); text-decoration: none; }
.cm-sg-item { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 12px; color: var(--cm-ink); text-decoration: none; }
.cm-sg-item img { width: 48px; height: 48px; object-fit: contain; border-radius: 10px; background: var(--cm-soft); }
.cm-sg-item__name { font: 500 14px/1.3 var(--cm-font); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cm-sg-item__price { display: grid; justify-items: end; font: 800 14px/1.2 var(--cm-font); }
.cm-sg-item__price del { color: var(--cm-muted); font: 500 12px/1.2 var(--cm-font); }
.cm-sg-item:hover, .cm-sg-item.is-active, .cm-suggest__pop a:hover, .cm-suggest__pop a.is-active, .cm-suggest__all:hover, .cm-suggest__all.is-active { background: var(--cm-soft); }
.cm-suggest__pop a.is-active { background: var(--cm-ink); color: #FFFFFF; }
.cm-suggest__all { display: flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 4px; border-radius: 12px; border-top: 1px solid var(--cm-line); color: var(--cm-blue); font: 700 14px/1.2 var(--cm-font); text-decoration: none; }
.cm-suggest__empty { margin: 0; padding: 16px 12px; color: var(--cm-muted); font: 500 14px/1.5 var(--cm-font); }
.mo-search { overflow: visible !important; }
.mo-search .cm-suggest { top: calc(100% + 8px); }

/* =================== social login =================== */
.cm-social { display: grid; gap: 10px; width: 100%; }
.cm-social__lead { margin: 0; text-align: center; color: var(--cm-muted); font: 500 13px/1.3 var(--cm-font); }
.cm-social__btn { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 50px; padding: 0 20px; border-radius: var(--cm-radius-sm); background: #FFFFFF; box-shadow: inset 0 0 0 1.5px var(--cm-ink); color: var(--cm-ink); font: 700 15px/1 var(--cm-font); text-decoration: none; transition: background-color .2s ease; }
.cm-social__btn svg { width: 22px; height: 22px; flex: none; }
.cm-social__btn:hover { background: var(--cm-soft); }
.cm-social__or { display: flex; align-items: center; gap: 12px; margin: 6px 0 0; color: var(--cm-muted); font: 500 13px/1 var(--cm-font); }
.cm-social__or::before, .cm-social__or::after { content: ""; flex: 1; height: 1px; background: var(--cm-line); }

/* ---------- Preguntas frecuentes ---------- */
.cm-faq{max-width:820px;margin:0 auto;padding:8px 0 40px}
.cm-faq__lead{font-size:1.0625rem;color:var(--cm-grey-700,#4a4a55);margin:0 0 20px}
.cm-faq__tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}
.cm-faq__tabs a{padding:8px 14px;border-radius:999px;background:#fff;border:1px solid #dcdce6;color:#2b2b36;font-weight:600;font-size:.9rem;text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
.cm-faq__tabs a:hover,.cm-faq__tabs a:focus-visible{border-color:#441FDA;color:#441FDA}
.cm-faq__group{margin:0 0 32px;scroll-margin-top:90px}
.cm-faq__group h2{font-size:1.25rem;margin:0 0 12px}
.cm-faq__item{background:#fff;border:1px solid #e6e6ee;border-radius:14px;margin:0 0 10px;overflow:hidden}
.cm-faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;min-height:56px;cursor:pointer;font-weight:600;list-style:none}
.cm-faq__item summary::-webkit-details-marker{display:none}
.cm-faq__item summary svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.cm-faq__item[open] summary svg{transform:rotate(180deg)}
.cm-faq__item[open]{border-color:#441FDA}
.cm-faq__item .body{padding:0 18px 16px;color:#3a3a46;line-height:1.6}
.cm-faq__item .body p{margin:0}
.cm-faq__cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#F3EFFF;border-radius:16px;padding:20px 22px}
.cm-faq__cta p{margin:0}
@media (prefers-reduced-motion:reduce){.cm-faq__item summary svg{transition:none}}

/* ---------- Hero: one clean composition (halo behind the product, price sticker, caption pill) ---------- */
.banner.hero-slides > .hero-slide { position: relative; overflow: hidden; isolation: isolate; border-radius: 28px; }
.hero-deco { display: none; }
.hero-slide .banner__text, .hero-slide .hero-media { position: relative; z-index: 2; }
.hero-slide--flash, .banner.hero-slides > .hero-slide--flash { background-image: linear-gradient(115deg, rgba(255,255,255,0) 40%, rgba(255,255,255,.28) 100%) !important; }
.hero-slide--luca, .banner.hero-slides > .hero-slide--luca { background-image: linear-gradient(115deg, rgba(0,0,0,0) 35%, rgba(255,255,255,.12) 100%) !important; }
.hero-slide--ship, .banner.hero-slides > .hero-slide--ship { background-image: linear-gradient(115deg, rgba(255,255,255,0) 40%, rgba(255,255,255,.3) 100%) !important; }
.hero-slide .hero-media { padding: 28px 28px 64px; }
.hero-slide .hero-media::before { content: ""; position: absolute; z-index: -1; left: 50%; top: 46%; width: min(86%, 400px); aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; background: rgba(255,255,255,.55); box-shadow: 0 0 0 28px rgba(255,255,255,.22); }
.hero-slide--luca .hero-media::before { background: rgba(255,255,255,.14); box-shadow: 0 0 0 28px rgba(255,255,255,.07); }
.hero-slide--ship .hero-media::before { background: rgba(255,255,255,.5); box-shadow: 0 0 0 28px rgba(255,255,255,.2); }
.hero-slide .hero-media img { filter: drop-shadow(0 18px 18px rgba(20,16,40,.25)); }
.hero-slide .hero-slide__cap { background: #fff; color: var(--cm-ink); padding: 8px 16px; border-radius: 999px; box-shadow: 0 6px 18px rgba(20,16,40,.14); display: grid; gap: 0; text-align: center; max-width: 92%; }
.hero-slide .hero-slide__cap b { font-size: 14px; line-height: 1.25; }
.hero-slide .hero-slide__cap span { font-size: 13px; font-weight: 700; color: var(--cm-blue); }
.hero-slide--luca .hero-slide__cap, .hero-slide--luca .hero-slide__cap b { color: var(--cm-ink) !important; }
.hero-sticker { position: absolute; z-index: 3; top: 12%; right: 12%; width: 96px; height: 96px; display: grid; place-content: center; text-align: center; border-radius: 50%; background: var(--cm-blue); color: #fff; transform: rotate(10deg); box-shadow: 0 6px 16px rgba(20,16,40,.28); border: 3px solid #fff; line-height: 1; }
.hero-sticker b { font: 800 24px/1 var(--cm-font); letter-spacing: -.02em; }
.hero-sticker i { font: 700 11px/1.2 var(--cm-font); font-style: normal; text-transform: uppercase; letter-spacing: .06em; margin-top: 4px; }
.hero-slide--luca .hero-sticker { background: var(--cm-yellow); color: var(--cm-ink); border-color: #fff; }
@media (max-width: 799px) {
  .hero-slide .hero-media::before { top: 44%; width: min(78%, 300px); box-shadow: 0 0 0 18px rgba(255,255,255,.2); }
  .hero-sticker { width: 74px; height: 74px; top: 6%; right: 8%; }
  .hero-sticker b { font-size: 18px; } .hero-sticker i { font-size: 9px; }
}

/* ---------- Hero: finishing ---------- */
.hero-slide .banner__text { align-content: center; padding-left: clamp(24px, 4.5vw, 64px); }
.hero-slide .banner__text h1, .hero-slide .banner__text .hero-h { font-size: clamp(34px, 3.6vw + 12px, 62px); }
.hero-slide .banner__text .mo-btn-cart { min-height: 52px; padding-inline: 28px; font-size: 16px; box-shadow: 0 8px 20px rgba(20,16,40,.22); transition: transform .15s ease, box-shadow .15s ease; }
.hero-slide .banner__text .mo-btn-cart:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(20,16,40,.28); }
.hero-trust { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 6px 0 0; padding: 0; font: 600 13px/1.2 var(--cm-font); opacity: .85; }
.hero-trust li { display: inline-flex; align-items: center; gap: 6px; }
.hero-trust svg { width: 16px; height: 16px; flex: none; }
.hero-slide--luca .hero-trust { color: #fff; }
.hero-slide.is-active .banner__text > * { animation: cm-rise .6s cubic-bezier(.2,.7,.2,1) both; }
.hero-slide.is-active .banner__text > :nth-child(2) { animation-delay: .06s; } .hero-slide.is-active .banner__text > :nth-child(3) { animation-delay: .12s; }
.hero-slide.is-active .banner__text > :nth-child(4) { animation-delay: .18s; } .hero-slide.is-active .banner__text > :nth-child(5) { animation-delay: .24s; }
.hero-slide.is-active .hero-media img { animation: cm-pop .7s cubic-bezier(.2,.8,.2,1) both; }
@keyframes cm-rise { from { opacity: 0; transform: translateY(14px) } to { opacity: 1; transform: none } }
@keyframes cm-pop { from { opacity: 0; transform: scale(.92) } to { opacity: 1; transform: none } }
@media (max-width: 799px) { .hero-trust { font-size: 12px; gap: 6px 14px; } .hero-slide .banner__text { padding-left: 20px; } }
@media (prefers-reduced-motion: reduce) { .hero-slide.is-active .banner__text > *, .hero-slide.is-active .hero-media img { animation: none; } }
