:root{
  --azul:#EEF3FA; --azul-deep:#F4F7FB; --naranja:#FF6A2C; --naranja-6:#E8551A;
  --ambar:#F59E0B; --verde:#15803D; --blanco:#122239; --gris:#5A6B82;
  --surface:#FFFFFF; --surface-2:#F4F7FB; --border:#E3E9F1; --border-2:#D2DCE8;
  --font-d:"Sora",system-ui,sans-serif; --font-b:"Inter",system-ui,sans-serif; --font-m:"Space Mono",ui-monospace,monospace;
  --radius:16px; --radius-sm:10px;
  --shadow:0 12px 34px rgba(20,40,80,.10);
  --glow:0 8px 26px rgba(255,106,44,.30);
  --wrap:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{overflow-x:clip;max-width:100vw}
/* Accesibilidad: foco visible global (teclado) + skip-link */
:focus-visible{outline:3px solid var(--naranja);outline-offset:2px;border-radius:6px}
.skip-link{position:absolute;left:8px;top:-60px;z-index:2000;background:var(--naranja);color:#1a0e04;font-weight:800;padding:12px 18px;border-radius:0 0 12px 12px;text-decoration:none;transition:top .15s ease}
.skip-link:focus{top:0}
.card-name[role=link]{cursor:pointer}
/* Franja estacional (Día de la Madre) */
.season-strip{max-width:var(--wrap);margin:18px auto 0;display:flex;align-items:center;gap:14px;
  background:linear-gradient(120deg,rgba(255,176,32,.16),rgba(255,106,44,.14));
  border:1px solid rgba(255,176,32,.45);border-radius:16px;padding:14px 18px;text-decoration:none;
  color:var(--blanco);transition:transform .15s,box-shadow .15s}
.season-strip:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(255,106,44,.18)}
.season-em{font-size:26px;flex:none}
.season-tx{flex:1;font-size:15px;line-height:1.4}
.season-tx b{color:var(--ambar)}
.season-go{flex:none;background:var(--naranja);color:#1a0e04;font-weight:800;padding:9px 16px;border-radius:10px;font-size:14px;white-space:nowrap}
@media(max-width:600px){.season-strip{flex-wrap:wrap}.season-go{width:100%;text-align:center}}
/* Showcase de kits para revender (conversión) */
.kits-showcase{padding-block:16px 6px}
.kits-head{text-align:center;margin-bottom:16px}
.kits-head h2{font-family:var(--font-d);font-size:clamp(20px,2.8vw,26px);font-weight:800}
.kits-head p{color:var(--gris);max-width:58ch;margin:5px auto 0;font-size:14px}
.kits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
@media(max-width:900px){.kits-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.kits-grid{grid-template-columns:1fr}}
.kit-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--blanco);display:flex;flex-direction:column;transition:transform .15s,border-color .15s}
.kit-card:hover{transform:translateY(-3px);border-color:var(--naranja)}
.kit-img{background:#fff;aspect-ratio:1.25;display:grid;place-items:center;padding:9px}
.kit-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.kit-b{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px;flex:1}
.kit-nicho{color:var(--gris);font-size:10.5px;text-transform:uppercase;letter-spacing:.5px}
.kit-b h3{font-size:14px;font-weight:750}
.kit-price{font-size:12.5px;color:var(--gris)}.kit-price b{color:var(--blanco);font-family:var(--font-m)}
.kit-gain{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);color:#15803D;border-radius:8px;padding:5px 7px;font-size:12px}
.kit-gain b{color:var(--verde)}.kit-gain span{color:var(--verde);font-weight:800;margin-left:4px}
.kit-cta{margin-top:auto;color:var(--naranja);font-weight:700;font-size:13px;padding-top:4px}
.kits-all{display:block;text-align:center;margin-top:18px;color:var(--naranja);font-weight:700;text-decoration:none}
/* Carrusel deslizable de destacados */
.offers-showcase{padding-block:22px 8px}
.offers-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.offers-head h2{font-family:var(--font-d);font-size:clamp(20px,3vw,28px);font-weight:800}
.offers-head p{color:var(--gris);font-size:14px;margin-top:4px}
.offers-arrows{display:flex;gap:8px}
.offers-arrow{width:42px;height:42px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--blanco);font-size:22px;line-height:1;cursor:pointer;transition:.15s}
.offers-arrow:hover{border-color:var(--naranja);color:var(--naranja)}
@media(max-width:640px){.offers-arrow{width:36px;height:36px;font-size:19px;border-radius:10px}}
.offers-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.offers-rail::-webkit-scrollbar{display:none}
.offer-card{flex:0 0 172px;scroll-snap-align:start;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--blanco);display:flex;flex-direction:column;transition:transform .15s,border-color .15s}
.offer-card:hover{transform:translateY(-3px);border-color:var(--naranja)}
.offer-img{background:#fff;aspect-ratio:1.2;display:grid;place-items:center;padding:9px}
.offer-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
/* combos: el creativo es un collage full-bleed — el mix-blend-mode:multiply lo rompe (fondo claro quemado). Mismo trato que .card-img.is-combo. */
.offer-img.is-combo{padding:0;background:#0E2038}
.offer-img.is-combo img{mix-blend-mode:normal;filter:none}
.offer-b{padding:9px 11px 11px;display:flex;flex-direction:column;gap:3px;flex:1}
.offer-cat{color:var(--gris);font-size:10.5px;text-transform:uppercase;letter-spacing:.5px}
.offer-n{font-size:13.5px;font-weight:600;line-height:1.3;min-height:2.6em;overflow:hidden}
.offer-pr b{font-family:var(--font-m);font-size:17px}.offer-pr small{color:var(--gris);font-size:11px}
.offer-gain{margin-top:auto;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.32);color:#15803D;border-radius:8px;padding:5px 7px;font-size:11.5px}
/* ---- Packs Emprendedor (carrusel de combos curados) ---- */
.packs-showcase{padding-block:26px 8px}
.packs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.packs-head h2{font-family:var(--font-d);font-size:clamp(21px,3.2vw,30px);font-weight:800}
.packs-head p{color:var(--gris);font-size:14px;margin-top:4px;max-width:640px}
.packs-arrows{display:flex;gap:8px}
.packs-arrow{width:42px;height:42px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--blanco);font-size:22px;line-height:1;cursor:pointer;transition:.15s}
.packs-arrow:hover{border-color:var(--naranja);color:var(--naranja)}
@media(max-width:640px){.packs-arrow{width:36px;height:36px;font-size:19px;border-radius:10px}}
.packs-bridge{margin:10px 0 0;display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--verde);background:rgba(34,197,94,.10);border:1px solid rgba(34,197,94,.30);padding:7px 13px;border-radius:999px;line-height:1.35}
.packs-bridge b{color:var(--blanco)}
.packs-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.packs-rail::-webkit-scrollbar{display:none}
.pack-card{flex:0 0 248px;scroll-snap-align:start;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--blanco);display:flex;flex-direction:column;transition:transform .15s,border-color .15s,box-shadow .15s}
.pack-card:hover{transform:translateY(-4px);border-color:var(--naranja);box-shadow:0 12px 30px -12px rgba(255,106,44,.4)}
.pack-img{position:relative;background:#fff;aspect-ratio:1;display:block;overflow:hidden}
.pack-img img{width:100%;height:100%;object-fit:cover;display:block}
.pack-emoji{position:absolute;top:8px;left:8px;font-size:22px;background:rgba(255,255,255,.92);width:38px;height:38px;border-radius:11px;display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.pack-units{position:absolute;bottom:8px;right:8px;background:rgba(255,255,255,.94);color:#122239;font-size:11px;font-weight:600;padding:4px 8px;border-radius:8px}
.pack-b{padding:12px 13px 13px;display:flex;flex-direction:column;gap:4px;flex:1}
.pack-n{font-family:var(--font-d);font-weight:800;font-size:17px}
.pack-linea{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;background:var(--ambar,#FFB020);color:#1a0e04;padding:2px 7px;border-radius:6px;vertical-align:middle}
/* Carrito (drawer) tiene fondo CLARO: forzar texto oscuro legible, nunca blanco. */
.drawer{color:#122239}
.drawer .ci-price span{color:#51617A!important}
.drawer .drawer-empty{color:#51617A}
.drawer .ci-scar{color:#b45309}
.pack-concept{color:var(--gris);font-size:12.5px;line-height:1.35;min-height:2.5em}
.pack-pr{display:flex;flex-direction:column;margin-top:4px}
.pack-pr small{color:var(--gris);font-size:10.5px;text-transform:uppercase;letter-spacing:.4px}
.pack-pr b{font-family:var(--font-m);font-size:22px;color:var(--naranja);line-height:1.1}
.pack-gain{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.32);color:#15803D;border-radius:8px;padding:5px 8px;font-size:12px;font-weight:600}
.pack-gain span{opacity:.85;font-weight:500}
.pack-cta{margin-top:auto;color:var(--naranja);font-size:12.5px;font-weight:700;padding-top:2px}
.pack-off{position:absolute;top:8px;right:8px;background:var(--naranja);color:#1a0e04;font-size:12px;font-weight:800;padding:4px 9px;border-radius:9px;box-shadow:0 4px 14px rgba(255,106,44,.5)}
.pack-pr-row{display:flex;align-items:baseline;gap:8px}
.pack-pr-row s{font-family:var(--font-m);font-size:13px;color:var(--gris);text-decoration-color:rgba(239,68,68,.7);text-decoration-thickness:2px}
.pack-resale{font-size:11px;color:var(--gris);font-weight:600;font-family:var(--font-b)}
.pw-calc-out{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.pw-calc-out>div{background:rgba(255,255,255,.6);border:1px solid var(--border);border-radius:12px;padding:11px 12px;text-align:center}
.pw-calc-out small{display:block;color:#5a6b82;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px;line-height:1.25}
.pw-calc-out b{font-family:var(--font-m);font-size:17px;color:#122239}
.pw-calc-out .pw-calc-win{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.4)}
.pw-calc-out .pw-calc-win b{color:#15803D}
@media(max-width:520px){.pw-calc-out{grid-template-columns:1fr}}
body{
  font-family:var(--font-b); color:var(--blanco); line-height:1.5;
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(255,106,44,.10), transparent 60%),
    radial-gradient(900px 500px at 0% 20%, rgba(30,80,160,.14), transparent 55%),
    linear-gradient(180deg,#EEF3FA 0%,#0B1B30 45%,#EEF3FA 100%);
  background-attachment:fixed; min-height:100vh;
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0; opacity:.35;
  background-image:linear-gradient(rgba(147,164,186,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(147,164,186,.05) 1px,transparent 1px);
  background-size:44px 44px; mask-image:radial-gradient(circle at 50% 30%,black,transparent 80%);
}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:20px;position:relative;z-index:1}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--font-d);line-height:1.1;letter-spacing:-.02em}
button{font-family:inherit;cursor:pointer}

/* Announce */
.announce{background:linear-gradient(90deg,var(--naranja),var(--ambar));color:#1a0e04;overflow:hidden;position:relative;z-index:30}
.announce-track{display:flex;gap:48px;white-space:nowrap;padding:8px 0;font-weight:700;font-size:13px;animation:marquee 26s linear infinite;width:max-content}
.announce-track span{display:inline-flex;align-items:center;gap:10px}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Header */
.header{position:sticky;top:0;z-index:25;background:rgba(255,255,255,.72);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;gap:18px;padding-block:12px}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.brand .iso{border-radius:11px;box-shadow:var(--shadow)}
.brand-word{font-family:var(--font-d);font-weight:800;font-size:22px;letter-spacing:1px}
.brand-tag{font-size:11px;color:var(--naranja);font-weight:700;text-transform:uppercase;letter-spacing:2px;align-self:flex-end;margin-bottom:3px}
.search{flex:1;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:10px 18px;color:var(--gris);transition:border-color .2s,box-shadow .2s}
.search:focus-within{border-color:var(--naranja);box-shadow:0 0 0 3px rgba(255,106,44,.15)}
.search input{flex:1;background:none;border:none;outline:none;color:var(--blanco);font-size:15px}
.search input::placeholder{color:var(--gris)}
.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
.wa-mini{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--verde);transition:.2s}
.wa-mini:hover{border-color:var(--verde);transform:translateY(-1px)}
.cart-btn{position:relative;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--naranja);color:#1a0e04;border:none;box-shadow:var(--glow);transition:.2s}
.cart-btn:hover{transform:translateY(-1px)}
.cart-count{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--azul);color:#122239;font-size:11px;font-weight:700;display:grid;place-items:center;border:2px solid var(--azul-deep)}

/* Hero */
.hero{position:relative;overflow:hidden;padding-block:56px 40px}
.hero-glow{position:absolute;top:-120px;right:-80px;width:520px;height:520px;background:radial-gradient(circle,rgba(255,106,44,.28),transparent 65%);filter:blur(20px);pointer-events:none}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
.eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--naranja);background:rgba(255,106,44,.12);border:1px solid rgba(255,106,44,.3);padding:6px 12px;border-radius:999px;margin-bottom:18px}
.hero h1{font-size:clamp(38px,5.5vw,68px);font-weight:800}
.grad{background:linear-gradient(90deg,var(--naranja),var(--ambar));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:#51617A;font-size:clamp(15px,1.6vw,19px);max-width:520px;margin:20px 0 26px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-trust{margin-top:16px;color:var(--verde);font-size:13px;font-weight:600;display:flex;flex-wrap:wrap;gap:2px 4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;border-radius:12px;padding:14px 26px;border:1px solid transparent;transition:.2s;font-size:15px}
.btn-primary{background:var(--naranja);color:#1a0e04;box-shadow:var(--glow)}
.btn-primary:hover{background:var(--naranja-6);transform:translateY(-2px)}
.btn-ghost{background:transparent;border-color:var(--border-2);color:var(--blanco)}
.btn-ghost:hover{border-color:var(--naranja);color:var(--naranja)}
.btn-small{padding:9px 16px;font-size:13px}
.hero-stats{list-style:none;display:flex;gap:26px;margin-top:34px;flex-wrap:wrap}
.hero-stats li{display:flex;flex-direction:column}
.hero-stats strong{font-family:var(--font-d);font-size:26px;color:#122239}
.hero-stats span{font-size:12px;color:var(--gris);text-transform:uppercase;letter-spacing:1px}

.hero-card{position:relative;background:linear-gradient(160deg,var(--surface),var(--azul-deep));border:1px solid var(--border);border-radius:20px;padding:16px;box-shadow:var(--shadow)}
.hero-card-badge{position:absolute;top:-12px;left:20px;background:var(--ambar);color:#1a0e04;font-weight:800;font-size:11px;letter-spacing:1px;padding:6px 12px;border-radius:999px}
.hero-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px}
.hero-card-grid .hc{background:#fff;border-radius:12px;overflow:hidden;aspect-ratio:1.15;display:grid;place-items:center;padding:6px}
.hero-card-grid .hc img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.hero-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:13px;color:var(--gris)}
.pulse{color:var(--verde);font-weight:700}
.pulse::before{content:"";display:inline-block}

/* Perks */
.perks{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-block:26px 44px}
.perk{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.55);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.perk-ic{font-size:22px}
.perk strong{display:block;font-size:14px}
.perk small{color:var(--gris);font-size:12px}
/* Widgets de beneficios en 3D suspendido (imágenes generadas) */
.perk.perk3d{flex-direction:column;align-items:center;text-align:center;gap:6px;padding:26px 18px 20px;position:relative;overflow:visible;perspective:900px}
.perk3d .perk-img{width:120px;height:120px;object-fit:contain;position:relative;z-index:1;
  -webkit-mask-image:radial-gradient(ellipse 74% 70% at 50% 46%,#000 66%,transparent 92%);
  mask-image:radial-gradient(ellipse 74% 70% at 50% 46%,#000 66%,transparent 92%);
  filter:drop-shadow(0 16px 18px rgba(0,0,0,.55));
  animation:perkfloat 5.5s ease-in-out infinite;will-change:transform;transition:transform .3s ease}
.perk3d:nth-child(2) .perk-img{animation-delay:.5s}
.perk3d:nth-child(3) .perk-img{animation-delay:1s}
.perk3d:nth-child(4) .perk-img{animation-delay:1.5s}
.perk3d .perk-halo{position:absolute;top:26px;left:50%;transform:translateX(-50%);width:130px;height:52px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,106,44,.5),transparent);filter:blur(14px);z-index:0;
  animation:perkhalo 5.5s ease-in-out infinite;pointer-events:none}
.perk3d:hover .perk-img{animation-play-state:paused;transform:translateY(-8px) scale(1.07) rotate(1.5deg)}
.perk3d strong{font-size:14.5px;margin-top:6px}
@keyframes perkfloat{0%,100%{transform:translateY(0) rotateZ(-1.5deg)}50%{transform:translateY(-12px) rotateZ(1.5deg)}}
@keyframes perkhalo{0%,100%{opacity:.55;transform:translateX(-50%) scale(1)}50%{opacity:.9;transform:translateX(-50%) scale(1.12)}}
@media(prefers-reduced-motion:reduce){.perk3d .perk-img,.perk3d .perk-halo{animation:none}}

/* Catálogo */
.cat-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.cat-head h2{font-size:clamp(24px,3vw,34px)}
/* Buscador principal dentro del catálogo: prominente, imposible de no ver */
.cat-search{position:relative;display:flex;align-items:center;gap:10px;background:var(--surface);border:2px solid var(--border-2);border-radius:14px;padding:4px 14px;margin-bottom:22px;box-shadow:0 4px 16px rgba(14,32,56,.06);transition:border-color .15s,box-shadow .15s}
.cat-search:focus-within{border-color:var(--naranja);box-shadow:0 6px 22px rgba(255,106,44,.18)}
.cat-search svg{color:var(--naranja);flex:0 0 auto}
.cat-search input{flex:1;border:0;background:transparent;outline:0;color:var(--blanco);font-size:16px;font-weight:500;padding:13px 0;min-width:0}
.cat-search input::placeholder{color:var(--gris);font-weight:400}
.cat-search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.cat-search-clear{flex:0 0 auto;background:var(--surface-2);border:1px solid var(--border);color:var(--gris);width:30px;height:30px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
.cat-search-clear:hover{border-color:var(--naranja);color:var(--naranja)}
/* Autocompletado del buscador del catálogo */
.cat-ac{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;background:var(--surface);border:1px solid var(--border-2);border-radius:14px;box-shadow:0 18px 44px rgba(14,32,56,.18);overflow-y:auto;max-height:62vh;padding:4px}
.ac-item{display:flex;align-items:center;gap:12px;padding:9px 12px;cursor:pointer;border-radius:10px}
.ac-item:hover,.ac-item.active{background:var(--surface-2)}
.ac-img{width:42px;height:42px;border-radius:9px;object-fit:cover;background:var(--surface-2);flex:0 0 auto}
.ac-cic{width:42px;height:42px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:rgba(255,106,44,.1);font-size:19px;flex:0 0 auto}
.ac-name{flex:1;color:var(--blanco);font-size:14px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac-name b{color:var(--naranja-6);font-weight:800}
.ac-price{flex:0 0 auto;font-family:var(--font-m);font-weight:700;color:var(--blanco);font-size:13.5px}
.ac-count{flex:0 0 auto;color:var(--gris);font-size:12px;font-weight:700;background:var(--surface-2);border-radius:999px;padding:2px 9px}
.ac-cat{border-bottom:1px solid var(--border);border-radius:10px 10px 0 0;margin-bottom:2px}
.ac-cat .ac-name{font-weight:600}
.filters-toggle{display:none;background:var(--surface);border:1px solid var(--border);color:var(--blanco);border-radius:10px;padding:10px 18px;font-weight:600}
.cat-layout{display:grid;grid-template-columns:250px 1fr;gap:26px;align-items:start}

.filters{position:sticky;top:88px;background:rgba(255,255,255,.55);border:1px solid var(--border);border-radius:var(--radius);padding:18px}
.filters-head{display:none;justify-content:space-between;align-items:center;margin-bottom:14px;font-weight:700}
.filters-close{background:none;border:none;color:#122239;font-size:26px;line-height:1}
.filter-block{padding-block:14px;border-bottom:1px solid var(--border)}
.filter-block:first-of-type{padding-top:0}
.filter-block h3{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--gris);margin-bottom:12px}
.cat-list{list-style:none;display:flex;flex-direction:column;gap:2px;max-height:340px;overflow:auto}
.cat-list li{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:9px;cursor:pointer;font-size:14px;transition:.15s}
.cat-list li:hover{background:var(--surface-2)}
.cat-list li.active{background:var(--naranja);color:#1a0e04;font-weight:700}
.cat-list li .n{font-size:12px;color:var(--gris)}
.cat-list li.active .n{color:#1a0e04}
.price-inputs{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.price-inputs input{width:100%;background:var(--azul-deep);border:1px solid var(--border);border-radius:8px;padding:9px;color:#122239;font-size:14px}
.clear-all{width:100%;margin-top:14px}

.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.results{color:var(--gris);font-size:14px}
.results b{color:#122239}
.sort{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--gris)}
.sort select{background:var(--surface);border:1px solid var(--border);color:#122239;border-radius:9px;padding:8px 12px;font-family:inherit;font-size:14px}
.active-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border-2);border-radius:999px;padding:5px 12px;font-size:13px}
.chip button{background:none;border:none;color:var(--naranja);font-size:15px;line-height:1}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:14px}
.card{background:linear-gradient(180deg,var(--surface),#EEF3FA);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.2s;position:relative}
.card:hover{transform:translateY(-4px);border-color:var(--border-2);box-shadow:var(--shadow)}
.card-badges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:6px;z-index:2}
.badge{font-size:11px;font-weight:800;padding:4px 9px;border-radius:7px;letter-spacing:.3px}
.badge.off{background:var(--naranja);color:#1a0e04}
.badge.x3{background:var(--ambar);color:#1a0e04}
.badge.margin{background:rgba(34,197,94,.16);color:#15803D;border:1px solid rgba(34,197,94,.4)}
.badge.oos{background:rgba(147,164,186,.18);color:#51617A;border:1px solid rgba(147,164,186,.4)}
.badge.hot{background:linear-gradient(120deg,#EF4444,#FF6A2C);color:#122239;box-shadow:0 0 16px rgba(239,68,68,.5);animation:hotpulse 1.6s ease-in-out infinite}
@keyframes hotpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
/* Producto sin stock (sync once.ar) */
.card-oos{opacity:.72;filter:grayscale(.35)}
.card-oos .card-img img{filter:grayscale(.5)}
.card-img.is-combo img{filter:none;object-fit:contain;mix-blend-mode:normal}
.card-img.is-combo{padding:0;background:#0E2038}
.add-btn--oos{flex:1;background:rgba(147,164,186,.14);color:#5A6B82;border:1px solid var(--border-2);border-radius:10px;font-weight:700;font-size:13px;padding:10px;cursor:not-allowed}
.card-img{background:#fff;aspect-ratio:1;display:grid;place-items:center;padding:16px;cursor:pointer}
.card-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.card-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.card-cat{font-size:11px;color:var(--naranja);text-transform:uppercase;letter-spacing:1px;font-weight:700}
.card-name{font-size:14px;font-weight:600;color:#122239;line-height:1.4;min-height:59px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}
.price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.price{font-family:var(--font-d);font-weight:800;font-size:21px;color:#122239}
.price-old{font-family:var(--font-m);font-size:13px;color:var(--gris);text-decoration:line-through}
.price-x3{font-size:11px;color:var(--gris);font-weight:500;letter-spacing:.2px}
.price-x3 b{font-family:var(--font-m)}
/* Bloque de precio del catálogo: costo mayorista + chip de ganancia de reventa (héroe de conversión) */
.price-block{display:flex;flex-direction:column;gap:7px;margin-top:2px}
.price-unit{font-size:11px;color:var(--gris);font-weight:600;letter-spacing:.2px;white-space:nowrap}
.gain-chip{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;color:var(--verde);background:rgba(21,128,61,.08);border:1px solid rgba(21,128,61,.24);padding:6px 9px;border-radius:10px;line-height:1.3}
.gain-chip .gain-txt{flex:1;min-width:0}
.gain-chip b{font-family:var(--font-m);font-weight:700;color:#0F6B33}
.gain-chip em{flex:none;font-style:normal;font-weight:800;font-size:10.5px;background:var(--verde);color:#fff;padding:2px 7px;border-radius:99px;letter-spacing:.2px}
.price-sug{font-size:11.5px;color:#15803D;font-weight:600;letter-spacing:.2px}
/* Precio tachado (PVP sugerido) + ancla de ahorro */
.price-was-row{display:flex;align-items:baseline;gap:7px;margin-bottom:-2px}
.price-was{font-family:var(--font-m);font-size:14px;color:var(--gris);text-decoration:line-through;text-decoration-color:rgba(239,68,68,.7);text-decoration-thickness:2px}
.price-pvp{font-family:var(--font-m);font-size:14px;color:var(--gris)}
.price-was-row small{font-size:10px;color:var(--gris);text-transform:uppercase;letter-spacing:.5px}
.price-off{font-family:var(--font-m);font-size:12px;font-weight:700;color:#122239;background:linear-gradient(120deg,#EF4444,#FF6A2C);padding:2px 8px;border-radius:99px;box-shadow:0 0 14px rgba(239,68,68,.45)}
.pdp-sug{margin:-6px 0 16px;font-size:13.5px;color:#5A6B82}
.pdp-sug b{font-family:var(--font-m);color:#15803D}
/* Descuento tachado — PDP */
.pdp-was{font-family:var(--font-m);font-size:20px;color:var(--gris);text-decoration:line-through;text-decoration-color:rgba(239,68,68,.75);text-decoration-thickness:2px;margin-right:2px}
.pdp-save{margin:-4px 0 16px;font-size:13.5px;color:#15803D;font-weight:600}
.pdp-save b{font-family:var(--font-m);color:#15803D}
.pdp-save s{color:var(--gris);font-weight:400}
/* Descuento tachado — modal quick view */
.modal-price-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.modal-was{font-family:var(--font-m);font-size:20px;color:var(--gris);text-decoration:line-through;text-decoration-color:rgba(239,68,68,.75);text-decoration-thickness:2px}
.card-cuotas{font-size:11px;color:var(--gris)}
.card-foot{display:flex;gap:8px;margin-top:auto;padding-top:6px}
.stepper{display:flex;align-items:center;border:1px solid var(--border-2);border-radius:10px;overflow:hidden}
.stepper button{width:32px;height:38px;background:var(--surface-2);border:none;color:#122239;font-size:16px}
.stepper button:hover{background:var(--border-2)}
.stepper input{width:38px;height:38px;text-align:center;background:var(--azul-deep);border:none;color:#122239;font-size:14px;font-family:var(--font-m)}
.add-btn{flex:1;background:var(--naranja);color:#1a0e04;border:none;border-radius:10px;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px;transition:.15s}
.add-btn:hover{background:var(--naranja-6)}
.add-btn.added{background:var(--verde)}

.load-more-wrap{display:flex;justify-content:center;margin-top:30px}
.empty{text-align:center;color:var(--gris);padding:50px 0}
.linkish{background:none;border:none;color:var(--naranja);font-weight:700;text-decoration:underline}

/* Closer */
.closer{margin-top:60px;background:linear-gradient(120deg,var(--azul),#DCE6F2);border-top:1px solid var(--border)}
.closer-inner{text-align:center;padding-block:56px}
.closer h2{font-size:clamp(26px,3.4vw,40px)}
.closer p{color:#51617A;max-width:620px;margin:14px auto 26px}
.trust-strip{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;margin-top:30px;font-size:13px;font-weight:600;color:#51617A}
.trust-strip span{display:inline-flex;align-items:center;gap:6px}

/* Footer */
.footer{background:var(--azul-deep);border-top:1px solid var(--border);margin-top:0}
.footer-inner{display:grid;grid-template-columns:1.4fr 2fr 1fr;gap:30px;padding-block:44px}
.footer-brand{display:flex;gap:12px;align-items:center}
.footer-brand strong{font-family:var(--font-d);font-size:18px;display:block}
.footer-brand small{color:var(--gris)}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.footer-cols a{display:block;color:var(--gris);font-size:13px;padding:3px 0;transition:.15s}
.footer-cols a:hover{color:var(--naranja)}
.footer-contact{display:flex;flex-direction:column;gap:8px}
.footer-contact strong{font-family:var(--font-d)}
.footer-contact a{color:var(--gris);font-size:14px}
.footer-contact a:hover{color:var(--naranja)}
.footer-legal{border-top:1px solid var(--border);padding-block:18px;color:var(--gris);font-size:12px;text-align:center}

/* Drawer */
.drawer-overlay,.modal-overlay{position:fixed;inset:0;background:rgba(30,50,90,.10);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:.25s;z-index:40}
.drawer-overlay.show,.modal-overlay.show{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,100%);background:linear-gradient(180deg,#F4F7FB,#EEF3FA);border-left:1px solid var(--border);z-index:50;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}
.drawer.show{transform:translateX(0)}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border);font-family:var(--font-d);font-size:18px}
.drawer-close,.modal-close{background:none;border:none;color:#122239;font-size:28px;line-height:1}
.drawer-body{flex:1;overflow:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}
.ci{display:flex;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:13px}
.ci-img{width:82px;height:82px;background:#fff;border-radius:10px;flex-shrink:0;display:grid;place-items:center;padding:6px}
.ci-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.ci-info{flex:1;min-width:0;display:flex;flex-direction:column}
.ci-name{font-size:14.5px;font-weight:600;line-height:1.3;margin-bottom:5px}
.ci-price{font-family:var(--font-d);font-weight:700;font-size:17px;color:var(--naranja)}
.ci-controls{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.ci-remove{background:none;border:none;color:var(--gris);font-size:12px;text-decoration:underline}
.drawer-empty{text-align:center;color:var(--gris);padding:40px 0}
.drawer-foot{padding:18px 20px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}
.tot-row{display:flex;justify-content:space-between;font-size:14px;color:var(--gris)}
.tot-row.big{font-size:18px;color:#122239;font-family:var(--font-d);font-weight:700}
.tot-save{color:var(--verde);font-weight:600}
.tot-cup span:first-child{color:var(--verde);font-weight:600;display:inline-flex;align-items:center;gap:4px}
.cup-x{background:none;border:none;color:var(--gris);text-decoration:underline;cursor:pointer;font-size:11px;padding:0 0 0 4px}
.cup-x:hover{color:var(--rojo,#D64545)}
/* Tarjeta "cupón aplicado" nivel premium: voucher verde con troquel, check + chip animados y brillo */
.cup-win{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:14px 16px;border-radius:14px;border:1.5px dashed rgba(34,197,94,.55);background:linear-gradient(135deg,rgba(34,197,94,.17),rgba(34,197,94,.05));box-shadow:0 6px 18px rgba(34,197,94,.14)}
.cup-win::before,.cup-win::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--surf,#fff);top:50%;transform:translateY(-50%);z-index:1}
.cup-win::before{left:-10px}.cup-win::after{right:-10px}
.cup-win-ic{flex:none;width:34px;height:34px;border-radius:50%;background:var(--verde);color:#fff;display:grid;place-items:center;box-shadow:0 4px 12px rgba(34,197,94,.42);animation:pulseScale 2.4s ease-in-out infinite;z-index:2}
.cup-win-txt{flex:1;min-width:0;z-index:2}
.cup-win-h{font-size:13px;color:#0E2038;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.3}
.cup-win-pct{background:var(--verde);color:#fff;font-size:11px;font-weight:800;padding:2px 9px;border-radius:999px;letter-spacing:.4px;animation:pulseScale 2.2s ease-in-out infinite}
.cup-win-save{font-size:13.5px;color:#15803D;font-weight:700;margin-top:3px}
.cup-win-save b{font-size:18px;font-family:var(--font-d,inherit);font-weight:800}
.cup-win-x{flex:none;background:none;border:none;color:var(--gris);cursor:pointer;font-size:13px;line-height:1;padding:4px;align-self:flex-start;z-index:2}
.cup-win-x:hover{color:var(--rojo,#D64545)}
.cup-win-spark,.cup-win::before{pointer-events:none}
.cup-win-shine{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.5) 50%,transparent 65%);transform:translateX(-120%);animation:shine 3.4s ease-in-out infinite;pointer-events:none;z-index:1}
@media(max-width:600px){
 .cup-win{gap:10px;padding:12px 14px;border-radius:13px}
 .cup-win-ic{width:30px;height:30px}
 .cup-win-h{font-size:12.5px;gap:6px}
 .cup-win-pct{font-size:10px;padding:2px 8px}
 .cup-win-save{font-size:12.5px}
 .cup-win-save b{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.cup-win-ic,.cup-win-pct{animation:none}.cup-win-shine{display:none}}
/* Ganancia proyectada del pedido: reencuadra el total como inversión con retorno (cierre reseller) */
.tot-profit{display:flex;align-items:center;gap:10px;margin:8px 0 2px;padding:9px 12px;background:linear-gradient(120deg,rgba(21,128,61,.10),rgba(34,197,94,.06));border:1px solid rgba(21,128,61,.28);border-radius:11px}
.tot-profit .tp-txt{flex:1;display:flex;flex-direction:column;line-height:1.25}
.tot-profit .tp-k{font-size:11px;color:var(--gris);font-weight:600;letter-spacing:.2px}
.tot-profit .tp-v{font-family:var(--font-d);font-size:16px;font-weight:800;color:var(--verde)}
.tot-profit .tp-badge{flex:none;font-weight:800;font-size:12px;background:var(--verde);color:#fff;padding:3px 10px;border-radius:99px;letter-spacing:.3px}
.wa-checkout{background:var(--verde);color:#04210f;font-weight:800;border:none;border-radius:12px;padding:16px;font-size:15px;display:flex;align-items:center;justify-content:center;gap:10px;transition:.2s}
.wa-checkout:hover{filter:brightness(1.08)}
.checkout-note{font-size:11px;color:var(--gris);text-align:center}
.pago-seguro{display:flex;align-items:center;justify-content:center;gap:8px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);color:var(--verde);font-weight:700;font-size:13px;padding:9px;border-radius:10px}
.pago-seguro .lock{font-size:14px}
.wa-checkout .lock{font-size:15px}
.checkout-trust{list-style:none;display:flex;flex-direction:column;gap:6px;padding:0;margin:2px 0}
.checkout-trust li{font-size:12px;color:#51617A;display:flex;align-items:center;gap:8px}

/* Modal */
.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%);width:min(880px,94vw);max-height:90vh;overflow:auto;background:linear-gradient(180deg,#EEF3FA,#EEF3FA);border:1px solid var(--border);border-radius:20px;z-index:51;opacity:0;visibility:hidden;transition:.25s}
.modal.show{opacity:1;visibility:visible;transform:translate(-50%,-50%)}
.modal-inner{display:grid;grid-template-columns:1fr 1fr;gap:0}
.modal-gallery{background:#fff;padding:24px;display:flex;flex-direction:column;gap:12px}
.modal-main-img{aspect-ratio:1;display:grid;place-items:center}
.modal-main-img img{max-width:100%;max-height:100%;object-fit:contain}
.modal-thumbs{display:flex;gap:8px;flex-wrap:wrap}
.modal-thumbs img{width:52px;height:52px;object-fit:contain;border:1px solid #e3eaf2;border-radius:8px;padding:4px;cursor:pointer}
.modal-thumbs img.active{border-color:var(--naranja)}
.modal-info{padding:28px;position:relative}
.modal-close{position:absolute;top:14px;right:18px}
.modal-info .card-cat{margin-bottom:8px}
.modal-info h3{font-size:24px;margin-bottom:14px}
.modal-price{font-family:var(--font-d);font-size:34px;font-weight:800;color:#122239}
.modal-old{font-family:var(--font-m);color:var(--gris);text-decoration:line-through;margin-left:10px;font-size:16px}
.modal-badges{display:flex;gap:8px;margin:16px 0}
.modal-desc{color:#51617A;font-size:14px;margin:16px 0;line-height:1.6}
.modal-buy{display:flex;gap:10px;margin-top:20px}

/* Toast */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(120px);background:var(--verde);color:#04210f;font-weight:700;padding:14px 24px;border-radius:12px;z-index:60;transition:transform .3s;box-shadow:var(--shadow)}
.toast.show{transform:translateX(-50%) translateY(0)}

/* ===== Cupón VELCO20 ===== */
.cupon-band{padding-top:36px}
.cupon-ticket{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;
  background:linear-gradient(120deg,#FF6A2C 0%,#FF8A3C 45%,#FFB020 100%);color:#1a0e04;
  border-radius:20px;padding:20px 28px;overflow:hidden;box-shadow:0 14px 44px rgba(255,106,44,.4);
  animation:floaty 6s ease-in-out infinite}
.cupon-ticket::before,.cupon-ticket::after{content:"";position:absolute;width:26px;height:26px;border-radius:50%;background:var(--azul-deep);top:50%;transform:translateY(-50%)}
.cupon-ticket::before{left:-13px}.cupon-ticket::after{right:-13px}
.cupon-spark{position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 62%);transform:translateX(-120%);animation:shine 3.4s ease-in-out infinite;pointer-events:none}
.cupon-left{display:flex;flex-direction:column;align-items:center;line-height:1;padding-right:20px;border-right:2px dashed rgba(26,14,4,.35)}
.cupon-off{font-family:var(--font-d);font-weight:800;font-size:46px;display:flex;align-items:baseline;gap:4px;animation:pulseScale 2.2s ease-in-out infinite}
.cupon-off small{font-size:18px;font-weight:800}
.cupon-sub{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-top:4px}
.cupon-mid strong{font-family:var(--font-d);font-size:20px;display:block;margin-bottom:4px}
.cupon-mid span{font-size:13px;opacity:.85}
.cupon-right{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:180px}
.cupon-code{font-family:var(--font-m);font-weight:800;font-size:22px;letter-spacing:2px;text-align:center;background:#fff;color:#000;border:2px dashed #0E2038;border-radius:10px;padding:10px}
.cupon-copy{background:var(--azul);color:#122239;border:none;border-radius:10px;padding:11px;font-weight:700;font-size:14px;transition:.15s}
.cupon-copy:hover{background:#DCE6F2;transform:translateY(-1px)}
.cupon-ticket.pop{animation:pop .4s ease}

/* ===== Urgencia / escasez ===== */
.badge.low{background:#EF4444;color:#122239}
.cupon-timer{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:700;background:rgba(26,14,4,.15);padding:5px 10px;border-radius:8px;max-width:100%;line-height:1.35}
.cupon-timer b{font-family:var(--font-m)}
.scarcity{display:flex;flex-direction:column;justify-content:flex-end;gap:5px;margin-top:2px;min-height:24px}
.scar-none{min-height:24px}
.scar-bar{height:5px;background:rgba(239,68,68,.18);border-radius:99px;overflow:hidden}
.scar-bar i{display:block;height:100%;background:linear-gradient(90deg,#EF4444,#FFB020);border-radius:99px;animation:scarPulse 2s ease-in-out infinite}
.scarcity span{font-size:11px;color:#E8551A;font-weight:600}
@keyframes scarPulse{0%,100%{opacity:.85}50%{opacity:1}}

/* ============================================================================
   PDP UNICORNIO — azul Francia profundo · glassmorphism · acento neón naranja
   Todo scopeado bajo #pdp (el resto de la tienda sigue en tema claro).
   ============================================================================ */
.pdp{display:none;padding-block:0 70px}
body.pdp-open main > section:not(.pdp){display:none}
body.pdp-open .pdp{display:block}
body.pdp-open{background:#07111f}
#pdp{
  --v-nar:#FF6A2C; --v-nar-hot:#FF8A4C; --v-nar-deep:#E8551A;
  --v-fr:#2E5FA8; --v-fr-lt:#6B9BE0; --v-green:#2FD37A; --v-green-d:#1E9E59;
  --v-ink:#EAF1FB; --v-mut:#A7BAD6; --v-mut2:#7E96B8;
  --v-glass:rgba(255,255,255,.055); --v-glass-2:rgba(255,255,255,.09);
  --v-brd:rgba(120,165,230,.22); --v-brd-2:rgba(120,165,230,.36);
  --v-card:linear-gradient(165deg,rgba(26,52,92,.55),rgba(12,28,54,.42));
  position:relative;color:var(--v-ink);font-family:var(--font-b);
  padding-block:26px 0;
  background:
    radial-gradient(1150px 640px at 80% -10%,rgba(255,106,44,.17),transparent 58%),
    radial-gradient(1000px 680px at 2% 8%,rgba(46,95,168,.30),transparent 60%),
    linear-gradient(180deg,#0C1F3E 0%,#0A1A33 44%,#08152A 100%);
}
#pdp::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 40% at 50% 0,rgba(255,138,76,.10),transparent 70%);opacity:.8}
#pdp > .wrap{position:relative}
#pdp a{color:var(--v-nar-hot)}
#pdp h1,#pdp h2,#pdp h3{color:var(--v-ink)}
#pdp .crumbs{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--v-mut2);margin-bottom:22px;flex-wrap:wrap}
#pdp .crumbs a{color:var(--v-mut)}
#pdp .crumbs a:hover{color:var(--v-nar-hot)}
#pdp .crumbs b{color:var(--v-ink)}
#pdp .pdp-top{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:42px;align-items:start;animation:vPdpIn .5s cubic-bezier(.2,.7,.2,1) both}
@keyframes vPdpIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* ── Galería glass ── */
#pdp .pdp-gallery{position:sticky;top:84px}
#pdp .pdp-main{position:relative;background:linear-gradient(165deg,rgba(255,255,255,.96),rgba(226,236,250,.9));border-radius:22px;aspect-ratio:1;display:grid;place-items:center;padding:30px;border:1px solid var(--v-brd-2);box-shadow:0 30px 70px -24px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.5);overflow:hidden}
/* producto suelto: foto centrada (H y V) sobre la bandeja clara, sin recortes */
#pdp .pdp-main img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;margin:auto;object-fit:contain;object-position:center center}
/* combo: el creativo es full-bleed 4:5 → sin padding, fondo oscuro del tema, llena y centra */
#pdp .pdp-main.is-combo{aspect-ratio:4/5;padding:0;background:#0E2038;place-items:stretch}
#pdp .pdp-main.is-combo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center center}
#pdp .pdp-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;justify-content:center}
#pdp .pdp-thumbs img{width:64px;height:64px;object-fit:contain;background:rgba(255,255,255,.92);border:2px solid var(--v-brd);border-radius:12px;padding:5px;cursor:pointer;transition:.16s}
#pdp .pdp-thumbs img.active,#pdp .pdp-thumbs img:hover{border-color:var(--v-nar);box-shadow:0 0 0 3px rgba(255,106,44,.22)}
/* ── Columna de decisión ── */
#pdp .pdp-eyebrow{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--v-nar-hot);background:rgba(255,106,44,.12);border:1px solid rgba(255,106,44,.32);padding:5px 12px;border-radius:999px}
#pdp .pdp-info h1{font-family:var(--font-d);font-size:clamp(25px,3.1vw,38px);line-height:1.08;letter-spacing:-.02em;margin:13px 0 9px}
#pdp .pdp-meta{font-size:12px;color:var(--v-mut2);margin-bottom:18px;font-family:var(--font-m);letter-spacing:.04em}
/* precio */
#pdp .pdp-pricecard{position:relative;background:var(--v-card);border:1px solid var(--v-brd-2);border-radius:18px;padding:18px 20px;margin-bottom:20px;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 44px -22px rgba(0,0,0,.6)}
#pdp .pdp-pricecard::after{content:"";position:absolute;right:-40px;top:-60px;width:180px;height:180px;background:radial-gradient(circle,rgba(255,106,44,.26),transparent 68%);pointer-events:none}
#pdp .pdp-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0}
#pdp .pdp-price .price{font-family:var(--font-d);font-weight:800;font-size:clamp(34px,5.4vw,46px);line-height:1;color:#fff;letter-spacing:-.02em;text-shadow:0 2px 26px rgba(255,138,76,.35)}
#pdp .pdp-was{font-family:var(--font-m);font-size:17px;color:var(--v-mut2);text-decoration:line-through;text-decoration-color:rgba(255,106,44,.7);text-decoration-thickness:2px}
#pdp .pdp-unit{font-size:12px;color:var(--v-mut);font-weight:600;letter-spacing:.2px}
#pdp .pdp-badge{margin-left:auto;align-self:center;font-family:var(--font-d);font-size:12.5px;font-weight:800;padding:6px 12px;border-radius:999px;white-space:nowrap}
#pdp .pdp-badge.off{color:#1a0e04;background:linear-gradient(120deg,var(--v-nar),#FFB020);box-shadow:0 6px 18px rgba(255,106,44,.4)}
#pdp .pdp-badge.gain{color:#04210f;background:linear-gradient(120deg,#34D399,var(--v-green));box-shadow:0 6px 18px rgba(34,197,94,.34)}
#pdp .pdp-badge.mayor{color:var(--v-ink);background:rgba(120,165,230,.16);border:1px solid var(--v-brd-2)}
#pdp .pdp-save{display:flex;align-items:flex-start;gap:9px;margin-top:13px;font-size:13.5px;line-height:1.5;color:var(--v-mut)}
#pdp .pdp-save .pdp-save-ic{flex:0 0 auto;font-size:16px;line-height:1.3}
#pdp .pdp-save b{color:var(--v-ink);font-family:var(--font-m);font-weight:700}
#pdp .pdp-save b.win{color:var(--v-green);font-family:var(--font-d);font-weight:800}
#pdp .pdp-save s{color:var(--v-mut2)}
/* tira de specs — cada tile su ícono propio */
#pdp .pdp-specs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
#pdp .pdp-spec{display:flex;align-items:center;gap:11px;background:var(--v-glass);border:1px solid var(--v-brd);border-radius:14px;padding:12px 13px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .18s,transform .18s,background .18s}
#pdp .pdp-spec:hover{transform:translateY(-2px);border-color:var(--v-brd-2);background:var(--v-glass-2)}
#pdp .pdp-spec-ic{flex:0 0 auto;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(150deg,rgba(255,106,44,.2),rgba(255,106,44,.06));border:1px solid rgba(255,106,44,.3)}
#pdp .pdp-spec-ic svg{width:20px;height:20px;fill:none;stroke:var(--v-nar-hot);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#pdp .pdp-spec.is-ship .pdp-spec-ic{background:linear-gradient(150deg,rgba(47,211,122,.22),rgba(47,211,122,.05));border-color:rgba(47,211,122,.38)}
#pdp .pdp-spec.is-ship .pdp-spec-ic svg{stroke:var(--v-green);fill:var(--v-green)}
#pdp .pdp-spec-tx b{display:block;font-family:var(--font-d);font-size:13px;font-weight:700;color:var(--v-ink);line-height:1.2}
#pdp .pdp-spec-tx small{display:block;font-size:11.5px;color:var(--v-mut);line-height:1.3;margin-top:2px}
/* urgencia honesta (solo el countdown real de despacho) */
#pdp .pdp-urgency{margin-bottom:16px}
#pdp .urg-timer{display:flex;align-items:center;gap:7px;flex-wrap:wrap;background:rgba(255,106,44,.1);border:1px solid rgba(255,106,44,.32);border-radius:12px;padding:11px 14px;font-size:13px;font-weight:600;color:var(--v-ink);line-height:1.4}
#pdp .urg-timer b{color:var(--v-ink)}
#pdp .urg-timer .js-timer{font-family:var(--font-m);color:var(--v-nar-hot);font-weight:700}
/* zona de compra */
#pdp .pdp-buy{display:flex;gap:12px;margin-bottom:11px}
#pdp .stepper{display:flex;align-items:center;border:1px solid var(--v-brd-2);border-radius:13px;overflow:hidden;background:rgba(255,255,255,.04)}
#pdp .stepper button{width:46px;height:54px;background:rgba(255,255,255,.05);border:none;color:var(--v-ink);font-size:20px;cursor:pointer;transition:.15s}
#pdp .stepper button:hover{background:rgba(255,106,44,.2);color:#fff}
#pdp .stepper input{width:48px;height:54px;text-align:center;background:transparent;border:none;color:var(--v-ink);font-size:17px;font-family:var(--font-m);font-weight:700}
#pdp .pdp-buy .pdp-add{flex:1;height:54px;border-radius:13px;font-family:var(--font-d);font-weight:800;font-size:15.5px;background:linear-gradient(135deg,var(--v-nar-hot),var(--v-nar) 55%,var(--v-nar-deep));color:#1a0e04;border:none;box-shadow:0 12px 30px -8px rgba(255,106,44,.7),inset 0 1px 0 rgba(255,255,255,.3);transition:transform .15s,box-shadow .2s,filter .15s}
#pdp .pdp-buy .pdp-add:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 18px 40px -10px rgba(255,106,44,.8)}
#pdp .pdp-buy .pdp-add.added{background:linear-gradient(135deg,#34D399,var(--v-green));color:#04210f}
/* WhatsApp: el verde #25D366 es claro → texto blanco falla AA. Va texto casi negro (contraste ~7:1)
   + un tenue velo blanco para separar el icono/wordmark del verde. */
#pdp .pdp-wa{display:flex;align-items:center;gap:11px;width:100%;margin-bottom:14px;padding:13px 16px;border-radius:13px;background:linear-gradient(135deg,#1FBE5C,#139B48);color:#042012;font-family:var(--font-d);font-weight:800;font-size:15px;text-decoration:none;box-shadow:0 12px 28px -10px rgba(37,211,102,.7),inset 0 1px 0 rgba(255,255,255,.3);transition:transform .15s,filter .15s}
#pdp .pdp-wa:hover{transform:translateY(-2px);filter:brightness(1.05)}
#pdp .pdp-wa svg{flex:0 0 auto;fill:#042012}
#pdp .pdp-wa em{margin-left:auto;font-style:normal;font-family:var(--font-b);font-weight:700;font-size:11.5px;color:#042012;opacity:.78}
#pdp .pdp-quick{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--v-mut2);margin-bottom:16px;flex-wrap:wrap}
#pdp .qbtn{background:rgba(255,255,255,.05);border:1px solid var(--v-brd);color:var(--v-ink);border-radius:9px;padding:8px 15px;font-weight:700;font-size:13px;font-family:var(--font-m);cursor:pointer;transition:.15s}
#pdp .qbtn:hover{border-color:var(--v-nar);color:var(--v-nar-hot);background:rgba(255,106,44,.1)}
#pdp .pdp-packnudge{margin-bottom:14px;padding:11px 14px;background:rgba(255,106,44,.09);border:1px solid rgba(255,106,44,.28);border-radius:12px;font-size:13px;line-height:1.5;color:var(--v-mut)}
#pdp .pdp-packnudge b{color:var(--v-ink)}
#pdp .pdp-reassure{font-size:12px;color:var(--v-mut2);line-height:1.5;margin:0}
#pdp .pdp-reassure b{color:var(--v-mut)}
/* ── widget dedicado de medios de pago (Mercado Pago, QR, tarjeta, efectivo o contra entrega) ── */
#pdp .pdp-mp{margin-bottom:14px;padding:15px 16px 14px;border-radius:15px;background:var(--v-card);border:1px solid var(--v-brd-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 14px 34px -20px rgba(0,0,0,.55)}
#pdp .pdp-mp-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
#pdp .pdp-mp-logo{height:34px;width:auto;display:block;background:#fff;border-radius:8px;padding:5px 8px;box-shadow:0 4px 12px -4px rgba(0,0,0,.4)}
#pdp .pdp-mp-tag{font-family:var(--font-d);font-weight:800;font-size:13.5px;color:var(--v-ink);letter-spacing:-.01em}
#pdp .pdp-mp-methods{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:11px}
#pdp .pdp-mp-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;font-family:var(--font-b);color:var(--v-ink);background:var(--v-glass-2);border:1px solid var(--v-brd);border-radius:10px;padding:7px 11px}
#pdp .pdp-mp-chip svg{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:var(--v-fr-lt);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#pdp .pdp-mp-cod{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.4;color:var(--v-mut)}
#pdp .pdp-mp-cod b{color:var(--v-green);font-family:var(--font-d);font-weight:800}
#pdp .pdp-mp-cod svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:var(--v-green);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
/* ── secciones informativas (cómo comprar / garantías) ── */
#pdp .pdp-sec-head{margin:0 0 18px}
#pdp .pdp-kick{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--v-nar-hot);background:rgba(255,106,44,.1);border:1px solid rgba(255,106,44,.28);padding:5px 12px;border-radius:999px}
#pdp .pdp-sec-head h2{font-family:var(--font-d);font-size:clamp(21px,2.8vw,28px);font-weight:800;letter-spacing:-.015em;margin:11px 0 0}
#pdp .pdp-sec-head p{margin:5px 0 0;font-size:14px;color:var(--v-mut);line-height:1.5}
#pdp .pdp-how,#pdp .pdp-assur{margin-top:40px}
#pdp .pdp-how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
#pdp .pdp-step{display:flex;gap:13px;align-items:flex-start;background:var(--v-card);border:1px solid var(--v-brd);border-radius:16px;padding:18px 16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
#pdp .pdp-step-ic{position:relative;flex:0 0 auto;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(150deg,rgba(255,106,44,.22),rgba(255,106,44,.06));border:1px solid rgba(255,106,44,.32)}
#pdp .pdp-step-ic svg{width:22px;height:22px;fill:none;stroke:var(--v-nar-hot);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#pdp .pdp-step.is-win .pdp-step-ic{background:linear-gradient(150deg,rgba(47,211,122,.22),rgba(47,211,122,.05));border-color:rgba(47,211,122,.38)}
#pdp .pdp-step.is-win .pdp-step-ic svg{stroke:var(--v-green)}
#pdp .pdp-step-ic b{position:absolute;top:-7px;right:-7px;width:21px;height:21px;border-radius:50%;background:var(--v-nar);color:#1a0e04;font-family:var(--font-m);font-weight:700;font-size:11px;display:grid;place-items:center;box-shadow:0 3px 8px rgba(255,106,44,.5)}
#pdp .pdp-step.is-win .pdp-step-ic b{background:var(--v-green);color:#04210f}
#pdp .pdp-step>div>b{display:block;font-family:var(--font-d);font-size:14px;font-weight:700;color:var(--v-ink);line-height:1.25}
#pdp .pdp-step>div>small{display:block;margin-top:5px;font-size:12.5px;color:var(--v-mut);line-height:1.45}
#pdp .pdp-assur-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
#pdp .pdp-assur-card{background:var(--v-glass);border:1px solid var(--v-brd);border-radius:15px;padding:16px 15px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .18s,transform .18s}
#pdp .pdp-assur-card:hover{transform:translateY(-3px);border-color:var(--v-brd-2)}
#pdp .pdp-assur-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;margin-bottom:10px;background:linear-gradient(150deg,rgba(107,155,224,.2),rgba(46,95,168,.08));border:1px solid var(--v-brd-2)}
#pdp .pdp-assur-ic svg{width:21px;height:21px;fill:none;stroke:var(--v-fr-lt);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#pdp .pdp-assur-card.is-ship .pdp-assur-ic{background:linear-gradient(150deg,rgba(47,211,122,.22),rgba(47,211,122,.05));border-color:rgba(47,211,122,.38)}
#pdp .pdp-assur-card.is-ship .pdp-assur-ic svg{stroke:var(--v-green);fill:var(--v-green)}
#pdp .pdp-assur-card b{display:block;font-family:var(--font-d);font-size:13.5px;font-weight:700;color:var(--v-ink);line-height:1.2}
#pdp .pdp-assur-card small{display:block;margin-top:5px;font-size:12px;color:var(--v-mut);line-height:1.4}
/* tarjeta destacada "ganás %": acento verde ganancia */
#pdp .pdp-assur-card.is-win .pdp-assur-ic{background:linear-gradient(150deg,rgba(47,211,122,.22),rgba(47,211,122,.05));border-color:rgba(47,211,122,.4)}
#pdp .pdp-assur-card.is-win .pdp-assur-ic svg{stroke:var(--v-green)}
#pdp .pdp-assur-card.is-win b{color:var(--v-green)}
/* ── comparación Velco vs. otros mayoristas (sin nombrar marcas) ── */
#pdp .pdp-vs{margin-top:22px;background:var(--v-card);border:1px solid var(--v-brd-2);border-radius:18px;padding:18px 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 44px -22px rgba(0,0,0,.55)}
#pdp .pdp-vs-head{font-family:var(--font-d);font-size:16px;font-weight:800;color:var(--v-ink);margin-bottom:14px}
#pdp .pdp-vs-head b{color:var(--v-nar-hot)}
#pdp .pdp-vs-head span{color:var(--v-mut2);font-weight:600;font-size:13.5px}
#pdp .pdp-vs-table{display:flex;flex-direction:column;gap:2px}
#pdp .pdp-vs-row{display:grid;grid-template-columns:minmax(96px,1fr) 1.3fr 1.3fr;gap:10px;align-items:center;padding:10px 4px;border-top:1px solid var(--v-brd)}
#pdp .pdp-vs-row:first-child{border-top:0}
#pdp .pdp-vs-feat{font-size:12.5px;font-weight:700;color:var(--v-mut)}
#pdp .pdp-vs-col{font-size:12.5px;line-height:1.35;font-weight:600}
#pdp .pdp-vs-labels .pdp-vs-col{font-family:var(--font-d);font-weight:800;font-size:12px;letter-spacing:.02em;text-transform:uppercase}
#pdp .pdp-vs-col-v{color:var(--v-green)}
#pdp .pdp-vs-col-o{color:var(--v-mut2)}
#pdp .pdp-vs-v{color:var(--v-ink)}
#pdp .pdp-vs-v::first-letter{color:var(--v-green);font-weight:800}
#pdp .pdp-vs-o{color:var(--v-mut2)}
/* ── rieles de relacionados ── */
#pdp .pdp-rail{margin-top:42px}
#pdp .pdp-rail-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}
#pdp .pdp-rail h3{font-family:var(--font-d);font-size:19px;font-weight:800}
#pdp .pdp-rail-arrows{display:flex;gap:8px;flex-shrink:0}
#pdp .pdp-arrow{width:38px;height:38px;border-radius:11px;background:var(--v-glass);border:1px solid var(--v-brd);color:var(--v-ink);font-size:20px;line-height:1;cursor:pointer;transition:.15s}
#pdp .pdp-arrow:hover{border-color:var(--v-nar);color:var(--v-nar-hot);background:rgba(255,106,44,.1)}
@media(max-width:640px){#pdp .pdp-arrow{width:34px;height:34px;font-size:18px;border-radius:10px}}
#pdp .rail-track{display:flex;gap:14px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
#pdp .rail-track::-webkit-scrollbar{display:none}
#pdp .rail-card{flex:0 0 170px;scroll-snap-align:start;background:var(--v-card);border:1px solid var(--v-brd);border-radius:14px;overflow:hidden;transition:.2s;text-decoration:none}
#pdp .rail-card:hover{transform:translateY(-4px);border-color:var(--v-brd-2)}
#pdp .rail-img{position:relative;background:rgba(255,255,255,.95);aspect-ratio:1;display:grid;place-items:center;padding:12px}
#pdp .rail-img img{width:100%;height:100%;object-fit:contain}
#pdp .rail-tag{position:absolute;top:8px;left:8px;background:var(--v-nar);color:#1a0e04;font-size:10px;font-weight:800;padding:3px 7px;border-radius:6px}
#pdp .rail-name{display:block;padding:10px 12px 0;font-size:13px;font-weight:600;line-height:1.3;height:52px;overflow:hidden;color:var(--v-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}
#pdp .rail-price{display:block;padding:2px 12px 12px;font-family:var(--font-d);font-weight:800;color:var(--v-nar-hot)}
#pdp .pdp-back{margin-top:40px;text-align:center}
#pdp .pdp-back .btn-ghost{border:1px solid var(--v-brd-2);color:var(--v-ink)}
#pdp .pdp-back .btn-ghost:hover{border-color:var(--v-nar);color:var(--v-nar-hot)}
@media(max-width:760px){
  #pdp .pdp-how-steps{grid-template-columns:1fr}
  #pdp .pdp-assur-grid{grid-template-columns:1fr 1fr}
  #pdp .pdp-vs-row{grid-template-columns:1fr 1fr;gap:6px 10px}
  #pdp .pdp-vs-feat{grid-column:1 / -1;margin-bottom:-2px}
  #pdp .pdp-vs-labels{display:none}
}
@media(max-width:460px){
  #pdp .pdp-specs{grid-template-columns:1fr}
  #pdp .pdp-badge{margin-left:0}
  #pdp .pdp-assur-grid{grid-template-columns:1fr}
}

/* ===== Footer SEO ===== */
.footer-seo{padding-block:20px 0}
.footer-seo p{color:var(--gris);font-size:12.5px;line-height:1.7;max-width:980px}
.footer-seo strong{color:#51617A}
.footer-geo{padding-block:14px 0;font-size:12px;line-height:2;color:var(--gris-2,#6f83a0)}
.footer-geo strong{color:#51617A;margin-right:6px}
.footer-geo a{color:var(--gris);text-decoration:none;margin-right:14px;white-space:nowrap}
.footer-geo a:hover{color:var(--naranja)}

/* ===== Premium 3D ===== */
.grid{perspective:1400px}
.card{transform-style:preserve-3d;transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .2s,box-shadow .2s;will-change:transform}
.card::after{content:"";position:absolute;inset:0;border-radius:var(--radius);background:radial-gradient(600px circle at var(--mx,50%) var(--my,0%),rgba(255,138,60,.14),transparent 40%);opacity:0;transition:opacity .3s;pointer-events:none}
.card:hover::after{opacity:1}
.hero-card{transform-style:preserve-3d;will-change:transform}
.hero-inner{perspective:1400px}
.hero h1 .grad{background-size:200% auto;animation:sheen 6s linear infinite}
@keyframes sheen{to{background-position:200% center}}

/* ===== Animaciones ===== */
.reveal{opacity:0;transform:translateY(34px) scale(.98);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@keyframes shine{0%{transform:translateX(-120%)}55%,100%{transform:translateX(220%)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes pulseScale{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.03)}100%{transform:scale(1)}}
@keyframes glowPulse{0%,100%{box-shadow:0 8px 30px rgba(255,106,44,.35)}50%{box-shadow:0 8px 40px rgba(255,106,44,.65)}}
.btn-primary{animation:glowPulse 2.8s ease-in-out infinite}
.cart-count{animation:pop .3s ease}
@media(prefers-reduced-motion:reduce){
  .cupon-ticket,.cupon-off,.cupon-spark,.btn-primary,.hero-glow,.announce-track{animation:none!important}
  .reveal{opacity:1;transform:none;transition:none}
}

/* Responsive */
@media(max-width:960px){
  .hero-inner{grid-template-columns:1fr;gap:30px}
  .hero-card{max-width:440px}
  .perks{grid-template-columns:repeat(2,1fr)}
  .cat-layout{grid-template-columns:1fr}
  #pdp .pdp-top{grid-template-columns:1fr;gap:24px}
  #pdp .pdp-gallery{position:static}
  #pdp .pdp-main{max-width:440px;margin-inline:auto}
  .filters{position:fixed;top:0;left:0;height:100%;width:min(320px,86%);z-index:50;border-radius:0;transform:translateX(-100%);transition:transform .3s;overflow:auto}
  .filters.show{transform:translateX(0)}
  .filters-head{display:flex}
  .filters-toggle{display:block}
  .modal-inner{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr;gap:24px}
}
@media(max-width:720px){
  .cupon-ticket{grid-template-columns:1fr;text-align:center;gap:14px;padding:22px 18px;overflow:hidden}
  .cupon-left{flex-direction:row;justify-content:center;gap:12px;padding-right:0;padding-bottom:14px;border-right:none;border-bottom:2px dashed rgba(26,14,4,.35)}
  .cupon-off{font-size:38px}
  .cupon-mid{min-width:0}
  .cupon-mid strong{font-size:18px}
  .cupon-timer{margin-inline:auto;white-space:normal;text-align:left}
  .cupon-right{min-width:0}
  .cupon-code{font-size:20px;letter-spacing:1.5px;word-break:break-word}
}
@media(max-width:560px){
  .wrap{padding-inline:18px}
  .header-inner{flex-wrap:wrap}
  .header-actions{margin-left:auto}
  .search{order:3;flex-basis:100%}
  .brand-tag{display:none}
  .perks{grid-template-columns:1fr}
  /* catálogo móvil: 2 columnas firmes, cards compactas */
  .grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .card-img{padding:10px}
  .card-body{padding:11px;gap:6px}
  .card-name{font-size:12.5px;min-height:53px}
  .price{font-size:18px}
  .price-old{font-size:12px}
  .price-block{gap:6px}
  .price-unit{font-size:10px}
  .gain-chip{font-size:10.5px;padding:5px 7px;gap:6px;border-radius:9px}
  .gain-chip em{font-size:10px;padding:1px 6px}
  .card-cuotas{display:none}
  .card-foot{gap:6px;padding-top:4px}
  .stepper button{width:28px;height:34px}
  .stepper input{width:30px;height:34px}
  .add-btn{font-size:12px;padding:8px 4px}
  /* Eyebrow: en móvil el texto largo pasa a 2+ líneas; el pill 999px queda deforme.
     Se baja el radio a chip y se compacta la tipografía para que acompañe multilínea. */
  .hero .eyebrow{border-radius:14px;letter-spacing:1px;font-size:10.5px;line-height:1.45;padding:8px 14px}
  .hero-stats{gap:18px}
  /* carrito móvil: ocupa toda la pantalla */
  .drawer{width:100%}
}
@media(max-width:380px){
  .grid{gap:8px}
  .card-body{padding:9px}
  .card-name{font-size:12px;min-height:50px}
}

/* ===== Carrito optimizado en conversión ===== */
.cs-rail{margin:16px 0 4px;border-top:1px solid var(--border);padding-top:14px}
.cs-head{font-family:var(--font-d);font-size:14px;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.cs-head small{font-weight:400;color:var(--gris);font-size:11.5px}
.cs-track{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
.cs-track::-webkit-scrollbar{display:none}
.cs-card{flex:0 0 160px;scroll-snap-align:start;background:var(--azul-deep);border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;text-align:center}
.cs-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#fff}
.cs-name{font-size:12px;line-height:1.35;min-height:49px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#51617A}
.cs-price{font-family:var(--font-d);font-weight:700;color:var(--naranja);font-size:14.5px}
.cs-add{background:rgba(255,106,44,.14);color:var(--naranja);border:1px solid rgba(255,106,44,.4);border-radius:8px;padding:8px 6px;font-size:12.5px;font-weight:600;cursor:pointer;transition:.15s;white-space:nowrap}
.cs-add:hover{background:var(--naranja);color:#1a0e04}
.ticket-bar{margin-bottom:12px}
.tb-head{font-size:12.5px;color:#51617A;margin-bottom:6px}
.tb-track{height:8px;background:rgba(255,255,255,.09);border-radius:8px;overflow:hidden}
.tb-fill{height:100%;background:var(--ambar);border-radius:8px;transition:width .4s cubic-bezier(.4,0,.2,1)}
.tb-fill.ok{background:var(--verde)}
.tb-sub{font-size:11px;color:#8595AC;margin-top:5px}
.ticket-bar.tb-freeship .tb-head{color:var(--verde)}
.ticket-bar.tb-freeship .tb-fill{background:linear-gradient(90deg,var(--verde),#16A34A);box-shadow:0 0 12px rgba(34,197,94,.5)}
.cup-box{margin-bottom:12px}
.cup-row{display:flex;gap:8px}
.cup-row input{flex:1;background:var(--azul-deep);border:1px dashed var(--border);border-radius:9px;padding:10px 12px;color:#122239;font-size:13px;font-family:inherit}
.cup-row button{background:var(--azul);color:#122239;border:none;border-radius:9px;padding:0 16px;font-weight:600;cursor:pointer;font-size:13px}
.cup-on{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.4);border-radius:9px;padding:9px 12px;font-size:12.5px;color:var(--verde);display:flex;align-items:center;gap:6px}
.cup-on button{margin-left:auto;background:none;border:none;color:var(--gris);text-decoration:underline;cursor:pointer;font-size:12px}
.pay-methods{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0;font-size:11px;color:var(--gris)}
.pay-methods b{background:var(--azul-deep);border:1px solid var(--border);border-radius:7px;padding:5px 8px;font-weight:600;color:#51617A;font-size:11px}
.pm-mp{background:#fff!important;border-color:#fff!important;padding:4px 8px!important;display:inline-flex;align-items:center}
.pm-mp img{display:block;height:18px;width:auto}

/* ---- urgencia: banner envío prioritario (corte 16h) ---- */
.ship-banner{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;border-radius:12px;padding:15px 18px;font-size:12.5px;line-height:1.45;margin-bottom:12px}
.ship-banner.ship-open{background:linear-gradient(90deg,rgba(255,106,44,.20),rgba(255,176,32,.12));border:1px solid rgba(255,106,44,.5);animation:glowPulse 2.4s ease-in-out infinite}
.ship-banner.ship-open::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 32%,rgba(255,255,255,.45) 48%,transparent 62%);transform:translateX(-120%);animation:shine 3.6s ease-in-out infinite;pointer-events:none}
.ship-banner.ship-open .ship-ic{animation:pulseScale 2.4s ease-in-out infinite}
.ship-banner.ship-closed{background:rgba(255,255,255,.7);border:1px solid var(--border)}
.ship-ic{flex:none;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--naranja)}
.ship-banner.ship-closed .ship-ic{background:var(--gris)}
.ship-txt{color:#122239;min-width:0;flex:1}
.ship-txt b{color:var(--naranja);font-weight:800;font-variant-numeric:tabular-nums}
.ship-banner.ship-closed .ship-txt b{color:#122239}

/* ---- escasez por ítem en el carrito ---- */
.ci-scar{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--ambar);margin-top:3px}
.ci-scar-dot{width:7px;height:7px;border-radius:50%;background:var(--naranja);box-shadow:0 0 0 0 rgba(255,106,44,.6);animation:scarpulse 1.6s infinite}
@keyframes scarpulse{0%{box-shadow:0 0 0 0 rgba(255,106,44,.55)}70%{box-shadow:0 0 0 6px rgba(255,106,44,0)}100%{box-shadow:0 0 0 0 rgba(255,106,44,0)}}

/* ---- sellos de confianza (imágenes SVG, sin emojis) ---- */
.trust-seals{display:flex;flex-direction:column;gap:7px;margin:4px 0 2px}
.trust-seals img{display:block;width:100%;height:auto;border-radius:10px}

/* ---- fila de medios de pago (dedup) ---- */
.pay-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:11.5px;color:var(--gris);justify-content:center;margin-top:2px}
.pay-row .pay-mp{background:#fff;border-radius:6px;padding:4px 7px;display:inline-flex;align-items:center}
.pay-row .pay-sep{opacity:.5}
.pay-row .pay-alt{color:#51617A}

/* ---- barra de progreso: desbloqueo de 6 cuotas ($250.000) ---- */
.cuotas-bar{position:relative;overflow:hidden;background:rgba(255,106,44,.08);border:1px solid rgba(255,106,44,.34);border-radius:12px;padding:10px 12px;margin-bottom:12px}
.cuotas-bar:not(.ok){animation:glowPulse 2.6s ease-in-out infinite}
.cuotas-bar.ok{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.5);animation:pop .45s ease}
.cb-head{font-size:12px;color:#122239;margin-bottom:7px;display:flex;align-items:center;gap:6px;line-height:1.3}
.cb-head b{color:var(--naranja);font-weight:800;font-variant-numeric:tabular-nums}
.cuotas-bar.ok .cb-head,.cuotas-bar.ok .cb-head b{color:var(--verde)}
.cb-check{flex:none}
.cb-track{height:8px;background:rgba(255,255,255,.09);border-radius:8px;overflow:hidden}
.cb-fill{position:relative;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--naranja),var(--ambar));transition:width .5s cubic-bezier(.4,0,.2,1)}
.cuotas-bar.ok .cb-fill{background:linear-gradient(90deg,var(--verde),#4ade80)}
.cb-fill::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.5) 48%,transparent 62%);transform:translateX(-120%);animation:shine 2.4s ease-in-out infinite;pointer-events:none}

/* ícono candado dentro del botón de cierre */
.wa-lock{flex:none}

/* ═══════════════ PREMIUM v3 · futurista / 3D / glass ═══════════════ */
:root{--glass:rgba(255,255,255,.72);--glass-brd:rgba(20,50,90,.10);--neon:0 0 24px rgba(255,106,44,.28);--mesh1:rgba(255,106,44,.09);--mesh2:rgba(59,130,246,.07);--mesh3:rgba(168,85,247,.05)}
html{scroll-behavior:smooth}
body{position:relative;background:#EEF2F7}
body::before{content:"";position:fixed;inset:-20% -10% -10% -10%;z-index:-2;pointer-events:none;
  background:radial-gradient(50% 40% at 15% 8%,var(--mesh1),transparent 60%),radial-gradient(45% 45% at 88% 12%,var(--mesh2),transparent 60%),radial-gradient(60% 50% at 70% 95%,var(--mesh3),transparent 60%);
  filter:saturate(1.1);animation:auroraDrift 22s ease-in-out infinite alternate}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.35;
  background-image:linear-gradient(rgba(120,160,220,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(120,160,220,.05) 1px,transparent 1px);
  background-size:44px 44px;mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000,transparent 75%)}
@keyframes auroraDrift{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-3%,2%,0) scale(1.08)}}
/* scrollbar */
*::-webkit-scrollbar{width:11px;height:11px}
*::-webkit-scrollbar-thumb{background:linear-gradient(var(--naranja),var(--naranja-6));border-radius:8px;border:2px solid var(--azul-deep)}
*::-webkit-scrollbar-track{background:var(--azul-deep)}
/* header glass */
.header{background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.6))!important;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border-bottom:1px solid var(--glass-brd)!important;position:relative}
.header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--naranja),transparent);opacity:.7}
/* cards 3D glass */
.card{background:linear-gradient(165deg,rgba(255,255,255,.65),rgba(255,255,255,.75))!important;backdrop-filter:blur(6px);border:1px solid var(--glass-brd)!important;transform-style:preserve-3d;transition:box-shadow .3s,border-color .3s,transform .12s ease-out;box-shadow:0 8px 24px rgba(30,50,90,.10)}
.card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(180px 180px at var(--mx,50%) var(--my,0%),rgba(255,255,255,.10),transparent 60%);opacity:0;transition:opacity .3s}
.card:hover{border-color:rgba(255,106,44,.5)!important;box-shadow:0 26px 60px rgba(30,50,90,.10),0 0 0 1px rgba(255,106,44,.25),0 0 40px rgba(255,106,44,.15)}
.card:hover::after{opacity:1}
.card .price,.price-row .price{text-shadow:0 0 18px rgba(255,106,44,.45)}
.card-img,.pcard img{position:relative}
/* botones premium con barrido de brillo */
.btn-primary,.wa-checkout,.btn.btn-primary{position:relative;overflow:hidden;background:linear-gradient(120deg,#FF8A3C,var(--naranja) 45%,var(--naranja-6))!important;box-shadow:0 10px 30px rgba(255,106,44,.4),inset 0 1px 0 rgba(255,255,255,.35);border:none}
.btn-primary::before,.wa-checkout::before{content:"";position:absolute;top:0;left:-120%;width:70%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);transition:left .6s}
.btn-primary:hover::before,.wa-checkout:hover::before{left:140%}
.btn-primary:hover,.wa-checkout:hover{transform:translateY(-2px);box-shadow:0 16px 42px rgba(255,106,44,.55)}
.btn-ghost{backdrop-filter:blur(6px);background:rgba(255,255,255,.04)!important;border:1px solid var(--glass-brd)!important;transition:.25s}
.btn-ghost:hover{border-color:var(--naranja)!important;box-shadow:0 0 24px rgba(255,106,44,.25);transform:translateY(-2px)}
/* hero */
.hero h1 .grad,.grad{background:linear-gradient(100deg,#FFB020,#FF6A2C 55%,#FF8A3C);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 20px rgba(255,106,44,.35))}
.hero-card{box-shadow:0 40px 90px rgba(30,50,90,.10),0 0 60px rgba(255,106,44,.12);border:1px solid var(--glass-brd)!important;backdrop-filter:blur(8px)}
.hero-stats li strong{background:linear-gradient(100deg,#122239,#0E2038);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
/* franja beneficios / paneles glass */
.perk,.drawer,.modal,.filters{background:linear-gradient(165deg,var(--glass),rgba(255,255,255,.8))!important;backdrop-filter:blur(12px);border:1px solid var(--glass-brd)!important}
.perk{transition:.25s}.perk:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(30,50,90,.10);border-color:rgba(255,106,44,.4)!important}
.badge.off{box-shadow:0 0 18px rgba(255,106,44,.5)}
/* announce futurista */
.announce{background:linear-gradient(90deg,var(--naranja),var(--ambar),var(--naranja))!important;color:#1a0e04;border-bottom:1px solid rgba(255,176,32,.5)}
/* drawer glass + neon edge */
.drawer{box-shadow:-30px 0 80px rgba(30,50,90,.10)!important}
.drawer::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent,var(--naranja),transparent);opacity:.6}
/* ── checkout on-site ── */
.co-form{padding:4px 0 8px}
.co-h{font-family:var(--font-d);font-size:19px;margin-bottom:6px}
.co-p{color:var(--gris);font-size:13px;margin-bottom:16px;line-height:1.55}
.co-l{display:block;font-size:12.5px;color:#51617A;font-weight:600;margin:12px 0 5px}
.co-i{width:100%;background:var(--azul-deep);border:1px solid var(--glass-brd);border-radius:11px;padding:12px 14px;color:#122239;font-size:14.5px;font-family:inherit;transition:.2s}
.co-i:focus{outline:none;border-color:var(--naranja);box-shadow:0 0 0 3px rgba(255,106,44,.18)}
.co-err{color:var(--ambar);font-size:12.5px;margin-top:8px;min-height:16px}
.co-back{background:none;border:none;color:var(--gris);width:100%;margin-top:10px;cursor:pointer;font-size:13px;padding:6px}
.co-back:hover{color:#122239}
.co-ok{text-align:center;padding:34px 12px}
.co-ok-ic{font-size:56px;filter:drop-shadow(0 0 24px rgba(34,197,94,.5))}
.co-ok h3{font-family:var(--font-d);margin:12px 0 6px;font-size:22px}
.co-ok-id{color:#51617A;font-size:14px}
.co-ok-txt{color:var(--gris);font-size:13px;margin-top:12px;line-height:1.6}
@media(prefers-reduced-motion:reduce){body::before{animation:none}.btn-primary::before,.wa-checkout::before{display:none}}

/* ── FAQ SEO (home) ── */
.faq-seo{padding:20px 20px 8px}
.faq-seo h2{font-family:var(--font-d);font-size:26px;font-weight:800;margin-bottom:18px;text-align:center}
.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px}
.faq-seo details{background:linear-gradient(165deg,var(--glass),rgba(255,255,255,.8));backdrop-filter:blur(10px);border:1px solid var(--glass-brd);border-radius:12px;padding:14px 18px;transition:.2s}
.faq-seo details[open]{border-color:rgba(255,106,44,.4);box-shadow:0 0 30px rgba(255,106,44,.1)}
.faq-seo summary{cursor:pointer;font-family:var(--font-d);font-weight:700;font-size:15px;color:#122239;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px}
.faq-seo summary::-webkit-details-marker{display:none}
.faq-seo summary::after{content:"+";color:var(--naranja);font-size:22px;font-weight:400;transition:.2s}
.faq-seo details[open] summary::after{transform:rotate(45deg)}
.faq-seo details p{color:#51617A;font-size:14px;margin-top:10px;line-height:1.6}

/* ── Barra CTA sticky (mobile) ── */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;align-items:center;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.97));backdrop-filter:blur(14px);border-top:1px solid rgba(255,106,44,.35);box-shadow:0 -12px 34px rgba(30,50,90,.10);
  transform:translateY(120%);transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.sticky-cta.show{transform:translateY(0)}
.sticky-cta[hidden]{display:none!important}
.sticky-cta-info{flex:1;min-width:0}
.sticky-cta-bar{height:7px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden;margin-bottom:6px}
.sticky-cta-fill{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--naranja),var(--ambar));transition:width .35s ease}
.sticky-cta.ready .sticky-cta-fill{background:linear-gradient(90deg,var(--verde),#4ade80)}
.sticky-cta-label{font-size:12.5px;font-weight:600;color:#33465F;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.sticky-cta-label b{color:#122239}
.sticky-cta.ready .sticky-cta-label b{color:var(--verde)}
.sticky-cta-btn{flex:none;background:linear-gradient(120deg,var(--naranja),#FF8A3C);color:#1a0e04;border:none;border-radius:12px;padding:13px 20px;font-family:var(--font-d);font-weight:800;font-size:15px;box-shadow:0 8px 24px rgba(255,106,44,.4);white-space:nowrap}
.sticky-cta-btn:active{transform:scale(.97)}
@media(min-width:861px){.sticky-cta{display:none!important}}
@media(prefers-reduced-motion:reduce){.sticky-cta{transition:none}.sticky-cta-fill{transition:none}}

/* ══════════ Nosotros (quiénes somos) ══════════ */
/* ══════════ Manifiesto: por qué somos 100% online (premium + animado) ══════════ */
.manifiesto{padding:72px 0 52px;position:relative}
/* Marco con borde-gradiente vivo: el degradé anima el hue del borde */
.mani-inner{
  position:relative;max-width:980px;margin:0 auto;text-align:center;border-radius:30px;
  padding:2px; /* grosor del borde-gradiente */
  background:linear-gradient(135deg,rgba(255,106,44,.55),rgba(255,176,32,.28) 32%,rgba(30,67,106,.5) 55%,rgba(255,106,44,.4));
  background-size:300% 300%;
  animation:mani-border 9s ease infinite;
  box-shadow:0 40px 90px rgba(30,50,90,.10),0 0 0 1px rgba(255,255,255,.4);
}
.mani-inner::before{ /* superficie interior */
  content:"";position:absolute;inset:2px;border-radius:28px;z-index:0;
  background:
    radial-gradient(120% 90% at 50% -10%,rgba(255,106,44,.10),transparent 60%),
    linear-gradient(168deg,rgba(255,255,255,.98),rgba(244,247,251,.98));
}
/* Aurora que deriva por detrás del contenido */
.mani-aurora{
  position:absolute;inset:0;border-radius:28px;overflow:hidden;z-index:0;pointer-events:none;
}
.mani-aurora::before,.mani-aurora::after{
  content:"";position:absolute;width:60%;height:120%;border-radius:50%;filter:blur(60px);opacity:.55;
}
.mani-aurora::before{top:-40%;left:-10%;background:radial-gradient(closest-side,rgba(255,106,44,.6),transparent);animation:mani-float1 12s ease-in-out infinite}
.mani-aurora::after{bottom:-50%;right:-10%;background:radial-gradient(closest-side,rgba(255,176,32,.42),transparent);animation:mani-float2 14s ease-in-out infinite}
/* Grilla técnica sutil */
.mani-grid-bg{
  position:absolute;inset:2px;border-radius:28px;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:38px 38px;
  -webkit-mask-image:radial-gradient(120% 80% at 50% 0%,#000,transparent 75%);
  mask-image:radial-gradient(120% 80% at 50% 0%,#000,transparent 75%);
}
/* Barrido de brillo diagonal periódico */
.mani-sheen{
  position:absolute;inset:2px;border-radius:28px;z-index:1;pointer-events:none;overflow:hidden;
}
.mani-sheen::before{
  content:"";position:absolute;top:-60%;left:-40%;width:40%;height:220%;transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),rgba(255,255,255,.02),transparent);
  animation:mani-sweep 7s ease-in-out 1.5s infinite;
}
.mani-content{position:relative;z-index:2;padding:56px 52px 50px}
.mani-kicker{
  display:inline-flex;align-items:center;gap:9px;font-family:var(--font-m);font-size:12px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:#B3541C;margin-bottom:22px;
  padding:8px 16px 8px 12px;border-radius:99px;
  background:linear-gradient(160deg,rgba(255,106,44,.18),rgba(255,255,255,.6));
  border:1px solid rgba(255,106,44,.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 22px rgba(255,106,44,.16);
}
.mani-dot{width:9px;height:9px;border-radius:50%;background:var(--naranja);box-shadow:0 0 0 0 rgba(255,106,44,.6);animation:mani-pulse 2.2s ease-out infinite}
.mani-content h2{font-size:clamp(30px,4.8vw,50px);line-height:1.08;margin-bottom:22px;letter-spacing:-.02em}
.mani-content h2 .grad{background:linear-gradient(100deg,var(--naranja),var(--ambar));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.mani-lead{color:#51617A;font-size:16.5px;line-height:1.8;margin:0 auto 15px;max-width:64ch}
.mani-lead b{color:#122239;font-weight:700}
.mani-points{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:36px 0 34px;text-align:left}
.mani-point{
  display:flex;gap:13px;align-items:flex-start;padding:20px;border-radius:18px;
  background:linear-gradient(165deg,rgba(255,255,255,.7),rgba(255,255,255,.82));
  border:1px solid var(--glass-brd);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 26px rgba(30,50,90,.10);
  opacity:0;transform:translateY(14px);animation:mani-rise .6s ease forwards;
}
.mani-point:nth-child(1){animation-delay:.1s}
.mani-point:nth-child(2){animation-delay:.22s}
.mani-point:nth-child(3){animation-delay:.34s}
.mani-point .ic{font-size:26px;line-height:1}
.mani-point strong{display:block;font-family:var(--font-d);font-size:15.5px;color:#122239;margin-bottom:3px;letter-spacing:-.01em}
.mani-point small{color:#5A6B82;font-size:13px;line-height:1.55}
.mani-cta{font-size:16px;padding:15px 30px;box-shadow:0 14px 34px rgba(255,106,44,.4),inset 0 1px 0 rgba(255,255,255,.35)}
.mani-arrow{display:inline-block;margin-left:2px;transition:transform .25s ease}
.mani-cta:hover .mani-arrow{transform:translateX(5px)}
.mani-sign{margin-top:18px;font-family:var(--font-d);font-size:14px;color:#5A6B82;letter-spacing:.02em}
.mani-sign b{color:#51617A}

@keyframes mani-border{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes mani-float1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(14%,10%) scale(1.12)}}
@keyframes mani-float2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-12%,-8%) scale(1.1)}}
@keyframes mani-sweep{0%{left:-40%}55%{left:130%}100%{left:130%}}
@keyframes mani-pulse{0%{box-shadow:0 0 0 0 rgba(255,106,44,.55)}70%{box-shadow:0 0 0 9px rgba(255,106,44,0)}100%{box-shadow:0 0 0 0 rgba(255,106,44,0)}}
@keyframes mani-rise{to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  .mani-inner{animation:none}
  .mani-aurora::before,.mani-aurora::after,.mani-sheen::before,.mani-dot{animation:none}
  .mani-point{opacity:1;transform:none;animation:none}
}

.about{padding:64px 0 20px;position:relative}
.about-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.about-copy .eyebrow{display:inline-block;font-family:var(--font-m);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--naranja);background:rgba(255,106,44,.1);border:1px solid rgba(255,106,44,.28);padding:6px 12px;border-radius:99px;margin-bottom:16px}
.about-copy h2{font-size:clamp(28px,4vw,42px);margin-bottom:16px}
.about-copy h2 .grad{background:linear-gradient(100deg,var(--naranja),var(--ambar));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.about-copy p{color:#51617A;font-size:16px;line-height:1.7;margin-bottom:14px;max-width:56ch}
.about-copy p b{color:#122239}
.about-pillars{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}
.about-pillar{background:linear-gradient(165deg,var(--glass),rgba(255,255,255,.8));border:1px solid var(--glass-brd);border-radius:14px;padding:16px 16px 18px;transition:.2s}
.about-pillar:hover{border-color:rgba(255,106,44,.4);transform:translateY(-3px)}
.about-pillar .ic{font-size:24px;display:block;margin-bottom:8px}
.about-pillar strong{display:block;font-family:var(--font-d);font-size:15px;color:#122239;margin-bottom:4px}
.about-pillar small{color:#5A6B82;font-size:13px;line-height:1.5}
.about-visual{position:relative}
.about-figures{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.figure-card{background:linear-gradient(160deg,rgba(255,106,44,.12),rgba(255,255,255,.9));border:1px solid rgba(255,106,44,.24);border-radius:18px;padding:24px 20px;text-align:center;box-shadow:var(--shadow)}
.figure-card:nth-child(even){background:linear-gradient(160deg,rgba(30,80,160,.18),rgba(255,255,255,.9));border-color:var(--border-2)}
.figure-card b{display:block;font-family:var(--font-d);font-size:clamp(30px,5vw,44px);font-weight:800;background:linear-gradient(100deg,#122239,#0E2038);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}
.figure-card span{display:block;margin-top:8px;font-size:13px;color:#5A6B82;font-weight:600}
.about-badge{margin-top:16px;display:flex;align-items:center;gap:12px;background:rgba(34,197,94,.09);border:1px solid rgba(34,197,94,.3);border-radius:14px;padding:14px 18px}
.about-badge .ic{font-size:26px}
.about-badge div{font-size:13.5px;color:#2F6B47;line-height:1.45}
.about-badge b{color:#122239}

/* ══════════ Cómo funciona (3 pasos) ══════════ */
.steps{padding:44px 0}
.steps h2{text-align:center;font-size:clamp(24px,3.5vw,34px);margin-bottom:6px}
.steps-sub{text-align:center;color:#5A6B82;margin-bottom:34px}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{position:relative;background:linear-gradient(165deg,var(--glass),rgba(255,255,255,.8));border:1px solid var(--glass-brd);border-radius:16px;padding:28px 22px}
.step-num{position:absolute;top:-16px;left:22px;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-family:var(--font-d);font-weight:800;font-size:18px;color:#1a0e04;background:linear-gradient(120deg,var(--naranja),#FF8A3C);box-shadow:var(--glow)}
.step h3{font-size:17px;margin:14px 0 8px;color:#122239}
.step p{color:#4A5B73;font-size:14px;line-height:1.6}

/* ══════════ Contacto ══════════ */
.contacto{padding:56px 0 30px}
.contacto-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:stretch}
.contacto-aside h2{font-size:clamp(26px,3.6vw,38px);margin-bottom:14px}
.contacto-aside h2 .grad{background:linear-gradient(100deg,var(--naranja),var(--ambar));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.contacto-aside p{color:#51617A;font-size:15.5px;line-height:1.7;margin-bottom:22px;max-width:46ch}
.contacto-list{list-style:none;display:flex;flex-direction:column;gap:14px}
.contacto-list li{display:flex;gap:13px;align-items:flex-start}
.contacto-list .ic{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,106,44,.12);border:1px solid rgba(255,106,44,.28);font-size:20px}
.contacto-list strong{display:block;font-family:var(--font-d);font-size:14.5px;color:#122239}
.contacto-list a,.contacto-list small{color:#5A6B82;font-size:13.5px}
.contacto-list a:hover{color:var(--naranja)}
.contacto-form{background:linear-gradient(165deg,rgba(255,255,255,.9),rgba(255,255,255,.95));border:1px solid var(--border-2);border-radius:20px;padding:30px 28px;box-shadow:var(--shadow)}
.contacto-form h3{font-size:20px;margin-bottom:4px}
.contacto-form .fsub{color:#5A6B82;font-size:13.5px;margin-bottom:20px}
.field{margin-bottom:15px}
.field label{display:block;font-size:12.5px;font-weight:600;color:#51617A;margin-bottom:6px}
.field label i{color:var(--naranja);font-style:normal}
.field input,.field select,.field textarea{width:100%;background:rgba(255,255,255,.7);border:1px solid var(--border-2);border-radius:11px;padding:12px 14px;color:#122239;font-family:var(--font-b);font-size:14.5px;transition:.18s}
.field input::placeholder,.field textarea::placeholder{color:#6f8199}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--naranja);box-shadow:0 0 0 3px rgba(255,106,44,.16)}
.field textarea{resize:vertical;min-height:88px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contacto-form .btn{width:100%;justify-content:center;margin-top:6px}
.form-note{font-size:12px;color:#5A6B82;text-align:center;margin-top:12px;line-height:1.5}
.form-msg{margin-top:14px;padding:13px 16px;border-radius:12px;font-size:14px;font-weight:600;display:none}
.form-msg.ok{display:block;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.4);color:#15803D}
.form-msg.err{display:block;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.4);color:#D64545}

@media(max-width:860px){
  .about-inner,.contacto-inner{grid-template-columns:1fr;gap:30px}
  .steps-grid{grid-template-columns:1fr}
  .about-visual{order:-1}
  .field-row{grid-template-columns:1fr}
  .mani-points{grid-template-columns:1fr}
  .mani-inner{padding:40px 22px 36px}
}

/* ===== Newsletter mayorista ===== */
.news{border-top:1px solid var(--border);background:radial-gradient(1200px 300px at 15% 0%,rgba(255,106,44,.10),transparent 60%),linear-gradient(120deg,var(--azul-deep),#EAF0F7)}
.news-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center;padding-block:56px}
.news-kicker{display:inline-block;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--naranja);background:rgba(255,106,44,.12);border:1px solid rgba(255,106,44,.3);padding:6px 12px;border-radius:999px;margin-bottom:16px}
.news-copy h2{font-size:clamp(24px,3vw,34px);line-height:1.15;margin:0 0 12px}
.news-copy>p{color:#51617A;max-width:520px;margin:0 0 18px;line-height:1.6}
.news-perks{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.news-perks li{display:flex;align-items:center;gap:10px;color:var(--blanco);font-size:14px}
.news-perks li span{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:rgba(34,197,94,.15);color:var(--verde);font-size:12px;font-weight:800;flex:none}
.news-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);position:relative}
.news-row{display:flex;gap:10px;margin-bottom:12px}
.news-row input{flex:1;min-width:0;background:var(--azul-deep);border:1px solid var(--border-2);border-radius:12px;padding:14px 16px;color:var(--blanco);font-size:15px;font-family:var(--font-b);transition:border-color .2s,box-shadow .2s}
.news-row input::placeholder{color:var(--gris)}
.news-row input:focus{outline:none;border-color:var(--naranja);box-shadow:0 0 0 3px rgba(255,106,44,.15)}
.news-row .btn{white-space:nowrap;padding-inline:22px}
.news-form select{width:100%;background:var(--azul-deep);border:1px solid var(--border-2);border-radius:12px;padding:13px 16px;color:var(--gris);font-size:14px;font-family:var(--font-b);margin-bottom:12px}
.news-form select:focus{outline:none;border-color:var(--naranja)}
.news-note{font-size:12px;color:var(--gris);margin:0}
.news .form-msg{margin-top:12px;font-size:14px}
.news .form-msg.ok{color:var(--verde)}
.news .form-msg.err{color:#D64545}
@media(max-width:820px){
  .news-inner{grid-template-columns:1fr;gap:28px;padding-block:44px}
  .news-row{flex-direction:column}
  .news-row .btn{width:100%}
}

/* ===== Popup captación VELCO20 ===== */
.nlpop-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;background:rgba(4,10,20,.72);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .24s}
.nlpop-overlay.on{opacity:1;pointer-events:auto}
.nlpop{position:relative;width:100%;max-width:440px;background:linear-gradient(150deg,var(--surface),var(--azul-deep));border:1px solid var(--border-2);border-radius:20px;padding:30px 28px 24px;box-shadow:0 30px 80px rgba(0,0,0,.55);transform:translateY(14px) scale(.98);transition:transform .28s;text-align:center}
.nlpop-overlay.on .nlpop{transform:none}
.nlpop-x{position:absolute;top:12px;right:14px;width:32px;height:32px;border:none;background:transparent;color:var(--gris);font-size:24px;cursor:pointer;line-height:1;border-radius:8px}
.nlpop-x:hover{color:var(--blanco);background:rgba(255,255,255,.06)}
.nlpop-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--naranja);background:rgba(255,106,44,.12);border:1px solid rgba(255,106,44,.3);padding:5px 12px;border-radius:999px;margin-bottom:14px}
.nlpop-coupon{display:inline-flex;align-items:stretch;margin:2px 0 16px;border:2px dashed var(--naranja);border-radius:12px;overflow:hidden;background:rgba(255,106,44,.1)}
.nlpop-coupon-code{font-family:'Space Mono',monospace;font-weight:700;font-size:17px;letter-spacing:3px;color:var(--blanco);padding:9px 16px;display:flex;align-items:center}
.nlpop-coupon-off{background:var(--verde);color:#06230f;font-weight:800;font-size:13px;letter-spacing:.5px;padding:9px 13px;display:flex;align-items:center}
.nlpop-off{display:inline-flex;align-items:baseline;gap:4px;margin-bottom:6px}
.nlpop-off b{font-family:var(--font-d);font-size:52px;line-height:1;background:linear-gradient(100deg,#FFB020,#FF6A2C 60%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.nlpop-off span{font-family:var(--font-d);font-weight:800;font-size:20px;color:var(--ambar)}
.nlpop h3{font-size:22px;line-height:1.2;margin:2px 0 10px}
.nlpop p{color:#51617A;font-size:14px;line-height:1.55;margin:0 0 16px}
.nlpop form{display:flex;flex-direction:column;gap:10px}
.nlpop input[type=email]{background:var(--azul-deep);border:1px solid var(--border-2);border-radius:12px;padding:14px 16px;color:var(--blanco);font-size:15px;font-family:var(--font-b);text-align:center}
.nlpop input[type=email]:focus{outline:none;border-color:var(--naranja);box-shadow:0 0 0 3px rgba(255,106,44,.15)}
.nlpop form .btn{width:100%;padding:14px}
.nlpop .form-msg{font-size:13px;min-height:0;margin-top:8px}
.nlpop .form-msg.err{color:#D64545}
.nlpop-dismiss{margin-top:12px;background:none;border:none;color:var(--gris);font-size:12px;cursor:pointer;text-decoration:underline;opacity:.75}
.nlpop-dismiss:hover{opacity:1}
.nlpop-success{text-align:center}
.nlpop-check{width:56px;height:56px;margin:0 auto 12px;border-radius:999px;background:rgba(34,197,94,.15);color:var(--verde);display:grid;place-items:center;font-size:30px;font-weight:800}
.nlpop-code{font-family:var(--font-m);font-size:28px;font-weight:800;letter-spacing:3px;color:#000;background:#fff;border:2px dashed var(--naranja);border-radius:12px;padding:14px;margin:6px 0 14px}
.nlpop-success .btn{width:100%;margin-bottom:12px}
.nlpop-golink{display:inline-block;color:var(--naranja);text-decoration:none;font-weight:700;font-size:14px;margin-top:4px}
.nlpop-golink:hover{text-decoration:underline}
@media(max-width:820px){ .nlpop{padding:26px 20px 20px} .nlpop-off b{font-size:44px} }

/* offset para anclas con header sticky */
#nosotros,#contacto,#catalogo,#faq,#newsletter{scroll-margin-top:88px}

/* ══════════════ PDP · Descripción como widgets premium ══════════════ */
.pdp-widgets{margin-top:34px;padding-top:30px;border-top:1px solid var(--border);animation:pwUp .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes pwUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.pw-head{text-align:center;max-width:640px;margin:0 auto 26px}
.pw-kicker{display:inline-block;font-family:var(--font-m);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--naranja);background:rgba(255,106,44,.1);border:1px solid rgba(255,106,44,.28);padding:6px 14px;border-radius:99px;margin-bottom:12px}
.pw-head h2{font-size:clamp(22px,3vw,32px);margin-bottom:8px}
.pw-head p{color:#5A6B82;font-size:14.5px}

/* stat cards con count-up + tilt 3D */
.pw-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}
.pw-stat{position:relative;background:linear-gradient(165deg,rgba(255,255,255,.92),rgba(255,255,255,.96));border:1px solid var(--border-2);border-radius:18px;padding:22px 20px;text-align:center;transition:transform .18s ease,box-shadow .25s;transform-style:preserve-3d;will-change:transform;overflow:hidden}
.pw-stat::before{content:"";position:absolute;inset:0;background:radial-gradient(120px 80px at 50% 0,rgba(255,106,44,.12),transparent 70%);opacity:.7}
.pw-stat .pw-ic{font-size:26px;display:block;margin-bottom:8px;position:relative}
.pw-stat small{display:block;color:#5A6B82;font-size:12.5px;font-weight:600;margin-bottom:6px;position:relative}
.pw-stat b{display:block;font-family:var(--font-d);font-size:clamp(20px,2.6vw,28px);font-weight:800;color:#122239;line-height:1;position:relative;letter-spacing:-.01em}
.pw-win{background:linear-gradient(165deg,rgba(34,197,94,.16),rgba(255,255,255,.96));border-color:rgba(34,197,94,.42);box-shadow:0 0 40px rgba(34,197,94,.12)}
.pw-win b{background:linear-gradient(100deg,#16A34A,#15803D);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.pw-pct{display:inline-block;margin-top:8px;font-size:12px;font-weight:700;color:#15803D;background:rgba(34,197,94,.14);padding:4px 10px;border-radius:99px;position:relative}

/* barra de recupero */
.pw-recupero{background:linear-gradient(165deg,var(--glass),rgba(255,255,255,.85));border:1px solid var(--glass-brd);border-radius:16px;padding:20px 22px;margin-bottom:22px}
.pw-rec-top{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:12px;font-size:14.5px;color:#33465F}
.pw-rec-top b{color:var(--ambar);font-family:var(--font-d);font-size:18px}
.pw-rec-rest{font-size:12.5px;color:#15803D;font-weight:700;white-space:nowrap}
.pw-rec-bar{position:relative;height:14px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.pw-rec-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--naranja),var(--ambar));box-shadow:0 0 16px rgba(255,106,44,.5);width:0;animation:pwFill 1.1s .2s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes pwFill{to{width:var(--pw,40%)}}
.pw-rec-scale{display:flex;justify-content:space-between;margin-top:8px;font-size:11.5px;color:#5A6B82}

/* tabla de productos incluidos */
.pw-table-wrap{background:linear-gradient(165deg,rgba(255,255,255,.7),rgba(255,255,255,.9));border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-bottom:22px}
.pw-table-head{padding:14px 18px;font-family:var(--font-d);font-weight:700;color:#122239;border-bottom:1px solid var(--border);background:rgba(255,106,44,.06)}
.pw-table-head span{font-family:var(--font-b);font-weight:500;font-size:12.5px;color:#5A6B82;margin-left:6px}
.pw-table{width:100%;border-collapse:collapse}
.pw-table td{padding:11px 16px;border-bottom:1px solid var(--border);vertical-align:middle}
.pw-table tr:last-child td{border-bottom:none}
.pw-table tr{transition:background .15s}
.pw-table tr:hover{background:rgba(255,106,44,.05)}
.pw-prod{padding-right:8px}
.pw-prodlink{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.pw-prod img{width:46px;height:46px;border-radius:10px;object-fit:cover;background:#fff;flex:none}
.pw-prod span{font-size:13.5px;color:#33465F;line-height:1.35}
a.pw-prodlink:hover span{color:var(--naranja)}
a.pw-prodlink:hover img{outline:2px solid var(--naranja);outline-offset:1px}
.pw-prod .pw-verlink{display:block;font-style:normal;color:var(--naranja);font-weight:700;font-size:11px;margin-top:2px;opacity:.9}
.pw-qty{text-align:center;width:66px}
.pw-qty b{display:inline-block;font-family:var(--font-m);font-size:14px;color:#1a0e04;background:linear-gradient(120deg,var(--naranja),#FF8A3C);padding:4px 10px;border-radius:8px;font-weight:700}
.pw-pvp{text-align:right;width:130px;font-family:var(--font-d);font-weight:700;color:#15803D;font-size:15px;white-space:nowrap}
.pw-pvp small{display:block;font-family:var(--font-b);font-weight:500;font-size:10.5px;color:#5A6B82}

/* perks / bonos */
/* mismo ritmo vertical que el resto de los widgets del combo (22px) → la calculadora "Proyectá tu ganancia" ya no queda pegada a los perks/PVP sugerido */
.pw-perks{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}
.pw-perk{display:flex;gap:11px;align-items:center;background:linear-gradient(165deg,var(--glass),rgba(255,255,255,.8));border:1px solid var(--glass-brd);border-radius:13px;padding:14px;transition:transform .18s ease,border-color .2s;transform-style:preserve-3d;will-change:transform}
.pw-perk:hover{border-color:rgba(255,106,44,.4)}
.pw-perk span{font-size:24px;flex:none}
.pw-perk b{display:block;font-family:var(--font-d);font-size:13.5px;color:#122239}
.pw-perk small{color:#5A6B82;font-size:12px;line-height:1.35}

/* producto suelto: ficha premium */
.pdp-widgets.solo .pw-2col{display:grid;grid-template-columns:1.3fr .9fr;gap:20px;margin-bottom:22px}
.pw-desc-card{background:linear-gradient(165deg,rgba(255,255,255,.8),rgba(255,255,255,.92));border:1px solid var(--border-2);border-radius:16px;overflow:hidden}
.pw-desc-head{padding:14px 18px;font-family:var(--font-d);font-weight:700;color:#122239;border-bottom:1px solid var(--border);background:rgba(255,106,44,.06)}
.pw-desc-body{padding:18px}
.pw-desc-body p{color:#51617A;font-size:14.5px;line-height:1.7;margin-bottom:10px}
.pw-adv{display:flex;flex-direction:column;gap:11px}
.pw-adv-item{display:flex;gap:12px;align-items:center;background:linear-gradient(165deg,var(--glass),rgba(255,255,255,.8));border:1px solid var(--glass-brd);border-radius:13px;padding:13px 15px;transition:transform .18s ease,border-color .2s;transform-style:preserve-3d;will-change:transform}
.pw-adv-item:hover{border-color:rgba(255,106,44,.4)}
.pw-adv-item .pw-ic{font-size:23px;flex:none}
.pw-adv-item b{display:block;font-family:var(--font-d);font-size:13.5px;color:#122239}
.pw-adv-item small{color:#5A6B82;font-size:12px;line-height:1.35}
.pw-volume{background:linear-gradient(165deg,rgba(255,255,255,.7),rgba(255,255,255,.9));border:1px solid var(--border);border-radius:16px;padding:20px 22px}
.pw-vol-head{font-family:var(--font-d);font-weight:700;color:#122239;margin-bottom:16px}
.pw-vol-bars{display:flex;align-items:flex-end;gap:16px;height:120px;padding:0 6px}
.pw-vb{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;gap:8px}
.pw-vb i{display:block;width:100%;max-width:64px;border-radius:10px 10px 0 0;background:linear-gradient(180deg,var(--naranja),#FF8A3C);box-shadow:0 0 20px rgba(255,106,44,.3);height:0;animation:pwGrow 1s cubic-bezier(.2,.7,.2,1) forwards}
.pw-vb:nth-child(1) i{animation-delay:.05s}.pw-vb:nth-child(2) i{animation-delay:.15s}.pw-vb:nth-child(3) i{animation-delay:.25s}.pw-vb:nth-child(4) i{animation-delay:.35s;background:linear-gradient(180deg,#7ee7a8,#4ade80);box-shadow:0 0 20px rgba(34,197,94,.35)}
@keyframes pwGrow{from{height:0}}
.pw-vb span{font-family:var(--font-m);font-size:12px;color:#5A6B82;font-weight:700}
.pw-vol-note{color:#5A6B82;font-size:13px;margin-top:14px;line-height:1.5}

/* calculadora de ganancia de reventa (producto suelto) */
.pw-calc{background:linear-gradient(165deg,rgba(255,255,255,.72),rgba(255,255,255,.92));border:1px solid var(--border);border-radius:16px;padding:20px 22px;position:relative;overflow:hidden}
.pw-calc::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 220px at 85% -12%,rgba(255,106,44,.10),transparent 60%);pointer-events:none}
.pw-calc-head{font-family:var(--font-d);font-weight:700;color:#122239;margin-bottom:16px;font-size:16px;position:relative}
.pw-calc-body{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative}
.pw-calc-controls{display:flex;flex-direction:column;gap:14px}
.pw-calc-field label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.3px;color:var(--gris);text-transform:uppercase;margin-bottom:8px}
.pw-calc-mults{display:flex;gap:7px}
.pw-calc-mults button{flex:1;padding:9px 4px;border-radius:10px;border:1px solid var(--border-2);background:var(--surface-2);color:#51617A;font-family:var(--font-m);font-weight:700;font-size:13px;cursor:pointer;transition:.16s}
.pw-calc-mults button:hover{border-color:var(--naranja)}
.pw-calc-mults button.on{background:var(--naranja);color:#1a0e04;border-color:var(--naranja);box-shadow:0 0 16px rgba(255,106,44,.35)}
.pw-calc-pvp{display:flex;align-items:center;gap:2px;border:1px solid var(--border-2);border-radius:10px;background:var(--azul-deep);padding:0 12px;transition:.16s}
.pw-calc-pvp:focus-within{border-color:var(--naranja);box-shadow:0 0 0 3px rgba(255,106,44,.15)}
.pw-calc-pvp>span{color:var(--gris);font-family:var(--font-m);font-weight:700}
.pw-calc-pvp input{flex:1;min-width:0;background:none;border:none;color:#122239;font-family:var(--font-m);font-weight:700;font-size:18px;padding:11px 4px;outline:none}
.pw-calc-pvp small{color:var(--gris);font-size:12px}
.pw-calc-step{display:flex;align-items:center;border:1px solid var(--border-2);border-radius:10px;overflow:hidden;width:fit-content}
.pw-calc-step button{width:42px;height:42px;background:var(--surface-2);border:none;color:#122239;font-size:18px;cursor:pointer;transition:.15s}
.pw-calc-step button:hover{background:var(--naranja);color:#1a0e04}
.pw-calc-step input{width:56px;height:42px;text-align:center;background:var(--azul-deep);border:none;color:#122239;font-size:16px;font-family:var(--font-m);font-weight:700}
.pw-calc-result{display:flex;flex-direction:column;background:rgba(255,255,255,.55);border:1px solid var(--border);border-radius:14px;padding:6px 16px}
.pw-calc-line{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 0;border-bottom:1px dashed var(--border)}
.pw-calc-line span{color:#5A6B82;font-size:13.5px}
.pw-calc-line b{font-family:var(--font-d);font-weight:700;color:#122239;font-size:16px;white-space:nowrap}
.pw-calc-line b small{font-family:var(--font-b);font-weight:500;font-size:11px;color:var(--gris);margin-left:1px}
.pw-calc-line.win{border-bottom:none}
.pw-calc-line.win span{color:#0f7a37;font-weight:600}
.pw-calc-line.win b{color:#15803D;font-size:19px}
.pw-calc-total{margin-top:2px;padding:14px 0 6px;border-top:1px solid var(--border);display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.pw-calc-tot-main small{display:block;color:#5A6B82;font-size:12.5px;margin-bottom:3px}
.pw-calc-tot-main small b{color:#122239;font-family:var(--font-m)}
.pw-calc-tot-main>b{font-family:var(--font-d);font-weight:800;font-size:28px;color:#15803D;line-height:1;text-shadow:0 0 24px rgba(34,197,94,.35)}
.pw-calc-margin{font-size:12px;color:var(--gris);white-space:nowrap;padding-bottom:3px}
.pw-calc-margin b{color:#b45309;font-family:var(--font-m)}
.pw-calc.neg .pw-calc-line.win b,.pw-calc.neg .pw-calc-tot-main>b{color:#D64545;text-shadow:none}
.pw-calc-note{color:#5A6B82;font-size:12.5px;margin-top:14px;line-height:1.5;position:relative}

@media(max-width:760px){
  .pw-stats{grid-template-columns:1fr}
  .pw-perks{grid-template-columns:1fr 1fr}
  .pdp-widgets.solo .pw-2col{grid-template-columns:1fr}
  .pw-calc-body{grid-template-columns:1fr}
  .pw-calc-tot-main>b{font-size:25px}
  .pw-pvp{width:104px}
}
@media(prefers-reduced-motion:reduce){
  .pw-rec-bar i,.pw-vb i{animation:none}
  .pw-vb i{height:60%}
  .pdp-widgets{animation:none}
}

/* checkout: filas de 2 columnas para datos de envío */
.co-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:420px){.co-2{grid-template-columns:1fr}}

/* ═══════════════ PREMIUM v4 · refinamiento de widgets de la landing ═══════════════ */
/* Chips de ícono: los emojis sueltos pasan a ser tokens con gradiente, borde y luz interna */
.perk-ic,
.mani-point .ic,
.about-pillar .ic,
.about-badge .ic{
  flex:none;width:48px;height:48px;display:grid;place-items:center;font-size:24px;line-height:1;
  border-radius:14px;
  background:
    radial-gradient(130% 130% at 28% 18%,rgba(255,138,60,.30),transparent 60%),
    linear-gradient(160deg,rgba(255,106,44,.16),rgba(255,255,255,.65));
  border:1px solid rgba(255,106,44,.32);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 22px rgba(255,106,44,.10),0 8px 20px rgba(30,50,90,.10);
}
.about-pillar .ic{margin-bottom:12px}
/* el badge de compromiso usa acento verde en vez de naranja */
.about-badge .ic{
  background:
    radial-gradient(130% 130% at 28% 18%,rgba(74,222,128,.34),transparent 60%),
    linear-gradient(160deg,rgba(34,197,94,.16),rgba(255,255,255,.65));
  border-color:rgba(34,197,94,.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 22px rgba(34,197,94,.12),0 8px 20px rgba(30,50,90,.10);
}

/* Línea de acento superior compartida en las tarjetas-widget.
   .step queda FUERA: su número flota por encima del recuadro y overflow:hidden lo recortaba. */
.perk,.mani-point,.about-pillar,.figure-card{position:relative;overflow:hidden}
.perk::after,.mani-point::after,.about-pillar::after,.figure-card::after{
  content:"";position:absolute;top:0;left:16px;right:16px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,138,60,.55),transparent);
  opacity:.5;transition:opacity .25s;pointer-events:none;
}
.perk:hover::after,.about-pillar:hover::after,.figure-card:hover::after{opacity:1}

/* Perks: layout más aireado + microinteracción */
.perk{gap:14px;padding:18px 18px 20px;align-items:center;border-radius:18px!important}
.perk strong{font-size:14.5px;letter-spacing:-.01em;margin-bottom:2px}
.perk small{font-size:12.5px;line-height:1.5;color:#5A6B82}

/* Hero stats: pasan a ser un panel glass con divisores, no texto suelto */
.hero-stats{
  gap:12px 4px;margin-top:30px;padding:16px 10px;border-radius:18px;
  background:linear-gradient(165deg,rgba(255,255,255,.5),rgba(255,255,255,.66));
  border:1px solid var(--glass-brd);backdrop-filter:blur(10px);
  box-shadow:0 14px 40px rgba(30,50,90,.10),inset 0 1px 0 rgba(255,255,255,.05);
}
.hero-stats li{flex:1 1 42%;min-width:96px;padding:2px 16px;position:relative}
.hero-stats li+li::before{content:none}
.hero-stats strong{font-size:26px;letter-spacing:-.02em;white-space:nowrap}
.hero-stats span{margin-top:2px}

/* Hero card: tiles de producto con más profundidad + zoom sutil */
.hero-card{border-radius:26px;padding:22px}
.hero-card-grid{gap:14px}
.hero-card-grid .hc{
  border-radius:16px;position:relative;transition:transform .3s ease,box-shadow .3s ease;
  box-shadow:0 6px 18px rgba(30,50,90,.10),inset 0 0 0 1px rgba(255,255,255,.5);
}
.hero-card-grid .hc:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 14px 30px rgba(30,50,90,.10)}
.hero-card-grid .hc::after{content:"";position:absolute;inset:0;border-radius:16px;background:linear-gradient(180deg,transparent 60%,rgba(14,32,56,.10));pointer-events:none}
.hero-card-badge{
  background:linear-gradient(120deg,var(--ambar),#FFC94D);
  box-shadow:0 8px 22px rgba(255,176,32,.4),inset 0 1px 0 rgba(255,255,255,.5);
}

/* Figure cards (Nosotros): acento superior de color + hover + luz de fondo */
.figure-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;border-radius:20px}
.figure-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(30,50,90,.10),0 0 34px rgba(255,106,44,.14);border-color:rgba(255,106,44,.4)}
.figure-card:nth-child(even):hover{box-shadow:0 22px 48px rgba(30,50,90,.10),0 0 34px rgba(59,130,246,.16);border-color:var(--border-2)}
.figure-card b{font-size:clamp(32px,5vw,46px)}
.figure-card:nth-child(odd) b{background:linear-gradient(100deg,#122239,#B3541C);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.figure-card span{margin-top:10px;letter-spacing:.01em}

/* Mani-points + about-pillars: microinteracción coherente */
.mani-point{padding:18px;border-radius:18px;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.mani-point:hover{transform:translateY(-3px);border-color:rgba(255,106,44,.35);box-shadow:0 18px 40px rgba(30,50,90,.10)}
.about-pillar{padding:18px 18px 20px;border-radius:18px}
.about-pillar:hover{box-shadow:0 18px 40px rgba(30,50,90,.10)}

/* Steps: número flotante con anillo + acento y hover. Recuadro amplio para que respire. */
.steps-grid{gap:26px}
.step{border-radius:20px;padding:44px 28px 30px;min-height:180px;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.step:hover{transform:translateY(-4px);border-color:rgba(255,106,44,.35);box-shadow:0 20px 46px rgba(30,50,90,.10)}
.step h3{margin:18px 0 10px;font-size:18px}
.step p{font-size:14.5px;line-height:1.65}
.step-num{
  width:46px;height:46px;border-radius:14px;font-size:19px;top:-18px;
  box-shadow:0 10px 26px rgba(255,106,44,.45),inset 0 1px 0 rgba(255,255,255,.4);
  outline:6px solid rgba(255,255,255,.9);
}

/* Cupón: brillo holográfico + realce del código */
.cupon-code{box-shadow:0 8px 22px rgba(30,50,90,.10),inset 0 0 0 1px rgba(255,255,255,.08)}
.cupon-copy{transition:transform .18s ease,box-shadow .18s ease}
.cupon-copy:hover{transform:translateY(-1px)}

/* Trust strip: los ítems se vuelven pills glass */
.trust-strip{gap:10px 12px;margin-top:34px}
.trust-strip span{
  padding:8px 14px;border-radius:99px;
  background:linear-gradient(165deg,rgba(255,255,255,.5),rgba(255,255,255,.6));
  border:1px solid var(--glass-brd);backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:.2s;
}
.trust-strip span:hover{border-color:rgba(255,106,44,.4);color:#122239;transform:translateY(-1px)}

/* Contacto: chips de ícono al mismo lenguaje premium */
.contacto-list .ic{
  background:
    radial-gradient(130% 130% at 28% 18%,rgba(255,138,60,.30),transparent 60%),
    linear-gradient(160deg,rgba(255,106,44,.16),rgba(255,255,255,.65))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 20px rgba(30,50,90,.10);
}

@media(max-width:560px){
  .hero-stats{flex-wrap:wrap;padding:14px 8px}
  .hero-stats li{flex:1 1 42%;min-width:84px;padding:2px 12px}
  .perk-ic,.mani-point .ic,.about-pillar .ic,.about-badge .ic,.contacto-list .ic{width:44px;height:44px;font-size:22px}
}
@media(prefers-reduced-motion:reduce){
  .perk,.mani-point,.about-pillar,.step,.figure-card,.hero-card-grid .hc,.trust-strip span{transition:none}
}

/* ══════════════ Cuenta (header) + Menú hamburguesa móvil ══════════════ */
.acct-btn{display:inline-flex;align-items:center;gap:7px;color:var(--blanco);font-weight:600;font-size:14px;padding:8px 12px;border-radius:10px;border:1px solid var(--border-2);transition:.2s;white-space:nowrap}
.acct-btn:hover{border-color:var(--naranja);color:var(--naranja)}
.acct-btn svg{flex-shrink:0}
.menu-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:40px;background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:0 11px}
.menu-btn span{display:block;height:2.5px;width:100%;background:var(--blanco);border-radius:2px;transition:.28s cubic-bezier(.4,0,.2,1)}
.menu-btn.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.menu-btn.open span:nth-child(2){opacity:0}
.menu-btn.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

.nav-overlay{position:fixed;inset:0;background:rgba(30,50,90,.10);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:.28s;z-index:60}
.nav-overlay.show{opacity:1;visibility:visible}
.navmenu{position:fixed;top:0;right:0;height:100%;width:min(340px,88%);background:linear-gradient(180deg,#F4F7FB,#EEF3FA);border-left:1px solid var(--border-2);box-shadow:-30px 0 80px rgba(30,50,90,.10);z-index:70;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);overflow-y:auto}
.navmenu.show{transform:translateX(0)}
.navmenu::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent,var(--naranja),transparent);opacity:.6}
.navmenu-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 16px;border-bottom:1px solid var(--border)}
.navmenu-brand{font-family:var(--font-d);font-weight:800;font-size:20px;letter-spacing:1.5px;display:flex;flex-direction:column;line-height:1}
.navmenu-brand small{font-size:10px;color:var(--naranja);letter-spacing:2px;text-transform:uppercase;margin-top:3px;font-weight:700}
.navmenu-close{background:none;border:none;color:var(--blanco);font-size:30px;line-height:1;width:38px;height:38px}
.navmenu-links{display:flex;flex-direction:column;padding:12px 14px 4px;gap:2px}
.navmenu-link{display:flex;align-items:center;gap:13px;padding:14px 14px;border-radius:12px;color:var(--blanco);font-weight:600;font-size:15.5px;transition:.18s;position:relative}
.navmenu-catlabel{display:flex;align-items:center;gap:13px;padding:14px 14px 6px;color:var(--gris);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px}
.navmenu-cats{display:flex;flex-direction:column;padding:0 8px 8px}
.navmenu-cat{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-radius:10px;color:var(--blanco);text-decoration:none;font-size:15px;font-weight:500}
.navmenu-cat:hover,.navmenu-cat:active{background:var(--surface);color:var(--naranja)}
.navmenu-cat span{color:var(--gris);font-size:12px;font-family:var(--font-m)}
.navmenu-link .nm-ic{font-size:19px;width:24px;text-align:center;flex-shrink:0}
.navmenu-link em{position:absolute;left:51px;top:30px;font-style:normal;font-size:11.5px;color:var(--gris);font-weight:500}
.navmenu-link.accent{padding-bottom:22px;background:rgba(255,106,44,.08);border:1px solid rgba(255,106,44,.22);margin-bottom:8px}
.navmenu-link:hover,.navmenu-link:active{background:var(--surface-2)}
.navmenu-link.accent:hover{background:rgba(255,106,44,.14)}
.navmenu-cta{margin:14px 18px 6px;padding:15px;text-align:center;background:linear-gradient(90deg,var(--naranja),var(--naranja-6));color:#1a0e04;font-weight:800;font-size:15.5px;border-radius:12px;box-shadow:var(--glow)}
.navmenu-foot{margin-top:auto;padding:18px 22px 26px;border-top:1px solid var(--border);color:var(--gris);font-size:12.5px;display:flex;flex-direction:column;gap:7px;line-height:1.5}
.navmenu-foot a{color:var(--naranja);font-weight:600}

@media(max-width:680px){
  .header-actions .nav-link,.header-actions .nav-blog{display:none}
  .acct-btn .acct-lbl{display:none}
  .acct-btn{padding:9px 11px}
  .menu-btn{display:flex}
}

/* ═══════════════ Iconos-imagen 3D (reemplazan emojis) ═══════════════ */
.ico-img{object-fit:contain;display:block}
.about-pillar .ico-img{width:52px;height:52px;margin-bottom:10px}
.mani-point .ico-wrap{flex:none;display:block}
.mani-point .ico-img{width:48px;height:48px}
.contacto-list .ico-wrap{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(160deg,rgba(255,106,44,.14),rgba(255,255,255,.6));border:1px solid rgba(255,106,44,.28)}
.contacto-list .ico-img{width:32px;height:32px}
.env-ic{margin-bottom:4px}
.env-ic-img{width:58px;height:58px;object-fit:contain;display:block;margin-bottom:6px}
.step-ic-img{width:54px;height:54px;object-fit:contain;display:block;margin:6px 0 2px}

/* Anchors del nav no quedan tapados por el header sticky (experiencia de navegación) */
html{scroll-padding-top:82px}

/* Accesibilidad: respeto integral de prefers-reduced-motion (neutraliza toda la motion sin romper estados finales) */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* Header: sombra sutil al scrollear (separación del contenido) */
.header{transition:box-shadow .28s ease}
.header.is-scrolled{box-shadow:0 8px 28px rgba(20,40,80,.09)}

/* Progressive enhancement: si el JS no carga, el contenido con .reveal se ve igual (no queda invisible) */
html:not(.has-js) .reveal{opacity:1!important;transform:none!important}

/* Fix carrito: el banner de despacho mostraba 2 líneas cortadas (flex+overflow:hidden colapsaba a 24px). min-height lo deja crecer. */
.ship-banner{min-height:-webkit-fit-content;min-height:fit-content}

/* Fix carrito 2: la barra de "desbloqueá 6 cuotas" recortaba su texto (flex+overflow colapsaba). */
.cuotas-bar{overflow:visible;min-height:-webkit-fit-content;min-height:fit-content}
.cb-head{flex-wrap:wrap}
/* Burbuja flotante de WhatsApp */
.wa-fab{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;align-items:center;background:#25D366;color:#fff;text-decoration:none;border-radius:999px;padding:6px;box-shadow:0 10px 28px rgba(37,211,102,.45);transition:transform .18s,box-shadow .18s}
.wa-fab:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(37,211,102,.55)}
.wa-fab-ic{width:56px;height:56px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;position:relative;border-radius:50%}
.wa-fab-ic::before{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(37,211,102,.55);animation:waPulse 2.2s infinite}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 15px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.wa-fab-label{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font-weight:700;font-size:14px;transition:max-width .3s ease,opacity .25s,padding .3s}
.wa-fab:hover .wa-fab-label{max-width:220px;opacity:1;padding:0 6px 0 14px}
@media(max-width:640px){.wa-fab{right:14px;bottom:14px}.wa-fab-ic{width:52px;height:52px}.wa-fab:hover .wa-fab-label{max-width:0;opacity:0;padding:0}}
/* PDP · barra de compra fija (aparece al scrollear la ficha) */
.pdp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;align-items:center;gap:12px;background:var(--surface);border-top:1px solid var(--border-2);box-shadow:0 -8px 24px rgba(14,32,56,.14);padding:10px 16px;transform:translateY(130%);transition:transform .25s ease}
.pdp-sticky.show{transform:none}
.pdp-sticky img{width:46px;height:46px;border-radius:9px;object-fit:cover;flex:0 0 auto;background:var(--surface-2)}
.pdp-sticky .ps-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pdp-sticky .ps-name{font-weight:600;font-size:13.5px;color:var(--blanco);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdp-sticky .ps-price{font-family:var(--font-m);font-weight:800;color:var(--blanco);font-size:15px}
.pdp-sticky #pdpStickyAdd{flex:0 0 auto;white-space:nowrap}
@media(min-width:900px){.pdp-sticky{left:auto;right:20px;bottom:20px;max-width:460px;border:1px solid var(--border-2);border-radius:16px}}
/* cuando la barra está visible, subimos la burbuja de WhatsApp para que no se pisen */
body.pdp-sticky-on .wa-fab{bottom:92px}
@media(min-width:900px){body.pdp-sticky-on .wa-fab{bottom:96px}}
/* Carrito · fila de confianza bajo el botón de pago (CRO) */
.cart-trust{display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:center;margin-top:10px}
.cart-trust span{font-size:11.5px;color:var(--gris);font-weight:600;white-space:nowrap}
/* Carrito · order-bump para cruzar el mínimo en un toque (CRO) */
.min-boost{display:flex;align-items:center;gap:11px;margin:10px 0 4px;padding:10px;border:1.5px solid rgba(255,106,44,.45);background:linear-gradient(180deg,rgba(255,106,44,.10),rgba(255,106,44,.03));border-radius:13px}
.min-boost img{width:50px;height:50px;border-radius:9px;object-fit:cover;flex:0 0 auto;background:var(--surface-2)}
.min-boost .mb-info{flex:1;min-width:0}
.min-boost .mb-t{font-size:12px;font-weight:700;color:var(--naranja-6)}
.min-boost .mb-n{font-size:13px;color:var(--blanco);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.min-boost .mb-p{font-size:12px;color:var(--gris)}
.min-boost .mb-p b{color:var(--blanco);font-family:var(--font-m)}
.min-boost .mb-add{flex:0 0 auto;background:var(--naranja);color:#1a0e04;font-weight:800;border:0;border-radius:10px;padding:10px 16px;cursor:pointer;font-size:13.5px}
.min-boost .mb-add:hover{background:var(--naranja-6);color:#fff}
/* Carrito · CTA secundario "Pedir por WhatsApp" (canal alternativo de cierre) */
.wa-order{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:10px;background:#fff;color:#128C7E;border:1.5px solid #25D366;border-radius:12px;padding:12px;font-weight:800;font-size:14px;cursor:pointer;transition:.15s}
.wa-order:hover{background:#25D366;color:#fff}
/* Recupero de carrito: nudge "pedido sin terminar" (abajo-izquierda, no pisa la burbuja de WhatsApp) */
.cart-nudge{position:fixed;left:20px;bottom:20px;z-index:44;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 40px);background:var(--surface);border:1px solid var(--border-2);border-left:4px solid var(--naranja);border-radius:14px;box-shadow:0 14px 40px rgba(14,32,56,.18);padding:12px 14px;transform:translateY(140%);opacity:0;transition:transform .3s ease,opacity .3s ease}
.cart-nudge.show{transform:none;opacity:1}
.cart-nudge .cn-ic{font-size:20px;flex:0 0 auto}
.cart-nudge .cn-txt{font-size:13.5px;color:var(--blanco);line-height:1.35}
.cart-nudge .cn-txt b{font-family:var(--font-m);color:var(--naranja-6)}
.cart-nudge .cn-go{flex:0 0 auto;background:var(--naranja);color:#1a0e04;font-weight:800;border:0;border-radius:10px;padding:9px 14px;cursor:pointer;font-size:13px;white-space:nowrap}
.cart-nudge .cn-go:hover{background:var(--naranja-6);color:#fff}
.cart-nudge .cn-x{flex:0 0 auto;background:transparent;border:0;color:var(--gris);font-size:20px;line-height:1;cursor:pointer;padding:0 2px}
@media(max-width:640px){.cart-nudge{left:12px;right:12px;bottom:12px}}
/* Chips de categoría horizontales (bajo el buscador del catálogo) */
.cat-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:6px;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity}
.cat-chips::-webkit-scrollbar{display:none}
.cat-chip{flex:0 0 auto;scroll-snap-align:start;display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1.5px solid var(--border-2);color:var(--blanco);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:.15s}
.cat-chip:hover{border-color:var(--naranja)}
.cat-chip span{font-size:11px;font-weight:700;color:var(--gris);background:var(--surface-2);border-radius:999px;padding:1px 7px}
.cat-chip.active{background:var(--naranja);border-color:var(--naranja);color:#1a0e04}
.cat-chip.active span{background:rgba(0,0,0,.15);color:#1a0e04}

/* ============================================================
   MÓVIL NEXT-LEVEL — hardening táctil (loop mobile 29-09)
   Aditivo, va al final para ganar en cascada. Reversible.
   ============================================================ */
/* Sin resaltado azul feo al tocar, sin re-escalado de texto al rotar */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
*{-webkit-tap-highlight-color:transparent}
/* Interactivos: sin delay de 300ms ni selección accidental al mantener */
a,button,.add-btn,.stepper button,.co-btn,.cat-chip,.chip,.tab,.btn-primary,
[role=button],.card,.offers-arrow,.packs-arrow,.pdp-arrow{touch-action:manipulation}
button,.add-btn,.cat-chip,.co-btn{-webkit-user-select:none;user-select:none}
/* Momentum scroll + no arrastrar el fondo detrás de paneles/drawers */
.drawer,.filters,.modal-inner,.nlpop,.cart-drawer,.cs-track,.cat-chips,
.offers-rail,.packs-rail{-webkit-overflow-scrolling:touch}
.drawer,.filters,.modal-overlay,.drawer-overlay,.nlpop{overscroll-behavior:contain}
/* Feedback táctil real: la UI "responde" al dedo (solo touch, no pisa hover) */
@media(hover:none){
  .add-btn:active,.btn-primary:active,.co-btn:active,.cat-chip:active,
  .stepper button:active,.pdp-arrow:active,.offers-arrow:active,.packs-arrow:active{transform:scale(.95)}
  .card:active{transform:scale(.985)}
}
/* iOS: font-size<16px en inputs dispara auto-zoom al enfocar → forzar 16px en móvil.
   !important para ganarle a CUALQUIER clase (.co-i checkout, .field, etc.) sin enumerar. */
@media(max-width:560px){
  input:not([type=checkbox]):not([type=radio]):not([type=range]),
  select,textarea{font-size:16px!important}
  /* Tap targets cómodos (≥40px alto) en la grilla móvil */
  .add-btn{min-height:40px}
  .stepper button,.stepper input{height:36px}
}
/* Safe-area (notch / barra home del iPhone) en todo lo fijo abajo */
@supports(padding:max(0px)){
  .wa-fab{bottom:max(20px,calc(20px + env(safe-area-inset-bottom)))}
  .pdp-sticky{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
  .drawer-foot,.cart-foot,.co-foot{padding-bottom:max(16px,calc(16px + env(safe-area-inset-bottom)))}
  @media(max-width:640px){
    .wa-fab{bottom:max(14px,calc(14px + env(safe-area-inset-bottom)))}
    .cart-nudge{bottom:max(12px,calc(12px + env(safe-area-inset-bottom)))}
  }
}

/* ── Skeleton de carga del catálogo (percepción de velocidad en móvil/3G) ──
   Pinta al instante en #grid (HTML estático). app.js reemplaza el innerHTML al
   llegar los datos. El shimmer se neutraliza solo con prefers-reduced-motion. */
.skel-card{background:#fff;border:1px solid rgba(20,40,80,.08);border-radius:14px;overflow:hidden;padding:16px}
.skel-img{aspect-ratio:1;border-radius:10px}
.skel-ln{height:11px;border-radius:6px;margin-top:12px}
.skel-ln.short{width:60%}
.skel-price{height:20px;width:45%;border-radius:6px;margin-top:14px}
.skel-img,.skel-ln,.skel-price{position:relative;overflow:hidden;background:#e9eef4}
.skel-img::after,.skel-ln::after,.skel-price::after{content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:skelshimmer 1.3s ease-in-out infinite}
@keyframes skelshimmer{100%{transform:translateX(100%)}}

/* ── Refinamientos móvil (iter 8) ── */
/* Menú móvil: sin scroll-chaining al fondo + momentum + safe-area en el pie */
.navmenu{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@supports(padding:max(0px)){.navmenu-foot{padding-bottom:max(26px,calc(20px + env(safe-area-inset-bottom)))}}
/* Carrito vacío: estado con icono + CTA para volver a comprar (conversión) */
.drawer-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 24px}
.drawer-empty .de-ic{font-size:44px;line-height:1;opacity:.85;filter:drop-shadow(0 6px 16px rgba(255,106,44,.25))}
.drawer-empty b{font-family:var(--font-d);font-size:17px;color:#122239}
.drawer-empty span{font-size:13.5px;color:#51617A;max-width:240px;line-height:1.5}
.drawer-empty .de-cta{margin-top:8px;background:linear-gradient(120deg,var(--naranja),#FF8A3C);color:#1a0e04;border:none;border-radius:12px;padding:13px 22px;font-family:var(--font-d);font-weight:800;font-size:14.5px;box-shadow:0 8px 22px rgba(255,106,44,.35);cursor:pointer;transition:transform .15s}
.drawer-empty .de-cta:active{transform:scale(.96)}

/* ── Toast sin colisión con barras fijas inferiores (iter 9) ──
   El toast de "producto agregado" quedaba TAPADO por .sticky-cta / .pdp-sticky /
   .cart-nudge en móvil. Con :has() lo elevamos SOLO cuando hay una barra visible. */
.toast{z-index:95}
body:has(.sticky-cta.show) .toast,
body:has(.pdp-sticky.show) .toast,
body:has(.cart-nudge.show) .toast{bottom:calc(84px + env(safe-area-inset-bottom))}

/* ============================================================================
   PDP UNICORNIO · retematizado DARK de los bloques nativos de combo (pw-*) y de
   los widgets velco-pdp-* conservados (envío /api/shipping-quote, FAQ, stock,
   pack-CTA) + barra sticky. Scope #pdp → gana por especificidad al <style> que
   cada widget inyecta en runtime. rewards (.vrw) ya viene en dark: no se toca.
   ============================================================================ */
#pdp .pdp-widgets{border-top:1px solid var(--v-brd);margin-top:42px;padding-top:34px}
#pdp .pw-head h2{color:var(--v-ink)}
#pdp .pw-head p{color:var(--v-mut)}
#pdp .pw-stat{background:var(--v-card);border:1px solid var(--v-brd-2)}
#pdp .pw-stat::before{opacity:.5}
#pdp .pw-stat small{color:var(--v-mut)}
#pdp .pw-stat b{color:#fff}
#pdp .pw-win{background:linear-gradient(165deg,rgba(47,211,122,.2),rgba(12,28,54,.42));border-color:rgba(47,211,122,.45)}
#pdp .pw-win b{background:linear-gradient(100deg,#5EEAA0,#2FD37A);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
#pdp .pw-pct{color:#7cf0ad;background:rgba(47,211,122,.14)}
#pdp .pw-recupero{background:var(--v-card);border:1px solid var(--v-brd)}
#pdp .pw-rec-top{color:var(--v-mut)}
#pdp .pw-rec-top b{color:var(--v-nar-hot)}
#pdp .pw-rec-rest{color:#7cf0ad}
#pdp .pw-rec-bar{background:rgba(255,255,255,.08)}
#pdp .pw-rec-scale{color:var(--v-mut2)}
#pdp .pw-table-wrap{background:var(--v-card);border:1px solid var(--v-brd)}
#pdp .pw-table-head{color:var(--v-ink);border-bottom:1px solid var(--v-brd);background:rgba(255,106,44,.08)}
#pdp .pw-table-head span{color:var(--v-mut)}
#pdp .pw-table td{border-bottom:1px solid var(--v-brd)}
#pdp .pw-table tr:hover{background:rgba(255,106,44,.07)}
#pdp .pw-prod span{color:var(--v-mut)}
#pdp .pw-pvp{color:#7cf0ad}
#pdp .pw-pvp small{color:var(--v-mut2)}
#pdp .pw-perk{background:var(--v-glass);border:1px solid var(--v-brd)}
#pdp .pw-perk b{color:var(--v-ink)}
#pdp .pw-perk small{color:var(--v-mut)}
#pdp .pw-desc-card{background:var(--v-card);border:1px solid var(--v-brd-2)}
#pdp .pw-desc-head{color:var(--v-ink);border-bottom:1px solid var(--v-brd);background:rgba(255,106,44,.08)}
#pdp .pw-desc-body p{color:var(--v-mut)!important}
#pdp .pw-desc-body li span:last-child{color:var(--v-mut)!important}
#pdp .pw-adv-item{background:var(--v-glass);border:1px solid var(--v-brd)}
#pdp .pw-adv-item b{color:var(--v-ink)}
#pdp .pw-adv-item small{color:var(--v-mut)}
#pdp .pw-calc{background:var(--v-card);border:1px solid var(--v-brd-2)}
#pdp .pw-calc-head{color:var(--v-ink)}
#pdp .pw-calc-field label{color:var(--v-mut2)}
#pdp .pw-calc-mults button{background:rgba(255,255,255,.05);border:1px solid var(--v-brd);color:var(--v-mut)}
#pdp .pw-calc-mults button.on{background:var(--v-nar);color:#1a0e04;border-color:var(--v-nar)}
#pdp .pw-calc-pvp{background:rgba(255,255,255,.05);border:1px solid var(--v-brd)}
#pdp .pw-calc-pvp input{color:var(--v-ink)}
#pdp .pw-calc-pvp>span,#pdp .pw-calc-pvp small{color:var(--v-mut2)}
#pdp .pw-calc-step{border:1px solid var(--v-brd)}
#pdp .pw-calc-step button{background:rgba(255,255,255,.05);color:var(--v-ink)}
#pdp .pw-calc-step button:hover{background:var(--v-nar);color:#1a0e04}
#pdp .pw-calc-step input{background:transparent;color:var(--v-ink)}
#pdp .pw-calc-result{background:rgba(255,255,255,.04);border:1px solid var(--v-brd)}
#pdp .pw-calc-line{border-bottom:1px dashed var(--v-brd)}
#pdp .pw-calc-line span{color:var(--v-mut)}
#pdp .pw-calc-line b{color:var(--v-ink)}
#pdp .pw-calc-line b small{color:var(--v-mut2)}
#pdp .pw-calc-line.win span{color:#7cf0ad}
#pdp .pw-calc-line.win b{color:#7cf0ad}
#pdp .pw-calc-total{border-top:1px solid var(--v-brd)}
#pdp .pw-calc-tot-main small{color:var(--v-mut)}
#pdp .pw-calc-tot-main small b{color:var(--v-ink)}
#pdp .pw-calc-tot-main>b{color:#7cf0ad}
#pdp .pw-calc-margin{color:var(--v-mut2)}
#pdp .pw-calc-note{color:var(--v-mut2)}

/* envío por CP (velco-pdp-envio) */
#pdp .vpe{background:var(--v-card)!important;border:1px solid var(--v-brd-2)!important}
#pdp .vpe-h{color:var(--v-ink)!important}
#pdp .vpe-form input{background:rgba(255,255,255,.05)!important;border:1.5px solid var(--v-brd)!important;color:var(--v-ink)!important}
#pdp .vpe-res{background:rgba(47,211,122,.1)!important;border:1px solid rgba(47,211,122,.3)!important}
#pdp .vpe-res .vpe-txt{color:var(--v-ink)!important}
#pdp .vpe-res .vpe-txt b,#pdp .vpe-res .vpe-free{color:#7cf0ad!important}

/* FAQ (velco-pdp-faq) */
#pdp .vfq-item{background:var(--v-card)!important;border:1px solid var(--v-brd)!important}
#pdp .vfq-item.is-open{border-color:rgba(255,106,44,.45)!important}
#pdp .vfq-q{color:var(--v-ink)!important}
#pdp .vfq-q .vfq-chev{background:rgba(255,255,255,.07)!important;color:var(--v-mut)!important}
#pdp .vfq-a-inner{color:var(--v-mut)!important}
#pdp .vfq-a-inner b{color:var(--v-ink)!important}

/* sin stock (velco-pdp-stock) */
#pdp .vps-oos{background:var(--v-card)!important;border:1.5px solid var(--v-brd-2)!important}
#pdp .vps-oos-hd b{color:var(--v-ink)!important}
#pdp .vps-oos p{color:var(--v-mut)!important}
#pdp .vps-form input{background:rgba(255,255,255,.05)!important;border:1.5px solid var(--v-brd)!important;color:var(--v-ink)!important}
#pdp .vps-alt{color:var(--v-mut)!important}
#pdp .vps-sw{border-top:1px solid var(--v-brd)!important}
#pdp .vps-card{background:var(--v-glass)!important;border:1px solid var(--v-brd)!important}
#pdp .vps-card .vps-cn{color:var(--v-mut)!important}
#pdp .vps-card .vps-cp{color:var(--v-ink)!important}

/* pack-CTA (velco-pdp-packcta) */
#pdp .vpk{background:linear-gradient(180deg,rgba(255,106,44,.12),rgba(255,106,44,.03))!important;border:1.5px solid rgba(255,106,44,.38)!important}
#pdp .vpk-h{color:var(--v-ink)!important}
#pdp .vpk-n{color:var(--v-ink)!important}
#pdp .vpk-sub{color:var(--v-mut)!important}
#pdp .vpk-sub .vpk-g{color:#7cf0ad!important}

/* barra sticky de compra */
#pdp .pdp-sticky{background:linear-gradient(180deg,rgba(18,36,66,.96),rgba(10,22,44,.96));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--v-brd-2);box-shadow:0 -10px 34px rgba(0,0,0,.45)}
#pdp .pdp-sticky img{background:rgba(255,255,255,.9)}
#pdp .pdp-sticky .ps-name{color:var(--v-ink)}
#pdp .pdp-sticky .ps-price{color:var(--v-nar-hot)}
#pdp .pdp-sticky #pdpStickyAdd{background:linear-gradient(135deg,var(--v-nar-hot),var(--v-nar-deep));color:#1a0e04;border:none}
@media(min-width:900px){#pdp .pdp-sticky{border:1px solid var(--v-brd-2)}}
