/* =====================================================================
   Tema "Vademécum 2026": negro, dorado y crema, títulos Poppins en cursiva.
   Referencia visual: images/Vademecum_de_productos.pdf
   Se carga DESPUÉS de theme-redesign.css y solo en la web principal
   (includes/header.php); las landings no lo usan. Quitar el <link> devuelve
   el diseño morado anterior.
   ===================================================================== */

html:root {
    /* Las variables del tema anterior, con la paleta nueva */
    --re-purple:   #9a7318;   /* dorado oscuro: acentos, enlaces, etiquetas */
    --re-purple-d: #7a5410;
    --re-blue:     #1f1a12;
    --re-blue-d:   #14110b;
    --re-dark:     #1f1a12;   /* tinta */
    --re-accent:   #f0da97;   /* dorado claro */
    --re-light:    #fbf6ea;   /* crema */
    --re-line:     #eadfc6;
    --re-text:     #2a2218;
    --re-muted:    #7a6d58;
    --re-radius:   10px;
    /* Páginas con el estilo viejo (contacto, blog) */
    --primary:   #1f1a12;
    --secondary: #9a7318;
    --accent:    #c99a2e;
    --dark-text: #1f1a12;
    --body-text: #5a4e38;

    --vd-ink:    #1f1a12;
    --vd-gold:   #c99a2e;
    --vd-gold-d: #9a7318;
    --vd-gold-l: #f0da97;
    --vd-grad:   linear-gradient(100deg, #7a5410 0%, #c99a2e 28%, #f0da97 52%, #c99a2e 76%, #7a5410 100%);
    --vd-cream:  linear-gradient(125deg, #fffaf0 0%, #f7e9b9 38%, #e6c466 78%, #c99a2e 100%);
    --vd-sphere: radial-gradient(circle at 32% 26%, #fff8dc 0%, #f1d57f 18%, #c99a2e 48%, #8a6410 78%, #5a3f06 100%);
}

/* ---------- Tipografía ---------- */
body { font-family: 'Carlito', 'Lato', system-ui, -apple-system, sans-serif; font-size: 1.06rem; color: var(--re-text); }
h1, h2, h3, h4, h5, h6, .navbar-brand, .nav-link,
h1,
h2,
h3,
h4,
h5,
h6,
.re-display,
.re-eyebrow,
.re-btn,
.re-nav .navbar-brand,
.re-nav .navbar-brand span,
.re-nav .nav-link,
.re-card__cat,
.re-price,
.re-badge-offer,
.re-catblock .re-catblock__go,
.re-catpanel .re-catblock__go,
.re-shopcard__cat,
.re-shopcard__name,
.re-shopcard__price,
.re-quote__avatar,
.re-range__hint,
.re-rangecard__name,
.re-showcase__badge,
.re-showcase__price,
.re-prodhero__eyebrow,
.re-prodhero__qty input,
.re-cartitem__name,
.re-cartqty input,
.re-cartitem__total,
.re-cartsummary__total,
.re-checkform .form-label,
.re-payopt__title,
.re-cartsummary__item .nm,
.re-cartsummary__item .pr,
.re-ordernum strong,
.re-seal__text,
.re-drawer__title,
.re-draweritem__name,
.re-draweritem__total,
.re-drawerqty span,
.re-drawer__total,
.re-tiers__label,
.re-tier__qty,
.re-tier__price,
.re-tiers__total strong,
.re-ficha__titulo,
.re-perfil__nombre { font-family: 'Poppins', 'Carlito', sans-serif; }
h1, h2, h3, h4, h5, h6 { letter-spacing: -.01em; }
.re-display, .re-head h2, .re-catpanel h3, .re-catblock h3, .re-showcase__title, .re-drawer__title {
    font-family: 'Poppins', sans-serif; font-weight: 900; font-style: italic;
    text-transform: uppercase; letter-spacing: -.015em; line-height: 1.02;
}
.re-display { font-size: clamp(2.2rem, 5.2vw, 4.2rem); }
.re-display--sm { font-size: clamp(1.8rem, 3.8vw, 2.8rem); }
.re-head h2 { font-size: clamp(2.2rem, 4.8vw, 3.8rem); }
a { color: var(--vd-gold-d); }

/* Etiqueta negra en paralelogramo con texto dorado (como "CATÁLOGO DE REFERENCIA") */
.re-eyebrow, .re-prodhero__eyebrow {
    background: var(--vd-ink); color: var(--vd-gold-l) !important; opacity: 1 !important;
    font-family: 'Poppins', sans-serif; font-weight: 700; font-size: .7rem; letter-spacing: .22em;
    padding: .42rem 1.3rem; margin-bottom: 1rem;
    width: -moz-fit-content; width: fit-content; max-width: 100%;
    clip-path: polygon(11px 0, 100% 0, calc(100% - 11px) 100%, 0 100%);
}
/* Barra dorada bajo los títulos de sección */
.re-head h2::after, .re-carthead h1::after, .re-split__form .re-display::after {
    content: ''; display: block; width: 130px; height: 8px; margin-top: 1rem;
    background: var(--vd-grad); clip-path: polygon(7px 0, 100% 0, calc(100% - 7px) 100%, 0 100%);
}
.re-head--center h2::after { margin-left: auto; margin-right: auto; }
.re-lead { color: var(--re-muted); }

/* Texto con brillo: degradado dorado */
.re-shine { background-image: linear-gradient(100deg, #7a5410 0%, #c99a2e 22%, #f0da97 42%, #c99a2e 58%, #7a5410 80%, #c99a2e 100%); }
.re-liquid .b1, .re-liquid .b3, .re-liquid .b5 { background: radial-gradient(circle at 32% 30%, #f7e9b9, #c99a2e); }
.re-liquid .b2, .re-liquid .b4 { background: radial-gradient(circle at 32% 30%, #e6c466, #9a7318); }

/* ---------- Botones ---------- */
.re-btn { font-family: 'Poppins', sans-serif; letter-spacing: .08em; }
.re-btn:hover { box-shadow: 0 14px 28px rgba(31,26,18,.25); }
.re-btn--purple, .re-btn--blue, .re-btn--dark { background: var(--vd-ink); color: var(--vd-gold-l); }
.re-btn--purple::before, .re-btn--blue::before, .re-btn--dark::before { background: var(--vd-grad); }
.re-btn--purple:hover, .re-btn--blue:hover, .re-btn--dark:hover { color: var(--vd-ink); }
.re-btn--light { background: var(--vd-grad); color: var(--vd-ink) !important; }
.re-btn--light::before { background: var(--vd-ink); }
.re-btn--light:hover { color: var(--vd-gold-l) !important; }
.re-btn--outline:hover { color: var(--vd-ink); }
/* Botones de Bootstrap que usaban el verde/morado */
.btn-admin, .btn-primary { background: var(--vd-ink); border-color: var(--vd-ink); color: var(--vd-gold-l); }

/* ---------- Barra de anuncios, menú y pie ----------
   Menú al estilo "wellness": barra oscura con marquesina, marca a la izquierda,
   enlaces simples al centro e íconos a la derecha sobre el dorado, con una línea fina. */
.re-topbar.re-marquee { background: var(--vd-ink); color: #f3ead0; padding: .42rem 0; overflow: hidden; white-space: nowrap; font-size: .84rem; border: 0; }
.re-marquee__track { display: inline-flex; animation: re-marquee 60s linear infinite; }
.re-marquee:hover .re-marquee__track { animation-play-state: paused; }
.re-marquee__item { padding: 0 2.4rem; }
.re-marquee__item i { color: var(--vd-gold-l); }
@keyframes re-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .re-marquee__track { animation: none; } }

.re-nav, .re-nav.scrolled {
    /* Semitransparente con desenfoque: lo que pasa por debajo se alcanza a ver */
    background: linear-gradient(90deg, rgba(230,196,102,.78) 0%, rgba(247,233,185,.68) 45%, rgba(255,250,240,.6) 100%);
    -webkit-backdrop-filter: blur(14px) saturate(1.3); backdrop-filter: blur(14px) saturate(1.3);
    border-bottom: 1px solid rgba(31,26,18,.55); box-shadow: none; padding-top: .95rem; padding-bottom: .95rem;
}
/* En escritorio el menú flota sobre el inicio de la página: el primer bloque sube por
   debajo de él (62px = alto del menú) y por eso se le suma ese alto a su relleno superior */
@media (min-width: 992px) {
    .re-nav { margin-bottom: -62px; }
    main > .re-carthead:first-child { padding-top: calc(3rem + 62px); }
    main > .re-band:first-child, main > .re-showcase:first-child { padding-top: calc(4.5rem + 62px); }
    main > section.py-5:first-child { padding-top: calc(3rem + 62px) !important; }
    main > .re-split:first-child > * { padding-top: calc(62px + clamp(2.6rem, 5vw, 4.5rem)); }
}
.re-nav.scrolled { padding-top: .5rem; padding-bottom: .5rem; box-shadow: 0 6px 22px rgba(90,63,6,.18); }
.re-nav .navbar-brand, .re-nav .navbar-brand span { font-family: 'Poppins', sans-serif; font-weight: 800; font-style: italic; text-transform: uppercase; letter-spacing: -.02em; font-size: 1.25rem; }
.re-nav.scrolled .navbar-brand, .re-nav.scrolled .navbar-brand span { font-size: 1.08rem; }
.re-nav .nav-link, .re-nav .nav-link.active, .re-nav .nav-link:hover {
    background: transparent; clip-path: none; border-radius: 0; transform: none;
    font-family: 'Poppins', sans-serif; font-weight: 500; font-size: .82rem; letter-spacing: .09em; text-transform: uppercase;
    color: var(--vd-ink) !important; padding: .45rem 0 !important; margin: 0 1.05rem; position: relative;
}
.re-nav .nav-link::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--vd-ink); transform: scaleX(0); transform-origin: left; transition: transform .28s ease; }
.re-nav .nav-link:hover::after, .re-nav .nav-link.active::after { transform: scaleX(1); }
.re-nav .nav-link.active { font-weight: 700; }
.re-nav__icons { display: flex; align-items: center; gap: .35rem; margin-left: auto; }
.re-nav__icon, .re-nav .re-cart, .re-nav .re-cart:hover {
    position: relative; width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center;
    background: transparent; color: var(--vd-ink) !important; font-size: 1.25rem; border-radius: 50%; text-decoration: none;
    padding: 0 !important; transition: background .2s ease;
}
.re-nav__icon:hover, .re-nav .re-cart:hover { background: rgba(31,26,18,.1); }
.re-nav .re-cart .badge { top: 1px; right: 0; background: var(--vd-ink); color: var(--vd-gold-l); font-weight: 700; font-family: 'Poppins', sans-serif; }
.re-nav .navbar-toggler { padding: .3rem .4rem; }
@media (min-width: 992px) { .re-nav__icons { margin-left: 0; } }
@media (max-width: 768px) {
    /* Panel lateral del menú móvil (style.css): enlaces en lista */
    .re-nav .nav-link, .re-nav .nav-link.active, .re-nav .nav-link:hover { margin: 0; padding: .9rem .4rem !important; font-size: .95rem; border-bottom: 1px solid var(--re-line); }
    .re-nav .nav-link::after { display: none; }
}
.re-footer { color: rgba(31,26,18,.85); border-top: 6px solid var(--vd-ink); }
.re-footer h5 { font-style: italic; font-weight: 800; }
.re-footer a { color: rgba(31,26,18,.85); }
.re-footer a:hover { color: #000 !important; text-decoration: underline; }
.re-footer .text-purple { color: var(--vd-ink) !important; }
.re-footer hr { border-color: rgba(31,26,18,.25); opacity: 1; }
.re-footer .re-social a { border-radius: 50%; background: var(--vd-ink); color: var(--vd-gold-l); }
.re-footer .re-social a:hover { background: #fff; color: var(--vd-ink) !important; text-decoration: none; }

/* ---------- Superficies doradas con texto negro (portada del vademécum) ---------- */
.re-split__shop, .re-carthead { background: var(--vd-cream); color: var(--vd-ink); }
.re-split__shop .re-display, .re-carthead h1 { color: var(--vd-ink); }
.re-split__shop p { color: rgba(31,26,18,.82); }
.re-split__shop .re-eyebrow { color: var(--vd-gold-l) !important; }
.re-split__shop .re-btn--outline, .re-carthead .re-btn--outline { color: var(--vd-ink); border-color: var(--vd-ink); }
.re-split__shop .re-btn--outline::before, .re-carthead .re-btn--outline::before { background: var(--vd-ink); }
.re-split__shop .re-btn--outline:hover, .re-carthead .re-btn--outline:hover { color: var(--vd-gold-l); border-color: var(--vd-ink); }
.re-split__shop .re-btn--light, .re-carthead .re-btn--light { background: var(--vd-ink); color: var(--vd-gold-l) !important; }
.re-split__shop .re-btn--light::before, .re-carthead .re-btn--light::before { background: #fff; }
.re-split__shop .re-btn--light:hover, .re-carthead .re-btn--light:hover { color: var(--vd-ink) !important; }
.re-carthead .breadcrumb { --bs-breadcrumb-divider-color: rgba(31,26,18,.5); }
.re-carthead .breadcrumb a { color: rgba(31,26,18,.7); }
.re-carthead .breadcrumb .active { color: var(--vd-ink); font-weight: 700; }
.re-carthead__count { color: rgba(31,26,18,.78); }
/* Las esferas doradas de la portada */
.re-split__shop::before, .re-carthead::before { background: var(--vd-sphere); box-shadow: -18px 26px 60px rgba(90,63,6,.35); opacity: .95; }
.re-split__shop::after, .re-carthead::after { background: var(--vd-sphere); box-shadow: -10px 16px 40px rgba(90,63,6,.3); opacity: .9; }
.re-split__shop::before { width: 30vw; height: 30vw; min-width: 280px; min-height: 280px; top: -9vw; right: -7vw; }
.re-split__shop::after { width: 9vw; height: 9vw; min-width: 90px; min-height: 90px; bottom: auto; left: auto; top: 44%; right: 4%; }
.re-carthead::before { width: 22vw; height: 22vw; min-width: 220px; min-height: 220px; top: -9vw; right: -5vw; }
.re-carthead::after { width: 6vw; height: 6vw; min-width: 64px; min-height: 64px; bottom: auto; left: auto; top: 58%; right: 19vw; }
.re-split__product img { filter: drop-shadow(0 30px 40px rgba(60,42,4,.45)); }
.re-split__form { background: #fff; }
.re-consult .form-control, .re-checkform .form-control, .re-checkform .form-select { border-radius: 4px; }
.re-consult .form-control:focus, .re-checkform .form-control:focus, .re-checkform .form-select:focus { border-color: var(--vd-gold); box-shadow: 0 0 0 .2rem rgba(201,154,46,.2); }

/* ---------- El dorado de la portada como color principal ----------
   Todas las bandas de color (destacados, vitrinas, ficha de producto, resumen del
   carrito, cabeceras, pie) van en dorado con texto negro; el negro queda para
   botones, etiquetas y la barra superior. */
.re-range, .re-showcase, .re-cartsummary, .re-band--purple, .re-band--blue, .re-band--dark, .re-brick__panel, .re-footer {
    background: var(--vd-cream) !important; color: var(--vd-ink);
}
.re-showcase--green, .re-showcase--teal, .re-showcase--orange, .re-footer {
    background: linear-gradient(235deg, #fffaf0 0%, #f7e9b9 34%, #e6c466 76%, #c99a2e 100%) !important;
}
.re-range__head h2, .re-cartsummary h3, .re-brick__panel .re-display, .re-showcase__title, .re-band h2, .re-band h1,
.re-rangecard__name, .re-footer h5 { color: var(--vd-ink); }
.re-brick__panel .re-white, .re-band .re-white, .re-showcase .re-white { color: var(--vd-ink) !important; }
/* Cabeceras de tienda y blog: traían textos blancos en línea */
.re-shophead *, .re-pagehead * { color: var(--vd-ink) !important; }
.re-shophead .breadcrumb, .re-pagehead .breadcrumb, .re-prodhero .breadcrumb { --bs-breadcrumb-divider-color: rgba(31,26,18,.5); }
.re-band, .re-showcase, .re-range, .re-cartsummary { position: relative; overflow: hidden; }

/* Destacados */
.re-range__hint { color: rgba(31,26,18,.75); }
.re-rangecard__box { background: rgba(255,255,255,.5); border: 1px solid rgba(154,115,24,.35); border-radius: 6px; }
.re-rangecard:hover .re-rangecard__box { background: rgba(255,255,255,.78); }
.re-rangecard__box img { filter: drop-shadow(0 18px 26px rgba(60,42,4,.35)); }
.re-rangecard__line { color: rgba(31,26,18,.72); }

/* Vitrinas de producto y ficha de producto */
.re-showcase--purple, .re-showcase--blue, .re-showcase--dark, .re-showcase--green, .re-showcase--teal, .re-showcase--orange { --sc-accent: #5a3f06; --sc-btn: #1f1a12; }
.re-showcase::before, .re-showcase::after { background: var(--vd-sphere); opacity: .92; box-shadow: -18px 26px 60px rgba(90,63,6,.32); }
.re-showcase::after { opacity: .85; }
.re-showcase__feats li, .re-showcase__price { color: var(--vd-ink); }
.re-showcase__line { font-weight: 700; }
.re-showcase__badge { clip-path: polygon(9px 0, 100% 0, calc(100% - 9px) 100%, 0 100%); border: 0; background: var(--vd-ink); color: var(--vd-gold-l); padding: .5rem 1.3rem; }
.re-showcase__media img { filter: drop-shadow(0 34px 44px rgba(60,42,4,.45)); }
.re-prodhero .breadcrumb a { color: rgba(31,26,18,.7); }
.re-prodhero .breadcrumb .active { color: var(--vd-ink); font-weight: 700; }
.re-prodhero__qty { border-color: var(--vd-ink); background: rgba(255,255,255,.45); }
.re-prodhero__qty .qty-btn, .re-prodhero__qty input { color: var(--vd-ink); }
.re-prodhero__thumbs img { border-radius: 4px; border-color: rgba(31,26,18,.3); }
.re-prodhero__thumbs .active-thumb img { border-color: var(--vd-ink); }
.re-prodhero__trust { color: rgba(31,26,18,.82); }
.re-tiers__label { opacity: 1; color: var(--vd-ink); }
.re-tier { border-radius: 6px; border-color: rgba(31,26,18,.3); background: rgba(255,255,255,.5); color: var(--vd-ink); flex: 1 1 calc(33.333% - .6rem); min-width: 118px; }
.re-tier:hover { border-color: var(--vd-ink); }
.re-tier.is-active { background: var(--vd-ink); border-color: var(--vd-ink); color: var(--vd-gold-l); }
.re-tier.is-active .re-tier__save { color: var(--vd-gold-l); }

/* Botones sobre dorado: negros con texto dorado; el contorno, en negro */
.re-range .re-btn--light, .re-showcase .re-btn--light, .re-cartsummary .re-btn--light, .re-brick__panel .re-btn--light, .re-band .re-btn--light {
    background: var(--vd-ink); color: var(--vd-gold-l) !important;
}
.re-range .re-btn--light::before, .re-showcase .re-btn--light::before, .re-cartsummary .re-btn--light::before,
.re-brick__panel .re-btn--light::before, .re-band .re-btn--light::before { background: #fff; }
.re-range .re-btn--light:hover, .re-showcase .re-btn--light:hover, .re-cartsummary .re-btn--light:hover,
.re-brick__panel .re-btn--light:hover, .re-band .re-btn--light:hover { color: var(--vd-ink) !important; }
.re-showcase .re-btn--outline, .re-cartsummary .re-btn--outline, .re-brick__panel .re-btn--outline, .re-band .re-btn--outline, .re-range .re-btn--outline {
    color: var(--vd-ink); border-color: var(--vd-ink);
}
.re-showcase .re-btn--outline::before, .re-cartsummary .re-btn--outline::before, .re-brick__panel .re-btn--outline::before,
.re-band .re-btn--outline::before, .re-range .re-btn--outline::before { background: var(--vd-ink); }
.re-showcase .re-btn--outline:hover, .re-cartsummary .re-btn--outline:hover, .re-brick__panel .re-btn--outline:hover,
.re-band .re-btn--outline:hover, .re-range .re-btn--outline:hover { color: var(--vd-gold-l); border-color: var(--vd-ink); }

/* Resumen del carrito / pedido */
.re-cartsummary { border-radius: 8px; box-shadow: 0 18px 40px rgba(154,115,24,.25); }
.re-cartsummary::before { background: var(--vd-sphere); opacity: .9; }
.re-cartsummary__row { color: rgba(31,26,18,.82); }
.re-cartsummary__total { border-top-color: rgba(31,26,18,.3); }
.re-cartsummary .cart-total-amount { color: var(--vd-ink); }
.re-cartsummary__item { border-radius: 6px; background: rgba(255,255,255,.55); }
.re-cartsummary__item .qt { color: rgba(31,26,18,.65); }
.re-cartsummary__trust { color: rgba(31,26,18,.75); }

.re-eyebrow, .re-prodhero__eyebrow { white-space: nowrap; }
/* Medios donde hemos aparecido (home): todos los logos en placas iguales */
.re-medios { background: #fff; padding: 2.2rem 0 2.4rem; border-top: 1px solid var(--re-line); border-bottom: 1px solid var(--re-line); }
.re-medios__titulo { text-align: center; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; color: var(--vd-gold-d); margin-bottom: 1.3rem; }
.re-medios__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .9rem 1.2rem; }
.re-medios__lista li { width: 128px; height: 84px; display: flex; align-items: center; justify-content: center; padding: 12px 16px; }
.re-medios__lista img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block; }
@media (max-width: 576px) { .re-medios__lista li { width: 96px; height: 64px; padding: 9px 11px; } }

/* Foto del doctor en el home: recorte sin fondo sobre una esfera dorada */
.re-drphoto { position: relative; overflow: hidden; display: flex; align-items: flex-end; justify-content: center; min-height: 380px; background: linear-gradient(200deg, #fffaf0 0%, #f3e2a9 55%, #d9b24a 100%); }
.re-drphoto::before { content: ''; position: absolute; width: 82%; aspect-ratio: 1; left: 9%; bottom: 8%; border-radius: 50%; background: var(--vd-sphere); box-shadow: -14px 22px 50px rgba(90,63,6,.35); }
.re-drphoto img { position: relative; z-index: 1; display: block; width: auto; height: auto; max-width: 96%; max-height: 430px; filter: drop-shadow(0 18px 26px rgba(60,42,4,.35)); }
@media (max-width: 768px) { .re-drphoto { min-height: 300px; } .re-drphoto img { max-height: 320px; } }

/* Logos de medios de pago en la ficha de producto: todos en la misma placa rectangular */
.re-paylogos { margin: 0 0 1rem; }
.re-paylogos__label { display: block; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--vd-ink); margin-bottom: .45rem; }
.re-paylogos ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.re-paylogos li { width: 50px; height: 31px; background: #fff; border: 1px solid rgba(31,26,18,.22); border-radius: 5px; display: flex; align-items: center; justify-content: center; padding: 3px 5px; box-shadow: 0 2px 6px rgba(60,42,4,.12); }
.re-paylogos img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block; }

/* ---------- Tarjetas, tienda, carrito, checkout ---------- */
.re-card, .re-quote, .re-cartlist, .re-checkcard, .re-checkok { border-radius: 8px; }
.re-card:hover { box-shadow: 0 24px 48px rgba(154,115,24,.22); }
.re-card__media i, .re-shopcard__img i { color: var(--vd-gold); }
.re-badge-offer { background: var(--vd-ink); color: var(--vd-gold-l); border-radius: 0; clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%); padding: .3rem .8rem; }
.re-price, .re-shopcard__price, .re-cartitem__total { color: var(--vd-gold-d); }
.re-shopcard__media { background: var(--re-light); }
.re-shopcard__pic { filter: drop-shadow(0 12px 18px rgba(60,42,4,.2)); }
.re-shopcard--pop:hover .re-shopcard__pic { filter: drop-shadow(0 30px 42px rgba(60,42,4,.38)); }
.re-seal { color: var(--vd-gold-d); box-shadow: 0 4px 10px rgba(60,42,4,.16); }
.re-seal__text { color: var(--vd-gold-d); }
.re-quote__avatar { background: var(--vd-ink); color: var(--vd-gold-l); }
.re-cartitem__img, .re-cartitem__ph, .re-draweritem__img, .re-draweritem__ph { border-radius: 6px; }
.re-cartqty, .re-drawerqty { border-radius: 4px; }
.re-cartempty__icon { background: var(--re-light); color: var(--vd-gold-d); }
.re-payopt { border-radius: 6px; }
.re-payopt:has(input:checked) { border-color: var(--vd-gold); }
.re-payopt input[type="radio"] { accent-color: var(--vd-gold-d); }
.re-ordernum { border-radius: 6px; }
.re-ordernum strong { color: var(--vd-gold-d); }
.re-drawer__head { background: var(--vd-cream); border-bottom: 4px solid var(--vd-ink); }
.re-drawer__head .btn-close { filter: none; opacity: .8; }
.re-drawer__title { color: var(--vd-ink); font-size: 1.3rem; }
.re-drawer__total span:last-child, .re-draweritem__total { color: var(--vd-gold-d); }
.re-drawer__empty i { color: var(--vd-gold-d); }

/* Blog: fondos de las tarjetas sin imagen */
.re-feature__media, .re-postcard__media { background: var(--re-light) !important; }
.re-feature__media .ph, .re-postcard__media .ph { color: var(--vd-gold) !important; }

/* Acordeón de categorías del home */
.re-catpanel h3, .re-catblock h3 { color: #fff; }

/* ---------- Páginas con el estilo viejo (contacto, blog, pestañas de producto) ---------- */
/* Sus cabeceras (degradado en línea, textos blancos) pasan al dorado con texto negro */
main > section.py-5:first-child { background: var(--vd-cream) !important; }
main > section.py-5:first-child *, main > section.py-5:first-child { color: var(--vd-ink) !important; }
main > section.py-5:first-child h1 { font-family: 'Poppins', sans-serif; font-weight: 900; font-style: italic; text-transform: uppercase; }
.nav-tabs .nav-link { font-family: 'Poppins', sans-serif; font-weight: 600; color: var(--re-muted) !important; border-radius: 0; }
.nav-tabs .nav-link.active { color: var(--vd-ink) !important; border-bottom: 4px solid var(--vd-gold); }
.page-link { color: var(--vd-gold-d); border-radius: 0 !important; }
.page-item.active .page-link { background: var(--vd-ink); border-color: var(--vd-ink); color: var(--vd-gold-l); }
.breadcrumb-item a { color: var(--vd-gold-d); }
.form-control:focus, .form-select:focus { border-color: var(--vd-gold); box-shadow: 0 0 0 .2rem rgba(201,154,46,.2); }
.text-purple { color: var(--vd-gold) !important; }

/* Foto del producto en su página: quieta y derecha, apoyada sobre una sombra y con un
   resplandor detrás, como si estuviera iluminada (en el home sigue flotando) */
.re-prodstage { position: relative; display: inline-block; padding-bottom: 18px; }
.re-prodstage::before { content: ''; position: absolute; left: 50%; top: 46%; width: clamp(420px, 44vw, 680px); aspect-ratio: 1; transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(255,255,255,.98) 0%, rgba(255,250,225,.85) 22%, rgba(255,240,180,.45) 44%, rgba(255,236,170,0) 68%); pointer-events: none; }
.re-prodstage::after { content: ''; position: absolute; left: 50%; bottom: 0; width: 118%; height: 38px; transform: translateX(-50%);
    background: radial-gradient(ellipse at center, rgba(40,26,0,.55) 0%, rgba(40,26,0,.26) 42%, rgba(40,26,0,0) 72%); filter: blur(5px); pointer-events: none; }
.re-prodstage img, .re-prodstage .re-showcase__card { position: relative; z-index: 1; transform: none !important; animation: none !important; }
.re-prodstage > img { display: block; width: auto; height: auto; max-width: min(420px, 100%); max-height: 470px; filter: drop-shadow(0 6px 8px rgba(60,42,4,.22)); }
.re-prodhero .re-showcase__media { display: flex; flex-direction: column; align-items: center; }
/* Lo mismo en el home: portada, vitrinas y destacados sin inclinación ni flotación */
.re-showcase__media .re-prodstage > img { max-width: min(400px, 78vw); max-height: 440px; }
.re-split__product .re-prodstage > img { max-width: min(430px, 78vw); max-height: 340px; }
.re-split__product .re-prodstage::before { width: clamp(380px, 38vw, 560px); }
.re-split__product { align-items: flex-end; }
.re-rangecard:hover .re-rangecard__box img { transform: scale(1.05); }

/* Productos relacionados: sin tarjeta ni fondo, la foto completa apoyada en su sombra */
.re-relcard { display: block; text-align: center; text-decoration: none; color: var(--vd-ink); }
.re-relcard__img { position: relative; height: 230px; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 14px; margin-bottom: .9rem; color: var(--vd-gold); }
.re-relcard__img::after { content: ''; position: absolute; left: 50%; bottom: 2px; width: 46%; height: 22px; transform: translateX(-50%); background: radial-gradient(ellipse at center, rgba(40,26,0,.4) 0%, rgba(40,26,0,.16) 45%, rgba(40,26,0,0) 72%); filter: blur(3px); }
.re-relcard__img img { position: relative; z-index: 1; max-width: 86%; max-height: 100%; width: auto; height: auto; object-fit: contain; transition: transform .35s ease; }
.re-relcard__foto { mix-blend-mode: multiply; }
.re-relcard:hover .re-relcard__img img { transform: scale(1.05); }
.re-relcard__name { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: .98rem; line-height: 1.25; }
.re-relcard__price { font-family: 'Poppins', sans-serif; font-weight: 800; color: var(--vd-gold-d); margin-top: .2rem; }

/* Página de producto y pie de página a todo el ancho (mismos márgenes laterales que el menú) */
/* La última fila del pie deja libre la esquina del botón flotante de WhatsApp */
.re-footer .re-full > .row:last-child { padding-right: 84px; }
.container.re-full { max-width: none; width: 100%; padding-left: clamp(1rem, 3vw, 2.4rem); padding-right: clamp(1rem, 3vw, 2.4rem); }

/* ---------- Ficha técnica (íconos del vademécum) ---------- */
.re-prodinfo { background: #fff; border: 1px solid var(--re-line); padding: clamp(1.4rem, 3vw, 2.4rem); }
.re-prodinfo__titulo { font-family: 'Poppins', sans-serif; font-weight: 900; font-style: italic; text-transform: uppercase; font-size: 1.5rem; color: var(--vd-ink); margin: 0 0 1.2rem; }
.re-prodinfo__titulo::after { content: ''; display: block; width: 90px; height: 6px; margin-top: .6rem; background: var(--vd-grad); clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%); }
.re-prodinfo__ficha { margin-top: 2.4rem; padding-top: 2.2rem; border-top: 1px solid var(--re-line); }
.re-fichaicons { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; margin-bottom: 1.4rem; }
.re-fichaicon { display: flex; align-items: center; gap: .8rem; border: 1px solid var(--re-line); background: var(--re-light); padding: .8rem 1rem; }
.re-fichaicon img { width: 46px; height: 46px; object-fit: contain; flex-shrink: 0; }
.re-fichaicon small { display: block; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--vd-gold-d); }
.re-fichaicon span { font-size: .95rem; line-height: 1.3; color: var(--re-text); }
.re-ficha th { color: var(--vd-gold-d); font-family: 'Poppins', sans-serif; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.re-ficha__titulo { font-family: 'Poppins', sans-serif; font-style: italic; text-transform: uppercase; }
.re-ficha__aviso { background: #fef3c7; border-left-color: #b45309; border-radius: 0; color: #5b4a2a; }
.re-ficha__aviso strong { color: #b45309; }
.re-ficha__detalle { border-radius: 0; }
.re-ficha__detalle summary { color: var(--vd-gold-d); font-family: 'Poppins', sans-serif; }
.re-perfil { display: flex; flex-wrap: wrap; gap: 1.1rem 1.4rem; margin-bottom: 1.1rem; }
.re-perfil__item { border: 0; background: transparent !important; padding: 0; align-items: center; text-align: center; width: 74px; gap: .35rem; }
.re-perfil__icono { position: relative; width: 52px; height: 52px; border-radius: 50%; border: 2px solid; display: block; }
.re-perfil__icono::before { content: ''; position: absolute; inset: 9px; background: currentColor; -webkit-mask: var(--glifo) center / contain no-repeat; mask: var(--glifo) center / contain no-repeat; }
.re-perfil__icono::after { position: absolute; top: -5px; right: -5px; width: 19px; height: 19px; border-radius: 50%; border: 2px solid #fff; font-family: 'Font Awesome 6 Free'; font-weight: 900; font-size: .55rem; line-height: 15px; text-align: center; color: #fff; }
.re-perfil__nombre { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: .72rem; }
.re-perfil__estado { font-size: .68rem; font-weight: 400; color: var(--re-muted); }
.re-perfil__item--no_figura .re-perfil__icono { background: #dcfce7; border-color: #22c55e; color: #15803d; }
.re-perfil__item--no_figura .re-perfil__icono::after { content: '\f00c'; background: #22c55e; }
.re-perfil__item--no_figura .re-perfil__nombre { color: #15803d; }
.re-perfil__item--declarado_sin .re-perfil__icono { background: #16a34a; border-color: #15803d; color: #fff; }
.re-perfil__item--declarado_sin .re-perfil__icono::after { content: '\f00c'; background: #15803d; }
.re-perfil__item--declarado_sin .re-perfil__nombre { color: #15803d; }
.re-perfil__item--contiene .re-perfil__icono { background: #fee2e2; border-color: #ef4444; color: #b91c1c; }
.re-perfil__item--contiene .re-perfil__icono::after { content: '\21'; background: #ef4444; }
.re-perfil__item--contiene .re-perfil__nombre { color: #b91c1c; }
.re-perfil__item--precaucion .re-perfil__icono { background: #fef3c7; border-color: #f59e0b; color: #b45309; }
.re-perfil__item--precaucion .re-perfil__icono::after { content: '\21'; background: #f59e0b; }
.re-perfil__item--precaucion .re-perfil__nombre { color: #b45309; }
.re-perfil__item--sin_dato .re-perfil__icono { background: #f1f5f9; border-color: #cbd5e1; color: #94a3b8; }
.re-perfil__item--sin_dato .re-perfil__icono::after { content: '\3f'; background: #94a3b8; }
.re-perfil__item--sin_dato .re-perfil__nombre { color: #94a3b8; }

/* Marca del menú: sello del instituto + nombre + "Una marca del Grupo Cardona" */
.re-nav .navbar-brand .re-brand__logo { width: 46px; height: 46px; flex: 0 0 auto; display: block; transition: width .28s ease, height .28s ease; }
.re-nav.scrolled .navbar-brand .re-brand__logo { width: 40px; height: 40px; }
.re-nav .navbar-brand .re-brand__txt { display: flex; flex-direction: column; line-height: 1.05; }
.re-nav .navbar-brand .re-brand__txt .re-brand__tag,
.re-nav.scrolled .navbar-brand .re-brand__txt .re-brand__tag { font-size: .6rem; font-weight: 600; font-style: normal; letter-spacing: .16em; text-transform: uppercase; color: var(--vd-gold-d) !important; margin-top: .28rem; white-space: nowrap; }
@media (max-width: 576px) {
    .re-nav .navbar-brand .re-brand__logo { width: 40px; height: 40px; }
    .re-nav .navbar-brand .re-brand__txt .re-brand__tag { font-size: .5rem; letter-spacing: .1em; }
}

/* Menú centrado respecto a la página (no al hueco entre la marca y los íconos) */
@media (min-width: 992px) {
    .navbar.re-nav > .re-nav__wrap { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
    .navbar.re-nav > .re-nav__wrap > .navbar-brand { justify-self: start; margin-right: 0; }
    .navbar.re-nav > .re-nav__wrap > .re-nav__icons { justify-self: end; }
    .navbar.re-nav > .re-nav__wrap > .navbar-collapse { justify-content: center; }
}

/* Banner del home: video del Dr. Cardona de fondo en el panel derecho, oscurecido */
.re-split__shop--video { background: var(--vd-ink); color: #fff; justify-content: flex-end; padding-bottom: clamp(2.2rem, 4vw, 3.6rem); min-height: 520px; }
.re-split__shop--video::before { display: none; }
.re-split__shop--video::after { content: ''; position: absolute; inset: 0; width: auto; height: auto; min-width: 0; min-height: 0; border-radius: 0; opacity: 1; box-shadow: none; z-index: 0; pointer-events: none;
    background: linear-gradient(180deg, rgba(20,16,9,.5) 0%, rgba(20,16,9,.38) 40%, rgba(20,16,9,.82) 100%); }
.re-split__shop--video > .re-split__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; z-index: 0; filter: brightness(.82) saturate(.9); }
.re-split__shop--video .re-display { color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,.45); }
.re-split__shop--video p { color: rgba(255,255,255,.9); }
.re-split__shop--video .re-btn--light { background: var(--vd-gold-l); color: var(--vd-ink) !important; }
@media (max-width: 992px) { .re-split__shop--video { min-height: 440px; } }

/* Franja "También en Mercado Libre" del home */
.re-meli { background: #fff; padding: 2.6rem 0; }
.re-meli__box { display: flex; align-items: center; gap: 1.6rem 2.4rem; flex-wrap: wrap; background: var(--vd-cream); border-radius: 18px; padding: 1.8rem clamp(1.3rem, 3.5vw, 3rem); }
.re-meli__logo { width: 190px; height: auto; flex: 0 0 auto; background: #fff; border-radius: 12px; padding: 14px 18px; box-sizing: content-box; }
.re-meli__txt { flex: 1 1 320px; }
.re-meli__txt h2 { font-size: clamp(1.15rem, 2vw, 1.5rem); margin: 0 0 .35rem; color: var(--vd-ink); }
.re-meli__txt p { margin: 0; color: rgba(31,26,18,.8); }
@media (max-width: 576px) { .re-meli__box { justify-content: center; text-align: center; } .re-meli__logo { width: 160px; } }

/* Reels de Instagram en el home: tarjetas verticales 9:16 en una fila deslizable */
.re-reels { background: #fff; padding: 3.2rem 0 3rem; }
.re-reels__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.re-reels__head h2 { margin: 0 0 .3rem; color: var(--vd-ink); }
.re-reels__head p { margin: 0; color: rgba(31,26,18,.75); }
.re-reels__lista { list-style: none; margin: 0; padding: 0 0 .9rem; display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: var(--vd-gold-d) transparent; }
.re-reels__lista li { flex: 0 0 clamp(170px, 17vw, 240px); scroll-snap-align: start; }
.re-reel { position: relative; display: block; aspect-ratio: 9 / 16; border-radius: 16px; overflow: hidden; background: var(--vd-ink); box-shadow: 0 10px 26px rgba(60,42,4,.18); transition: transform .25s ease, box-shadow .25s ease; }
.re-reel:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(60,42,4,.28); }
.re-reel img { width: 100%; height: 100%; object-fit: cover; display: block; }
.re-reel::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,16,9,0) 55%, rgba(20,16,9,.85) 100%); }
.re-reel__ig { position: absolute; top: .6rem; right: .6rem; z-index: 1; width: 32px; height: 32px; border-radius: 50%; background: rgba(20,16,9,.6); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1rem; }
.re-reel__titulo { position: absolute; left: .8rem; right: .8rem; bottom: .75rem; z-index: 1; color: #fff; font-family: 'Poppins', sans-serif; font-weight: 600; font-size: .82rem; line-height: 1.25; }

/* Páginas de texto: políticas y preguntas frecuentes */
.re-legal { background: #fff; padding-top: 3rem; }
.re-legal .container { max-width: 860px; }
.re-legal__fecha { font-size: .85rem; color: rgba(31,26,18,.6); margin-bottom: 1.6rem; }
.re-legal h2 { font-size: 1.15rem; margin: 2rem 0 .6rem; color: var(--vd-ink); }
.re-legal p, .re-legal li { line-height: 1.7; color: #3d3527; }
.re-legal ul, .re-legal ol { padding-left: 1.2rem; margin-bottom: 1rem; }
.re-legal li { margin-bottom: .35rem; }
.re-legal__nav { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; margin-top: 2.6rem; padding-top: 1.3rem; border-top: 1px solid var(--re-line); font-size: .9rem; }
.re-faq__item { border-bottom: 1px solid var(--re-line); }
.re-faq__item summary { cursor: pointer; list-style: none; padding: .95rem 2rem .95rem 0; position: relative; font-family: 'Poppins', sans-serif; font-weight: 600; color: var(--vd-ink); }
.re-faq__item summary::-webkit-details-marker { display: none; }
.re-faq__item summary::after { content: '+'; position: absolute; right: .2rem; top: 50%; transform: translateY(-50%); font-size: 1.3rem; font-weight: 400; color: var(--vd-gold-d); }
.re-faq__item[open] summary::after { content: '–'; }
.re-faq__item p { margin: 0 0 1rem; }
.re-faq__cta { margin-top: 2.4rem; padding: 1.6rem; border-radius: 16px; background: var(--vd-cream); text-align: center; }
.re-faq__cta p { margin: 0 0 .8rem; font-weight: 600; color: var(--vd-ink); }
/* Casilla de autorización de datos en los formularios */
.re-autoriza { display: flex; align-items: flex-start; gap: .5rem; font-size: .82rem; line-height: 1.4; color: #5a4e38; margin: .6rem 0; cursor: pointer; }
.re-autoriza input { margin-top: .15rem; flex: 0 0 auto; width: 16px; height: 16px; accent-color: var(--vd-ink); }

/* Cuenta de cliente: ingreso, registro y Mis pedidos */
.re-cuenta { background: var(--re-light); padding-top: 3rem; }
.re-cuenta__card { background: #fff; border-radius: 18px; padding: clamp(1.4rem, 3vw, 2.2rem); box-shadow: 0 8px 26px rgba(60,42,4,.08); max-width: 480px; margin: 0 auto 1.2rem; }
.re-cuenta__form { display: grid; gap: .9rem; }
.re-cuenta__form label:not(.re-autoriza) { display: grid; gap: .3rem; font-family: 'Poppins', sans-serif; font-weight: 600; font-size: .85rem; color: var(--vd-ink); }
.re-cuenta__form small { font-weight: 400; color: rgba(31,26,18,.6); }
.re-cuenta__form .re-autoriza { margin: 0; }
.re-cuenta__codigo { font-size: 1.6rem; letter-spacing: .5em; text-align: center; font-weight: 700; }
.re-cuenta__alt { text-align: center; margin: 1rem 0 0; font-size: .9rem; }
.re-cuenta__grid { display: grid; grid-template-columns: 300px 1fr; gap: 1.6rem; align-items: start; }
.re-cuenta__grid .re-cuenta__card { max-width: none; margin: 0 0 1.2rem; }
.re-cuenta__titulo { font-size: 1.3rem; margin: 0 0 1rem; color: var(--vd-ink); }
.re-cuenta__perfil h2 { font-size: 1.1rem; margin: 0 0 1rem; }
.re-cuenta__perfil dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: rgba(31,26,18,.55); }
.re-cuenta__perfil dd { margin: 0 0 .8rem; font-weight: 600; color: var(--vd-ink); word-break: break-word; }
.re-pedido__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1.1rem; }
.re-pedido__head span { display: block; font-size: .85rem; color: rgba(31,26,18,.6); }
.re-pedido__total { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 1.15rem; color: var(--vd-ink); white-space: nowrap; }
.re-pedido__pasos { list-style: none; margin: 0 0 .6rem; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); text-align: center; font-size: .74rem; color: rgba(31,26,18,.5); }
.re-pedido__pasos li { position: relative; }
.re-pedido__pasos li::before { content: ''; position: absolute; top: 13px; left: -50%; width: 100%; height: 3px; background: #e6dfcd; }
.re-pedido__pasos li:first-child::before { display: none; }
.re-pedido__pasos li span { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin: 0 auto .35rem; border-radius: 50%; background: #e6dfcd; color: #fff; font-weight: 700; }
.re-pedido__pasos li.is-hecho { color: var(--vd-ink); font-weight: 600; }
.re-pedido__pasos li.is-hecho::before, .re-pedido__pasos li.is-hecho span { background: var(--vd-gold-d); }
.re-pedido__pasos li.is-actual span { box-shadow: 0 0 0 4px rgba(154,115,24,.22); }
.re-pedido__estado { font-weight: 600; color: var(--vd-ink); margin: 0 0 .8rem; }
.re-pedido__estado--cancelado { color: #a33; }
.re-pedido__detalle summary { cursor: pointer; font-size: .9rem; color: var(--vd-gold-d); font-weight: 600; }
.re-pedido__detalle ul, .re-pedido__historial { list-style: none; padding: 0; margin: .7rem 0; }
.re-pedido__detalle li, .re-pedido__historial li { display: flex; justify-content: space-between; gap: 1rem; padding: .4rem 0; border-bottom: 1px dashed var(--re-line); font-size: .9rem; }
.re-pedido__acciones { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
@media (max-width: 860px) { .re-cuenta__grid { grid-template-columns: 1fr; } }

/* Franja de captación de WhatsApp / correo */
.re-capta { background: #fff; padding: 2.6rem 0; }
.re-capta__box { display: grid; grid-template-columns: 1fr 1.25fr; gap: 1.6rem 2.6rem; align-items: center; background: var(--vd-ink); color: #fff; border-radius: 20px; padding: clamp(1.6rem, 3.5vw, 2.8rem); }
.re-capta__txt h2 { color: var(--vd-gold-l); font-size: clamp(1.3rem, 2.4vw, 1.9rem); margin: 0 0 .5rem; }
.re-capta__txt p { color: rgba(255,255,255,.85); margin: 0; }
.re-capta__form { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.re-capta__form input[name="name"] { grid-column: 1 / -1; }
.re-capta__form .re-btn { grid-column: 1 / -1; justify-content: center; background: var(--vd-gold-l); color: var(--vd-ink) !important; }
.re-capta__form .re-autoriza { grid-column: 1 / -1; color: rgba(255,255,255,.8); margin: 0; }
.re-capta__form .re-autoriza a { color: var(--vd-gold-l); }
.re-capta__form .re-autoriza input { accent-color: var(--vd-gold-l); }
@media (max-width: 860px) { .re-capta__box { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .re-capta__form { grid-template-columns: 1fr; } }

/* Sugerencias dentro del carrito lateral, con el motivo de cada una */
.re-drawersug { margin: 1.2rem 0 1rem; padding: 1rem; border-radius: 16px; background: var(--vd-cream); }
.re-drawersug__title { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 .8rem; color: var(--vd-ink); }
.re-drawersug__item { display: flex; gap: .8rem; padding: .8rem; margin-bottom: .6rem; background: #fff; border-radius: 12px; }
.re-drawersug__item:last-child { margin-bottom: 0; }
.re-drawersug__img { width: 58px; height: 58px; border-radius: 10px; object-fit: cover; flex: 0 0 auto; background: #fff; }
.re-drawersug__info { flex: 1 1 auto; min-width: 0; }
.re-drawersug__name { display: block; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: .88rem; color: var(--vd-ink); text-decoration: none; line-height: 1.25; }
.re-drawersug__reason { font-size: .78rem; line-height: 1.4; color: #5a4e38; margin: .25rem 0 .5rem; }
.re-drawersug__row { display: flex; align-items: center; justify-content: space-between; gap: .6rem; }
.re-drawersug__price { font-weight: 700; color: var(--vd-ink); font-size: .9rem; }
.re-drawersug__add { border: 0; border-radius: 999px; padding: .35rem .95rem; background: var(--vd-ink); color: var(--vd-gold-l); font-family: 'Poppins', sans-serif; font-weight: 600; font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; }
.re-drawersug__add:hover { background: var(--vd-gold-d); color: #fff; }
.re-drawersug__add:disabled { opacity: .5; }

/* Bloque "qué es el sitio" del home */
.re-que { background: #fff; padding: 3.4rem 0 1rem; }
.re-que__head { max-width: 900px; margin: 0 auto 2rem; text-align: center; }
.re-que__head h2 { font-size: clamp(1.4rem, 2.6vw, 2.1rem); color: var(--vd-ink); margin: 0 0 .8rem; }
.re-que__head p { font-size: 1.05rem; line-height: 1.7; color: #4a4030; margin: 0; }
.re-que__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.re-que__grid article { background: var(--vd-cream); border-radius: 18px; padding: 1.7rem 1.5rem; display: flex; flex-direction: column; }
.re-que__grid i { font-size: 1.7rem; color: var(--vd-ink); margin-bottom: .8rem; }
.re-que__grid h3 { font-size: 1.1rem; margin: 0 0 .5rem; color: var(--vd-ink); }
.re-que__grid p { color: rgba(31,26,18,.82); line-height: 1.6; margin: 0 0 1rem; flex: 1 1 auto; }
.re-que__grid a { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; color: var(--vd-ink); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 860px) { .re-que__grid { grid-template-columns: 1fr; } }

/* Popup de novedades del home (Procal y Pauflex) */
.re-novedad { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.re-novedad[hidden] { display: none; }
.re-novedad__fondo { position: absolute; inset: 0; background: rgba(20,16,9,.72); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.re-novedad__caja { position: relative; width: min(640px, 100%); max-height: calc(100vh - 2rem); overflow-y: auto; background: var(--vd-cream); border-radius: 22px; padding: clamp(1.4rem, 4vw, 2.4rem); text-align: center; box-shadow: 0 30px 80px rgba(0,0,0,.45); animation: reNovedadIn .35s ease; }
@keyframes reNovedadIn { from { opacity: 0; transform: translateY(18px) scale(.97); } to { opacity: 1; transform: none; } }
.re-novedad__cerrar { position: absolute; top: .8rem; right: .8rem; width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--vd-ink); color: var(--vd-gold-l); font-size: 1rem; }
.re-novedad__etiqueta { display: inline-block; background: var(--vd-ink); color: var(--vd-gold-l); font-family: 'Poppins', sans-serif; font-weight: 700; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; padding: .4rem .9rem; border-radius: 999px; }
.re-novedad__caja h2 { font-size: clamp(1.5rem, 4vw, 2.2rem); color: var(--vd-ink); margin: .9rem 0 .4rem; }
.re-novedad__intro { color: rgba(31,26,18,.85); margin: 0 0 1.2rem; }
.re-novedad__productos { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; margin-bottom: 1.3rem; }
.re-novedad__producto { display: flex; flex-direction: column; align-items: center; gap: .25rem; background: rgba(255,255,255,.75); border-radius: 16px; padding: 1rem .8rem; text-decoration: none; color: var(--vd-ink); transition: transform .2s ease, background .2s ease; }
.re-novedad__producto:hover { transform: translateY(-3px); background: #fff; color: var(--vd-ink); }
.re-novedad__img { height: 170px; display: flex; align-items: flex-end; justify-content: center; margin-bottom: .4rem; }
.re-novedad__img img { max-height: 170px; width: auto; max-width: 100%; height: auto; object-fit: contain; filter: drop-shadow(0 14px 16px rgba(60,42,4,.35)); }
.re-novedad__producto strong { font-family: 'Poppins', sans-serif; font-size: 1.1rem; }
.re-novedad__producto small { font-size: .78rem; line-height: 1.35; color: rgba(31,26,18,.75); }
.re-novedad__precio { font-weight: 700; margin-top: .2rem; }
.re-novedad__acciones { display: flex; flex-wrap: wrap; gap: .7rem; justify-content: center; }
.re-novedad__acciones .re-btn { flex: 1 1 220px; justify-content: center; }
body.re-novedad-abierta { overflow: hidden; }
@media (max-width: 480px) { .re-novedad__img { height: 120px; } .re-novedad__img img { max-height: 120px; } .re-novedad__producto small { display: none; } }
@media (prefers-reduced-motion: reduce) { .re-novedad__caja { animation: none; } }

/* Las imágenes llevan width/height (reservan su espacio al cargar); el alto real lo decide el CSS */
:where(img[width][height]) { height: auto; }
.re-prodhero__leyenda { margin: .9rem auto 0; max-width: min(420px, 84vw); text-align: center; font-size: .8rem; line-height: 1.35; color: rgba(31,26,18,.7); position: relative; z-index: 1; }

/* ==========================================================================
   CELULAR: orden y proporciones (todo lo de este bloque aplica solo en pantallas chicas)
   ========================================================================== */
/* Nada puede ensanchar la página (el carrito lateral vive fuera de pantalla a la derecha) */
/* Solo en body: así se propaga a la ventana y el menú fijo y el encabezado sticky siguen funcionando */
body { overflow-x: clip; }

@media (max-width: 991.98px) {
    /* --- Encabezado: siempre en una sola fila --- */
    .navbar.re-nav > .re-nav__wrap { flex-wrap: nowrap; gap: .6rem; }
    .re-nav .navbar-brand { flex: 1 1 auto; min-width: 0; margin-right: 0; gap: .5rem; }
    .re-nav .navbar-brand .re-brand__txt { min-width: 0; }
    .re-nav__icons { flex: 0 0 auto; gap: .1rem; }
}

@media (max-width: 768px) {
    /* --- Marca: nombre completo en dos líneas junto al sello --- */
    .re-nav, .re-nav.scrolled { padding-top: .55rem; padding-bottom: .55rem; }
    .re-nav .navbar-brand .re-brand__logo,
    .re-nav.scrolled .navbar-brand .re-brand__logo { width: 42px; height: 42px; }
    .re-nav .navbar-brand .re-brand__txt .re-brand__name,
    .re-nav.scrolled .navbar-brand .re-brand__txt .re-brand__name { font-size: .84rem; line-height: 1.08; white-space: normal; letter-spacing: -.01em; }
    .re-nav .navbar-brand .re-brand__txt .re-brand__tag,
    .re-nav.scrolled .navbar-brand .re-brand__txt .re-brand__tag { font-size: .47rem; letter-spacing: .09em; margin-top: .2rem; white-space: nowrap; }
    /* El WhatsApp ya está en el botón flotante y dentro del menú */
    .re-nav__icon--wa { display: none !important; }
    .re-nav__icon, .re-nav .re-cart { width: 40px; height: 40px; }

    /* --- Panel del menú --- */
    .re-nav .navbar-nav { width: min(320px, 86vw); right: calc(-1 * min(340px, 92vw)); padding: 5rem 1.4rem 2rem; background: #fffaf0; align-items: stretch; margin: 0 !important; }
    .re-nav .navbar-nav.active { right: 0; }
    .re-nav .navbar-nav .nav-item { width: 100%; }
    .re-nav .navbar-nav .nav-link, .re-nav .navbar-nav .nav-link.active, .re-nav .navbar-nav .nav-link:hover { display: block; width: 100%; padding: 1rem .2rem !important; font-size: 1rem; letter-spacing: .06em; border-bottom: 1px solid rgba(31,26,18,.12); background: none; border-radius: 0; }
    .re-nav .navbar-nav .nav-link.active { color: var(--vd-gold-d) !important; }
    .re-nav__mwa { margin-top: 1.4rem; }
    .re-nav__mwa .re-btn { justify-content: center; }

    /* --- Ritmo general: menos aire entre bloques y títulos que caben --- */
    .re-section { padding: 2.6rem 0; }
    .re-band[style] { padding: 3.2rem 0 !important; }
    .re-display { font-size: clamp(1.75rem, 8vw, 2.4rem); line-height: 1.05; }
    .re-display--sm { font-size: clamp(1.45rem, 6.4vw, 1.9rem); }
    .re-band .re-display[style] { font-size: clamp(1.8rem, 8.4vw, 2.5rem) !important; }
    .re-lead, .re-band .re-lead[style] { font-size: 1rem !important; line-height: 1.6; }
    .re-head { margin-bottom: 1.6rem; }
    .re-carthead { padding: 2rem 0 2.2rem; }
    .re-carthead::before { opacity: .55; }

    /* --- Banner del home --- */
    .re-split__form { padding: 2rem 1.1rem 2.2rem; }
    .re-split__shop--video { min-height: 360px; padding: 2rem 1.1rem 2rem; }
    .re-consult .re-btn { width: 100%; justify-content: center; }

    /* --- Medios: tres por fila, parejos --- */
    .re-medios { padding: 1.6rem 0 1.8rem; }

    /* --- Qué es el sitio --- */
    .re-que { padding: 2.4rem 0 .4rem; }
    .re-que__head { margin-bottom: 1.3rem; }
    .re-que__head p { font-size: .98rem; }
    .re-que__grid { gap: .8rem; }
    .re-que__grid article { padding: 1.2rem 1.1rem; display: grid; grid-template-columns: auto 1fr; column-gap: .9rem; align-items: start; }
    .re-que__grid i { grid-row: 1 / span 3; margin: .15rem 0 0; font-size: 1.5rem; width: 1.8rem; text-align: center; }
    .re-que__grid p { margin-bottom: .6rem; font-size: .93rem; }

    /* --- Productos destacados --- */
    .re-range { padding: 2.6rem 0 2.8rem; }
    .re-range__head { margin-bottom: 1.3rem; }
    .re-range__head h2 { font-size: clamp(1.6rem, 7.4vw, 2.1rem); }

    /* --- Mercado Libre --- */
    .re-meli { padding: 1.6rem 0; }
    .re-meli__box { padding: 1.3rem 1.1rem; gap: 1rem; }
    .re-meli__logo { width: 140px; padding: 10px 14px; }
    .re-meli__txt { flex-basis: 100%; }

    /* --- Bloques de producto del home: envase del tamaño justo, centrado --- */
    .re-showcase { padding: 2.6rem 0 2.2rem; }
    .re-showcase__row { gap: 1.2rem; }
    .re-showcase__title { font-size: clamp(1.9rem, 9vw, 2.6rem); }
    .re-showcase__line { font-size: .98rem; margin-bottom: .8rem; }
    .re-showcase__badge { font-size: .82rem; padding: .4rem .8rem; margin-bottom: .9rem; }
    .re-showcase__feats { margin-bottom: 1.2rem; gap: .35rem; }
    .re-showcase__feats li { font-size: .93rem; }
    .re-showcase__cta { justify-content: space-between; }
    .re-showcase__price { font-size: 1.4rem; margin-right: 0; }
    .re-showcase__media .re-prodstage > img { max-width: 58vw; max-height: 250px; }
    .re-showcase__media .re-prodstage::before { width: 78vw; }

    /* --- Dr. Cardona --- */
    .re-drphoto { min-height: 250px; }
    .re-drphoto img { max-height: 270px; }
    .re-brick__panel { padding: 1.8rem 1.1rem 2rem; }

    /* --- Reels --- */
    .re-reels { padding: 2.4rem 0 2rem; }
    .re-reels__head { margin-bottom: 1.1rem; }
    .re-reels__head h2 { font-size: 1.35rem; }
    .re-reels__head .re-btn { width: 100%; justify-content: center; }
    .re-reels__lista { gap: .7rem; margin-right: -12px; padding-right: 12px; }
    .re-reels__lista li { flex-basis: 44vw; }

    /* --- Blog y testimonios: se deslizan de lado en vez de apilarse --- */
    .re-mslider { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: .4rem; }
    .re-mslider::-webkit-scrollbar { display: none; }
    .re-mslider > * { flex: 0 0 84%; max-width: 84%; scroll-snap-align: start; }
    .re-quote { padding: 1.4rem 1.2rem; }

    /* --- Captación --- */
    .re-capta { padding: 1.6rem 0; }
    .re-capta__box { padding: 1.5rem 1.1rem; gap: 1.1rem; border-radius: 16px; }

    /* --- Pie: enlaces en dos columnas y espacio para los botones flotantes --- */
    .re-footer { padding: 2.4rem 0 5.5rem; }
    .re-footer .row.g-4 { --bs-gutter-y: 1.6rem; }
    .re-footer .col-lg-2 ul { columns: 2; column-gap: 1.2rem; }
    .re-footer .row.align-items-center p { line-height: 1.9; }

    /* --- Botones flotantes más discretos --- */
    .whatsapp-float { width: 52px; height: 52px; right: 14px; bottom: 16px; font-size: 1.55rem; }
    .back-to-top { right: 20px; bottom: 80px; width: 38px; height: 38px; }

    /* --- Tienda: dos productos por fila --- */
    .re-shopgrid { grid-template-columns: repeat(2, 1fr) !important; }
    .re-shopcard { padding: .75rem .7rem 1rem; }
    .re-shopcard__media { margin-bottom: .7rem; }
    .re-shopcard__cat { font-size: .56rem; }
    .re-shopcard__name { font-size: .88rem; margin: .2rem 0 .35rem; }
    .re-shopcard__price { font-size: 1rem; margin-bottom: .7rem; }
    .re-shopcard__price s { display: block; font-size: .74rem; margin: 0; }
    .re-shopcard .re-btn { padding: .65rem .3rem; font-size: .68rem; letter-spacing: .04em; gap: .35rem; }
    .re-shopcard .re-badge-offer { top: 6px; left: 6px; font-size: .58rem; padding: .25rem .5rem; }
    .re-pill { font-size: .68rem; padding: .5rem .75rem; }

    /* --- Ficha de producto: primero la foto, luego la compra --- */
    .re-prodhero { padding: 1.4rem 0 2.2rem; }
    .re-prodhero .breadcrumb { margin-bottom: .9rem; font-size: .76rem; }
    .re-prodhero .re-showcase__row > .re-showcase__media { order: -1; }
    .re-prodhero .re-showcase__media .re-prodstage > img { max-width: 62vw; max-height: 260px; }
    .re-prodhero__leyenda { margin-top: .5rem; }
    .re-prodhero__trust { gap: .5rem 1rem; font-size: .8rem; margin-top: 1.1rem; }
    .re-tiers__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: .45rem; }
    .re-tiers__list > * { min-width: 0; }

    /* --- Cuenta, políticas y formularios --- */
    .re-cuenta, .re-legal { padding-top: 1.8rem; }
    .re-cuenta__card { padding: 1.3rem 1.1rem; border-radius: 14px; }
    .re-pedido__head { flex-wrap: wrap; }
    .re-pedido__acciones .re-btn { flex: 1 1 auto; justify-content: center; }
    .re-legal h2 { font-size: 1.05rem; margin-top: 1.6rem; }

    /* --- Popup de novedades --- */
    .re-novedad__acciones .re-btn { flex-basis: 100%; }

    /* En celular los campos a 16 px: iOS no hace zoom al tocarlos */
    input.form-control, select.form-control, select.form-select, textarea.form-control { font-size: 16px; }
}

@media (max-width: 380px) {
    .re-nav .navbar-brand .re-brand__txt .re-brand__name,
    .re-nav.scrolled .navbar-brand .re-brand__txt .re-brand__name { font-size: .76rem; }
    .re-tiers__list { grid-template-columns: repeat(2, 1fr); }
    .re-reels__lista li { flex-basis: 58vw; }
}

/* Migas de la ficha de producto por encima de la esfera dorada (se leían lavadas) */
.re-prodhero nav[aria-label="breadcrumb"] { position: relative; z-index: 2; }
@media (max-width: 768px) {
    /* Con el menú abierto la marca no debe partirse detrás del panel */
    .re-nav .navbar-brand .re-brand__txt { overflow: hidden; }
}

/* "Nos has visto en": en escritorio fila fija; en celular, cinta de logos que rota sin parar */
.re-medios__copia { display: none !important; }
@media (max-width: 768px) {
    .re-medios .container { padding-left: 0; padding-right: 0; max-width: none; }
    .re-medios__cinta { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
    .re-medios__lista { flex-wrap: nowrap; justify-content: flex-start; gap: 0; width: max-content; animation: reMediosCinta 26s linear infinite; }
    .re-medios__lista li, .re-medios__lista li.re-medios__copia { display: flex !important; flex: 0 0 auto; width: 112px; height: 60px; padding: 8px 14px; }
    .re-medios__cinta:active .re-medios__lista { animation-play-state: paused; }
}
/* La lista va dos veces: al llegar a la mitad queda idéntica al inicio y el salto no se nota */
@keyframes reMediosCinta { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
    .re-medios__lista { animation: none; flex-wrap: wrap; width: auto; justify-content: center; }
    .re-medios__lista li.re-medios__copia { display: none !important; }
}

/* Consulta en celular: solo queda el botón sobre el video y el formulario se abre como popup */
.re-consulta__cerrar, .re-split__consulta { display: none; }
.re-split__botones { display: flex; flex-wrap: wrap; gap: .7rem; }
@media (max-width: 768px) {
    .re-split__consulta { display: inline-flex; }
    /* Sobre el video: borde y texto blancos (la regla general del panel los pone oscuros) */
    .re-split__shop--video .re-btn--outline.re-split__consulta { color: #fff; border-color: rgba(255,255,255,.9); background: rgba(20,16,9,.25); }
    .re-split__shop--video .re-btn--outline.re-split__consulta::before { background: #fff; }
    .re-split__shop--video .re-btn--outline.re-split__consulta:hover { color: var(--vd-ink); border-color: #fff; }
    body.re-consulta-abierta .re-split__form > .re-display { padding-right: 3rem; }
    .re-split__botones .re-btn { flex: 1 1 140px; justify-content: center; white-space: nowrap; padding-left: .7rem; padding-right: .7rem; font-size: .74rem; letter-spacing: .05em; }
    /* Banner bajo: el video (16:9) se recorta poco y el doctor queda centrado */
    .re-split__shop--video { min-height: clamp(310px, 86vw, 380px); padding-top: 1.4rem; padding-bottom: 1.4rem; }
    .re-split__shop--video > .re-split__video { object-position: center 30%; }
    .re-split__shop--video .re-display { font-size: clamp(1.45rem, 6.6vw, 1.9rem); }
    .re-split__shop--video .re-lead { font-size: .92rem !important; margin-top: .4rem !important; }

    .re-split > .re-split__form { display: none; }
    body.re-consulta-abierta { overflow: hidden; }
    body.re-consulta-abierta .re-split > .re-split__form {
        display: block; position: fixed; inset: 0; z-index: 2000; overflow-y: auto; overscroll-behavior: contain;
        padding: 3.4rem 1.2rem 2rem; background: #fff; animation: reNovedadIn .28s ease;
    }
    body.re-consulta-abierta .whatsapp-float, body.re-consulta-abierta .back-to-top { display: none; }
    .re-consulta__cerrar { display: flex; align-items: center; justify-content: center; position: absolute; top: .8rem; right: .8rem; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--vd-ink); color: var(--vd-gold-l); font-size: 1rem; }
}

/* Sellitos de la tienda con los íconos del vademécum (presentación, sabor y momento de la toma) */
.re-seal { width: 42px; height: 42px; padding: 6px; background: #fff; border-color: rgba(31,26,18,.14); }
.re-seal img { width: 100%; height: 100%; object-fit: contain; display: block; }
@media (max-width: 768px) {
    .re-shopcard__seals { top: .45rem; right: .45rem; gap: .3rem; }
    .re-seal { width: 30px; height: 30px; padding: 4px; }
}
