/* ==========================================================================
   Oaseeds · Marca v2 · fase 1 (docs/Marca/marca.md)
   Capa que se carga DESPUÉS de oaseeds.css y solo con OA_MARCA_V2 = 1 (templates/_partials/head.tpl): staging ya,
   producción el día del lanzamiento (scripts/theme/marca-v2 prod on|off).
   Producción no la descarga. El día del lanzamiento se fusiona con oaseeds.css y este archivo desaparece.

   Qué hace:
     1. Tokens de la marca (--oa-arena, --oa-tinta, --oa-sol…) y las cuatro fuentes.
     2. Redefine las variables antiguas (--oa-green*, --oa-sun, --oa-price, Bootstrap, menú, barra móvil, cookies):
        así la mayor parte del verde desaparece sin tocar cada regla.
     3. Sobrescribe lo que estaba escrito a mano (#181818, #198754, #E8881E, blancos…) y aplica borde, esquina y sombra.
   Fuera de esta fase: el blog (blog-comic.css, fase 2), cambios de estructura de la navegación (fase 3), favicon y
   símbolo «O» del menú estrecho (fase 6).
   ========================================================================== */

/* ---- Fuentes: Atkinson y Bangers ya las declara oaseeds.css; faltan Bitter y Permanent Marker ---- */
@font-face { font-family: 'Bitter'; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url('../fonts/blog/bitter-normal-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Bitter'; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url('../fonts/blog/bitter-normal-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Bitter'; font-style: italic; font-weight: 400 700; font-display: swap;
  src: url('../fonts/blog/bitter-italic-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Bitter'; font-style: italic; font-weight: 400 700; font-display: swap;
  src: url('../fonts/blog/bitter-italic-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Permanent Marker'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../fonts/blog/permanent-marker-400-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---- 1. Tokens de la marca --------------------------------------------------- */
:root {
  --oa-arena:  #F3EBD8;  /* fondo de página */
  --oa-papel:  #FCF8EE;  /* tarjetas, formularios, fondo de foto */
  --oa-duna:   #E6DCC3;  /* avisos, separadores */
  --oa-tinta:  #311B0D;  /* texto, bordes, sombras */
  --oa-humo:   #6B5D50;  /* texto secundario */
  --oa-sol:    #F89702;  /* botón principal, pegatinas */
  --oa-yema:   #FFD602;  /* hover, activo, texto sobre tinta */
  --oa-brasa:  #E26F08;  /* solo ilustración */
  --oa-oasis:  #1B5E20;  /* en stock, éxito, foco */
  --oa-hierba: #5A9E3A;  /* solo plantas dibujadas y la hierba del pie (trama-hierba.png) */
  --oa-tomate: #B3261E;  /* descuento, error */

  --oa-font-titular: 'Bangers', Impact, sans-serif;
  --oa-font-ui:      'Atkinson Hyperlegible', Verdana, Arial, sans-serif;
  --oa-font-lectura: 'Bitter', Georgia, serif;
  --oa-font-mano:    'Permanent Marker', cursive;

  --oa-borde:  2px solid var(--oa-tinta);
  --oa-radio:  4px;
  --oa-sombra: 4px 4px 0 var(--oa-tinta);
  --oa-giro:   -2deg;

/* ---- 2. Variables antiguas → marca v2 ------------------------------------------ */
  --oa-font-body: var(--oa-font-ui);
  --bs-body-font-family: var(--oa-font-ui);
  --bs-font-sans-serif: var(--oa-font-ui);
  --bs-body-bg: var(--oa-arena);
  --bs-body-color: var(--oa-tinta);
  --bs-emphasis-color: var(--oa-tinta);
  --bs-secondary-color: var(--oa-humo);
  --bs-heading-color: var(--oa-tinta);
  --bs-border-color: var(--oa-duna);
  --bs-border-radius: 4px; --bs-border-radius-sm: 3px; --bs-border-radius-lg: 4px; --bs-border-radius-xl: 4px; --bs-border-radius-pill: 4px;

  --oa-green: var(--oa-tinta);          /* acentos, títulos y bordes que eran verdes */
  --oa-green-deep: var(--oa-tinta);
  --oa-green-mist: var(--oa-duna);      /* fondos suaves que eran menta */
  --oa-green-light: var(--oa-duna);
  --oa-green-btn: var(--oa-sol);
  --oa-green-btn-dark: var(--oa-yema);
  --oa-sun: var(--oa-yema);
  --oa-yellow: var(--oa-yema);
  --oa-brown: var(--oa-tinta);
  --oa-price: var(--oa-tinta);          /* el precio va en Tinta; el rojo queda para descuentos */
  --oa-topbar: var(--oa-tinta);

  --bs-primary: #311B0D; --bs-primary-rgb: 49, 27, 13;
  --bs-primary-text-emphasis: #311B0D; --bs-primary-bg-subtle: #E6DCC3; --bs-primary-border-subtle: #311B0D;
  --bs-link-color: #311B0D; --bs-link-color-rgb: 49, 27, 13;
  --bs-link-hover-color: #311B0D; --bs-link-hover-color-rgb: 49, 27, 13;
  --bs-danger: #B3261E; --bs-danger-rgb: 179, 38, 30;
  --bs-success: #1B5E20; --bs-success-rgb: 27, 94, 32;

  /* Menú lateral (g420_menu) */
  --g420m-bg: var(--oa-papel); --g420m-fg: var(--oa-tinta); --g420m-icon: var(--oa-tinta); --g420m-border: var(--oa-tinta);
  --g420m-hover-bg: var(--oa-duna); --g420m-active-bg: var(--oa-yema); --g420m-active-fg: var(--oa-tinta);
  /* Barra inferior del móvil (g420_mobilebar) */
  --g420-mb-bg: var(--oa-papel); --g420-mb-fg: var(--oa-tinta); --g420-mb-active: var(--oa-tinta); --g420-mb-border: var(--oa-tinta);
  --g420-mb-count-bg: var(--oa-tomate); --g420-mb-count-fg: var(--oa-papel);

  accent-color: var(--oa-tinta);
}
body { background: var(--oa-arena); color: var(--oa-tinta); font-family: var(--oa-font-ui); }
::selection { background: var(--oa-yema); color: var(--oa-tinta); }

/* Las cajas «cómic» que ya existían declaraban sus propios colores: se pasan a la paleta y a borde 2 px / sombra 4 px */
.oa-lhead, .oa-phead, .cart-grid,
.category__additional-description.rich-text, .oa-brand__description.rich-text, .oa-seedbanks.rich-text {
  --oa-ink: var(--oa-tinta); --oa-paper: var(--oa-papel); --oa-paper-2: var(--oa-duna);
  --oa-amber: var(--oa-sol); --oa-amber-ink: var(--oa-tinta);
}

/* ---- Foco: Oasis sobre claro, Yema sobre Tinta (las reglas de cabecera y pie ya lo ponen con --oa-sun) ---- */
:focus-visible { outline: 2px solid var(--oa-oasis) !important; outline-offset: 2px !important; }
.product-miniature .product-miniature__title:focus-visible::after,
.oa-brand__name:focus-visible::after { outline-color: var(--oa-oasis); }

/* ---- Enlaces dentro de texto: Tinta subrayada con rotulador Sol; al pasar, Yema ---- */
#wrapper :is(p, li) > a:not([class]), .form-check-label a {
  color: var(--oa-tinta); text-decoration: underline; text-decoration-color: var(--oa-sol); text-decoration-thickness: 2px; text-underline-offset: 3px;
}
#wrapper :is(p, li) > a:not([class]):hover, .form-check-label a:hover { background: var(--oa-yema); text-decoration-color: var(--oa-tinta); }

/* ---- Botones: principal Sol con texto Tinta, borde y sombra dura; al pasar Yema; al pulsar se hunde ---- */
.btn { --bs-btn-border-radius: 4px; --bs-btn-font-weight: 700; --bs-btn-border-width: 2px; }
.btn-primary {
  --bs-btn-color: var(--oa-tinta); --bs-btn-bg: var(--oa-sol); --bs-btn-border-color: var(--oa-tinta);
  --bs-btn-hover-color: var(--oa-tinta); --bs-btn-hover-bg: var(--oa-yema); --bs-btn-hover-border-color: var(--oa-tinta);
  --bs-btn-active-color: var(--oa-tinta); --bs-btn-active-bg: var(--oa-yema); --bs-btn-active-border-color: var(--oa-tinta);
  --bs-btn-disabled-color: var(--oa-tinta); --bs-btn-disabled-bg: var(--oa-sol); --bs-btn-disabled-border-color: var(--oa-tinta);
  --bs-btn-focus-shadow-rgb: 49, 27, 13;
  box-shadow: var(--oa-sombra); transition: transform .08s ease, box-shadow .08s ease, background-color .1s ease;
}
.btn-primary:active, .btn-primary.active { transform: translate(4px, 4px); box-shadow: none; }
.btn-primary:disabled, .btn-primary.disabled { opacity: .5; box-shadow: none; }
.btn-outline-primary, .btn-secondary, .btn-outline-secondary {
  --bs-btn-color: var(--oa-tinta); --bs-btn-bg: var(--oa-papel); --bs-btn-border-color: var(--oa-tinta);
  --bs-btn-hover-color: var(--oa-tinta); --bs-btn-hover-bg: var(--oa-yema); --bs-btn-hover-border-color: var(--oa-tinta);
  --bs-btn-active-color: var(--oa-tinta); --bs-btn-active-bg: var(--oa-yema); --bs-btn-active-border-color: var(--oa-tinta);
}

/* ---- Formularios: Papel con borde de Tinta ---- */
.form-control, .form-select { background-color: var(--oa-papel); border: 2px solid var(--oa-tinta); border-radius: 4px; color: var(--oa-tinta); }
.form-control::placeholder { color: var(--oa-humo); }
.form-control:focus, .form-select:focus { background-color: var(--oa-papel); border-color: var(--oa-tinta); box-shadow: 0 0 0 3px var(--oa-yema); }
.form-check-input { border: 2px solid var(--oa-tinta); background-color: var(--oa-papel); }
.form-check-input:checked { background-color: var(--oa-tinta); border-color: var(--oa-tinta); }
.form-check-input:focus { border-color: var(--oa-tinta); box-shadow: 0 0 0 3px var(--oa-yema); }
.products__sort-dropdown .oa-sort-select { border-color: var(--oa-tinta); }
.products__sort-dropdown .oa-sort-select:focus { border-color: var(--oa-tinta); box-shadow: 0 0 0 3px var(--oa-yema); }
.text-danger { color: var(--oa-tomate) !important; }

/* ---- Cabecera: barra superior en Tinta con texto Arena y datos en Yema ---- */
.header-top { color: var(--oa-arena); }
.header-top a, .header-top .header-block__action-btn, .header-top .header-block__icon, .header-top .header-block__title,
.header-top .form-select { color: var(--oa-arena); }
.header-top .oa-ekomi-bar, .header-top .oa-ekomi-bar * { color: var(--oa-yema) !important; }
.header-top .ps-languageselector::before { background: var(--oa-arena); }
.header-top .form-select { background-color: transparent; border: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23F3EBD8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"); }
.header-top .form-select option { color: var(--oa-tinta); background: var(--oa-papel); }
.header-top .header-block__badge { background: var(--oa-yema); color: var(--oa-tinta); border-radius: 4px; }

/* Logo + buscador: caja de esquina recta, borde de Tinta y sombra dura (también flotando) */
.header-bottom { background: var(--oa-arena); }
.header-bottom__search .ps-searchbar__input {
  background: var(--oa-papel); border: 2px solid var(--oa-tinta); border-radius: 4px; color: var(--oa-tinta); box-shadow: var(--oa-sombra);
}
.header-bottom__search .ps-searchbar__input:focus { border-color: var(--oa-tinta); box-shadow: 4px 4px 0 var(--oa-tinta), 0 0 0 3px var(--oa-yema); }
@media (min-width: 768px) {
  .header-bottom { background: transparent; }
  .header-bottom__search .ps-searchbar__input { border-radius: 4px; border: 2px solid var(--oa-tinta); background: var(--oa-papel); box-shadow: var(--oa-sombra); }
  html.oa-hdr-float .header-bottom__search .ps-searchbar__input { box-shadow: var(--oa-sombra); }
  .header-bottom .logo-mini img { border-radius: 4px; box-shadow: none; border: 2px solid var(--oa-tinta); }
}
.header-bottom__menu-toggle, .header-bottom .g420m-toggle { color: var(--oa-tinta); }
@media (max-width: 767.98px) {
  .header-bottom { background: var(--oa-papel); border-bottom: 2px solid var(--oa-tinta); }
  .oa-lang-m__btn { color: var(--oa-tinta); }
  .oa-lang-m__menu { background: var(--oa-papel); border: 2px solid var(--oa-tinta); border-radius: 4px; box-shadow: var(--oa-sombra); }
  .oa-lang-m__menu .dropdown-item { color: var(--oa-tinta); border-radius: 3px; }
  .oa-lang-m__menu .dropdown-item.active, .oa-lang-m__menu .dropdown-item:active { background: var(--oa-yema); color: var(--oa-tinta); }
  .oa-lang-m__code, .oa-lang-m__menu .dropdown-item.active .oa-lang-m__code { color: var(--oa-humo); }
}

/* Menú lateral: Papel con filete de Tinta, iconos en Tinta, sección actual en Yema con borde */
.g420m__nav { border-right-width: 2px !important; }
.g420m__link { border-radius: 4px; color: var(--oa-tinta); }
.g420m__link.is-active { box-shadow: inset 0 0 0 2px var(--oa-tinta); }
.g420m__icon { stroke-width: 2; }

/* ---- Precios en Tinta ---- */
.product__current-price, .product-miniature__price, .price,
#product .product__price, #product .product__current-price,
.oa-pack__price strong, .g420-card__price strong, .product-line__price { color: var(--oa-tinta); }
#product .product__regular-price, .oa-pack__regular, .g420-card__price s, .product-line__item-regular-price { color: var(--oa-humo); }

/* Barrita de los títulos de contenido: Sol */
.rich-text h2::before, .product__description h2::before, .category-description h2::before { background: var(--oa-sol); border-radius: 0; }

/* ---- Distintivos: descuento Tomate, nuevo Yema, agotado Duna, resto Tinta ---- */
.product-flags .badge, #product .product__discount-percentage, #product .product__discount-amount,
.g420-card__off, .g420-card__oos, .oa-pack__badge { --oa-badge-bg: var(--oa-tinta); --oa-badge-fg: var(--oa-arena); border-radius: 3px !important; }
.product-flags .badge.discount, .product-flags .badge.on-sale, .g420-card__off,
#product .product__discount-percentage, #product .product__discount-amount { --oa-badge-bg: var(--oa-tomate); --oa-badge-fg: var(--oa-papel); }
.product-flags .badge.new, .oa-pack__badge { --oa-badge-bg: var(--oa-yema); --oa-badge-fg: var(--oa-tinta); }
.product-flags .badge.out_of_stock, .g420-card__oos { --oa-badge-bg: var(--oa-duna); --oa-badge-fg: var(--oa-tinta); }
.product-line__item-discount.badge { background: var(--oa-tomate) !important; color: var(--oa-papel); }

/* ---- Tarjeta de producto: Papel, borde de Tinta, sin sombra en reposo; sombra dura al pasar ---- */
.product-miniature__inner { background: var(--oa-papel); border: 2px solid var(--oa-tinta); border-radius: 4px; box-shadow: none; }
.product-miniature:hover .product-miniature__inner { border-color: var(--oa-tinta); box-shadow: var(--oa-sombra); }
.product-miniature__image-container { border-radius: 2px; }
.product-miniature .product-miniature__title::after { border-radius: 4px; }
.product-miniature__brand { color: var(--oa-humo); }
.product-miniature .product-miniature__title { color: var(--oa-tinta); }
.product-miniature:hover .product-miniature__title { color: var(--oa-tinta); text-decoration: underline; text-decoration-color: var(--oa-sol); text-decoration-thickness: 2px; }
.product-miniature__prices { border-top: 1px dashed var(--oa-duna); }
.oa-from, .g420-from { color: var(--oa-humo); }

/* Corazón de favoritos: Papel con contorno de Tinta; relleno Tomate */
.product-miniature .wishlist-button-add::before {
  filter: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.6l-1.3-1.2C6 15.1 3 12.4 3 8.9 3 6.1 5.2 4 7.9 4c1.6 0 3.1.7 4.1 1.9C13 4.7 14.5 4 16.1 4 18.8 4 21 6.1 21 8.9c0 3.5-3 6.2-7.7 10.5L12 20.6z' fill='%23FCF8EE' stroke='%23311B0D' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.product-miniature .wishlist-button-add:hover::before, .product-miniature .wishlist-button-add:focus-visible::before,
.product-miniature .wishlist-button-add[data-oa-on]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.6l-1.3-1.2C6 15.1 3 12.4 3 8.9 3 6.1 5.2 4 7.9 4c1.6 0 3.1.7 4.1 1.9C13 4.7 14.5 4 16.1 4 18.8 4 21 6.1 21 8.9c0 3.5-3 6.2-7.7 10.5L12 20.6z' fill='%23B3261E' stroke='%23311B0D' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ---- Miga de pan ---- */
.breadcrumb { font-family: var(--oa-font-ui); }
.breadcrumb-item:not(:last-child)::after { color: var(--oa-humo); }
.breadcrumb a, .breadcrumb .breadcrumb-link { color: var(--oa-tinta); }
.breadcrumb a:hover { color: var(--oa-tinta); text-decoration-color: var(--oa-sol); }
.breadcrumb-item:last-child, .breadcrumb-item:last-child a, .breadcrumb-item:last-child span { color: var(--oa-tinta); }

/* ---- Títulos en Bangers (página y sección) ---- */
#product .product__name, .oa-pdp__title, .g420-rail__title, .g420h-section__title, .g420h-hero__title, .g420h-nl__title,
.g420_block_latest.page_home .title_block, .oa-nl__title, .oa-contact__title, .oa-contact__form-title, .oa-contact__card h2,
.g420ss__title, .oa-cart-empty__title, .cart-grid__aside-wrapper > h2, .cart-darique .oa-gifts__title {
  font-family: var(--oa-font-titular); font-weight: 400; text-transform: uppercase; letter-spacing: 0.03em; color: var(--oa-tinta);
}
.oa-contact__title, .oa-contact__card h2, .g420h-hero__title { color: var(--oa-papel); }

/* ---- Ficha de producto (dosis «calma») ---- */
#product .product__name { font-size: clamp(34px, 4vw, 48px); line-height: 1.05; }
.oa-packs__title { color: var(--oa-tinta); }
.oa-pack { background: var(--oa-papel); border: 2px solid var(--oa-tinta); border-radius: 4px; }
.oa-pack:hover { border-color: var(--oa-tinta); background: var(--oa-duna); }
.oa-pack:has(.oa-pack__input:checked) { border-color: var(--oa-tinta); background: var(--oa-yema); box-shadow: var(--oa-sombra); }
.oa-pack:has(.oa-pack__input:focus-visible) { outline: 2px solid var(--oa-oasis); }
.oa-pack__radio { border-color: var(--oa-tinta); background: var(--oa-papel); }
.oa-pack:has(.oa-pack__input:checked) .oa-pack__radio { border-color: var(--oa-tinta); }
.oa-pack__seeds { color: var(--oa-tinta); }
.oa-pack__gift { background: var(--oa-yema); color: var(--oa-tinta); border: 1px solid var(--oa-tinta); border-radius: 3px; }
.oa-pack__meta, .oa-pack__unit { color: var(--oa-humo); }
.oa-pack:has(.oa-pack__input:checked) :is(.oa-pack__meta, .oa-pack__unit, .oa-pack__regular) { color: var(--oa-tinta); }
.oa-pack__stock { color: var(--oa-oasis); }
.oa-pack__stock.is-out { color: var(--oa-tomate); }
.oa-pack__unit strong { color: var(--oa-tinta); }
.oa-pack__save { color: var(--oa-tomate); }
.oa-pack.is-soldout { background: var(--oa-duna); }
.oa-pack.is-soldout .oa-pack__seeds, .oa-pack.is-soldout .oa-pack__price strong { color: var(--oa-humo); }
@media (max-width: 575.98px) { .oa-pack__unit { border-top-color: var(--oa-duna); } }

#product .product__add-to-cart-button {
  font-family: var(--oa-font-titular); font-weight: 400; font-size: 24px; letter-spacing: 0.04em; text-transform: uppercase; border-radius: 4px;
}
#product .product__quantity .form-control, #product .product__quantity .btn { border-color: var(--oa-tinta); }
.oa-trust { background: var(--oa-papel); border: 2px solid var(--oa-tinta); border-radius: 4px; color: var(--oa-tinta); }
.oa-trust .material-icons { color: var(--oa-tinta); }

.oa-pdp__sec { border-top: 2px solid var(--oa-duna); }
.oa-pdp__title { font-size: clamp(28px, 3vw, 38px); line-height: 1.1; }
.oa-specs__row { border-bottom: 1px solid var(--oa-duna); }
.oa-specs dt, .oa-specs dd { color: var(--oa-tinta); }
.g420ss {
  --g420ss-text: var(--oa-tinta); --g420ss-muted: var(--oa-humo); --g420ss-title: var(--oa-tinta); --g420ss-accent: var(--oa-tinta);
  --g420ss-line: var(--oa-duna); --g420ss-track: var(--oa-duna); --g420ss-mark: var(--oa-sol); --g420ss-summary-bg: var(--oa-papel);
  --g420ss-chip-bg: var(--oa-papel); --g420ss-chip-line: var(--oa-duna); --g420ss-indica: var(--oa-tinta); --g420ss-sativa: var(--oa-yema);
  --g420ss-ruderalis: var(--oa-humo);
}
.g420ss__title { font-size: clamp(28px, 3vw, 38px); }
.g420ss__months .is-on { background: var(--oa-tinta); }
.g420ss tr[data-field=effects] .g420ss__chips li { border-color: var(--oa-tinta); background: var(--oa-duna); }
.g420ss__help { border-color: var(--oa-tinta); color: var(--oa-tinta); }

/* Descripción larga: texto de lectura en Bitter, titulares en Bangers */
.oa-pdp__desc .product__description { font-family: var(--oa-font-lectura); font-size: 19px; line-height: 1.6; color: var(--oa-tinta); }
.oa-pdp__desc .product__description :is(p, li, span, div) { font-family: inherit; }
.oa-pdp__desc .product__description :is(h2, h3) { font-family: var(--oa-font-titular); font-weight: 400; text-transform: uppercase; letter-spacing: 0.03em; color: var(--oa-tinta); }
.oa-pdp__desc .product__description h2 { font-size: clamp(28px, 3vw, 38px); line-height: 1.1; }
.oa-pdp__desc .product__description h3 { font-size: clamp(22px, 2.2vw, 26px); line-height: 1.15; }
.oa-pdp__desc .product__description img { border-radius: 4px; border: var(--oa-borde); }
.oa-pdp__more { border-top: 2px solid var(--oa-duna); }
.oa-pdp__more .accordion-button { color: var(--oa-tinta); }
@media (max-width: 767.98px) { .oa-pdp__desc .product__description { font-size: 18px; } }

/* Carruseles de la ficha */
.g420-rails { background: var(--oa-papel); border-top: 2px solid var(--oa-tinta); }
.g420-rail + .g420-rail { border-top: 2px solid var(--oa-duna); }
.g420-rail__title { font-size: clamp(22px, 2.4vw, 30px); }
.g420-rail__all { color: var(--oa-tinta); text-decoration: underline; text-decoration-color: var(--oa-sol); text-decoration-thickness: 2px; }
.g420-rail__btn { border: 2px solid var(--oa-tinta); border-radius: 4px; background: var(--oa-papel); color: var(--oa-tinta); }
.g420-rail__btn:hover { border-color: var(--oa-tinta); background: var(--oa-yema); }
.g420-card { background: var(--oa-papel); border: 2px solid var(--oa-tinta); border-radius: 4px; }
.g420-card:hover { border-color: var(--oa-tinta); box-shadow: var(--oa-sombra); }
.g420-card__img { border-radius: 2px; }
.g420-card__name { color: var(--oa-tinta); }
.g420-card__brand { color: var(--oa-humo); }

/* ---- Cabeceras y cajas «cómic» de listados, páginas y descripciones: borde 2 px, sombra 4 px, Papel ---- */
.oa-lhead__card, .oa-phead,
.category__additional-description.rich-text, .oa-brand__description.rich-text, .oa-seedbanks.rich-text {
  border-width: 2px; box-shadow: var(--oa-sombra);
}
.oa-lhead__media { background: var(--oa-papel); border-width: 2px; }
.oa-lhead__img, .oa-brand__logo img { mix-blend-mode: multiply; }   /* logos con fondo blanco: el blanco toma el color del papel */
.oa-lhead__desc.rich-text { color: var(--oa-tinta); }
.oa-lhead__desc.rich-text :is(b, strong) { color: var(--oa-tinta); }
.oa-lhead__sub { background: var(--oa-papel); border-radius: 4px; }
.oa-lhead__sub:hover, .oa-lhead__sub:focus-visible { background: var(--oa-yema); }
.oa-phead__lead { color: var(--oa-tinta); }
.oa-phead__badges li { background: var(--oa-papel); border-radius: 4px; }
.oa-phead--compact { box-shadow: var(--oa-sombra); }
@media (max-width: 768px) { .oa-lhead__card { box-shadow: var(--oa-sombra); } }
@media (max-width: 575.98px) { .oa-phead { box-shadow: var(--oa-sombra); } }

/* Descripción larga de categoría y marca: lectura en Bitter */
.category__additional-description.rich-text, .oa-brand__description.rich-text, .oa-seedbanks.rich-text { font-family: var(--oa-font-lectura); color: var(--oa-tinta); }
:is(.category__additional-description, .oa-brand__description, .oa-seedbanks).rich-text :is(p, li) { color: var(--oa-tinta); line-height: 1.6; }
:is(.category__additional-description, .oa-brand__description, .oa-seedbanks).rich-text :is(b, strong),
:is(.category__additional-description, .oa-brand__description, .oa-seedbanks).rich-text h2 { color: var(--oa-tinta); }
:is(.category__additional-description, .oa-brand__description, .oa-seedbanks).rich-text a { color: var(--oa-tinta); text-decoration-color: var(--oa-sol); text-decoration-thickness: 2px; }

/* ---- Página de bancos ---- */
.oa-brands__h2, .oa-brand__initial, .oa-brand__name, .oa-brands__letter-title { color: var(--oa-tinta); }
.oa-brand { background: var(--oa-papel); border-color: var(--oa-tinta); border-radius: 4px; box-shadow: 3px 3px 0 var(--oa-tinta); }
.oa-brand:hover { box-shadow: 5px 5px 0 var(--oa-tinta); }
.oa-brand__name::after { border-radius: 4px; }
.oa-brand:hover .oa-brand__name { color: var(--oa-tinta); text-decoration: underline; text-decoration-color: var(--oa-sol); text-decoration-thickness: 2px; }
.oa-brand__initial { background: var(--oa-duna); border-color: var(--oa-tinta); }
.oa-brand__meta { color: var(--oa-humo); }
.oa-brand__count { color: var(--oa-tinta); }
.oa-brand--big { background: var(--oa-papel); border-width: 2px; box-shadow: var(--oa-sombra); }
.oa-brand--big:hover { box-shadow: 6px 6px 0 var(--oa-tinta); }
.oa-brand--big .oa-brand__logo { background: var(--oa-papel); border-color: var(--oa-tinta); }
.oa-brand--featured:not(.oa-brand--big) { border-color: var(--oa-tinta); box-shadow: 3px 3px 0 var(--oa-sol); background: var(--oa-papel); }
.oa-brand--featured:not(.oa-brand--big):hover { box-shadow: 5px 5px 0 var(--oa-sol); }
.oa-brand__star { background: var(--oa-sol); color: var(--oa-tinta); border-color: var(--oa-tinta); box-shadow: 2px 2px 0 var(--oa-tinta); }
.oa-brands__az a { background: var(--oa-papel); color: var(--oa-tinta); border-color: var(--oa-tinta); box-shadow: 2px 2px 0 var(--oa-tinta); }
.oa-brands__az a:hover, .oa-brands__az a:focus-visible { background: var(--oa-yema); }
.oa-brands__az span { color: #A3957C; border-color: var(--oa-duna); }
.oa-brands__letter-title { background: var(--oa-sol); border-width: 2px; border-color: var(--oa-tinta); box-shadow: var(--oa-sombra); }

/* ---- Páginas CMS: lectura en Bitter, apartados en Papel ---- */
.oa-cms { font-family: var(--oa-font-lectura); font-size: 18px; line-height: 1.6; color: var(--oa-tinta); }
.oa-cms a:not(.btn) { color: var(--oa-tinta); text-decoration-color: var(--oa-sol); text-decoration-thickness: 2px; }
.oa-cms a:not(.btn):hover { color: var(--oa-tinta); background: var(--oa-yema); }
.oa-cms h2 { font-family: var(--oa-font-titular); font-weight: 400; text-transform: uppercase; letter-spacing: 0.03em; font-size: 28px; line-height: 1.1; color: var(--oa-tinta); }
.oa-cms h3 { font-family: var(--oa-font-ui); color: var(--oa-tinta); }
.oa-doc-sec { background: var(--oa-papel); border-color: var(--oa-tinta); box-shadow: var(--oa-sombra); }
.oa-cms .oa-doc-sec h2 { font-size: 24px; }
.oa-cms .oa-doc-sec h2::before { background: var(--oa-yema); border-color: var(--oa-tinta); color: var(--oa-tinta); }
.oa-doc-table :is(th, td) { border-bottom-color: var(--oa-duna); }
.oa-doc-table th { background: var(--oa-duna); border-bottom-color: var(--oa-tinta); font-family: var(--oa-font-ui); }
.oa-doc-note {   /* aviso: Duna con trama rayada */
  background: var(--oa-duna) repeating-linear-gradient(135deg, transparent 0 6px, rgba(49, 27, 13, .06) 6px 8px);
  border-left: 4px solid var(--oa-sol); border-radius: 0;
}
.oa-doc-address { background: var(--oa-duna); }
.oa-cms__toc { background: var(--oa-papel); border-color: var(--oa-tinta); font-family: var(--oa-font-ui); }

/* ---- Carrito y pago ---- */
.cart-grid__products-details .product-line { background: var(--oa-papel); border-color: var(--oa-tinta); box-shadow: var(--oa-sombra); }
.product-line__img { border-color: var(--oa-tinta); }
.product-line__title { color: var(--oa-tinta); }
.product-line__item--info { background: var(--oa-duna); border-color: var(--oa-tinta); border-radius: 3px; }
.cart-grid__aside-wrapper { background: var(--oa-papel); border: 2px solid var(--oa-tinta); box-shadow: var(--oa-sombra); }
.cart-grid__aside-wrapper .cart-summary__line, .cart-grid__aside-wrapper .cart-summary__totals { border-color: var(--oa-duna) !important; }
.cart-summary__actions .btn-primary, .cart-detailed-actions .btn-primary {
  font-family: var(--oa-font-titular); font-weight: 400; font-size: 22px; letter-spacing: 0.04em; text-transform: uppercase;
  border: 2px solid var(--oa-tinta); box-shadow: var(--oa-sombra);
}
.cart-darique ul.dariqueWrapper li .gift { background: var(--oa-papel); border-color: var(--oa-tinta); border-radius: 4px; box-shadow: 3px 3px 0 var(--oa-tinta); }
.cart-darique ul.dariqueWrapper li .gift:not(.disable):hover { box-shadow: 5px 5px 0 var(--oa-tinta); }
.cart-darique ul.dariqueWrapper li .gift.active { border: 3px solid var(--oa-tinta); background: var(--oa-yema); box-shadow: 3px 3px 0 var(--oa-tinta); }
.cart-darique ul.dariqueWrapper li .gift.active::after { background: var(--oa-oasis); color: var(--oa-papel); border-color: var(--oa-tinta); }
.cart-darique ul.dariqueWrapper li .gift > input[type="checkbox"] { accent-color: var(--oa-tinta); }
.cart-darique ul.dariqueWrapper li .gift :is(h5, .gift-name) { color: var(--oa-tinta); }
.cart-darique .oa-gifts__hint { color: var(--oa-humo); }
.oa-cart-empty { background: var(--oa-papel); border-color: var(--oa-tinta); border-radius: 4px; }
.oa-cart-empty__icon { color: var(--oa-tinta); }
.oa-cart-empty__text { color: var(--oa-tinta); }
.oa-cart-empty__link { color: var(--oa-tinta); background: var(--oa-papel); border-color: var(--oa-tinta); border-radius: 4px; box-shadow: 3px 3px 0 var(--oa-tinta); }
.oa-cart-empty__link:hover, .oa-cart-empty__link:focus-visible { background: var(--oa-yema); color: var(--oa-tinta); box-shadow: 5px 5px 0 var(--oa-tinta); }

.checkout-steps__step--current .checkout-steps__number { background: var(--oa-tinta); color: var(--oa-yema); box-shadow: 0 0 0 3px var(--oa-yema); }
.checkout-steps__step--current .checkout-steps__btn, .checkout-steps__btn.active { color: var(--oa-tinta); }
#js-checkout-summary, .cart-summary.js-cart-summary:not(.cart-grid__aside-wrapper .cart-summary) {
  background: var(--oa-papel); border: 2px solid var(--oa-tinta); box-shadow: var(--oa-sombra);
}
.checkout .alert-info, #checkout .alert-info, .cart-summary .alert-info {
  background: var(--oa-papel); color: var(--oa-tinta); border-color: var(--oa-tinta); border-radius: 4px; box-shadow: 3px 3px 0 var(--oa-tinta);
}
#checkout .form-check .form-text, #checkout .custom-checkbox em, .page-registration .form-check em,
.page-registration .form-text, .page-registration .form-check-label em, .page-registration .psgdpr_consent_message { color: var(--oa-humo); }

/* ---- Cuenta ---- */
:is(.page-authentication, .page-registration, .page-password, .page-guest-tracking) #content.page-content {
  background: var(--oa-papel); border-color: var(--oa-tinta); box-shadow: var(--oa-sombra);
}
.page-authentication .login__register-prompt { background: var(--oa-duna); }
.page-my-account a.my-account__link, .page-my-account .account-link { background: var(--oa-papel); border-color: var(--oa-tinta) !important; border-radius: 4px; box-shadow: var(--oa-sombra); color: var(--oa-tinta); }
.page-my-account a.my-account__link:hover, .page-my-account .account-link:hover { background: var(--oa-yema); }
.page-my-account a.my-account__link .material-icons, .page-my-account .account-link .material-icons { color: var(--oa-tinta); }

/* ---- 404 ---- */
.oa-404__search .form-control, .oa-404__search .btn { border-color: var(--oa-tinta); border-radius: 4px; }

/* ---- Contacto ---- */
#contact .contact-form .form-control, #contact .contact-form .form-select { border-bottom-color: var(--oa-tinta); background-color: transparent; }
#contact .contact-form .form-control:focus, #contact .contact-form .form-select:focus { border-bottom-color: var(--oa-tinta); box-shadow: 0 3px 0 var(--oa-yema); }
.oa-contact__form input[type=file].form-control { border-color: var(--oa-tinta); border-radius: 4px; }
.oa-contact__form-lead { color: var(--oa-humo); }
.oa-contact__lead { color: var(--oa-arena); }
.oa-contact__info { color: var(--oa-arena); }

/* ---- Aviso de edad y cookies ---- */
body .g420-consent {
  --g420-text: var(--oa-tinta); --g420-muted: var(--oa-humo); --g420-border: var(--oa-tinta);
  --g420-button-bg: var(--oa-sol); --g420-button-text: var(--oa-tinta); --g420-button-hover: var(--oa-yema);
  --g420-accent: var(--oa-tinta); --g420-radius: 4px; --g420-font: var(--oa-font-ui); --g420-title-font: var(--oa-font-titular);
}

/* ---- Portada (g420_home) ---- */
.g420h-section__title { font-size: clamp(28px, 3vw, 38px); }
.g420h-hero { border-radius: 4px; border: var(--oa-borde); }
.g420h-hero__title { font-size: clamp(36px, 5vw, 56px); letter-spacing: 0.04em; }
.g420h-hero__text { color: var(--oa-arena); }
.g420h-banners__item { border-radius: 4px; border: var(--oa-borde); box-shadow: none; }
a.g420h-banners__item:hover { box-shadow: var(--oa-sombra); }
.g420h-nl { background: var(--oa-papel); border: var(--oa-borde); border-radius: 4px; }
.g420h-nl__btn { background: var(--oa-sol); color: var(--oa-tinta); border: var(--oa-borde); border-radius: 4px; box-shadow: var(--oa-sombra); }
.g420h-nl__btn:hover { background: var(--oa-yema); color: var(--oa-tinta); }
.g420h-brands__list a { background: var(--oa-papel); border: var(--oa-borde); border-radius: 4px; }
.g420h-brands__list a:hover { border-color: var(--oa-tinta); box-shadow: var(--oa-sombra); transform: none; }
.g420h-brands__list img { mix-blend-mode: multiply; }
.g420h-why__item { background: var(--oa-papel); border: var(--oa-borde); border-radius: 4px; }
.g420h-why__icon { background: var(--oa-tinta); color: var(--oa-yema); }
.g420h-why__title { color: var(--oa-tinta); }
.g420h-why__text p, .g420h-faq__item .rich-text { color: var(--oa-tinta); }
.g420h-seo { font-family: var(--oa-font-lectura); font-size: 18px; line-height: 1.6; }
.g420h-seo h2 { font-family: var(--oa-font-titular); font-weight: 400; text-transform: uppercase; letter-spacing: 0.03em; font-size: clamp(28px, 3vw, 38px); color: var(--oa-tinta); }
.g420h-faq__item { background: var(--oa-papel); border: var(--oa-borde); border-radius: 4px; }
.g420h-faq__item[open] { border-color: var(--oa-tinta); background: var(--oa-papel); }
.g420h-faq__item summary, .g420h-faq__item summary::after { color: var(--oa-tinta); }
.g420_block_latest.page_home .title_block { font-size: clamp(28px, 3vw, 38px); }
.g420_block_latest.page_home .g420_item_img { border-radius: 4px; border: var(--oa-borde); }
.g420_block_latest.page_home .g420_title_block { color: var(--oa-tinta); }
.g420_block_latest.page_home .g420_title_block:hover { color: var(--oa-tinta); text-decoration: underline; text-decoration-color: var(--oa-sol); }
.g420-blog-latest-post-content .read_more { color: var(--oa-humo); }


/* ---- Newsletter y pie: en css/marca-v2-pie.css, que ya se carga también en producción (Toni, 12/11/2026) ---- */

/* ---- Ajustes tras la primera revisión en staging (12/11/2026) ---- */
/* Miga de pan: sin franja blanca */
.breadcrumb__wrapper { background: transparent !important; }
/* Disponibilidad («Últimas unidades»): Hummingbird la pinta en amarillo dentro de su @layer → texto en Tinta, icono en Sol */
#product .product__availability-status { -webkit-text-fill-color: var(--oa-tinta); color: var(--oa-tinta); font-weight: 700; }
#product .product__availability-status .product__availability-icon { -webkit-text-fill-color: var(--oa-sol); }
/* Portada: «Últimas entradas» del blog sin fondo blanco */
.g420_block_latest.page_home, .g420_block_latest.page_home :is(.block_content, .g420_blog_content_block, .slick-list, .slick-track, .slick-slide, .g420_blog_content_block_item) { background: transparent !important; }
/* Lupa de la foto: ficha Papel con borde */
#product .product__images .btn-zoom, #product .product__zoom, #product [data-bs-target="#product-modal"] { background: var(--oa-papel); border: var(--oa-borde); border-radius: 4px; color: var(--oa-tinta); }

/* Aviso de edad y cookies: la ventana en Papel con borde y sombra dura */
body .g420-consent { --g420-bg: var(--oa-papel); --g420-backdrop: rgba(49, 27, 13, .72); }
.g420-consent .g420-consent__modal { border: var(--oa-borde); border-radius: 4px; box-shadow: var(--oa-sombra); }

/* ---- Fase 3 (escritorio y cajón del móvil) ---- */
/* Pie del menú: «Si algo falla, responde Vanessa» con su retrato (modules/g420_menu/…/menu.tpl del tema) */
.g420m__nav { display: flex; flex-direction: column; }
.g420m__vane {
  margin-top: auto; display: flex; align-items: center; gap: 10px; padding: 10px; text-decoration: none; color: var(--oa-tinta);
  background: var(--oa-arena); border: var(--oa-borde); border-radius: 4px; font-size: 13px; line-height: 1.3;
}
.g420m__list { margin-bottom: 16px; }
.g420m__vane img { flex: none; width: 44px; height: 44px; border-radius: 50%; border: var(--oa-borde); object-fit: cover; background: var(--oa-duna); }
.g420m__vane b { display: block; }
.g420m__vane u { text-decoration-color: var(--oa-sol); text-decoration-thickness: 2px; text-underline-offset: 2px; }
.g420m__vane:hover { background: var(--oa-yema); color: var(--oa-tinta); }
/* Menú estrecho (carril de 76 px): solo la cara */
@media (min-width: 768px) and (max-width: 1199.98px) {
  :root:not(.g420m-open) .g420m__vane { padding: 4px; justify-content: center; background: transparent; border: 0; }
  :root:not(.g420m-open) .g420m__vane-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}
@media (min-width: 1200px) {
  :root.g420m-mini .g420m__vane { padding: 4px; justify-content: center; background: transparent; border: 0; }
  :root.g420m-mini .g420m__vane-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}

/* Carrito siempre visible: al bajar (html.oa-hdr-float, assets/js/oaseeds.js) sale de la barra oscura y flota como ficha
   Yema arriba a la derecha, a la altura del buscador flotante */
@media (min-width: 768px) {
  html.oa-hdr-float .header-top #_desktop_ps_shoppingcart {
    position: fixed; top: 14px; right: 24px; z-index: 1031;
    background: var(--oa-yema); border: var(--oa-borde); border-radius: 4px; box-shadow: var(--oa-sombra);
  }
  html.oa-hdr-float .header-top #_desktop_ps_shoppingcart .header-block__action-btn { padding: 11px 14px !important; }
  html.oa-hdr-float .header-top #_desktop_ps_shoppingcart :is(.header-block__action-btn, .header-block__icon, .header-block__title, a) { color: var(--oa-tinta); }
  html.oa-hdr-float .header-top #_desktop_ps_shoppingcart .header-block__badge { background: var(--oa-tomate); color: var(--oa-papel); }
}
/* El buscador flotante se centra en el hueco que deja libre el carrito (≈ 150 px a la derecha) */
@media (min-width: 768px) {
  html.oa-hdr-float .header-bottom__search #_desktop_ps_searchbar {
    right: 150px; width: min(640px, calc(100% - var(--g420m-w) - 174px));
  }
}

/* ---- Fase 3 (móvil): barra inferior Menú · Promos · Buscar · Carrito · Cuenta (modules/g420_mobilebar/…/bar.tpl) ---- */
@media (max-width: 767.98px) {
  :root { --g420-mb-h: 58px; }
  .g420-mb { border-top-width: 2px; box-shadow: none; }
  .g420-mb--v2 .g420-mb__list { padding: 5px 4px; gap: 4px; }
  .g420-mb--v2 .g420-mb__item { border-radius: 4px; }
  .g420-mb--v2 .g420-mb__icon { stroke-width: 2; }
  .g420-mb--v2 .g420-mb__label { font-size: 11px; font-weight: 700; }
  /* Sección actual: ficha Yema con borde (no depende solo del color) */
  .g420-mb--v2 .g420-mb__item.is-active:not(.g420-mb__item--key) { background: var(--oa-yema); box-shadow: inset 0 0 0 2px var(--oa-tinta); }
  /* Buscar: el único botón en Sol de la barra */
  .g420-mb--v2 .g420-mb__item--key { background: var(--oa-sol); color: var(--oa-tinta); box-shadow: inset 0 0 0 2px var(--oa-tinta); }
  .g420-mb--v2 .g420-mb__item--key:active { background: var(--oa-yema); }
  /* Con el menú abierto desde la barra, el botón «Menú» se marca */
  .g420-mb--v2 .js-g420m-toggle[aria-expanded="true"] { background: var(--oa-yema); box-shadow: inset 0 0 0 2px var(--oa-tinta); }
}

/* ---- Fase 5: portada (g420_home 1.2.0) ---- */
.oah { gap: clamp(2.5rem, 5vw, 4rem); }
.g420h-head .g420h-section__title { font-size: clamp(28px, 3vw, 38px); }
.g420h-head__more { color: var(--oa-tinta); text-decoration: underline; text-decoration-color: var(--oa-sol); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.g420h-sticker {
  display: inline-block; background: var(--oa-yema); color: var(--oa-tinta); border: var(--oa-borde); border-radius: 3px;
  padding: 3px 10px 1px; font-family: var(--oa-font-titular); font-size: 18px; letter-spacing: 0.04em; text-transform: uppercase; transform: rotate(var(--oa-giro));
}
.g420h-cartela {
  background: var(--oa-papel); color: var(--oa-tinta); border: var(--oa-borde); border-radius: 3px; padding: 4px 10px;
  font-family: var(--oa-font-mano); font-size: 17px; transform: rotate(var(--oa-giro));
}
/* Entrada */
.g420h-hero2__title { font-family: var(--oa-font-titular); font-weight: 400; text-transform: uppercase; letter-spacing: 0.02em; line-height: 0.98; font-size: clamp(44px, 7vw, 88px); color: var(--oa-tinta); }
.g420h-hero2__lead { font-family: var(--oa-font-lectura); color: var(--oa-tinta); }
.g420h-hero2__art img { border: var(--oa-borde); border-radius: 4px; box-shadow: 6px 6px 0 var(--oa-tinta); background: var(--oa-papel); }
.g420h-hero2 .btn-lg { font-family: var(--oa-font-titular); font-weight: 400; font-size: 22px; letter-spacing: 0.04em; text-transform: uppercase; }
/* Confianza */
.g420h-trust li { background: var(--oa-papel); border: var(--oa-borde); border-radius: 4px; color: var(--oa-tinta); font-weight: 700; font-size: 15px; }
.g420h-trust .g420h-ico { color: var(--oa-tinta); }
/* Promos */
.g420h-promo { background: var(--oa-papel); border: var(--oa-borde); border-radius: 4px; overflow: hidden; transition: box-shadow .1s, transform .1s; }
.g420h-promo:hover { box-shadow: var(--oa-sombra); transform: translate(-2px, -2px); }
.g420h-promo__img { border-bottom: var(--oa-borde); }
.g420h-promo__cap b { font-family: var(--oa-font-titular); font-weight: 400; font-size: 24px; letter-spacing: 0.03em; text-transform: uppercase; color: var(--oa-tinta); }
.g420h-promo--big .g420h-promo__cap b { font-size: 30px; }
.g420h-promo__cap span { color: var(--oa-tinta); line-height: 1.45; }
.g420h-promo__cap em { color: var(--oa-tinta); text-decoration: underline; text-decoration-color: var(--oa-sol); text-decoration-thickness: 2px; }
/* Tipos de semilla */
.g420h-doors .g420h-section__title { text-align: left; }
.g420h-door { background: var(--oa-papel); border: var(--oa-borde); border-radius: 4px; color: var(--oa-tinta); transition: box-shadow .1s, transform .1s, background-color .1s; }
.g420h-door:hover { background: var(--oa-yema); box-shadow: var(--oa-sombra); transform: translate(-2px, -2px); color: var(--oa-tinta); }
.g420h-door b { font-family: var(--oa-font-titular); font-weight: 400; font-size: 24px; letter-spacing: 0.03em; text-transform: uppercase; line-height: 1.05; }
.g420h-door .g420h-ico { color: var(--oa-tinta); }
/* ¿Primera vez? */
.g420h-guide { background: var(--oa-papel); border: var(--oa-borde); border-radius: 4px; box-shadow: var(--oa-sombra); padding: clamp(1rem, 3vw, 2rem); }
.g420h-guide__art img { border: var(--oa-borde); border-radius: 4px; }
.g420h-guide__text { font-family: var(--oa-font-lectura); font-size: 18px; line-height: 1.6; color: var(--oa-tinta); }
.g420h-guide__links a { background: var(--oa-arena); color: var(--oa-tinta); border: var(--oa-borde); border-radius: 4px; }
.g420h-guide__links a:hover { background: var(--oa-yema); color: var(--oa-tinta); }
.g420h-guide__links a.is-key { background: var(--oa-yema); }
/* Más vendidas numeradas */
.g420h-new--numbered .product-miniature__top::after {
  left: 10px; bottom: -14px; min-width: 40px; height: 40px; padding: 0 6px; display: flex; align-items: center; justify-content: center;
  background: var(--oa-sol); color: var(--oa-tinta); border: var(--oa-borde); border-radius: 4px; box-shadow: 3px 3px 0 var(--oa-tinta);
  font-family: var(--oa-font-titular); font-size: 24px; line-height: 1;
}
/* Equipo */
.g420h-person { background: var(--oa-papel); border: var(--oa-borde); border-radius: 4px; overflow: hidden; }
.g420h-person__img { border-bottom: var(--oa-borde); background: var(--oa-arena); }
.g420h-person__txt { color: var(--oa-tinta); font-size: 15px; }
.g420h-person__txt b { font-family: var(--oa-font-titular); font-weight: 400; font-size: 24px; letter-spacing: 0.03em; text-transform: uppercase; }
.g420h-team__figures li { background: var(--oa-tinta); color: var(--oa-arena); border-radius: 4px; padding: 0.9rem 0.5rem; font-size: 14px; }
.g420h-team__figures b { font-family: var(--oa-font-titular); font-weight: 400; font-size: 38px; color: var(--oa-yema); line-height: 1; letter-spacing: 0.02em; }
/* La Viñeta */
.g420h-vineta { background: var(--oa-papel); border: var(--oa-borde); border-radius: 4px; box-shadow: var(--oa-sombra); padding: clamp(1rem, 3vw, 2rem); }
.g420h-vineta__art img { border: var(--oa-borde); border-radius: 4px; }
.g420h-vineta__text { font-family: var(--oa-font-lectura); font-size: 18px; line-height: 1.6; color: var(--oa-tinta); }
.g420h-vineta__text p:last-child { margin-bottom: 1rem; }

/* ---- Fase 5: «Sobre nosotros» (data/cms-v2/<iso>/4.html): el equipo con sus retratos ---- */
.oa-doc-ico-team h2::before { content: "groups" !important; }
.oa-cms--doc .oa-cms__body { max-width: 1140px; }
.oa-cms .oa-team { list-style: none; margin: 1.25rem 0 0.75rem; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.oa-cms .oa-team li { display: flex; flex-direction: column; margin: 0; padding: 0; background: var(--oa-papel); border: var(--oa-borde); border-radius: 4px; overflow: hidden; }
.oa-team img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-bottom: var(--oa-borde); background: var(--oa-arena); }
.oa-team li > div { padding: 0.9rem 1rem 1rem; }
.oa-cms .oa-team h3 { margin: 0; font-family: var(--oa-font-titular); font-weight: 400; font-size: 30px; letter-spacing: 0.03em; text-transform: uppercase; line-height: 1; }
.oa-team__role { margin: 0.3rem 0 0.6rem; font-family: var(--oa-font-ui); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--oa-humo); }
.oa-team li p:last-child { margin: 0; font-size: 16px; line-height: 1.5; }
.oa-team__note { font-family: var(--oa-font-ui); font-size: 14px; color: var(--oa-humo); }
.oa-cms .oa-figures { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; text-align: center; }
.oa-cms .oa-figures li { margin: 0; background: var(--oa-tinta); color: var(--oa-arena); border-radius: 4px; padding: 0.9rem 0.5rem; font-family: var(--oa-font-ui); font-size: 14px; }
.oa-figures b { display: block; font-family: var(--oa-font-titular); font-weight: 400; font-size: 38px; line-height: 1; letter-spacing: 0.02em; color: var(--oa-yema); }
@media (max-width: 1199.98px) { .oa-cms .oa-team { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .oa-cms .oa-team { grid-template-columns: 1fr; } .oa-cms .oa-figures { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* «Sobre nosotros»: cabecera propia con la viñeta del equipo 16:9 arriba del todo (oa-cms-hero) */
.oa-cms .oa-cms__body { max-width: 1140px !important; margin: 0 auto; }
.oa-about-hero { margin: 1.25rem 0 1.75rem; background: var(--oa-papel); border: var(--oa-borde); border-radius: 4px; box-shadow: var(--oa-sombra); overflow: hidden; }
.oa-about-hero > img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-bottom: var(--oa-borde); }
.oa-about-hero__txt { padding: clamp(1.1rem, 3vw, 2rem) clamp(1.1rem, 3vw, 2.25rem); }
.oa-about-hero h1 { margin: 0 0 0.6rem; font-family: var(--oa-font-titular); font-weight: 400; text-transform: uppercase; letter-spacing: 0.02em; font-size: clamp(38px, 5vw, 60px); line-height: 1; color: var(--oa-tinta); }
.oa-about-hero p { margin: 0 0 1rem; font-family: var(--oa-font-lectura); font-size: clamp(17px, 1.6vw, 20px); line-height: 1.55; max-width: 62ch; color: var(--oa-tinta); }
.oa-about-hero .oa-doc-badges { display: flex; flex-wrap: wrap; gap: 0.5rem 0.6rem; list-style: none; margin: 0; padding: 0; }
.oa-about-hero .oa-doc-badges li { font-family: var(--oa-font-ui); font-weight: 700; font-size: 15px; background: var(--oa-yema); color: var(--oa-tinta); border: var(--oa-borde); border-radius: 4px; padding: 0.3rem 0.8rem; box-shadow: 3px 3px 0 var(--oa-tinta); }
.oa-doc-ico-privacy h2::before { content: "lock" !important; }
.oa-team__role { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---- Ficha de producto, fase 5 (12/11/2026) ---- */
/* Una sola insignia de descuento: la de junto al precio. Fuera la de la foto */
/* (13/11/2026) La insignia de descuento vuelve a la foto, como pegatina; la de junto al precio se oculta (más abajo) */
/* Entradilla corta junto al precio: tres líneas como mucho; la descripción completa está más abajo */
#product .product__description-short { display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
/* Alguien que responde, pegado al botón */
.oa-pdp-vane { display: flex; align-items: center; gap: 0.75rem; margin-top: 0.75rem; padding: 0.6rem 0.8rem; background: var(--oa-papel); border: 1px solid var(--oa-duna); border-radius: 4px; color: var(--oa-tinta); text-decoration: none; font-size: 15px; line-height: 1.35; }
.oa-pdp-vane img { flex: none; width: 48px; height: 48px; border-radius: 50%; border: var(--oa-borde); background: var(--oa-duna); }
.oa-pdp-vane u { text-decoration-color: var(--oa-sol); text-decoration-thickness: 2px; text-underline-offset: 3px; white-space: nowrap; }
.oa-pdp-vane:hover { border-color: var(--oa-tinta); color: var(--oa-tinta); }
/* Índice de secciones: fijo arriba mientras se baja por la ficha; se desliza en horizontal si no cabe */
.oa-pdp-idx { position: sticky; top: var(--oa-idx-top, 80px); z-index: 20; margin: 0 0 1.25rem; background: var(--oa-arena); border-bottom: 2px solid var(--oa-tinta); }
.oa-pdp-idx ul { display: flex; gap: 0.25rem; margin: 0; padding: 0.5rem 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.oa-pdp-idx ul::-webkit-scrollbar { display: none; }
.oa-pdp-idx a { display: block; white-space: nowrap; padding: 0.35rem 0.7rem; border-radius: 4px; color: var(--oa-tinta); font-weight: 700; font-size: 15px; text-decoration: none !important; border: 2px solid transparent; }
.oa-pdp-idx a:hover { border-color: var(--oa-tinta); }
.oa-pdp-idx a.is-on { background: var(--oa-yema); border-color: var(--oa-tinta); }
.oa-pdp h2[id] { scroll-margin-top: calc(var(--oa-idx-top, 80px) + 4rem); }

/* ---- Menú estrecho sin símbolo «O» (Toni, 12/11/2026): solo el ☰ arriba y el menú empieza justo debajo ---- */
@media (min-width: 1200px) {
  :root.g420m-mini .header-bottom__logo { display: none !important; }
  :root.g420m-mini .g420m__nav { padding-top: 76px !important; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  :root:not(.g420m-open) .header-bottom__logo { display: none !important; }
  :root:not(.g420m-open) .g420m__nav { padding-top: 76px !important; }
}
/* Separadores del menú lateral (g420_menu 1.1.0): línea Tinta al 20 % */
.g420m__sep { border-top-color: rgba(49, 27, 13, .2); }
@media (min-width: 1200px) { :root.g420m-mini .g420m__sep { margin: 6px 10px; } }
@media (min-width: 768px) and (max-width: 1199.98px) { :root:not(.g420m-open) .g420m__sep { margin: 6px 10px; } }

/* ---- Ficha: foto como en la muestra del manual (Toni, 13/11/2026) ----
   Muchas fotos de los bancos son verticales y PrestaShop las rellena de blanco hasta el cuadrado (≈170 px a cada lado
   en 1440). Marco 3:4 (lo que ocupa una foto vertical sin el relleno) con la foto a sangre (object-fit: cover) que recorta esas bandas; lo que quede de blanco se funde
   con el Papel (multiply). Insignias, corazón y lupa, dentro de la foto. */
#product .product__carousel { position: relative; aspect-ratio: 3 / 4; overflow: hidden; background: var(--oa-papel); border: var(--oa-borde); border-radius: 4px; }
#product .product__carousel .carousel-inner, #product .product__carousel .carousel-item, #product .product__carousel picture { height: 100%; }
#product .product__carousel .carousel-item img { width: 100%; height: 100%; object-fit: cover; object-position: center; mix-blend-mode: multiply; }
#product .product__images .product-flags { position: absolute; top: 14px; left: 14px; z-index: 3; margin: 0; }
/* Hummingbird fija tamaño y relleno de .badge con !important dentro de su @layer (gana a cualquier !important nuestro):
   la pegatina se agranda con transform, desde la esquina */
#product .product__images .product-flags { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
#product .product__images .product-flags .badge { transform-origin: left top; transform: scale(1.8); margin-bottom: 26px !important; }
#product .product__images .product-flags .badge.discount { font-family: var(--oa-font-titular); transform: rotate(-3deg) scale(1.8); }
#product .product__prices .product__discount-percentage, #product .product__prices .product__discount-amount { display: none !important; }
#product .product__zoom { position: absolute; right: 14px; bottom: 14px; z-index: 3; }
#product .product__left { position: relative; }
.oa-pdp-wish { position: absolute; top: 16px; right: 16px; z-index: 4; }
.oa-pdp-wish .wishlist-button-add { position: static; width: 44px; height: 44px; border-radius: 4px; background: var(--oa-papel); border: var(--oa-borde); box-shadow: 3px 3px 0 var(--oa-tinta); display: inline-flex; align-items: center; justify-content: center; }
#product .js-product-add-to-cart .wishlist-button-add { visibility: hidden; }   /* hasta que el script lo lleva a la foto */
/* Ficha en escritorio (Toni, 13/11/2026): con la foto vertical 3:4, la columna a la mitad la hacía enorme y bajaba el
   botón de compra. Foto 5/12, compra 7/12, y la foto nunca más alta que la pantalla (menos la cabecera). */
@media (min-width: 992px) {
  #product .product__container { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2.5rem; }
  #product .product__carousel { max-height: calc(100vh - 140px); max-width: calc((100vh - 140px) * 0.75); }
}
/* Ficha (Toni, 13/11/2026): precio tachado y precio en la misma línea, e «Impuestos incluidos» al final de la columna
   (.oa-pdp-tax, product.tpl), para que los packs y el botón suban */
#product .product__prices-block { display: flex; flex-direction: row !important; flex-wrap: wrap; align-items: baseline; column-gap: 14px; row-gap: 0; }
#product .product__prices-block > .product__discount-price { order: 1; margin: 0; }
#product .product__prices-block > .product__prices-inline:not(.product__discount-price) { order: 2; margin: 0; }
#product .product__prices-block .product__regular-price { font-size: 20px; }
#product .product__prices .product__tax-infos { display: none; }
.oa-pdp-tax { margin: 0.6rem 0 0; font-size: 13px; color: var(--oa-humo); }
