/*
Theme Name: D´Andys
Theme URI: https://dandys.com.gt
Author: D´Andys
Description: Theme nativo a medida para D´Andys — pasteleria en Ciudad de Guatemala. WooCommerce en modo catalogo + cierre por WhatsApp. Mobile-first.
Version: 2.6.2
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: dandys
*/

:root{
  --indigo-900:#312E81; --indigo-700:#4F46E5; --indigo-100:#E0E7FF;
  --pink-600:#F01290; --pink-400:#FF63C8; --pink-50:#FEF1FA;
  --cream:#F8FAFB; --white:#FFFFFF; --success:#2E9E6B;
  --orange-50:#FFFBEB; --orange-100:#FEF3C7; --orange-200:#FDE68A; --orange-300:#FCD34D;
  --orange-400:#FBBF24; --orange-500:#F59E0B; --orange-600:#D97706; --orange-700:#B45309;
  --orange-800:#92400E; --orange-900:#78350F; --orange-950:#451A03;
  --gold-500:var(--orange-500);
  --ink:#1E1B4B; --muted:#6B7280; --line:#E5E7F0;
  --r-sm:12px; --r:18px; --r-lg:24px; --pill:999px;
  --sh-sm:0 4px 14px rgba(30,27,75,.07);
  --sh:0 12px 30px rgba(30,27,75,.12);
  --sh-pink:0 10px 24px rgba(240,18,144,.28);
  --ff-d:'Katibeh',Georgia,serif;
  --ff-b:'Open Sans',system-ui,-apple-system,sans-serif;
  --wa:#45C398;
  --header-h:64px; --sticky-cta-h:76px; --container:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--ff-b);font-size:16px;line-height:1.6;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:var(--ff-d);font-weight:700;line-height:1.15;margin:0 0 .4em;color:var(--indigo-900)}
p{margin:0 0 1rem}
a{color:var(--indigo-700);text-decoration:none;transition:color .2s}
a:hover{color:var(--pink-600)}
img{max-width:100%;height:auto;display:block}
ul{margin:0;padding:0;list-style:none}
strong{font-weight:700}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 18px}
.section{padding:48px 0}
.section--tint{background:var(--indigo-100)}
.section--pink{background:var(--pink-50)}
.eyebrow{font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:13px;color:var(--pink-600)}
.lead{color:var(--muted);font-size:17px}
.text-center{text-align:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
:focus-visible{outline:3px solid var(--indigo-700);outline-offset:2px;border-radius:6px}
.price{font-family:var(--ff-b);font-weight:800;color:var(--indigo-700)}
.price small{font-weight:600;font-size:.72em;color:var(--muted)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.8rem 1.6rem;border-radius:var(--pill);font-family:var(--ff-b);font-weight:700;font-size:16px;cursor:pointer;border:2px solid transparent;transition:transform .18s,box-shadow .2s,background .2s,color .2s;line-height:1;text-align:center}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--pink-600);color:#fff;box-shadow:var(--sh-pink)}
.btn--primary:hover{background:var(--pink-400);color:#fff}
.btn--indigo{background:var(--indigo-700);color:#fff}
.btn--indigo:hover{background:var(--indigo-900);color:#fff}
.btn--outline{background:transparent;color:var(--indigo-700);border-color:var(--indigo-100)}
.btn--outline:hover{border-color:var(--indigo-700);color:var(--indigo-700)}
.btn--wa{background:var(--wa);color:#fff;box-shadow:0 10px 24px rgba(37,211,102,.30)}
.btn--wa:hover{filter:brightness(1.05);color:#fff}
.btn--block{width:100%}
.btn--lg{min-height:54px;font-size:17px}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:var(--white);border:1px solid var(--line);color:var(--indigo-900);cursor:pointer;transition:all .2s}
.icon-btn:hover{background:var(--indigo-700);color:#fff;border-color:transparent}

/* Header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,249,244,.78);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:12px;height:var(--header-h)}
.brand-logo{display:flex;align-items:center;gap:8px}
.brand-logo svg,.brand-logo img{height:42px;width:auto}
.brand-name{font-family:var(--ff-d);font-weight:800;font-size:1.3rem;color:var(--indigo-700)}
.main-nav{display:none}
.nav-toggle{display:inline-flex}

/* Drawer */
.drawer{position:fixed;inset:0;z-index:90;visibility:hidden;pointer-events:none}
.drawer.open{visibility:visible;pointer-events:auto}
.drawer__ov{position:absolute;inset:0;background:rgba(43,34,88,.5);opacity:0;transition:opacity .3s}
.drawer.open .drawer__ov{opacity:1}
.drawer__panel{position:absolute;top:0;right:0;height:100%;width:min(86vw,340px);background:var(--cream);box-shadow:-10px 0 40px rgba(43,34,88,.2);transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);padding:20px 22px 32px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}
.drawer.open .drawer__panel{transform:translateX(0)}
.drawer__panel a{padding:15px 14px;border-radius:14px;font-family:var(--ff-d);font-weight:700;font-size:1.2rem;color:var(--indigo-900)}
.drawer__panel a:hover{background:var(--white);color:var(--pink-600)}
.drawer__close{align-self:flex-end;margin-bottom:10px}
.drawer__wa{margin-top:auto}

/* Hero */
.hero{background:radial-gradient(700px 380px at 85% 0%,var(--pink-50),transparent 60%),var(--cream)}
.hero__inner{display:grid;gap:22px;padding:28px 0 36px}
.hero__media{position:relative;order:-1}
.hero__media img{border-radius:var(--r-lg);box-shadow:var(--sh);aspect-ratio:4/3;object-fit:cover;width:100%}
.hero h1 span{color:var(--pink-600)}
.hero__cta{display:flex;gap:10px;flex-wrap:wrap}

/* Trust bar */
.trust{background:var(--indigo-900);color:#fff}
.trust__row{display:grid;gap:10px;padding:16px 0}
.trust__i{display:flex;gap:10px;align-items:center;font-size:14px;color:rgba(255,255,255,.9)}
.trust__i svg{width:22px;height:22px;color:var(--pink-400);flex:0 0 auto}

/* Section head */
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:20px}
.shead .link{font-weight:700;white-space:nowrap;display:inline-flex;gap:6px;align-items:center}

/* Product grid + card */
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.pcard{position:relative;background:var(--white);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-sm);transition:transform .22s,box-shadow .22s;display:flex;flex-direction:column}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.pcard__media{position:relative;aspect-ratio:1/1;overflow:hidden;background:linear-gradient(160deg,var(--indigo-100),var(--pink-50))}
.pcard__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.pcard:hover .pcard__media img{transform:scale(1.05)}
.pcard__media::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--pink-600),var(--indigo-700))}
.pcard__body{padding:12px 14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.pcard__name{font-family:var(--ff-d);font-weight:700;font-size:16px;color:var(--indigo-900);margin:0}
.pcard__price{font-weight:800;color:var(--indigo-700);font-size:15px}
.pcard__price small{font-weight:600;color:var(--muted);font-size:12px}
.pcard__link{position:absolute;inset:0;z-index:2}
.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:5px 10px;border-radius:var(--pill);width:fit-content}
.badge svg{width:13px;height:13px}
.badge--ready{background:rgba(46,158,107,.12);color:var(--success)}
.badge--lead{background:var(--indigo-100);color:var(--indigo-700)}
.badge--top{position:absolute;top:10px;left:10px;z-index:3;background:var(--orange-400);color:var(--orange-950)}
.badge--sale{position:absolute;top:10px;right:10px;z-index:3;background:var(--pink-600);color:#fff}

/* Steps */
.steps{display:grid;gap:16px;counter-reset:s}
.step{background:var(--white);border-radius:var(--r);padding:20px;box-shadow:var(--sh-sm)}
.step__n{width:38px;height:38px;border-radius:50%;background:var(--pink-50);color:var(--pink-600);font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:10px;font-family:var(--ff-b)}
.step h3{font-size:18px;margin:0 0 .3em}
.step p{color:var(--muted);font-size:14px;margin:0}

/* Band diseña */
.band{background:linear-gradient(135deg,var(--indigo-700),var(--indigo-900));color:#fff;border-radius:var(--r-lg);padding:32px 24px;text-align:center;position:relative;overflow:hidden}
.band h2{color:#fff}
.band p{color:rgba(255,255,255,.86)}

/* Gallery strip */
.gstrip{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.gstrip a{border-radius:var(--r-sm);overflow:hidden;aspect-ratio:1;background:var(--indigo-100)}
.gstrip img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gstrip a:hover img{transform:scale(1.06)}

/* Testimonials */
.tgrid{display:grid;gap:14px}
.tcard{background:var(--white);border-radius:var(--r);padding:20px;box-shadow:var(--sh-sm)}
.tcard__stars{color:var(--orange-600);margin-bottom:8px;letter-spacing:2px}
.tcard__who{display:flex;align-items:center;gap:10px;margin-top:12px}
.tcard__who img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.tcard__who b{color:var(--indigo-900);font-size:14px}
.tcard__who span{color:var(--muted);font-size:12px;display:block}

/* Chips (selection) */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:44px;padding:10px 16px;border-radius:var(--pill);border:1.5px solid var(--indigo-100);background:var(--white);color:var(--indigo-900);font-weight:600;font-size:15px;cursor:pointer;transition:all .18s;user-select:none}
.chip:hover{border-color:var(--indigo-700)}
.chip[aria-pressed="true"],.chip.is-active{background:var(--indigo-700);color:#fff;border-color:var(--indigo-700)}
.chip:disabled{opacity:.4;cursor:not-allowed}

/* Category filter */
.catbar{display:flex;gap:8px;overflow-x:auto;padding:6px 18px 14px;scrollbar-width:none}
.catbar::-webkit-scrollbar{display:none}
.catbar a{flex:0 0 auto;padding:9px 18px;border-radius:var(--pill);background:var(--white);border:1.5px solid var(--indigo-100);color:var(--indigo-900);font-weight:600;font-size:14px;white-space:nowrap}
.catbar a:hover{border-color:var(--pink-400)}
.catbar a.is-active{background:var(--pink-600);color:#fff;border-color:var(--pink-600)}

/* Fields */
.field{margin-bottom:16px}
.field>label{display:block;font-weight:700;font-size:14px;color:var(--indigo-700);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;min-height:50px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:0 16px;font-family:var(--ff-b);font-size:16px;background:var(--white);color:var(--ink)}
.field textarea{padding:14px 16px;min-height:90px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--indigo-700)}
.radio-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.radio-card{border:1.5px solid var(--indigo-100);border-radius:var(--r-sm);padding:14px;cursor:pointer;font-weight:600;text-align:center;transition:all .18s}
.radio-card:has(input:checked){border-color:var(--indigo-700);background:var(--indigo-100)}
.radio-card input{position:absolute;opacity:0}

/* Single product (delivery-app) */
.pdp{padding-bottom:calc(var(--sticky-cta-h) + env(safe-area-inset-bottom) + 12px)}
.pdp__gallery img{border-radius:var(--r-lg);width:100%;box-shadow:var(--sh)}
.pdp__name{margin:.2em 0}
.pdp__price{font-size:22px;font-weight:800;color:var(--indigo-700);margin:6px 0 4px}
.pdp__meta{color:var(--muted);font-size:14px;margin-bottom:14px}
.pdp__group{margin:18px 0}
.pdp__group>label{display:block;font-weight:700;color:var(--indigo-900);margin-bottom:10px}
.pdp__bridge{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-weight:700;color:var(--pink-600)}
.pdp__micro{font-size:13px;color:var(--muted);text-align:center;margin-top:8px}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(43,34,88,.10);padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px}
.sticky-cta .price{font-size:18px;white-space:nowrap}
.sticky-cta .btn{flex:1}

/* Configurator */
.wizard{position:relative;padding-bottom:calc(var(--sticky-cta-h) + env(safe-area-inset-bottom) + 12px)}
.wizard__progress{display:flex;gap:6px;margin-bottom:18px}
.wizard__progress span{flex:1;height:6px;border-radius:3px;background:var(--indigo-100)}
.wizard__progress span.done{background:var(--pink-600)}
.wizard__step{display:none}
.wizard__step.is-active{display:block;animation:fade .3s}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.wizard__nav{display:flex;gap:10px;margin-top:18px}
.estimate{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--indigo-900);color:#fff;padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px}
.estimate small{display:block;font-size:12px;color:rgba(255,255,255,.7)}
.estimate b{font-family:var(--ff-b);font-size:20px;font-weight:800}

/* WhatsApp float */
.wa-float{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:65;width:58px;height:58px;border-radius:50%;background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(37,211,102,.4);transition:transform .2s}
.wa-float:hover{transform:scale(1.06);color:#fff}
.wa-float svg{width:30px;height:30px}
.wa-float.is-hidden{transform:translateY(120px)}

/* Placeholder note */
.datamark{display:inline-block;background:var(--orange-100);color:var(--orange-800);border:1px dashed var(--orange-400);border-radius:6px;padding:1px 6px;font-size:.86em;font-family:var(--ff-b)}

/* FAQ */
.faq details{background:var(--white);border-radius:var(--r-sm);padding:16px 18px;margin-bottom:10px;box-shadow:var(--sh-sm)}
.faq summary{font-weight:700;color:var(--indigo-900);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--pink-600);font-size:22px;line-height:1}
.faq details[open] summary::after{content:'–'}
.faq details p{margin:12px 0 0;color:var(--muted)}

/* Zones table */
.zones{display:grid;gap:8px}
.zone-row{display:flex;justify-content:space-between;gap:12px;background:var(--white);border-radius:var(--r-sm);padding:12px 16px;box-shadow:var(--sh-sm)}
.zone-row b{color:var(--indigo-900)}
.zone-row .c{color:var(--indigo-700);font-weight:800}

/* Footer */
/* ===== Footer (v2.8.0) ===== */
.site-footer{position:relative;margin:40px 0 0;overflow:hidden;background:linear-gradient(135deg,#ECEBFB 0%,#F3EDF8 55%,#FDEFF7 100%);color:var(--indigo-900)}
.site-footer::before{content:"";position:absolute;left:-34px;bottom:-26px;width:180px;height:180px;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23F01290"><path d="M12 20s-7-4.5-9.5-9C1 8 2.5 4.5 6 4.5c2 0 3.2 1.2 4 2.3 .8-1.1 2-2.3 4-2.3 3.5 0 5 3.5 3.5 6.5C19 15.5 12 20 12 20Z"/></svg>') no-repeat center/contain;opacity:.05;pointer-events:none}
.site-footer::after{content:"";position:absolute;right:-26px;top:22px;width:120px;height:120px;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%234F46E5"><path d="M12 20s-7-4.5-9.5-9C1 8 2.5 4.5 6 4.5c2 0 3.2 1.2 4 2.3 .8-1.1 2-2.3 4-2.3 3.5 0 5 3.5 3.5 6.5C19 15.5 12 20 12 20Z"/></svg>') no-repeat center/contain;opacity:.05;pointer-events:none}
.footer-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:2px;padding:34px 6px 14px}
.site-footer a{color:var(--indigo-900);text-decoration:none;transition:color .15s}
.site-footer a:hover{color:var(--pink-600)}
.footer-brand{text-align:center;padding-bottom:10px}
.footer-brand .brand-logo{justify-content:center}
.footer-tag{color:var(--muted);margin:10px auto 14px;max-width:34ch;font-size:14px;line-height:1.5}
.site-footer .social{justify-content:center;gap:10px;margin-top:0}
.site-footer .social a{width:44px;height:44px;border-radius:14px;background:var(--white);color:var(--indigo-700);box-shadow:var(--sh-sm)}
.site-footer .social a:hover{background:var(--pink-600);color:#fff;transform:translateY(-2px)}
.footer-col{border-top:1px solid rgba(49,46,129,.10)}
.footer-col>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:15px 8px;font-weight:700;font-size:16px;color:var(--indigo-900)}
.footer-col>summary::-webkit-details-marker{display:none}
.footer-col__ic{display:inline-flex;color:var(--pink-600)}
.footer-col__ic svg{width:20px;height:20px}
.footer-col__chev{margin-left:auto;color:var(--muted);transition:transform .2s}
.footer-col__chev svg{width:18px;height:18px}
.footer-col[open]>summary .footer-col__chev{transform:rotate(180deg)}
.footer-col ul{list-style:none;margin:0;padding:0 8px 14px 44px}
.footer-col li{margin-bottom:10px;font-size:14.5px;color:var(--ink)}
.footer-col .fc-contact{padding-left:44px}
.footer-col .fc-contact li{display:flex;align-items:center;gap:10px}
.footer-col .fc-contact li svg{width:18px;height:18px;color:var(--pink-600);flex:0 0 auto}
.footer-bottom{position:relative;z-index:1;border-top:1px solid rgba(49,46,129,.12);margin:6px 18px 0;padding:16px 0;text-align:center;font-size:13px;color:var(--muted)}
/* Responsive */
@media(min-width:600px){ .pgrid{grid-template-columns:repeat(3,1fr)} .steps{grid-template-columns:repeat(3,1fr)} .trust__row{grid-template-columns:repeat(3,1fr)} .tgrid{grid-template-columns:repeat(2,1fr)} .gstrip{grid-template-columns:repeat(4,1fr)} }
@media(min-width:900px){
  .main-nav{display:flex;gap:8px;align-items:center}
  .main-nav a{font-weight:700;color:var(--indigo-900);padding:10px 14px;border-radius:12px;position:relative}
  .main-nav a:hover{color:var(--pink-600)}
  .nav-toggle{display:none}
  .section{padding:72px 0}
  .hero__inner{grid-template-columns:1.05fr 1fr;align-items:center;padding:52px 0 60px}
  .hero__media{order:1}
  .pgrid{grid-template-columns:repeat(4,1fr);gap:20px}
  .tgrid{grid-template-columns:repeat(3,1fr)}
  .footer-cols{grid-template-columns:repeat(4,1fr)}
  .footer-inner{grid-template-columns:1.5fr 1fr 1fr 1fr 1.15fr;gap:26px;padding:48px 44px 18px;align-items:start}
  .pdp{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;padding-bottom:48px}
  .estimate{position:sticky;bottom:16px;border-radius:var(--pill);border:1px solid var(--line);margin-top:20px}
  .radio-cards{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1100px){ .pgrid{grid-template-columns:repeat(4,1fr)} }
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto}}
/* WooCommerce grid item reset (core adds float:left) */
.pgrid{align-items:stretch}
.pgrid>li.product,.pgrid>li{float:none!important;width:100%!important;min-width:0;margin:0!important;clear:none!important}
ul.products{list-style:none}

/* Kill WooCommerce clearfix pseudo that breaks grid flow */
.pgrid::before,.pgrid::after{content:none!important;display:none!important}

/* Button icon sizing (fixes oversized WhatsApp glyph) */
.btn svg,.btn__i{width:20px;height:20px;flex:0 0 auto}
.btn--lg svg,.btn--lg .btn__i{width:22px;height:22px}
.sticky-cta .btn{white-space:nowrap}
.drawer__wa .btn__i{width:20px;height:20px}

/* Katibeh (display) renders best at its natural weight */
h1,h2,h3,.brand-name,.drawer__panel a,.pcard__name,.brand-name{font-weight:400;letter-spacing:.005em}

/* ===== Mobile bottom nav ===== */
.bnav{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;grid-template-columns:repeat(5,1fr);align-items:end;gap:2px;background:var(--pink-50);border-top:1px solid var(--line);border-radius:20px 20px 0 0;padding:9px 6px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(43,34,88,.08)}
.bnav__item{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:#FF708C;font-family:var(--ff-b);font-size:11.5px;font-weight:600;line-height:1;padding:4px 0 2px;transition:color .16s,transform .16s}
.bnav__i{width:24px;height:24px;display:block}
.bnav__t{white-space:nowrap}
.bnav__item.is-active{color:var(--indigo-700);font-weight:700}
.bnav__item.is-active .bnav__i{transform:scale(1.08)}
.bnav__item:active{transform:scale(.93)}
@media(max-width:899.98px){
  .bnav{display:grid}
  body{padding-bottom:74px}
  .wa-float{bottom:calc(86px + env(safe-area-inset-bottom))}
}
/* ===== Modular type scale (Minor Third 1.200 / base 20px) ===== */
:root{--fs-h1:3.732rem;--fs-h2:3.11rem;--fs-h3:2.592rem;--fs-h4:2.16rem;--fs-h5:1.8rem;--fs-h6:1.5rem}
h1{font-size:var(--fs-h1);line-height:1.08;letter-spacing:.005em}
h2{font-size:var(--fs-h2);line-height:1.14}
h3{font-size:var(--fs-h3);line-height:1.2}
h4,h5,h6{font-family:var(--ff-d);font-weight:400;color:var(--indigo-900);line-height:1.25;margin:0 0 .4em}
h4{font-size:var(--fs-h4)} h5{font-size:var(--fs-h5)} h6{font-size:var(--fs-h6)}
.pcard__name{font-size:1.125rem}

/* ===== Wishlist ===== */
.wl-btn{position:absolute;top:10px;right:10px;z-index:3;width:38px;height:38px;border-radius:50%;border:none;background:rgba(255,255,255,.92);box-shadow:var(--sh-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--pink-600);-webkit-tap-highlight-color:transparent;transition:transform .15s,background .15s}
.wl-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round}
.wl-btn.is-on svg{fill:currentColor}
.wl-btn:hover{background:#fff}
.wl-btn:active{transform:scale(.88)}
.pdp__gallery{position:relative}
.pdp__gallery .wl-btn{top:12px;right:12px;width:44px;height:44px}
.pdp__gallery .wl-btn svg{width:23px;height:23px}
.wl-empty{background:var(--white);border:1px dashed var(--line);border-radius:var(--r)}
#dandys-wishlist>li{transition:opacity .18s}

/* ===== Bottom-nav favoritos badge ===== */
.bnav__ic{position:relative;display:inline-flex}
.bnav__badge{position:absolute;top:-6px;right:-10px;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:var(--pink-600);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}
/* ===== Coverage modal ===== */
.cov-link{color:var(--pink-600);font-weight:700;text-decoration:underline;cursor:pointer;background:none;border:none;padding:0;font-size:.92em}
.cov-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;justify-content:center}
.cov-modal[hidden]{display:none}
.cov-modal__backdrop{position:absolute;inset:0;background:rgba(43,34,88,.55)}
.cov-modal__panel{position:relative;background:var(--cream);width:100%;max-width:960px;max-height:90vh;overflow-y:auto;border-radius:22px 22px 0 0;padding:26px 18px calc(26px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px rgba(43,34,88,.3);-webkit-overflow-scrolling:touch}
.cov-modal__x{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:none;background:var(--white);color:var(--indigo-900);font-size:24px;line-height:1;cursor:pointer;box-shadow:var(--sh-sm);z-index:2}
.cov-title{color:var(--indigo-700);text-align:center;margin:0 0 6px}
.cov-sub{color:var(--muted);text-align:center;max-width:46ch;margin:0 auto 20px;font-size:15px}
.cov-cols{display:grid;grid-template-columns:1fr;gap:16px}
.cov-box{border:1.5px solid var(--indigo-100);border-radius:var(--r);padding:14px 16px}
.cov-h{color:var(--orange-700);font-family:var(--ff-b);font-weight:800;font-size:1.05rem;margin:0 0 10px}
.cov-zones{display:block}
.cov-item{border-bottom:1px solid var(--line)}
.cov-item>summary,.cov-item--full{padding:11px 4px;font-weight:600;color:var(--indigo-900);display:flex;align-items:center;gap:9px}
.cov-item>summary{list-style:none;cursor:pointer}
.cov-item>summary::-webkit-details-marker{display:none}
.cov-item>summary::before{content:'';width:0;height:0;border-left:6px solid var(--pink-600);border-top:5px solid transparent;border-bottom:5px solid transparent;transition:transform .2s;flex:0 0 auto}
.cov-item[open]>summary::before{transform:rotate(90deg)}
.cov-item--full{break-inside:avoid}
.cov-check{color:var(--success);font-weight:800;font-size:1.05em}
.cov-tag{margin-left:auto;font-size:11px;font-weight:700;color:var(--success);background:rgba(46,158,107,.12);padding:2px 9px;border-radius:var(--pill)}
.cov-item__body{padding:2px 4px 12px 21px}
.cov-item__body p{margin:.4em 0;font-size:13.5px;color:var(--ink);line-height:1.5}
.cov-item__body b{color:var(--indigo-700)}
.cov-note{margin:12px 0 0;font-size:13px;color:var(--muted);font-style:italic}
.cov-terms{margin-top:18px;padding:13px 16px;background:var(--pink-50);border-radius:var(--r-sm);font-size:13.5px;color:var(--indigo-900);text-align:center;line-height:1.6}
@media(min-width:760px){
  .cov-modal{align-items:center}
  .cov-modal__panel{border-radius:22px}
  .cov-cols{grid-template-columns:1.7fr 1fr}
  .cov-box--gt .cov-zones{columns:2;column-gap:20px}
  .cov-box--gt .cov-item{break-inside:avoid}
}
/* ===== B2B lead pages ===== */
.step__n svg{width:20px;height:20px}
.lead-form{display:grid;gap:14px;background:var(--white);padding:22px;border-radius:var(--r);box-shadow:var(--sh-sm);border:1px solid var(--line);margin-top:10px}
.lead-hero{padding-bottom:6px}

/* ===== Favoritos icon states + clickable trust ===== */
.wl-btn svg{width:20px;height:20px;fill:currentColor;stroke:none}
.wl-f{display:none}
.wl-btn.is-on .wl-o{display:none}
.wl-btn.is-on .wl-f{display:block}
.pdp__gallery .wl-btn svg{width:23px;height:23px}
.trust__i--link{text-decoration:none;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.trust__i--link:hover span{text-decoration:underline}
/* ===== WhatsApp heart float (beat) ===== */
.wa-float{background:none;border-radius:0;box-shadow:none;width:64px;height:64px;padding:0;filter:drop-shadow(0 8px 16px rgba(69,195,152,.5));animation:wa-beat 2.6s ease-in-out infinite;color:var(--wa);overflow:visible}
.wa-float svg{width:100%;height:100%}
.wa-float .wa-heart{fill:var(--wa)}
.wa-float .wa-glyph{fill:#FFF4F6}
.wa-float:hover{transform:scale(1.1);animation-play-state:paused;color:var(--wa);filter:drop-shadow(0 10px 20px rgba(69,195,152,.6))}
@keyframes wa-beat{0%,100%{transform:scale(1)}12%{transform:scale(1.14)}24%{transform:scale(1)}36%{transform:scale(1.09)}50%{transform:scale(1)}}
/* ===== Header (glass) rebuild v2.5 ===== */
.site-header{position:sticky;top:0;z-index:80;background:rgba(248,250,251,.72);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid rgba(255,255,255,.6);box-shadow:0 2px 20px rgba(30,27,75,.05)}
.header-inner{position:relative;display:flex;align-items:center;gap:12px;min-height:var(--header-h);padding:10px 0}
.brand-logo{flex:0 0 auto}

.header-nav{display:none;align-items:center;gap:8px;flex:0 0 auto;list-style:none}
.header-nav a{font-weight:700;font-size:14px;color:var(--indigo-900);padding:9px 18px;border-radius:var(--pill);text-decoration:none;white-space:nowrap;background:rgba(49,46,129,.06);transition:color .15s,background .15s,transform .12s}
.header-nav a:hover{background:var(--indigo-700);color:#fff;transform:translateY(-1px)}
.header-nav a.is-accent{background:var(--pink-50);color:var(--pink-600)}
.header-nav a.is-accent:hover{background:var(--pink-600);color:#fff}

/* Buscador unico: movil desplegable / desktop inline */
.hsearch{position:absolute;top:100%;left:0;right:0;margin-top:8px;display:none;align-items:center;background:var(--white);border:1.5px solid var(--line);border-radius:var(--pill);padding:0 8px 0 6px;min-height:48px;box-shadow:var(--sh);z-index:40}
.hsearch.is-open{display:flex}
.hsearch__btn{background:none;border:none;color:var(--muted);width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;padding:0;transition:color .15s}
.hsearch__btn:hover{color:var(--indigo-700)}
.hsearch__btn svg{width:20px;height:20px}
.hsearch__input{flex:1 1 auto;border:none;outline:none;background:none;font:inherit;font-size:14px;color:var(--ink);min-width:0}
.hsearch__input::placeholder{color:var(--muted)}
.hsearch__drop{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);z-index:41;max-height:60vh;overflow-y:auto;overflow-x:hidden}
.hsearch__row{display:flex;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line);transition:background .15s}
.hsearch__row:last-child{border-bottom:none}
.hsearch__row:hover{background:var(--pink-50)}
.hsearch__row img{width:44px;height:44px;border-radius:10px;object-fit:cover;flex:0 0 auto;background:var(--indigo-100)}
.hsearch__name{flex:1 1 auto;font-size:14px;font-weight:600;line-height:1.3;color:var(--indigo-900)}
.hsearch__price{flex:0 0 auto;font-weight:800;color:var(--indigo-700);font-size:13px;white-space:nowrap}
.hsearch__price small{font-weight:600;color:var(--muted)}
.hsearch__empty{padding:16px;text-align:center;color:var(--muted);font-size:14px}

/* Acciones (iconos) */
.header-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin-left:auto}
.header-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line);background:rgba(255,255,255,.55);color:var(--indigo-900);cursor:pointer;text-decoration:none;flex:0 0 auto;transition:border-color .15s,color .15s,background .15s,transform .12s;padding:0}
.header-icon:hover{border-color:var(--pink-400);color:var(--pink-600);background:var(--white)}
.header-icon:active{transform:scale(.9)}
.header-icon svg{width:19px;height:19px}
.header-icon--wa{color:var(--wa)}
.header-icon--wa:hover{border-color:var(--wa);color:var(--wa)}
.header-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--pink-600);color:#fff;font-size:10px;font-weight:800;font-family:var(--ff-b);border:2px solid var(--cream);display:flex;align-items:center;justify-content:center;line-height:1}

/* Movil compacto */
@media(max-width:899px){
  .header-actions{gap:4px}
  .header-icon{width:34px;height:34px}
  .header-icon svg{width:18px;height:18px}
  .brand-logo svg,.brand-logo img{height:34px}
}

/* Desktop */
@media(min-width:900px){
  .header-inner{gap:18px}
  .header-nav{display:flex}
  .hsearch{position:static;display:flex;flex:1 1 auto;max-width:440px;margin:0 auto;background:rgba(49,46,129,.05);border-color:transparent;box-shadow:none;min-height:50px}
  .hsearch:focus-within{background:var(--white);border-color:var(--pink-400)}
  .header-icon--search,.header-icon--menu{display:none}
  .header-actions{gap:8px;margin-left:0}
  .header-icon{width:44px;height:44px}
  .header-icon svg{width:21px;height:21px}
  .header-badge{top:-5px;right:-5px;min-width:19px;height:19px;font-size:11px}
}

/* ===== Social icons (footer) ===== */
.social{display:flex;gap:10px;margin-top:16px}
.social a{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);color:#fff;transition:background .15s,transform .12s}
.social a:hover{background:var(--pink-600);transform:translateY(-2px);color:#fff}
.social svg{width:20px;height:20px}

/* ===== Footer desktop (v2.8.0) ===== */
@media(min-width:900px){
  .site-footer{margin:56px 0 0}
  .footer-brand{text-align:left;padding-bottom:0}
  .footer-brand .brand-logo{justify-content:flex-start}
  .footer-tag{margin-left:0}
  .site-footer .social{justify-content:flex-start}
  .footer-col{border-top:none}
  .footer-col>summary{padding:0 0 14px;font-size:16px;pointer-events:none;position:relative}
  .footer-col>summary::after{content:"";position:absolute;left:0;bottom:7px;width:34px;height:3px;background:var(--pink-600);border-radius:2px}
  .footer-col__ic,.footer-col__chev{display:none}
  .footer-col>ul{display:block!important;padding:16px 0 0}
  .footer-col::details-content{content-visibility:visible!important;display:block!important;contain:none!important}
  .footer-col .fc-contact{padding-left:0}
  .footer-bottom{margin:0 44px}
}

/* ===== PDP v3 (single product) ===== */
.pdp2{padding-bottom:calc(var(--sticky-cta-h) + env(safe-area-inset-bottom) + 12px)}
.pdp2__media{position:relative}
.pdp2__topbar{position:absolute;top:12px;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between}
.pdp2__topbar-r{display:flex;gap:10px}
.pdp2__ic{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--indigo-900);border:none;box-shadow:var(--sh-sm);cursor:pointer;text-decoration:none;transition:color .15s,transform .12s}
.pdp2__ic:hover{color:var(--pink-600)}
.pdp2__ic:active{transform:scale(.92)}
.pdp2__ic svg{width:20px;height:20px}
.pdp2__topbar-r .wl-btn{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:var(--sh-sm);display:inline-flex;align-items:center;justify-content:center}
.pdp2__stage{position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--pink-50),var(--indigo-100));min-height:62vw;padding:60px 20px 30px;overflow:hidden}
.pdp2__badges{position:absolute;left:16px;bottom:16px;display:flex;gap:8px;z-index:4}
.pdp2__mainbtn{position:relative;border:none;background:none;padding:0;cursor:zoom-in;width:100%;display:flex;justify-content:center}
.pdp2__main{max-width:82%;max-height:52vh;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(30,27,75,.22))}
.pdp2__zoomhint{position:absolute;right:12px;bottom:2px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.88);display:flex;align-items:center;justify-content:center;color:var(--indigo-900);box-shadow:var(--sh-sm)}
.pdp2__zoomhint svg{width:18px;height:18px}
.pdp2__thumbs{display:flex;gap:10px;overflow-x:auto;padding:14px 16px 2px;scrollbar-width:none}
.pdp2__thumbs::-webkit-scrollbar{display:none}
.pdp2__thumb{flex:0 0 auto;width:64px;height:64px;border-radius:14px;overflow:hidden;border:2px solid transparent;background:var(--white);padding:0;cursor:pointer;transition:border-color .15s;box-shadow:var(--sh-sm)}
.pdp2__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pdp2__thumb.is-active{border-color:var(--pink-600)}
.pdp2__sheet{position:relative;margin-top:-22px;background:var(--cream);border-radius:24px 24px 0 0;padding-top:24px;z-index:2}
.pdp2__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.pdp2__head .pdp__name{margin:.1em 0;flex:1}
.pdp2__head .pdp__price{white-space:nowrap;margin-top:6px}
.pdp2__stats{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:12px 0 4px;color:var(--muted);font-size:14px}
.pdp2__stat{display:inline-flex;align-items:center;gap:6px}
.pdp2__stat svg{width:18px;height:18px;color:var(--pink-600)}
.pdp2__stat b{color:var(--ink)}
.pdp2__star{color:var(--orange-600);font-size:16px;line-height:1}
.pdp2__group{margin:20px 0}
.pdp2__group>label{display:block;font-weight:700;color:var(--indigo-900);margin-bottom:10px}
.pdp2__h{font-size:20px;margin:0 0 8px;color:var(--indigo-900)}
.pdp2__qtyrow{display:flex;align-items:center;justify-content:space-between}
.pdp2__qtyrow>label{margin:0}
.stepper{display:inline-flex;align-items:center;gap:2px;background:var(--white);border:1.5px solid var(--line);border-radius:var(--pill);padding:4px}
.stepper__b{width:38px;height:38px;border-radius:50%;border:none;background:var(--indigo-100);color:var(--indigo-900);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.stepper__b:hover{background:var(--indigo-700);color:#fff}
.stepper__v{min-width:40px;text-align:center;font-weight:800;font-size:17px;color:var(--ink)}
.tag{display:inline-block;padding:5px 12px;border-radius:var(--pill);font-size:12px;font-weight:800;letter-spacing:.02em}
.tag--new{background:#FF7A59;color:#fff}
.tag--sale{background:var(--success);color:#fff}
.pdp-lb{position:fixed;inset:0;z-index:200;background:rgba(20,16,40,.93);display:none;align-items:center;justify-content:center}
.pdp-lb[aria-hidden="false"]{display:flex}
.pdp-lb__vp{max-width:100vw;max-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pdp-lb__img{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:8px;cursor:zoom-in;transition:transform .2s ease;touch-action:none;user-select:none;-webkit-user-select:none}
.pdp-lb__img.is-zoomed{transform:scale(2.4);cursor:zoom-out}
.pdp-lb__close{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.15);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pdp-lb__close svg{width:22px;height:22px}
.pdp-lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:none;background:rgba(255,255,255,.15);color:#fff;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pdp-lb__prev{left:12px}
.pdp-lb__next{right:12px}
.pdp-lb__nav:hover,.pdp-lb__close:hover{background:rgba(255,255,255,.3)}
.pdp-lb__counter{position:absolute;top:22px;left:50%;transform:translateX(-50%);color:#fff;font-size:14px;font-weight:700;background:rgba(0,0,0,.3);padding:4px 12px;border-radius:var(--pill)}
.pdp-lb__hint{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:13px;margin:0;text-align:center}
@media(min-width:900px){
  .pdp2{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;max-width:var(--container);margin:0 auto;padding:24px 20px 32px}
  .pdp2__media{position:sticky;top:88px}
  .pdp2__stage{border-radius:var(--r-lg);min-height:auto;padding:64px 34px 40px}
  .pdp2__main{max-height:440px;max-width:78%}
  .pdp2__sheet{margin-top:0;background:none;border-radius:0;padding-top:0}
  .pdp2__thumbs{padding:14px 0 2px}
}

/* ===== PDP: navbar se mantiene; el CTA se apila encima ===== */
body.single-product .wa-float{display:none}
@media(max-width:899px){
  body.single-product .sticky-cta.pdp2bar{bottom:64px}
  body.single-product .pdp2{padding-bottom:calc(var(--pdp-bar-h,126px) + 64px + env(safe-area-inset-bottom) + 8px)}
  body.single-product{padding-bottom:calc(var(--pdp-bar-h,126px) + 64px + env(safe-area-inset-bottom) + 16px)!important}
}

/* ===== PDP v3.1: colores tag, thumbnails, compartir, barra compra ===== */
/* Tag disponibilidad: ícono en el color del badge (no rosa) */
.badge--ready svg{color:var(--success)}
.badge--lead svg{color:var(--indigo-700)}
.pdp2__stat--badge .badge{font-size:13px}

/* Thumbnails: no dejar que el sheet los corte cuando hay galería */
.pdp2.has-thumbs .pdp2__sheet{margin-top:0}
.pdp2__thumbs{padding-bottom:6px}
.pdp2__thumb img{object-fit:cover}

/* Placeholder: sin zoom */
.pdp2__mainbtn.is-noimg{cursor:default}
.pdp2__stage.is-placeholder .pdp2__main{max-width:56%;filter:none}

/* Compartir */
.pdp2__share>label{margin-bottom:10px}
.share-row{display:flex;gap:10px;flex-wrap:wrap}
.sh{position:relative;width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:transform .12s,box-shadow .15s;text-decoration:none;background:linear-gradient(135deg,var(--indigo-100),var(--pink-50));color:var(--indigo-700)}
.sh:hover{transform:translateY(-2px);box-shadow:var(--sh-sm)}
.sh svg{width:20px;height:20px}
.sh--wa{color:var(--wa)}
.sh--fb{color:var(--indigo-700)}
.sh--ig{color:var(--pink-600)}
.sh--pin{color:var(--pink-600)}
.sh--mail{color:var(--indigo-700)}
.sh.is-copied::after{content:'Enlace copiado';position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--ink);color:#fff;font-size:11px;padding:4px 8px;border-radius:6px}

/* Barra de compra inferior (cantidad + añadir + whatsapp) */
.sticky-cta.pdp2bar{display:block;padding:0}
.pdp2bar__in{display:flex;flex-direction:column;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
.pdp2bar__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pdp2bar__price{font-family:var(--ff-b);font-weight:800;font-size:20px;color:var(--indigo-700);white-space:nowrap}
.pdp2bar__btns{display:flex;flex-direction:row;align-items:center;gap:6px}
.pdp2bar__btns .btn{flex:1 1 0;min-width:0;justify-content:center;font-size:12.5px;letter-spacing:-.01em;padding:13px 5px;gap:4px}
.pdp2bar__btns .btn svg,.pdp2bar__btns .btn .btn__i{width:16px;height:16px;flex:0 0 auto}
.pdp2bar__btns .btn span{overflow:hidden;text-overflow:ellipsis}
.pdp2bar .stepper{flex:0 0 auto;padding:3px}
.pdp2bar .stepper__b{width:34px;height:34px;font-size:20px}
.pdp2bar .stepper__v{min-width:30px;font-size:16px}
.pdp2bar .btn{white-space:nowrap}

.btn--primary{background:var(--indigo-700);color:#fff}
.btn--primary:hover{background:var(--indigo-900);color:#fff}
.btn--primary svg{width:20px;height:20px}
.btn--icon{flex:0 0 52px;width:52px;padding-left:0;padding-right:0;justify-content:center}
.btn.is-disabled,.js-add-cart:disabled{opacity:.45;pointer-events:none}
@media(min-width:900px){
  /* Desktop: la barra de compra va inline debajo de Detalles (hay espacio) */
  .sticky-cta.pdp2bar{position:static;bottom:auto;left:auto;right:auto;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;border-radius:0;box-shadow:none;padding:0;margin:22px 0 4px;z-index:auto}
  .pdp2bar__in{max-width:none;margin:0;padding:0;gap:12px}
  .pdp2bar__top{justify-content:flex-start;gap:18px}
  .pdp2bar__price{font-size:24px}
  .pdp2bar__top .stepper{margin-left:auto}
  .pdp2bar__btns{gap:12px}
  .pdp2bar__btns .btn{flex:1 1 0;font-size:15px;padding:14px 18px;gap:8px}
  .pdp2bar__btns .btn svg,.pdp2bar__btns .btn .btn__i{width:20px;height:20px}
}

/* ===== Toast "Añadido a la cesta" ===== */
.dandys-toast{position:fixed;white-space:nowrap;left:50%;bottom:calc(150px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(16px);background:var(--indigo-900);color:#fff;padding:12px 20px;border-radius:var(--pill);font-weight:700;font-size:14px;box-shadow:var(--sh);z-index:300;opacity:0;transition:opacity .3s,transform .3s;display:flex;align-items:center;gap:8px;pointer-events:none;font-family:var(--ff-b)}
.dandys-toast.is-show{opacity:1;transform:translateX(-50%) translateY(0)}
.dandys-toast__ck{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--wa);color:#fff;font-size:12px}
@media(min-width:900px){ .dandys-toast{bottom:32px} }

/* Pantallas angostas (360px): asegura que los dos textos quepan lado a lado */
@media(max-width:374px){
  .pdp2bar__btns{gap:5px}
  .pdp2bar__btns .btn{font-size:11.5px;padding:13px 4px;gap:3px}
  .pdp2bar__btns .btn svg,.pdp2bar__btns .btn .btn__i{width:15px;height:15px}
}

/* Móvil: Favoritos y Cesta viven en la navbar inferior; se ocultan del header para no duplicar */
@media(max-width:899px){
  .header-icon--fav,.header-icon--cart{display:none}
}

/* Precio con oferta: normal tachado + rebajado */
.pdp__price del,.pdp2bar__price del,.pcard__price del,.price del{color:var(--muted);font-weight:600;text-decoration:line-through;font-size:.72em;margin-right:6px;opacity:.8}
.pdp__price ins,.pdp2bar__price ins,.pcard__price ins,.price ins{text-decoration:none;color:inherit;background:none}

/* Titulo de producto a tamano h1 completo en movil: la fila se apila para darle
   el ancho entero y evitar scroll horizontal con nombres largos */
@media(max-width:899px){
  .pdp2__head{flex-direction:column;align-items:flex-start;gap:2px}
  .pdp2__head .pdp__name{min-width:0;overflow-wrap:anywhere}
  .pdp2__head .pdp__price{margin-top:2px}
}

/* ===== Footer v3.6: logo centrado (movil), texto final a la izquierda, credito Orbon ===== */
/* El logo del footer lo pinta the_custom_logo() -> .custom-logo-link (no .brand-logo),
   y el reset img{display:block} impide que text-align lo centre. */
.footer-brand .custom-logo-link{display:flex;justify-content:center}
.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left}
.footer-bottom__t{display:block}
.site-footer .footer-orbon{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;text-decoration:none;transition:color .15s}
.site-footer .footer-orbon:hover{color:var(--indigo-700)}
.footer-orbon__m{display:inline-flex;color:currentColor}
.footer-orbon__m svg{height:14px;width:auto;display:block}
@media(min-width:900px){
  .footer-brand .custom-logo-link{justify-content:flex-start}
  .footer-bottom{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}
}

/* ===== Tienda: scroll infinito (v3.8) ===== */
.shop-more{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:26px;min-height:52px}
.shop-more .btn{min-width:190px}
.shop-more__s{margin:0;color:var(--muted);font-size:14px;text-align:center}
.shop-more.is-done .shop-more__s{font-weight:600}
.shop-more.is-loading .btn{opacity:.65}
.pgrid.products>li{animation:pcard-in .32s ease both}
@media(prefers-reduced-motion:reduce){ .pgrid.products>li{animation:none} }
@keyframes pcard-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ===== Carrito v3.9 (mobile-first; sin boton "Actualizar carrito") ===== */
/* page.php estrechaba el contenedor con un style inline; ahora es una clase y el
   carrito/checkout usan el ancho completo */
.container--narrow{max-width:760px}
/* WooCommerce imprime los avisos dentro del mismo hook, asi que caen dentro del
   grid: deben ocupar la fila entera y no una celda */
.cart2>.woocommerce-notices-wrapper{grid-column:1/-1}
.cart2{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.cart2__card,.cart2__sum,.cart2__empty{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}
.cart2__card{padding:14px}
.cart2__thead{display:none}
.cart2__list{list-style:none;margin:0;padding:0}

.cart2__item{display:grid;grid-template-columns:88px minmax(0,1fr);grid-template-areas:"media info" "price qty" "price sub";gap:10px 14px;padding:14px 0;border-bottom:1px solid var(--line);transition:opacity .24s,transform .24s}
.cart2__item:last-child{border-bottom:none}
.cart2__item.is-busy{opacity:.55}
.cart2__item.is-gone{opacity:0;transform:translateX(-14px)}
.cart2__media{grid-area:media}
.cart2__media img{width:88px;height:88px;object-fit:cover;border-radius:var(--r-sm);background:var(--indigo-100)}
.cart2__info{grid-area:info;min-width:0}
.cart2__name{font-size:var(--fs-h4);line-height:1.15;margin:0 0 8px}
.cart2__name a{color:var(--indigo-900)}
.cart2__name a:hover{color:var(--pink-600)}
.cart2__kind{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:var(--muted);font-size:14px}
.cart2__kind svg{width:18px;height:18px;color:var(--pink-600);flex:0 0 auto}
.cart2__meta{color:var(--muted);font-size:13px}
.cart2__meta p{margin:0 0 4px}
.cart2__rm{display:inline-flex;align-items:center;gap:7px;color:var(--pink-600);font-weight:600;font-size:14px;background:none;border:none;padding:0;cursor:pointer}
.cart2__rm svg{width:17px;height:17px;flex:0 0 auto}
.cart2__rm:hover{color:var(--indigo-700)}
.cart2__price{grid-area:price;align-self:center;text-align:center}
.cart2__price .amount,.cart2__price bdi{font-weight:800;color:var(--ink);font-size:16px}
.cart2__price small,.cart2__sub small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.cart2__qty{grid-area:qty;justify-self:center;align-self:center}
.cart2__sub{grid-area:sub;align-self:center;text-align:right}
.cart2__sub .js-c-sub{font-weight:800;color:var(--indigo-700);font-size:16px}

.cart2__actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:14px;border-top:1px solid var(--line)}
.cart2__coupon{display:flex;gap:10px;width:100%}
.cart2__cwrap{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;border:1.5px solid var(--line);border-radius:var(--pill);padding:0 14px;background:var(--white)}
.cart2__cwrap:focus-within{border-color:var(--pink-400)}
.cart2__cwrap svg{width:18px;height:18px;color:var(--indigo-700);flex:0 0 auto}
.cart2__cwrap input{flex:1 1 auto;min-width:0;border:none;outline:none;background:none;font:inherit;font-size:15px;min-height:48px;padding:0;color:var(--ink)}
.cart2__capply{flex:0 0 auto;color:var(--pink-600);border-color:var(--pink-400)}
.cart2__capply:hover{background:var(--pink-600);color:#fff;border-color:var(--pink-600)}

/* Resumen */
.cart2__sum{padding:22px 20px}
.cart2__sumt{text-align:center;margin:0 0 6px;font-size:var(--fs-h3)}
.cart2__rule{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px}
.cart2__rule i{display:block;width:42px;height:1.5px;background:var(--pink-400);border-radius:2px}
.cart2__rule svg{width:16px;height:16px;color:var(--pink-600)}
.cart2__rows{display:flex;flex-direction:column;gap:2px}
.cart2__row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:12px 0;font-size:15px;color:var(--ink)}
.cart2__row--ship{border-top:1.5px dotted var(--pink-400);border-bottom:1px solid var(--line)}
.cart2__v{font-weight:700;text-align:right}
.cart2__v--soft{font-weight:500;color:var(--muted);font-size:14px}
.cart2__row--total{border-top:1px solid var(--line);margin-top:6px;padding-top:16px;align-items:center}
.cart2__row--total>span:first-child{font-family:var(--ff-d);font-size:var(--fs-h4);color:var(--indigo-900)}
.cart2__row--total .cart2__v{font-family:var(--ff-b);font-weight:800;font-size:26px;color:var(--indigo-900)}
.cart2__go{margin-top:18px}
.cart2__go .btn,.cart2__keep{width:100%}
.cart2__keep{margin-top:10px;color:var(--pink-600);border-color:var(--pink-400)}
.cart2__keep:hover{background:var(--pink-50);color:var(--pink-600)}
.cart2 .cart-discount .cart2__v{color:var(--success)}

/* Cesta vacia */
.cart2__empty{padding:48px 24px;text-align:center;grid-column:1/-1}
.cart2__emptyi{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;background:var(--pink-50);color:var(--pink-600);margin-bottom:16px}
.cart2__emptyi svg{width:36px;height:36px}
.cart2__empty p{color:var(--muted);margin-bottom:20px}

@media(min-width:900px){
  .cart2{grid-template-columns:minmax(0,1fr) 360px;gap:24px}
  .cart2__card{padding:22px 24px}
  .cart2__side{position:sticky;top:88px}
  .cart2__thead{display:grid;grid-template-columns:1fr 120px 150px 120px;gap:16px;padding:0 0 12px;border-bottom:1px solid var(--line);font-family:var(--ff-d);font-size:var(--fs-h6);color:var(--indigo-900)}
  .cart2__thead span:not(:first-child){text-align:center}
  .cart2__thead span:last-child{text-align:right}
  .cart2__item{grid-template-columns:96px minmax(0,1fr) 120px 150px 120px;grid-template-areas:"media info price qty sub";align-items:center;gap:16px;padding:18px 0}
  .cart2__item>.cart2__price small,.cart2__item>.cart2__sub small{display:none}
  .cart2__qty{justify-self:center}
  .cart2__coupon{width:auto;flex:1 1 auto;max-width:520px}
}

/* WooCommerce trae su CSS de la tabla clasica con float y anchos en %:
   .cart_totals sale a float:right;width:48%. Aqui el layout es grid, asi que hay
   que anularlo con MAS especificidad que la suya (.woocommerce .cart-collaterals .cart_totals = 0-3-0). */
.woocommerce .cart2 .cart-collaterals,
.woocommerce .cart2 .cart-collaterals .cart_totals{float:none;width:100%;margin:0}
.cart2>.cross-sells{grid-column:1/-1;float:none;width:100%;margin-top:8px}
/* Tamanos propios de fila de carrito: la escala h4/h3 completa es demasiado aqui */
.cart2__name{font-size:var(--fs-h5)}
.cart2__sumt{font-size:var(--fs-h4)}
.cart2__row--total>span:first-child{font-size:var(--fs-h5)}
@media(min-width:900px){
  .cart2__thead{grid-template-columns:minmax(0,1fr) 100px 132px 108px}
  .cart2__item{grid-template-columns:88px minmax(0,1fr) 100px 132px 108px}
  .cart2__media img{width:88px;height:88px}
}
/* .btn--primary es indigo (se cambio para la PDP); aqui el CTA de conversion va en rosa de marca */
.cart2__go .checkout-button{background:var(--pink-600);box-shadow:var(--sh-pink)}
.cart2__go .checkout-button:hover{background:var(--pink-400)}
/* Carrito movil v3.9.5: precio / cantidad / subtotal en UNA fila (como el mockup) */
@media(max-width:899px){
  .cart2__item{grid-template-columns:88px minmax(0,1fr) auto;grid-template-areas:"media info info" "price qty sub";align-items:center}
  .cart2__price{text-align:left}
  .cart2__sub{text-align:right}
  .cart2__qty{justify-self:center}
  .cart2__capply{font-size:14px;padding:.7rem 1rem}
  .cart2__cwrap input{font-size:14px}
}

/* ===== Avisos de WooCommerce v4.0 =====
   El tema no los estilaba: el error de cupon salia como texto suelto sin caja
   ni color, asi que no se leia como aviso. Contrastes verificados (>=4.5:1). */
:root{
  --err-50:#FEF2F2; --err-500:#DC2626; --err-800:#991B1B;
  --ok-50:#ECFDF5;  --ok-800:#166534;
}
.woocommerce-error,
.woocommerce-message,
.woocommerce-info{
  list-style:none;margin:0 0 18px;padding:14px 18px;border-radius:var(--r-sm);
  font-family:var(--ff-b);font-size:14.5px;line-height:1.5;font-weight:600;
  border-left:4px solid currentColor;display:flex;flex-direction:column;gap:6px
}
.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li{margin:0;display:flex;align-items:flex-start;gap:10px}
.woocommerce-error li::before,
.woocommerce-message li::before,
.woocommerce-info li::before{
  content:"";flex:0 0 auto;width:19px;height:19px;margin-top:1px;border-radius:50%;
  background:currentColor;
  -webkit-mask:center/13px no-repeat;mask:center/13px no-repeat
}
/* signo de exclamacion */
.woocommerce-error li::before{
  -webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M12 2 1 21h22L12 2Zm1 15h-2v-2h2v2Zm0-4h-2V8h2v5Z"/></svg>');
  mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M12 2 1 21h22L12 2Zm1 15h-2v-2h2v2Zm0-4h-2V8h2v5Z"/></svg>')
}
/* palomita */
.woocommerce-message li::before{
  -webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2Z"/></svg>');
  mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2Z"/></svg>')
}
.woocommerce-info li::before{
  -webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M11 7h2v2h-2V7Zm0 4h2v6h-2v-6Zm1-9a10 10 0 1 0 0 20 10 10 0 0 0 0-20Z"/></svg>');
  mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M11 7h2v2h-2V7Zm0 4h2v6h-2v-6Zm1-9a10 10 0 1 0 0 20 10 10 0 0 0 0-20Z"/></svg>')
}
.woocommerce-error{background:var(--err-50);color:var(--err-800)}
.woocommerce-message{background:var(--ok-50);color:var(--ok-800)}
.woocommerce-info{background:var(--indigo-100);color:var(--indigo-700)}
/* el enlace "Ver carrito" que Woo mete dentro del aviso */
.woocommerce-error .button,
.woocommerce-message .button,
.woocommerce-info .button{
  align-self:flex-start;order:2;text-decoration:underline;color:inherit;font-weight:700;background:none;border:none;padding:0;cursor:pointer
}
.woocommerce-notices-wrapper:empty{display:none}

/* ===== Checkout v4.1 ===== */
.dandys-hide{display:none!important}
.co2{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.co2__main{display:flex;flex-direction:column;gap:16px;min-width:0}
.co2__card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:20px 18px}
.co2__h{font-size:var(--fs-h5);margin:0 0 14px}
.co2__h3{font-size:var(--fs-h6);margin:18px 0 4px}
.co2__sub{color:var(--muted);font-size:14px;margin:0 0 12px}

/* Domicilio / Recoger */
.dandys-modo{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dandys-modo__b{display:flex;align-items:center;gap:10px;text-align:left;padding:14px 12px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--white);cursor:pointer;transition:border-color .15s,background .15s;min-width:0}
.dandys-modo__b svg{width:24px;height:24px;flex:0 0 auto;color:var(--indigo-700)}
.dandys-modo__b span{display:block;min-width:0}
.dandys-modo__b b{display:block;font-size:14px;color:var(--indigo-900);line-height:1.25}
.dandys-modo__b small{color:var(--muted);font-size:12px}
.dandys-modo__b.is-on{border-color:var(--indigo-700);background:var(--indigo-100)}
.dandys-modo__b.is-on svg{color:var(--indigo-700)}
.dandys-pickup-note{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;padding:12px 14px;background:var(--pink-50);border-radius:var(--r-sm);font-size:14px;color:var(--ink)}
.dandys-pickup-note svg{width:18px;height:18px;color:var(--pink-600);flex:0 0 auto;margin-top:2px}

/* Aviso de cobertura */
.dandys-cov{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-sm);font-size:13.5px;line-height:1.5;margin:0 0 14px}
.dandys-cov p{margin:0 0 4px}
.dandys-cov p:last-child{margin:0}
.dandys-cov__i{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;color:#fff}
.dandys-cov.is-ok{background:var(--ok-50);color:var(--ok-800)}
.dandys-cov.is-ok .dandys-cov__i{background:var(--success)}
.dandys-cov.is-warn{background:var(--orange-100);color:var(--orange-800)}
.dandys-cov.is-warn .dandys-cov__i{background:var(--orange-600)}
.dandys-cov__n{margin-top:6px!important;font-style:italic;opacity:.85}

/* Mapa */
.dandys-map{margin-top:6px}
.dandys-map__c{height:260px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--indigo-100)}
.dandys-map__a{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}
.dandys-map__a .btn{min-height:44px;font-size:14px;padding:.6rem 1rem}
.dandys-map__a .btn svg{width:18px;height:18px}
.dandys-map__skip{background:none;border:none;color:var(--muted);text-decoration:underline;cursor:pointer;font:inherit;font-size:14px;padding:8px}
.dandys-map__skip:hover{color:var(--indigo-700)}
.dandys-map__s{margin:8px 0 0;font-size:13px;color:var(--muted);min-height:18px}
.leaflet-container{font-family:var(--ff-b)}

/* Campos de WooCommerce con la piel del tema */
.co2 .form-row{display:flex;flex-direction:column;margin:0 0 14px;padding:0}
.co2 .form-row label{font-weight:700;font-size:14px;color:var(--indigo-700);margin-bottom:6px}
.co2 .form-row .required{color:var(--pink-600);text-decoration:none}
.co2 .input-text,.co2 select{width:100%;min-height:50px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:0 14px;font-family:var(--ff-b);font-size:16px;background:var(--white);color:var(--ink)}
.co2 textarea.input-text{padding:12px 14px;min-height:90px;resize:vertical;line-height:1.5}
.co2 .input-text:focus,.co2 select:focus{outline:none;border-color:var(--indigo-700)}
.co2 .form-row-first,.co2 .form-row-last{width:100%}
.co2 .woocommerce-input-wrapper{width:100%}
.co2 .description{font-size:13px;color:var(--muted);margin-top:6px}
.co2 .select2-container--default .select2-selection--single{min-height:50px;border:1.5px solid var(--line);border-radius:var(--r-sm);display:flex;align-items:center;padding:0 8px}
.co2 .select2-container--default .select2-selection--single .select2-selection__arrow{height:48px}

/* Radios NIT/CF */
.dandys-radios .woocommerce-input-wrapper{display:flex;gap:10px;flex-wrap:wrap}
.dandys-radios .radio,.dandys-radios input[type=radio]{margin:0 6px 0 0}
.dandys-radios label.radio{display:inline-flex;align-items:center;gap:2px;font-weight:600;color:var(--ink);border:1.5px solid var(--line);border-radius:var(--pill);padding:10px 16px;cursor:pointer;margin:0}
.dandys-radios label.radio:has(input:checked){border-color:var(--indigo-700);background:var(--indigo-100)}

/* Resumen */
.co2__sum .shop_table{width:100%;border-collapse:collapse;font-family:var(--ff-b);font-size:14.5px}
.co2__sum .shop_table th{text-align:left;color:var(--muted);font-weight:600;padding:8px 0}
.co2__sum .shop_table td{text-align:right;padding:8px 0;color:var(--ink)}
.co2__sum .cart_item td,.co2__sum .cart_item th{border-bottom:1px solid var(--line)}
.co2__sum .order-total th,.co2__sum .order-total td{border-top:1px solid var(--line);padding-top:14px;font-size:18px}
.co2__sum .order-total .amount{font-weight:800;color:var(--indigo-900);font-size:22px}
.co2__sum .woocommerce-shipping-methods{list-style:none;margin:0;padding:0;text-align:right}
.co2__sum .woocommerce-shipping-methods li{margin-bottom:6px}
.co2 #payment{background:none;border-radius:0}
.co2 #payment ul.payment_methods{list-style:none;margin:16px 0 0;padding:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.co2 #payment ul.payment_methods li{border-bottom:1px solid var(--line);padding:14px}
.co2 #payment ul.payment_methods li:last-child{border-bottom:none}
.co2 #payment ul.payment_methods label{font-weight:700;color:var(--indigo-900);cursor:pointer}
.co2 #payment .payment_box{background:var(--cream);border-radius:var(--r-sm);padding:12px 14px;margin:10px 0 0;font-size:13.5px;color:var(--muted);line-height:1.55}
.co2 #payment .payment_box p{margin:0 0 8px}
.co2 #payment .payment_box p:last-child{margin:0}
.co2 #place_order{width:100%;margin-top:16px;background:var(--pink-600);color:#fff;border:none;border-radius:var(--pill);min-height:54px;font-family:var(--ff-b);font-weight:700;font-size:17px;cursor:pointer;box-shadow:var(--sh-pink);transition:background .2s}
.co2 #place_order:hover{background:var(--pink-400)}
.co2 .woocommerce-privacy-policy-text{font-size:12.5px;color:var(--muted);margin-top:12px;line-height:1.5}
.co2 .woocommerce-terms-and-conditions-wrapper{margin-top:10px}

@media(min-width:900px){
  .co2{gap:20px}
  .co2__card{padding:24px}
  .co2__side{position:sticky;top:88px}
  .co2 .form-row-first{width:calc(50% - 7px);float:none;display:inline-flex;margin-right:14px}
  .co2 .form-row-last{width:calc(50% - 7px);float:none;display:inline-flex}
  .co2__fields{display:flex;flex-wrap:wrap;gap:0 14px}
  .co2__fields .form-row{flex:1 1 100%}
  .co2__fields .form-row-first,.co2__fields .form-row-last{flex:1 1 calc(50% - 7px);width:auto;margin-right:0}
  .dandys-map__c{height:320px}
}

/* ===== v4.2: catálogo con CTA, relacionados, cupón, facturación ===== */

/* Título de tarjeta (tamaño pedido por la clienta) */
h3.pcard__name{font-size:1.525rem}

/* CTA en la tarjeta del catálogo */
.pcard__cta{display:flex;gap:6px;margin-top:auto;padding-top:10px;position:relative;z-index:3}
.pcard__b{flex:1 1 0;min-width:0;min-height:40px;padding:9px 6px;font-size:12.5px;gap:5px;border-radius:var(--pill);letter-spacing:-.01em}
.pcard__b svg,.pcard__b .btn__i{width:15px;height:15px;flex:0 0 auto}
.pcard__b span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pcard__b:disabled{opacity:.6;cursor:wait}
@media(max-width:374px){
  .pcard__cta{gap:5px}
  .pcard__b{font-size:11.5px;padding:9px 4px;gap:3px}
  .pcard__b svg,.pcard__b .btn__i{width:14px;height:14px}
}
@media(min-width:900px){
  .pcard__b{font-size:13.5px;min-height:44px;gap:6px}
  .pcard__b svg,.pcard__b .btn__i{width:17px;height:17px}
}
.dandys-toast.is-bad{background:var(--err-800)}
.dandys-toast.is-bad .dandys-toast__ck{background:var(--err-500)}

/* Mensaje del cupón, junto al campo */
.cart2__cmsg{margin:10px 0 0;font-size:13.5px;font-weight:600;line-height:1.45;min-height:18px;color:var(--muted)}
.cart2__cmsg.is-bad{color:var(--err-800)}
.cart2__cmsg.is-ok{color:var(--ok-800)}

/* Relacionados del PDP: card propia, más chica que la del catálogo */
.rel{padding:8px 0 40px;background:var(--cream)}
.rel__h{font-size:var(--fs-h4);margin:0 0 18px;color:var(--indigo-900)}
.rel__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rel__c{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:10px;display:flex;flex-direction:column;gap:6px;transition:transform .18s,box-shadow .18s}
.rel__c:hover{transform:translateY(-3px);box-shadow:var(--sh-sm)}
.rel__media{display:block;border-radius:var(--r-sm);overflow:hidden;aspect-ratio:1;background:linear-gradient(160deg,var(--indigo-100),var(--pink-50))}
.rel__media img{width:100%;height:100%;object-fit:cover;display:block}
.rel__n{font-family:var(--ff-d);font-weight:400;font-size:1.05rem;line-height:1.2;margin:2px 0 0;color:var(--indigo-900)}
.rel__n a{color:inherit}
.rel__n a:hover{color:var(--pink-600)}
.rel__p{font-family:var(--ff-b);font-weight:800;color:var(--indigo-700);font-size:14px}
.rel__p small{font-weight:600;color:var(--muted);font-size:11px}
.rel__p del{font-size:.72em;margin-right:4px}
.rel__b{margin-top:auto;text-align:center;border:1.5px solid var(--indigo-100);border-radius:var(--pill);padding:8px 10px;font-weight:700;font-size:12.5px;color:var(--indigo-700);transition:background .15s,border-color .15s,color .15s}
.rel__b:hover{background:var(--indigo-700);border-color:var(--indigo-700);color:#fff}
@media(min-width:600px){ .rel__grid{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media(min-width:900px){
  .rel{padding:0 0 48px}
  .rel__c{padding:12px}
  .rel__n{font-size:1.15rem}
}

/* Facturación: mismo diseño que "¿Cómo lo quieres recibir?", sin iconos */
.dandys-radios > label{display:block;font-weight:700;font-size:14px;color:var(--indigo-700);margin-bottom:6px}
.dandys-radios .woocommerce-input-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dandys-radios input[type=radio]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.dandys-radios label.radio{display:flex;align-items:center;justify-content:center;text-align:center;margin:0;padding:14px 12px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--white);color:var(--indigo-900);font-weight:700;font-size:14px;cursor:pointer;transition:border-color .15s,background .15s;min-height:52px}
.dandys-radios label.radio .required{display:none}
.dandys-radios label.radio:has(input:checked){border-color:var(--indigo-700);background:var(--indigo-100)}
/* aviso SAT bajo el NIT */
#dandys_nit_field .description{background:var(--orange-100);color:var(--orange-800);border-radius:var(--r-sm);padding:9px 12px;font-weight:600;font-size:13px;margin-top:8px}

/* ===== v4.3: catálogo compacto, cupón, facturación, resumen ===== */

/* Catálogo: cesta solo icono, WhatsApp con texto */
.pcard__b--icon{flex:0 0 46px;width:46px;padding-left:0;padding-right:0}
.pcard__b--icon svg{width:18px;height:18px}
.pcard__cta .btn--wa{flex:1 1 auto}
@media(min-width:900px){
  .pcard__b--icon{flex:0 0 48px;width:48px}
  .pcard__b--icon svg{width:19px;height:19px}
}

/* Cupón aplicado: papelera roja, sin corchetes */
.dandys-rmcoupon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;color:var(--err-500);vertical-align:middle;margin-left:6px;transition:background .15s,color .15s}
.dandys-rmcoupon svg{width:16px;height:16px}
.dandys-rmcoupon:hover{background:var(--err-50);color:var(--err-800)}

/* FIX: WooCommerce pone el <input> ANTES del label (hermano, no dentro),
   asi que :has(input:checked) nunca casaba y no se marcaba la seleccion. */
.dandys-radios input[type=radio]:checked + label.radio{border-color:var(--indigo-700);background:var(--indigo-100);color:var(--indigo-900)}
.dandys-radios input[type=radio]:focus-visible + label.radio{outline:3px solid var(--indigo-700);outline-offset:2px}
.dandys-radios label.radio{position:relative}

/* Resumen "Tu pedido" */
.co2__h--rule{position:relative;padding-bottom:12px;margin-bottom:16px}
.co2__h--rule::after{content:"";position:absolute;left:0;bottom:0;width:44px;height:3px;background:var(--pink-600);border-radius:2px}
.ro__items{list-style:none;margin:0 0 4px;padding:0}
.ro__i{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.ro__im{flex:0 0 48px}
.ro__im img{width:48px;height:48px;border-radius:10px;object-fit:cover;display:block;background:var(--indigo-100)}
.ro__n{flex:1 1 auto;min-width:0;font-size:14px;line-height:1.3;color:var(--indigo-900);font-weight:600}
.ro__q{color:var(--muted);font-weight:700;white-space:nowrap}
.ro__i .ro__v{flex:0 0 auto;font-weight:800;color:var(--ink);font-size:14px;white-space:nowrap}
.ro__rows{display:flex;flex-direction:column;padding-top:6px}
.ro__r{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;font-size:14.5px}
.ro__l{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}
.ro__l svg{width:18px;height:18px;color:var(--pink-600);flex:0 0 auto}
.ro__r .ro__v{font-weight:700;color:var(--ink);text-align:right}
.ro__v--ok{color:var(--pink-600)}
.ro__r--cup,.ro__r--ship{border-top:1px solid var(--line)}
.ro__ship{font-weight:600}
.ro__ship ul{list-style:none;margin:0;padding:0}
.ro__ship li{margin:0 0 4px}
.ro__ship li:last-child{margin:0}
.ro__ship label{font-weight:600;color:var(--ink);cursor:pointer}
.ro__ship .amount{font-weight:800;color:var(--indigo-700)}
.ro__r--total{border-top:1px solid var(--line);margin-top:6px;padding-top:16px}
.ro__r--total .ro__l{font-family:var(--ff-d);font-size:var(--fs-h5);color:var(--indigo-900)}
.ro__r--total .ro__v .amount{font-family:var(--ff-b);font-weight:800;font-size:24px;color:var(--indigo-900)}

/* Pagos con icono */
.co2 #payment ul.payment_methods li{padding:14px;transition:background .15s}
.co2 #payment ul.payment_methods li.dandys-on{background:var(--pink-50);border-left:3px solid var(--pink-600)}
.co2 #payment ul.payment_methods input[type=radio]{accent-color:var(--pink-600);width:18px;height:18px;margin-right:8px;vertical-align:middle}
.co2 #payment .payment_box{background:var(--pink-50);color:var(--ink)}
.co2 .woocommerce-privacy-policy-text{display:flex;gap:10px;align-items:flex-start;background:var(--cream);border-radius:var(--r-sm);padding:12px 14px;margin-top:14px}
.co2 .woocommerce-privacy-policy-text p{margin:0}
.co2 #place_order{display:inline-flex;align-items:center;justify-content:center;gap:10px}

/* ===== v4.4: cupón, resumen, transferencia, reseñas, relacionados ===== */

/* Cupón: importe verde y "Eliminar" debajo */
.cup__n{display:block;font-weight:800;color:var(--ok-800);font-size:16px;line-height:1.2}
.cup__rm{display:block;margin-top:2px;font-size:13px;font-weight:600;color:var(--pink-600);text-decoration:none}
.cup__rm:hover{color:var(--err-800);text-decoration:underline}
.cart2__row--cup .cart2__v,.ro__r--cup .ro__v{text-align:right}

/* "Tu pedido": título centrado con el corazón (igual que el carrito) */
.co2__sum .co2__h--rule{text-align:center;padding-bottom:0;margin-bottom:4px}
.co2__sum .co2__h--rule::after{display:none}
.co2__rule{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px}
.co2__rule i{display:block;width:42px;height:1.5px;background:var(--pink-400);border-radius:2px}
.co2__rule svg{width:16px;height:16px;color:var(--pink-600)}

/* Métodos de pago con icono */
.pm__i{display:inline-flex;align-items:center;justify-content:center;margin-right:8px;vertical-align:middle;color:var(--pink-600)}
.pm__i svg{width:22px;height:22px}
.co2 #payment ul.payment_methods label{display:inline-flex;align-items:center}

/* Caja de transferencia (diseño del mockup) */
.bacs{display:flex;flex-direction:column;gap:2px}
.bacs__r{display:flex;align-items:flex-start;gap:12px;margin:0;padding:7px 0;font-size:14px;line-height:1.5;color:var(--ink)}
.bacs__ic{flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;color:var(--pink-600)}
.bacs__ic svg{width:19px;height:19px}
.bacs__r--i{padding-bottom:12px;border-bottom:1px solid rgba(240,18,144,.18);color:var(--ink)}
.bacs__b b{color:var(--indigo-900);font-size:15px}
.bacs__r b{color:var(--indigo-900)}
.bacs__wa{border-top:1px solid rgba(240,18,144,.18);margin-top:6px;padding-top:12px}
.bacs__falta{padding:8px 0}
.bacs__cuentas{padding:6px 0}

/* Reseñas: discretas y plegables */
.rev{background:var(--cream);padding:0 0 8px}
.rev__d{background:var(--white);border:1px solid var(--line);border-radius:var(--r)}
.rev__s{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:16px 18px}
.rev__s::-webkit-details-marker{display:none}
.rev__t{font-family:var(--ff-d);font-size:var(--fs-h5);color:var(--indigo-900)}
.rev__avg{font-weight:800;color:var(--orange-600);font-size:14px}
.rev__c{color:var(--muted);font-size:13.5px}
.rev__chev{margin-left:auto;color:var(--muted);transition:transform .2s}
.rev__chev svg{width:18px;height:18px;display:block}
.rev__d[open] .rev__chev{transform:rotate(180deg)}
.rev__body{padding:0 18px 18px;border-top:1px solid var(--line)}
.rev__body #reviews{padding-top:14px}
.rev__body .comment-reply-title{font-family:var(--ff-d);font-size:var(--fs-h6);color:var(--indigo-900);display:block;margin-bottom:8px}
.rev__body .commentlist{list-style:none;margin:0 0 16px;padding:0}
.rev__body .comment_container{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.rev__body .comment_container img{width:42px;height:42px;border-radius:50%}
.rev__body .comment-text{flex:1 1 auto;min-width:0}
.rev__body .meta{font-size:13px;color:var(--muted);margin:0 0 4px}
.rev__body .star-rating span{color:var(--orange-600)}
.rev__body .stars a{color:var(--orange-600)}
.rev__body textarea,.rev__body input[type=text],.rev__body input[type=email]{width:100%;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:10px 14px;font-family:var(--ff-b);font-size:15px}
.rev__body textarea{min-height:90px}
.rev__body .form-submit input{background:var(--indigo-700);color:#fff;border:none;border-radius:var(--pill);min-height:46px;padding:0 22px;font-weight:700;cursor:pointer}
.rev__body .form-submit input:hover{background:var(--indigo-900)}
.rev__body p{margin:0 0 10px}

/* Relacionados (mockup) */
.rel__h{text-align:center;margin-bottom:4px}
.rel__rule{margin-bottom:20px}
.rel__c{position:relative;gap:8px}
.rel__media{position:relative}
.rel__badge{top:8px;left:8px}
.rel__av .badge{font-size:11px;padding:4px 8px}
.rel__av .badge svg{width:12px;height:12px}
.rel__cta{display:flex;align-items:center;gap:8px;margin-top:auto}
.rel__b{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-align:center;border:1.5px solid var(--indigo-100);border-radius:var(--pill);padding:9px 10px;font-weight:700;font-size:12.5px;color:var(--indigo-700);transition:background .15s,border-color .15s,color .15s;margin-top:0}
.rel__b svg{width:15px;height:15px;flex:0 0 auto;transition:transform .15s}
.rel__b:hover{background:var(--indigo-700);border-color:var(--indigo-700);color:#fff}
.rel__b:hover svg{transform:translateX(3px)}
.rel__cta .wl-btn{position:static;flex:0 0 38px;width:38px;height:38px;border:1.5px solid var(--pink-50);box-shadow:none;background:var(--pink-50)}
.rel__cta .wl-btn:hover{background:var(--white);border-color:var(--pink-400)}

/* Detalles de la entrega: campos con aire */
.co2__fields .form-row{margin-bottom:16px}
#dandys_fecha_evento_field,#dandys_horario_field{max-width:100%}
@media(min-width:640px){
  #order_comments_field{flex:1 1 100%}
  #dandys_fecha_evento_field,#dandys_horario_field{flex:1 1 calc(50% - 7px)!important}
}

/* ===== v4.5: mapa, estrellas y valoraciones ===== */

/* Leaflet usa z-index 400-1000 en sus paneles y controles: se salía por encima
   de la navbar y del botón de WhatsApp. Se aísla el mapa en su propio contexto. */
.dandys-map__c{position:relative;z-index:0;isolation:isolate}
.dandys-map .leaflet-pane,
.dandys-map .leaflet-top,
.dandys-map .leaflet-bottom{z-index:1}
.dandys-map .leaflet-control{z-index:2}

/* Los comentarios quedaban muy abajo: el hueco para la barra fija lo reserva
   el <body>, no hace falta repetirlo en .pdp2. */
@media(max-width:899px){
  body.single-product .pdp2,
  body.single-product .pdp2.has-thumbs{padding-bottom:8px}
}

/* ===== Estrellas propias =====
   El sitio NO carga woocommerce.css (solo -layout y -smallscreen), así que las
   estrellas salían como texto. Se dibujan aquí sin depender de su fuente. */
.rv .stars{display:inline-flex;gap:2px;margin:0 0 4px;line-height:1}
.rv .stars span{display:inline-flex;gap:2px}
.rv .stars a{position:relative;display:block;width:30px;height:30px;text-indent:-9999px;overflow:hidden;box-shadow:none}
.rv .stars a::before{content:"\2605";position:absolute;inset:0;text-indent:0;font-size:27px;line-height:30px;text-align:center;color:var(--line);transition:color .12s}
.rv .stars:hover a::before{color:var(--orange-400)}
.rv .stars a:hover ~ a::before{color:var(--line)}
.rv .stars.selected a.active::before,
.rv .stars.selected a:not(.active)::before{color:var(--orange-400)}
.rv .stars.selected a.active ~ a::before{color:var(--line)}
.rv .stars.selected:hover a::before{color:var(--orange-400)}
.rv .stars.selected:hover a:hover ~ a::before{color:var(--line)}

/* Estrellas de una valoración ya escrita */
.rv .star-rating,.rev .star-rating{position:relative;display:inline-block;width:5.6em;height:1.05em;line-height:1;overflow:hidden;font-size:15px;letter-spacing:1px;vertical-align:middle}
.rv .star-rating::before,.rev .star-rating::before{content:"\2605\2605\2605\2605\2605";position:absolute;left:0;top:0;color:var(--line)}
.rv .star-rating span,.rev .star-rating span{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;text-indent:-9999px}
.rv .star-rating span::before,.rev .star-rating span::before{content:"\2605\2605\2605\2605\2605";position:absolute;left:0;top:0;text-indent:0;color:var(--orange-400)}
.rv .star-rating strong,.rev .star-rating strong{display:none}

/* Valoraciones */
.rv__h{font-family:var(--ff-d);font-weight:400;font-size:var(--fs-h5);color:var(--indigo-900);margin:0 0 14px}
.rv__form{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:20px}
.rv__ft{display:block;font-family:var(--ff-d);font-size:var(--fs-h6);color:var(--indigo-900);margin-bottom:10px}
.rv .comment-form-rating label,.rv .comment-form-comment label,.rv .comment-form-author label,.rv .comment-form-email label{display:block;font-weight:700;font-size:13.5px;color:var(--indigo-700);margin-bottom:6px}
.rv .comment-form-rating{margin-bottom:12px}
.rv #rating{display:none!important}
.rv .comment-form-author,.rv .comment-form-email{margin-bottom:12px}
.rv textarea,.rv input[type=text],.rv input[type=email]{width:100%;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:11px 14px;font-family:var(--ff-b);font-size:15px;background:var(--white);color:var(--ink)}
.rv textarea:focus,.rv input:focus{outline:none;border-color:var(--indigo-700)}
.rv textarea{min-height:92px;resize:vertical}
.rv .form-submit{margin:14px 0 0}
.rv .rv__send,.rv .form-submit input[type=submit]{background:var(--pink-600);color:#fff;border:none;border-radius:var(--pill);min-height:48px;padding:0 26px;font-family:var(--ff-b);font-weight:700;font-size:15px;cursor:pointer;box-shadow:var(--sh-pink);transition:background .2s;width:auto}
.rv .rv__send:hover,.rv .form-submit input[type=submit]:hover{background:var(--pink-400)}
.rv .comment-notes,.rv .comment-form-cookies-consent{font-size:12.5px;color:var(--muted)}
.rv .required{color:var(--pink-600)}

.rv__lh{font-family:var(--ff-d);font-weight:400;font-size:var(--fs-h6);color:var(--indigo-900);margin:0 0 8px}
.rv .commentlist{list-style:none;margin:0;padding:0}
.rv .commentlist li{margin:0}
.rv .comment_container{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.rv .comment_container img.avatar{width:40px;height:40px;border-radius:50%;flex:0 0 40px}
.rv .comment-text{flex:1 1 auto;min-width:0}
.rv .comment-text .meta{font-size:13px;color:var(--muted);margin:2px 0 6px}
.rv .comment-text .meta strong{color:var(--indigo-900)}
.rv .comment-text p:last-child{margin:0}
.rv .woocommerce-review__awaiting-approval{color:var(--orange-800);font-size:13px}

/* Cabecera plegable */
.rev__s{gap:8px}
.rev__t{font-size:var(--fs-h6)}
.rev__sep{color:var(--line)}
.rev__stars{display:inline-flex;align-items:center}

/* ===== v4.6: relacionados horizontales en carrusel ===== */
.rel__vp{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 -18px;padding:4px 18px 8px}
.rel__vp::-webkit-scrollbar{display:none}
.rel__grid{list-style:none;margin:0;padding:0;display:flex;gap:14px}

.rel__c{flex:0 0 min(88%,420px);scroll-snap-align:start;display:flex;flex-direction:row;align-items:stretch;gap:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;padding:0;transition:transform .18s,box-shadow .18s}
.rel__c:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.rel__media{flex:0 0 42%;display:block;border-radius:0;overflow:hidden;background:linear-gradient(160deg,var(--indigo-100),var(--pink-50))}
.rel__media img{width:100%;height:100%;object-fit:cover;display:block;min-height:100%}
.rel__in{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:8px;padding:14px 14px 14px 16px;justify-content:center}
.rel__badge{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;background:var(--pink-50);color:var(--pink-600);border-radius:var(--pill);padding:5px 12px;font-family:var(--ff-b);font-size:12px;font-weight:700;width:fit-content}
.rel__badge svg{width:13px;height:13px;flex:0 0 auto}
.rel__n{font-family:var(--ff-d);font-weight:400;font-size:1.35rem;line-height:1.15;margin:0;color:var(--indigo-900)}
.rel__n a{color:inherit}
.rel__n a:hover{color:var(--pink-600)}
.rel__p{font-family:var(--ff-b);font-weight:800;color:var(--indigo-700);font-size:1.15rem}
.rel__p small{font-weight:600;color:var(--muted);font-size:11px}
.rel__p del{font-size:.68em;margin-right:4px}
.rel__cta{display:flex;align-items:center;gap:8px;margin-top:4px}
.rel__b{flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--pill);background:var(--pink-600);color:#fff;padding:11px 12px;font-family:var(--ff-b);font-weight:700;font-size:13px;cursor:pointer;box-shadow:var(--sh-pink);transition:background .18s;text-align:center}
.rel__b span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rel__b svg{width:15px;height:15px;flex:0 0 auto;transition:transform .15s}
.rel__b:hover{background:var(--pink-400);color:#fff}
.rel__b:hover svg{transform:translateX(3px)}
.rel__b:disabled{opacity:.6;cursor:wait}
.rel__cta .wl-btn{position:static;flex:0 0 40px;width:40px;height:40px;border-radius:12px;border:1.5px solid var(--pink-50);background:var(--pink-50);box-shadow:none}
.rel__cta .wl-btn:hover{background:var(--white);border-color:var(--pink-400)}

.rel__nav{display:flex;justify-content:center;gap:12px;margin-top:16px}
.rel__ar{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--pink-50);background:var(--white);color:var(--pink-600);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s,color .15s,opacity .15s}
.rel__ar svg{width:19px;height:19px}
.rel__ar:hover{background:var(--pink-600);border-color:var(--pink-600);color:#fff}
.rel__ar[disabled]{opacity:.35;cursor:default}
.rel__ar[disabled]:hover{background:var(--white);border-color:var(--pink-50);color:var(--pink-600)}

@media(min-width:900px){
  .rel__vp{margin:0;padding:4px 0 8px}
  .rel__c{flex:0 0 calc(50% - 7px)}
  .rel__in{padding:18px 18px 18px 20px;gap:10px}
  .rel__n{font-size:1.5rem}
  .rel__p{font-size:1.3rem}
  .rel__b{font-size:14px;padding:12px 16px}
}

/* El contenedor de "Detalles de la entrega" es hijo de un flex y no ocupaba
   todo el ancho (486 de 710). */
.woocommerce-additional-fields{width:100%!important}

/* ===== v4.8: transferencia y botón de pedido ===== */
.bacs__sep{display:block;height:1px;margin:10px 0;background:repeating-linear-gradient(90deg,rgba(240,18,144,.35) 0 5px,transparent 5px 10px)}
.bacs__tel{color:var(--pink-600);font-weight:800;text-decoration:none;border-bottom:1.5px solid var(--pink-400)}
.bacs__tel:hover{color:var(--indigo-700);border-color:var(--indigo-700)}
.bacs__falta .datamark{white-space:normal}

/* Botón de pedido con icono (mockup) */
.co2 #place_order svg{width:20px;height:20px;flex:0 0 auto}
.co2 #place_order span{line-height:1}


/* ===== v4.9: consentimiento de cookies (Consent Mode v2) ===== */
.ck{position:fixed;inset:0;z-index:9000;display:flex;align-items:flex-end;justify-content:center;isolation:isolate}
.ck[hidden]{display:none}
.ck__bd{position:absolute;inset:0;background:rgba(30,27,75,.42);opacity:0;transition:opacity .22s}
.ck.is-on .ck__bd{opacity:1}
.ck__box{position:relative;z-index:1;width:100%;max-width:560px;background:var(--white);border-radius:20px 20px 0 0;box-shadow:0 -8px 40px rgba(49,46,129,.22);padding:22px 18px calc(18px + env(safe-area-inset-bottom));transform:translateY(14px);opacity:0;transition:transform .22s,opacity .22s;max-height:88vh;overflow-y:auto}
.ck.is-on .ck__box{transform:none;opacity:1}
.ck__t{font-family:var(--ff-d);font-weight:400;font-size:var(--fs-h5);line-height:1.1;margin:0 0 8px;color:var(--indigo-900)}
.ck__d{font-family:var(--ff-b);font-size:14px;line-height:1.55;color:var(--muted);margin:0 0 18px}
.ck__d a{color:var(--indigo-700);text-decoration:underline;text-underline-offset:2px}
.ck__d a:hover{color:var(--pink-600)}

.ck__btns{display:flex;flex-direction:column;gap:8px}
.ck__b{width:100%;border-radius:var(--pill);padding:13px 18px;font-family:var(--ff-b);font-weight:700;font-size:14px;cursor:pointer;border:1.5px solid transparent;transition:background .16s,border-color .16s,color .16s}
.ck__b--pr{background:var(--pink-600);color:#fff;box-shadow:var(--sh-pink)}
.ck__b--pr:hover{background:var(--pink-400)}
.ck__b--gh{background:var(--white);color:var(--indigo-700);border-color:var(--line)}
.ck__b--gh:hover{background:var(--indigo-100);border-color:var(--indigo-700)}
.ck__b:focus-visible{outline:2px solid var(--indigo-700);outline-offset:2px}

.ck__list{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:2px}
.ck__cat{padding:14px 0;border-bottom:1px dashed var(--line)}
.ck__cat:last-child{border-bottom:none}
.ck__cabe{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px}
.ck__n{font-family:var(--ff-b);font-weight:700;font-size:14.5px;color:var(--indigo-900)}
.ck__txt{font-family:var(--ff-b);font-size:12.5px;line-height:1.5;color:var(--muted);margin:0;padding-right:52px}
.ck__fija{font-family:var(--ff-b);font-size:11px;font-weight:700;color:var(--success);background:var(--ok-50);border-radius:var(--pill);padding:4px 10px;white-space:nowrap}

/* Interruptor: el input real sigue ahi, solo se esconde a la vista. */
.ck__sw{position:relative;flex:0 0 auto;display:inline-block;width:44px;height:25px;cursor:pointer}
.ck__sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.ck__pista{position:absolute;inset:0;background:var(--line);border-radius:var(--pill);transition:background .18s}
.ck__pista::after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:var(--white);box-shadow:0 1px 3px rgba(30,27,75,.3);transition:transform .18s}
.ck__sw input:checked + .ck__pista{background:var(--success)}
.ck__sw input:checked + .ck__pista::after{transform:translateX(19px)}
.ck__sw input:focus-visible + .ck__pista{outline:2px solid var(--indigo-700);outline-offset:2px}

.footer-ck{background:none;border:none;padding:0;cursor:pointer;font-family:var(--ff-b);font-size:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px}
.footer-ck:hover{color:var(--pink-400)}

@media(min-width:900px){
  .ck{align-items:flex-end;justify-content:flex-start;padding:24px}
  .ck__box{max-width:440px;border-radius:var(--r-lg);padding:26px 24px}
  .ck__t{font-size:var(--fs-h6)}
  .ck__btns{flex-direction:row;flex-wrap:wrap}
  .ck__b{width:auto;flex:1 1 auto;min-width:0}
  .ck__b--pr{flex-basis:100%;order:-1}
}
@media(prefers-reduced-motion:reduce){
  .ck__bd,.ck__box,.ck__pista,.ck__pista::after{transition:none}
}


/* ===== v4.5: checkout en columna única, bloques y Tu pedido abajo ===== */
.co2{display:flex;flex-direction:column;align-items:stretch;gap:16px;max-width:760px;margin-inline:auto}
.co2>*{width:100%}
.co2__sum{width:100%}

/* Tarjetas CF / NIT (mismo lenguaje que ¿Cómo lo quieres recibir?) */
.dandys-fac{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 4px}
.dandys-fac__b{position:relative;display:flex;align-items:center;gap:10px;padding:14px 14px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--white);cursor:pointer;transition:border-color .15s,background .15s;margin:0}
.dandys-fac__b input{position:absolute;opacity:0;pointer-events:none}
.dandys-fac__b span{display:block;min-width:0}
.dandys-fac__b b{display:block;font-size:15px;color:var(--indigo-900);line-height:1.2}
.dandys-fac__b small{color:var(--muted);font-size:12.5px}
.dandys-fac__b:has(input:checked){border-color:var(--indigo-700);background:var(--indigo-100)}
.dandys-fac__b:has(input:focus-visible){outline:2px solid var(--indigo-700);outline-offset:2px}
/* Regla SAT: se oculta CF y solo queda NIT/DPI. */
.dandys-fac.is-forced{grid-template-columns:1fr}
.dandys-fac.is-forced .dandys-fac__b:has(input[value="cf"]){display:none}
.dandys-sat{display:flex;gap:8px;align-items:flex-start;margin:2px 0 12px;padding:11px 13px;background:var(--orange-50);color:var(--orange-800);border-radius:var(--r-sm);font-size:13px;line-height:1.45}
.dandys-sat svg{width:17px;height:17px;flex:0 0 auto;margin-top:1px}
.dandys-sat[hidden]{display:none}

/* Crear cuenta */
.dandys-cuenta{margin-top:14px;border:1.5px dashed var(--line);border-radius:var(--r-sm);padding:14px}
.dandys-cuenta__l{display:flex;gap:12px;align-items:flex-start;cursor:pointer;margin:0}
.dandys-cuenta__l input{width:20px;height:20px;flex:0 0 auto;margin-top:2px;accent-color:var(--pink-600)}
.dandys-cuenta__l b{display:block;font-size:14.5px;color:var(--indigo-900)}
.dandys-cuenta__l small{color:var(--muted);font-size:12.5px;line-height:1.45}

/* Guardar bloque -> card */
.co2-save{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:6px;background:var(--indigo-700);color:#fff;border:none;border-radius:var(--pill);min-height:50px;font-family:var(--ff-b);font-weight:700;font-size:15px;cursor:pointer;transition:background .18s}
.co2-save:hover{background:var(--indigo-900)}
.co2-save svg{width:18px;height:18px}
.co2-saved__head{display:flex;align-items:center;gap:12px}
.co2-saved__ttl{flex:1 1 auto;min-width:0}
.co2-saved__ok{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--ok-50);color:var(--success);display:flex;align-items:center;justify-content:center}
.co2-saved__ok svg{width:22px;height:22px}
.co2-saved__t{display:block;font-size:15px;color:var(--indigo-900)}
.co2-saved__head small{color:var(--muted);font-size:12.5px}
.co2-saved__edit{flex:0 0 auto;background:none;border:1.5px solid var(--line);border-radius:var(--pill);padding:8px 16px;font-family:var(--ff-b);font-weight:700;font-size:13px;color:var(--indigo-700);cursor:pointer}
.co2-saved__edit:hover{border-color:var(--indigo-700);background:var(--indigo-100)}
.co2-saved__list{display:grid;grid-template-columns:1fr;gap:2px 20px;margin:16px 0 0;padding:16px 0 0;border-top:1px dashed var(--line)}
.cs2{display:flex;align-items:flex-start;gap:12px;padding:10px 0}
.cs2__ic{flex:0 0 auto;width:38px;height:38px;border-radius:12px;background:var(--indigo-100);color:var(--indigo-700);display:flex;align-items:center;justify-content:center}
.cs2__ic svg,.cs2__svg{width:19px;height:19px}
.cs2__tx{min-width:0;display:flex;flex-direction:column;gap:2px}
.cs2__l{color:var(--muted);font-size:12.5px;font-weight:600}
.cs2__v{color:var(--indigo-900);font-size:14.5px;line-height:1.35;word-break:break-word}
.cs2--note{background:#F2F2FC;border-radius:14px;padding:12px 14px;margin-top:4px}
@media(min-width:640px){.co2-saved__list{grid-template-columns:1fr 1fr}.cs2--note{grid-column:1/-1}}

/* Resumen: fila producto = foto | (nombre + cantidad) | monto */
.ro__items{list-style:none;margin:0;padding:0}
.ro__i{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.ro__im{flex:0 0 auto;width:56px;height:56px;border-radius:var(--r-sm);overflow:hidden;background:linear-gradient(160deg,var(--indigo-100),var(--pink-50))}
.ro__im img{width:100%;height:100%;object-fit:cover;display:block;margin:0}
.ro__c{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px;text-align:left}
.ro__n{font-family:var(--ff-b);font-weight:700;font-size:14.5px;color:var(--indigo-900);line-height:1.25}
.ro__qty{font-size:12.5px;color:var(--muted)}
.ro__i .ro__v{flex:0 0 auto;font-weight:800;color:var(--indigo-700);font-size:15px;white-space:nowrap}
.ro__rows{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.ro__r{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--ff-b);font-size:14.5px}
.ro__l{display:flex;align-items:center;gap:8px;color:var(--muted)}
.ro__l svg{width:18px;height:18px}
.ro__r .ro__v{color:var(--ink);font-weight:600}
.ro__v--ok{color:var(--success)}
.ro__r--total{margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}
.ro__r--total .ro__l{color:var(--indigo-900);font-weight:700;font-size:16px}
.ro__r--total .ro__v{color:var(--indigo-900);font-weight:800;font-size:22px}
.ro__ship{text-align:right;font-weight:700!important;color:var(--indigo-700)!important}
.ro__ship-methods{display:none!important}

/* Métodos de pago como tarjetas */
.co2 #payment ul.payment_methods{border:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.co2 #payment ul.payment_methods li{border:1.5px solid var(--line);border-radius:var(--r);padding:16px 16px;transition:border-color .15s,background .15s;background:var(--white)}
.co2 #payment ul.payment_methods li:has(input:checked){border-color:var(--indigo-700);background:var(--indigo-100)}
.co2 #payment ul.payment_methods li > label{display:flex;align-items:center;gap:10px;font-size:15px;margin:0}
.co2 #payment ul.payment_methods li > label img{max-height:26px;width:auto;margin-left:auto}
.co2 #payment .payment_box{background:var(--white);border:1px solid var(--line);border-radius:var(--r-sm);margin-top:14px;color:var(--ink)}
.co2 #payment .payment_box::before{display:none}
.co2 #payment .payment_box input[type=text],.co2 #payment .payment_box input[type=tel],.co2 #payment .payment_box input[type=number],.co2 #payment .payment_box input[type=email],.co2 #payment .payment_box select{width:100%;min-height:48px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:0 14px;font-family:var(--ff-b);font-size:16px;background:var(--white);color:var(--ink)}
.co2 #payment .payment_box label{font-weight:700;font-size:13.5px;color:var(--indigo-700)}

@media(min-width:640px){
  .ro__im{width:64px;height:64px}
}

/* ===== v4.9.14: pedido recibido ===== */
.dandys-thanks{max-width:760px;margin-inline:auto}
.thx__ok{display:flex;align-items:center;gap:14px;background:var(--ok-50);border:1px solid #BBF7D0;border-radius:var(--r-lg);padding:16px 18px;margin:0 0 16px}
.thx__okic{flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:var(--success);color:#fff;display:flex;align-items:center;justify-content:center}
.thx__okic svg{width:24px;height:24px}
.thx__ok b{display:block;font-family:var(--ff-b);font-size:15px;color:var(--indigo-900)}
.thx__ok small{color:var(--muted);font-size:13px}
.thx__strip{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:2px;margin:0 0 16px;padding:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg)}
.thx__cell{display:flex;flex-direction:column;gap:2px;padding:12px 14px;text-align:left}
.thx__cell .thx__ic{width:34px;height:34px;border-radius:10px;background:var(--indigo-100);color:var(--indigo-700);display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.thx__ic svg{width:18px;height:18px}
.thx__k{color:var(--muted);font-size:12px;font-weight:600}
.thx__cell strong{color:var(--indigo-900);font-size:15px;font-family:var(--ff-b)}
@media(min-width:640px){.thx__strip{grid-template-columns:repeat(4,1fr)}}
.dandys-odc{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px;float:none;width:auto}
.odc__card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-sm)}
.odc__head{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:0 0 12px;border-bottom:1px dashed var(--line)}
.odc__hic{flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:var(--pink-50);color:var(--pink-600);display:flex;align-items:center;justify-content:center}
.odc__hic svg{width:19px;height:19px}
.odc__head h2{margin:0;font-family:var(--ff-d);font-weight:400;font-size:1.5rem;line-height:1.1;color:var(--indigo-900)}
.odc__row{display:flex;align-items:flex-start;gap:11px;padding:8px 0}
.odc__ic{flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:var(--indigo-100);color:var(--indigo-700);display:flex;align-items:center;justify-content:center}
.odc__ic svg{width:17px;height:17px}
.odc__tx{min-width:0;display:flex;flex-direction:column;gap:1px}
.odc__l{color:var(--muted);font-size:12px;font-weight:600}
.odc__v{color:var(--indigo-900);font-size:14px;word-break:break-word;line-height:1.35}
.odc__note{margin:8px 0 0;color:var(--muted);font-size:12.5px;font-style:italic}
@media(min-width:640px){.dandys-odc{grid-template-columns:1fr 1fr}}
.woocommerce-order-details{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;margin-top:16px}
.woocommerce-order-details__title{font-family:var(--ff-d);font-weight:400;font-size:1.6rem;color:var(--indigo-900);margin:0 0 12px}
.woocommerce-table--order-details{width:100%;border-collapse:collapse}
.woocommerce-table--order-details th,.woocommerce-table--order-details td{padding:11px 0;text-align:left;font-family:var(--ff-b);font-size:14px;border-bottom:1px solid var(--line)}
.woocommerce-table--order-details tfoot th{color:var(--muted);font-weight:700}
.woocommerce-table--order-details tfoot td{text-align:right;color:var(--indigo-900)}
.woocommerce-table--order-details td.product-total,.woocommerce-table--order-details th.product-total{text-align:right}
.woocommerce-table--order-details .order-total th,.woocommerce-table--order-details .order-total td{font-size:16px;color:var(--pink-600);font-weight:800}
.woocommerce-table--order-details .product-name a{color:var(--indigo-900);font-weight:600}
.woocommerce-table--order-details .product-name a:hover{color:var(--pink-600)}

/* caja WhatsApp del pedido recibido */
.dandys-wa-thanks{display:flex;align-items:center;gap:18px;background:var(--pink-50);border:1px solid #FBCFE8;border-radius:var(--r-lg);padding:20px 22px;margin:16px 0}
.wathx__art{flex:0 0 auto;width:76px;height:76px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-sm)}
.wathx__svg{width:46px;height:46px}
.wathx__bd{flex:1 1 auto;min-width:0}
.dandys-wa-thanks h2{font-family:var(--ff-d);font-weight:400;font-size:1.8rem;line-height:1.1;color:var(--indigo-900);margin:0 0 6px}
.dandys-wa-thanks p{color:var(--muted);font-size:14px;margin:0 0 14px}
.dandys-wa-thanks .btn--wa{display:inline-flex}
@media(max-width:560px){.dandys-wa-thanks{flex-direction:column;text-align:center}.dandys-wa-thanks .btn--wa{width:100%;justify-content:center}}

/* Título del checkout alineado con la columna .co2 (760px centrada) */
body.woocommerce-checkout .container>h1{max-width:760px;margin-left:auto;margin-right:auto}

/* ===== Tilopay: formulario de tarjeta ===== */
.co2 #payment .payment_method_tilopay .payment_box{background:var(--white);border:1px solid var(--line);border-radius:var(--r-sm);padding:16px 16px 4px}
#wc-tilopay-cc-form{border:none;margin:0;padding:0;min-width:0}
#wc-tilopay-cc-form legend{display:none}
.wc-credit-card-form .form-row{margin:0 0 12px;padding:0;float:none}
.wc-credit-card-form label{display:block;font-family:var(--ff-b);font-weight:700;font-size:13px;color:var(--indigo-900);margin:0 0 6px}
.wc-credit-card-form .input-text,#tlpy_payment_method,#cards{width:100%;box-sizing:border-box;min-height:50px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:0 14px;font-family:var(--ff-b);font-size:15px;color:var(--ink);background:var(--white);transition:border-color .15s,box-shadow .15s}
.wc-credit-card-form .input-text:focus,#tlpy_payment_method:focus,#cards:focus{outline:none;border-color:var(--indigo-700);box-shadow:0 0 0 3px var(--indigo-100)}
.wc-credit-card-form .input-text::placeholder{color:#9CA3C4}
#divTpayCardForm{display:flex;flex-wrap:wrap;gap:0 14px}
#divCardNumber,#divSaveCard{flex:1 1 100%}
#divCardDate,#divCardCvc{flex:1 1 calc(50% - 7px);width:auto;min-width:0}
#divSaveCard.form-row{margin-top:2px}
#divSaveCard label.checkbox{display:flex;align-items:center;gap:9px;font-family:var(--ff-b);font-weight:600;font-size:13.5px;color:var(--muted);margin:0;cursor:pointer}
#divSaveCard input[type=checkbox]{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--pink-600);flex:0 0 auto}
#loaderTpay{padding:6px 0}
#tpay-sdk-error{color:var(--err-500);font-size:13px}
#divTpayCardForm .clear,.payFormTilopay>.clear{display:none}
.co2 #payment .payment_method_tilopay label img,.co2 #payment ul.payment_methods li.payment_method_tilopay>label img{max-height:26px;width:auto;display:inline-block;vertical-align:middle;margin-left:6px}
.tilopay-modal{border-radius:var(--r-lg)}

/* Título de la página de pedido recibido: centrado sobre la columna */
body.woocommerce-order-received .container>h1{text-align:center}

/* Tilopay: iconos de tarjetas y botones BAC (layout indicado por el cliente) */
.Flex-tilopay{display:flex;flex-flow:row wrap;justify-content:space-around !important;list-style:none;margin:0}
.flex-container-tpay-bac{display:flex;flex-flow:row wrap !important;justify-content:space-around !important;margin-left:auto;text-align:center}

/* ===== v4.10: páginas B2B (distribuidores / wedding planners) ===== */
.b2b-hero{background:linear-gradient(165deg,var(--indigo-100),var(--pink-50) 70%);padding:44px 0 40px}
.b2b-hero__in{max-width:760px}
.b2b-hero h1{margin:6px 0 10px;color:var(--indigo-900)}
.b2b-hero .lead{color:var(--ink);max-width:56ch;margin:0 0 20px}
.b2b-hero__cta{display:flex;flex-wrap:wrap;gap:10px}
.b2b-hero__cta .btn{flex:1 1 auto;justify-content:center}
.b2b-hero__micro{margin:16px 0 0;color:var(--muted);font-size:13.5px;line-height:1.55;max-width:56ch}

.b2b-sec{padding:40px 0}
.b2b-sec--alt{background:var(--white)}
.b2b-sec--alt .b2b-card{background:var(--cream)}
.b2b-sec--alt .b2b-card--plain{background:transparent}
.b2b-sec--alt .b2b-faq{background:var(--cream)}
.b2b-h{font-family:var(--ff-d);font-weight:400;font-size:var(--fs-h4);line-height:1.1;color:var(--indigo-900);margin:0 0 22px}

.b2b-grid{display:grid;grid-template-columns:1fr;gap:14px}
.b2b-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-sm)}
.b2b-card--plain{box-shadow:none;background:transparent;border-color:transparent;padding:14px 0}
.b2b-sec--alt .b2b-card{background:var(--white)}
.b2b-sec--alt .b2b-card--plain{background:transparent;border-color:transparent}
.b2b-card__ic{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:var(--indigo-100);color:var(--indigo-700);margin:0 0 12px}
.b2b-card__ic svg{width:22px;height:22px}
.b2b-card h3{font-family:var(--ff-b);font-weight:700;font-size:16px;color:var(--indigo-900);margin:0 0 6px;line-height:1.25}
.b2b-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}

.b2b-pasos{list-style:none;counter-reset:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:16px}
.b2b-pasos li{position:relative;padding-left:56px}
.b2b-pasos__n{position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:var(--pink-600);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--ff-b);font-weight:800;font-size:16px;box-shadow:var(--sh-pink)}
.b2b-pasos h3{font-family:var(--ff-b);font-weight:700;font-size:16px;color:var(--indigo-900);margin:6px 0 4px}
.b2b-pasos p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}

.b2b-faq{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);margin:0 0 10px;overflow:hidden}
.b2b-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;font-family:var(--ff-b);font-weight:700;font-size:15px;color:var(--indigo-900)}
.b2b-faq summary::-webkit-details-marker{display:none}
.b2b-faq__x{flex:0 0 auto;color:var(--indigo-700);transition:transform .2s}
.b2b-faq__x svg{width:18px;height:18px;display:block}
.b2b-faq[open] .b2b-faq__x{transform:rotate(180deg)}
.b2b-faq p{margin:0;padding:0 18px 16px;color:var(--muted);font-size:14px;line-height:1.6}

/* Formulario */
.leadf{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh-sm)}
.leadf__h{font-family:var(--ff-d);font-weight:400;font-size:var(--fs-h5);line-height:1.1;color:var(--indigo-900);margin:0 0 6px}
.leadf__nota{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.55}
.leadf__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.leadf__grid{display:grid;grid-template-columns:1fr;gap:14px}
.leadf__f{display:flex;flex-direction:column;min-width:0}
.leadf__f label{font-family:var(--ff-b);font-weight:700;font-size:13px;color:var(--indigo-900);margin:0 0 6px}
.leadf__req{color:var(--pink-600);margin-left:2px}
.leadf__f input,.leadf__f select,.leadf__f textarea{width:100%;box-sizing:border-box;min-height:50px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;font-family:var(--ff-b);font-size:15px;color:var(--ink);background:var(--white);transition:border-color .15s,box-shadow .15s}
.leadf__f textarea{min-height:110px;resize:vertical;line-height:1.5}
.leadf__f input:focus,.leadf__f select:focus,.leadf__f textarea:focus{outline:none;border-color:var(--indigo-700);box-shadow:0 0 0 3px var(--indigo-100)}
.leadf__msg{margin:16px 0 0;padding:12px 14px;border-radius:var(--r-sm);font-family:var(--ff-b);font-size:14px;line-height:1.5}
.leadf__msg.is-ok{background:var(--ok-50);color:var(--ok-800);border:1px solid #BBF7D0}
.leadf__msg.is-err{background:var(--err-50);color:var(--err-800);border:1px solid #FECACA}
.leadf__acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.leadf__acts .btn{flex:1 1 auto;justify-content:center}
.leadf__send[disabled]{opacity:.65;cursor:wait}
.leadf__legal{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.5;text-align:center}

@media(min-width:720px){
  .b2b-hero{padding:60px 0 56px}
  .b2b-hero__cta .btn{flex:0 0 auto}
  .b2b-sec{padding:56px 0}
  .b2b-grid{grid-template-columns:1fr 1fr}
  .b2b-grid--3{grid-template-columns:repeat(3,1fr)}
  .b2b-pasos{grid-template-columns:1fr 1fr;gap:22px 28px}
  .leadf{padding:28px}
  .leadf__grid{grid-template-columns:1fr 1fr}
  .leadf__f--full{grid-column:1/-1}
  .leadf__acts .btn{flex:0 0 auto}
}

/* ===== v4.11: Mi cuenta ===== */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;max-width:var(--container);margin-inline:auto}
.woocommerce-account .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
@media(min-width:900px){
  .woocommerce-account .woocommerce{grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}
}

/* Barra lateral */
.cta-nav{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--sh-sm)}
.cta-nav__head{display:flex;align-items:center;gap:12px;padding:0 0 18px;border-bottom:1px dashed var(--line);margin-bottom:8px}
.cta-nav__av{flex:0 0 auto;width:56px;height:56px;border-radius:50%;background:var(--indigo-100);display:block}
.cta-nav__img,.cta-nav__av img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.cta-nav__hi{min-width:0}
.cta-nav__hi b{display:block;font-family:var(--ff-b);font-weight:700;font-size:16px;color:var(--indigo-900);line-height:1.2}
.cta-nav__hi a{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:13px;margin-top:2px}
.cta-nav__hi a:hover{color:var(--pink-600)}
.cta-nav__hi a svg{width:14px;height:14px}

.cta-nav__t{font-family:var(--ff-b);font-weight:800;font-size:15px;color:var(--indigo-900);margin:18px 0 6px;padding:0 6px}
.cta-nav__list{list-style:none;margin:0;padding:0}
.cta-nav__list li{margin:0}
.cta-nav__list a{display:flex;align-items:center;gap:11px;padding:11px 10px;border-radius:12px;color:var(--ink);font-family:var(--ff-b);font-size:14.5px;transition:background .15s,color .15s}
.cta-nav__list a:hover{background:var(--cream)}
.cta-nav__ic{flex:0 0 auto;width:32px;height:32px;border-radius:10px;background:var(--pink-50);color:var(--pink-600);display:flex;align-items:center;justify-content:center}
.cta-nav__ic svg{width:17px;height:17px}
.cta-nav__l{flex:1 1 auto;min-width:0}
.cta-nav__badge{flex:0 0 auto;background:var(--orange-100,#FEF3C7);color:var(--orange-800,#92400E);border-radius:var(--pill);padding:3px 10px;font-size:12px;font-weight:800}
.cta-nav__x{flex:0 0 auto;color:var(--muted);display:flex}
.cta-nav__x svg{width:15px;height:15px}
.cta-nav__list li.is-active>a{background:var(--pink-50);color:var(--pink-600);font-weight:700}
.cta-nav__list li.is-active .cta-nav__ic{background:var(--pink-600);color:#fff}
.cta-nav__out{display:block;text-align:center;margin-top:20px;padding:12px;color:var(--err-500);font-family:var(--ff-b);font-weight:700;font-size:14.5px;border-radius:var(--pill)}
.cta-nav__out:hover{background:var(--err-50);color:var(--err-800)}

/* Contenido */
.woocommerce-MyAccount-content{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh-sm);min-width:0}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{font-family:var(--ff-d);font-weight:400;color:var(--indigo-900)}

/* Puntos */
.pts__saldo{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,var(--orange-100,#FEF3C7),var(--orange-50,#FFFBEB));border:1px solid var(--orange-200,#FDE68A);border-radius:var(--r-lg);padding:18px 20px}
.pts__ic{flex:0 0 auto;width:52px;height:52px;border-radius:50%;background:var(--orange-500,#F59E0B);color:#fff;display:flex;align-items:center;justify-content:center}
.pts__ic svg{width:26px;height:26px}
.pts__n{display:block;font-family:var(--ff-b);font-weight:800;font-size:30px;line-height:1;color:var(--orange-950,#451A03)}
.pts__saldo small{color:var(--orange-800,#92400E);font-size:13px;font-weight:600}
.pts__h{font-size:1.5rem;margin:26px 0 12px}
.pts__vacio{color:var(--muted);font-size:14px;margin:0}
.pts__grid{display:grid;grid-template-columns:1fr;gap:12px;margin:0}
@media(min-width:560px){.pts__grid{grid-template-columns:1fr 1fr}}
.pts__card{border:1.5px solid var(--line);border-radius:var(--r-lg);padding:16px;text-align:center;background:var(--white)}
.pts__card.is-off{opacity:.55}
.pts__val{display:block;font-family:var(--ff-b);font-weight:800;font-size:24px;color:var(--indigo-900)}
.pts__cost{display:block;color:var(--muted);font-size:13px;margin:2px 0 12px}
.pts__card .btn{width:100%;justify-content:center}
.pts__card .btn[disabled]{opacity:.6;cursor:not-allowed;background:var(--line);color:var(--muted);box-shadow:none}
.pts__nota{color:var(--muted);font-size:12.5px;margin:10px 0 0}
.pts__log{list-style:none;margin:0;padding:0}
.pts__log li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 0;border-bottom:1px solid var(--line)}
.pts__log li:last-child{border-bottom:none}
.pts__lc{font-family:var(--ff-b);font-size:14px;color:var(--indigo-900)}
.pts__lf{grid-row:2;color:var(--muted);font-size:12.5px}
.pts__ld{grid-row:1/3;grid-column:2;align-self:center;font-family:var(--ff-b);font-weight:800;font-size:15px}
.pts__ld.is-up{color:var(--success)}
.pts__ld.is-down{color:var(--muted)}

/* Ayuda */
.ayd__intro{color:var(--muted);font-size:14.5px;line-height:1.6;margin:0 0 18px}
.ayd .leadf{border:none;box-shadow:none;padding:0;background:transparent}

/* Panel de inicio */
.cta-dash__hi{font-family:var(--ff-d);font-weight:400;font-size:var(--fs-h5);line-height:1.1;color:var(--indigo-900);margin:0 0 6px}
.cta-dash__p{color:var(--muted);font-size:14.5px;line-height:1.6;margin:0 0 18px}
.cta-dash__grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:560px){.cta-dash__grid{grid-template-columns:1fr 1fr}}
.cta-dash__c{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;color:var(--ink);background:var(--white);transition:border-color .15s,transform .15s}
.cta-dash__c:hover{border-color:var(--pink-400);transform:translateY(-2px)}
.cta-dash__c .cta-nav__ic{background:var(--indigo-100);color:var(--indigo-700)}
.cta-dash__c b{display:block;font-family:var(--ff-b);font-weight:700;font-size:14.5px;color:var(--indigo-900)}
.cta-dash__c small{color:var(--muted);font-size:12.5px}

/* ===== v4.12: foto de perfil y arreglos de Mi cuenta ===== */

/* El avatar es un botón: abre el selector */
.cta-nav__av{position:relative;flex:0 0 auto;width:60px;height:60px;padding:0;border:none;background:none;cursor:pointer;border-radius:50%;overflow:initial !important}
.cta-nav__av img{width:60px;height:60px;object-fit:cover;display:block;border-radius:50%;background:var(--indigo-100)}
.cta-nav__pen{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;background:var(--pink-600);color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--white)}
.cta-nav__pen svg{width:11px;height:11px}
.cta-nav__av:hover .cta-nav__pen{background:var(--pink-400)}
.cta-nav__av:focus-visible{outline:2px solid var(--indigo-700);outline-offset:3px}

/* El texto del menú no debe partirse en varias líneas */
.cta-nav__l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cta-nav__hi b{overflow-wrap:anywhere}
.cta-nav__hi a{white-space:nowrap}

/* Ventana de selección */
.avm{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:18px}
.avm[hidden]{display:none}
.avm__bd{position:absolute;inset:0;background:rgba(30,27,75,.45);opacity:0;transition:opacity .2s}
.avm.is-on .avm__bd{opacity:1}
.avm__box{position:relative;z-index:1;width:100%;max-width:520px;background:var(--white);border-radius:24px;box-shadow:0 20px 60px rgba(49,46,129,.3);padding:22px;transform:scale(.96);opacity:0;transition:transform .2s,opacity .2s;max-height:88vh;overflow-y:auto}
.avm.is-on .avm__box{transform:none;opacity:1}
.avm__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}
.avm__t{font-family:var(--ff-d);font-weight:400;font-size:var(--fs-h5);line-height:1.1;color:var(--indigo-900);margin:0}
.avm__x{width:36px;height:36px;border-radius:50%;border:none;background:var(--cream);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer}
.avm__x:hover{background:var(--indigo-100);color:var(--indigo-700)}
.avm__x svg{width:17px;height:17px}

.avm__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:479px){.avm__grid{grid-template-columns:repeat(3,1fr)}}
.avm__op{padding:4px;border:2.5px solid transparent;border-radius:50%;background:var(--pink-50);cursor:pointer;aspect-ratio:1;display:flex;align-items:center;justify-content:center;transition:border-color .15s,transform .15s}
.avm__op img{width:100%;height:100%;object-fit:contain;display:block;border-radius:50%}
.avm__op:hover{transform:translateY(-2px)}
.avm__op.is-on{border-color:var(--pink-600);background:var(--pink-50)}
.avm__op:focus-visible{outline:2px solid var(--indigo-700);outline-offset:2px}

.avm__msg{margin:14px 0 0;padding:10px 12px;border-radius:var(--r-sm);font-family:var(--ff-b);font-size:13.5px}
.avm__msg.is-ok{background:var(--ok-50);color:var(--ok-800)}
.avm__msg.is-err{background:var(--err-50);color:var(--err-800)}
.avm__acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.avm__acts .btn{flex:1 1 auto;justify-content:center}
.btn--ghost{background:var(--white);color:var(--indigo-700);border:1.5px solid var(--line)}
.btn--ghost:hover{background:var(--indigo-100);border-color:var(--indigo-700)}

/* Foto de perfil en el encabezado cuando hay sesion */
.header-icon--av{padding:0;overflow:hidden;background:var(--indigo-100)}
.header-icon--av img,.header-icon__av{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}

/* WooCommerce impone float+width 30/68% a las columnas de Mi cuenta. Dentro de
   una cuadricula ese % mide sobre la COLUMNA, no sobre la pagina, y la barra
   lateral colapsa a ~90px. Hay que anularlo o el grid no sirve de nada. */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}

/* ===== v4.13: formulario de perfil (Detalles de la cuenta) =====
   WooCommerce impone width:47%+float a .form-row-first/last con especificidad
   0-2-1, asi que estos selectores llevan form.edit-account para ganarle. */
.woocommerce-account form.edit-account{display:grid;grid-template-columns:1fr;gap:0 16px}
@media(min-width:640px){.woocommerce-account form.edit-account{grid-template-columns:1fr 1fr}}
.woocommerce-account form.edit-account .form-row,
.woocommerce-account form.edit-account .form-row-first,
.woocommerce-account form.edit-account .form-row-last,
.woocommerce-account form.edit-account .form-row-wide{float:none;width:auto;margin:0 0 16px;padding:0;display:flex;flex-direction:column;min-width:0}
.woocommerce-account form.edit-account .form-row-wide,
.woocommerce-account form.edit-account fieldset,
.woocommerce-account form.edit-account .clear,
.woocommerce-account form.edit-account>p:last-of-type{grid-column:1/-1}
.woocommerce-account form.edit-account label{font-family:var(--ff-b);font-weight:700;font-size:13px;color:var(--indigo-900);margin:0 0 6px}
.woocommerce-account form.edit-account .required{color:var(--pink-600);border:none;text-decoration:none}
.woocommerce-account form.edit-account input[type=text],
.woocommerce-account form.edit-account input[type=email],
.woocommerce-account form.edit-account input[type=tel],
.woocommerce-account form.edit-account input[type=number],
.woocommerce-account form.edit-account input[type=url],
.woocommerce-account form.edit-account input[type=date],
.woocommerce-account form.edit-account input[type=password]{width:100%;box-sizing:border-box;min-height:50px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;font-family:var(--ff-b);font-size:15px;color:var(--ink);background:var(--white);transition:border-color .15s,box-shadow .15s}
.woocommerce-account form.edit-account input:focus{outline:none;border-color:var(--indigo-700);box-shadow:0 0 0 3px var(--indigo-100)}
.woocommerce-account form.edit-account em,
.woocommerce-account form.edit-account span>em{display:block;margin-top:6px;color:var(--muted);font-size:12.5px;font-style:normal;line-height:1.5}
.woocommerce-account form.edit-account fieldset{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--cream);padding:18px;margin:2px 0 18px}
.woocommerce-account form.edit-account legend{font-family:var(--ff-b);font-weight:800;font-size:14px;color:var(--indigo-900);padding:0 8px}
.woocommerce-account form.edit-account fieldset .form-row{margin-bottom:14px}
.woocommerce-account form.edit-account fieldset .form-row:last-of-type{margin-bottom:0}
.woocommerce-account form.edit-account .password-input{position:relative;display:block}
.woocommerce-account form.edit-account .password-input input{padding-right:52px}
.woocommerce-account form.edit-account .show-password-input{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px;line-height:1;color:var(--muted)}
.woocommerce-account form.edit-account .show-password-input:hover,
.woocommerce-account form.edit-account .show-password-input.display-password{background:var(--indigo-100);color:var(--indigo-700)}
.woocommerce-account form.edit-account button[type=submit]{width:100%;background:var(--pink-600);color:#fff;border:none;border-radius:var(--pill);min-height:52px;padding:0 28px;font-family:var(--ff-b);font-weight:700;font-size:16px;cursor:pointer;box-shadow:var(--sh-pink);transition:background .18s}
.woocommerce-account form.edit-account button[type=submit]:hover{background:var(--pink-400)}
@media(min-width:640px){.woocommerce-account form.edit-account button[type=submit]{width:auto;min-width:220px}}

/* ===== v4.14: cambio de contraseña en ventana ===== */
.woocommerce-account form.edit-account .pwd-trigger{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--cream);padding:16px 18px;margin:2px 0 18px}
.pwd-trigger__tx b{display:block;font-family:var(--ff-b);font-weight:700;font-size:15px;color:var(--indigo-900)}
.pwd-trigger__tx small{color:var(--muted);font-size:13px}
.woocommerce-account form.edit-account .pwd-trigger .btn{flex:0 0 auto}

/* La ventana vive dentro del <form>, por eso se saca del flujo con position fija */
.woocommerce-account form.edit-account .pwd{position:fixed;inset:0;z-index:9600;display:flex;align-items:center;justify-content:center;padding:18px;margin:0}
.woocommerce-account form.edit-account .pwd[hidden]{display:none}
.pwd__bd{position:absolute;inset:0;background:rgba(30,27,75,.45);opacity:0;transition:opacity .2s}
.pwd.is-on .pwd__bd{opacity:1}
.pwd__box{position:relative;z-index:1;width:100%;max-width:460px;background:var(--white);border-radius:24px;box-shadow:0 20px 60px rgba(49,46,129,.3);padding:22px;transform:scale(.96);opacity:0;transition:transform .2s,opacity .2s;max-height:88vh;overflow-y:auto}
.pwd.is-on .pwd__box{transform:none;opacity:1}
.pwd__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px}
.pwd__t{font-family:var(--ff-d);font-weight:400;font-size:var(--fs-h5);line-height:1.1;color:var(--indigo-900);margin:0}
.pwd__x{width:36px;height:36px;border-radius:50%;border:none;background:var(--cream);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}
.pwd__x:hover{background:var(--indigo-100);color:var(--indigo-700)}
.pwd__x svg{width:16px;height:16px}

.woocommerce-account form.edit-account .pwd__row{display:flex;flex-direction:column;margin:0 0 14px;width:auto;float:none}
.woocommerce-account form.edit-account .pwd__row label{font-family:var(--ff-b);font-weight:700;font-size:13px;color:var(--indigo-900);margin:0 0 6px}
.woocommerce-account form.edit-account .pwd__row input{width:100%;box-sizing:border-box;min-height:50px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;font-family:var(--ff-b);font-size:15px;color:var(--ink);background:var(--white)}
.woocommerce-account form.edit-account .pwd__row input:focus{outline:none;border-color:var(--indigo-700);box-shadow:0 0 0 3px var(--indigo-100)}

.pwd__msg{margin:0 0 14px;padding:11px 13px;border-radius:var(--r-sm);background:var(--err-50);color:var(--err-800);font-family:var(--ff-b);font-size:13.5px;line-height:1.5}
.pwd__acts{display:flex;flex-wrap:wrap;gap:10px}
.woocommerce-account form.edit-account .pwd__acts .btn{flex:1 1 auto;justify-content:center;min-height:48px;width:auto}
.woocommerce-account form.edit-account .pwd__acts button[type=submit]{background:var(--pink-600);color:#fff;border:none;border-radius:var(--pill);box-shadow:var(--sh-pink);font-family:var(--ff-b);font-weight:700;font-size:15px;cursor:pointer;padding:0 22px;min-width:0}
.woocommerce-account form.edit-account .pwd__acts button[type=submit]:hover{background:var(--pink-400)}

/* ===== v4.16: favoritos dentro de la cuenta ===== */
.fav-total{color:var(--muted);font-size:13.5px;margin:0 0 14px}
.woocommerce-MyAccount-content ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(min-width:900px){.woocommerce-MyAccount-content ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
.woocommerce-MyAccount-content ul.products li.product{width:auto;float:none;margin:0}
.fav-vacio{text-align:center;padding:34px 16px}
.fav-vacio__ic{display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:50%;background:var(--pink-50);color:var(--pink-600);margin:0 0 14px}
.fav-vacio__ic svg{width:30px;height:30px}
.fav-vacio h3{font-family:var(--ff-d);font-weight:400;font-size:var(--fs-h5);line-height:1.1;color:var(--indigo-900);margin:0 0 6px}
.fav-vacio p{color:var(--muted);font-size:14.5px;line-height:1.6;margin:0 auto 18px;max-width:42ch}

/* ===== v4.17: botones de acceso con Google / Facebook (Nextend) ===== */
.nsl-container{margin:18px 0 0;padding:0;clear:both}
.nsl-container .nsl-container-buttons{display:flex;flex-direction:column;gap:10px}
.nsl-container-block .nsl-container-buttons a,.nsl-container .nsl-button{border-radius:var(--pill) !important;min-height:50px;font-family:var(--ff-b) !important;font-weight:700 !important;font-size:15px !important;box-shadow:none !important;border:1.5px solid var(--line) !important;transition:border-color .15s,transform .15s}
.nsl-container .nsl-button:hover{transform:translateY(-1px);border-color:var(--indigo-700) !important}
.nsl-container .nsl-button-default span.nsl-button-label-container{font-family:var(--ff-b) !important;font-weight:700 !important}
/* Separador entre el acceso con correo y el social */
.nsl-container::before{content:attr(data-sep);display:block;text-align:center;color:var(--muted);font-family:var(--ff-b);font-size:12.5px;margin:0 0 14px;position:relative}
.woocommerce-form-login .nsl-container,.woocommerce-form-register .nsl-container{border-top:1px dashed var(--line);padding-top:18px}

/* Titulo de cada seccion, dentro de la caja de contenido */
.cta-h{font-family:var(--ff-d);font-weight:400;font-size:var(--fs-h4);line-height:1.1;color:var(--indigo-900);margin:0 0 18px}
.woocommerce-MyAccount-content>.cta-h:first-child{margin-top:0}

/* El radio sobra: la tarjeta resaltada ya dice cual esta elegida.
   No se usa display:none para que siga siendo accesible con teclado. */
.co2 #payment ul.payment_methods li input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.co2 #payment ul.payment_methods li label{display:block;width:100%}
.co2 #payment ul.payment_methods li:has(input:focus-visible){outline:2px solid var(--indigo-700);outline-offset:2px}

/* ===== v4.21: acceso y registro ===== */
.acc{max-width:460px;margin-inline:auto;width:100%}
.acc__card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 24px;box-shadow:var(--sh-sm)}
.acc__card[hidden]{display:none}
.acc__t{font-family:var(--ff-d);font-weight:400;font-size:var(--fs-h4);line-height:1.1;color:var(--indigo-900);margin:0 0 6px;text-align:center}
.acc__sub{color:var(--muted);font-size:14.5px;line-height:1.55;margin:0 0 22px;text-align:center}

/* WooCommerce impone float+47% a las filas; aqui todo va apilado */
.acc .woocommerce-form .form-row,
.acc .form-row-wide,
.acc .form-row-first,
.acc .form-row-last{float:none;width:auto;margin:0 0 16px;padding:0;display:flex;flex-direction:column}
.acc label{font-family:var(--ff-b);font-weight:700;font-size:13px;color:var(--indigo-900);margin:0 0 6px}
.acc .required{color:var(--pink-600);border:none;text-decoration:none}
.acc input[type=text],
.acc input[type=email],
.acc input[type=tel],
.acc input[type=password]{width:100%;box-sizing:border-box;min-height:50px;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;font-family:var(--ff-b);font-size:15px;color:var(--ink);background:var(--white);transition:border-color .15s,box-shadow .15s}
.acc input:focus{outline:none;border-color:var(--indigo-700);box-shadow:0 0 0 3px var(--indigo-100)}
.acc .password-input{position:relative;display:block}
.acc .password-input input{padding-right:52px}
.acc .show-password-input{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px;color:var(--muted)}
.acc .show-password-input:hover,.acc .show-password-input.display-password{background:var(--indigo-100);color:var(--indigo-700)}

.acc__fila{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.acc__check{display:flex;align-items:center;gap:8px;margin:0;font-weight:600;color:var(--muted);font-size:13.5px;cursor:pointer}
.acc__check input{width:18px;height:18px;margin:0;accent-color:var(--pink-600)}
.acc__perdi{color:var(--indigo-700);font-size:13.5px;font-family:var(--ff-b);font-weight:600}
.acc__perdi:hover{color:var(--pink-600)}

.acc__submit{margin:0 !important}
.acc__submit .btn{width:100%;justify-content:center}
.acc__nota{color:var(--muted);font-size:13px;line-height:1.55;margin:0 0 16px;background:var(--cream);border-radius:var(--r-sm);padding:11px 13px}

/* Texto legal del registro */
.acc .woocommerce-privacy-policy-text{margin:0 0 16px}
.acc .woocommerce-privacy-policy-text p{color:var(--muted);font-size:12.5px;line-height:1.55;margin:0}
.acc .woocommerce-privacy-policy-text a{color:var(--indigo-700);text-decoration:underline;text-underline-offset:2px}

/* Cambiar entre crear cuenta y entrar */
.acc__alt{margin-top:22px;padding-top:20px;border-top:1px dashed var(--line);text-align:center}
.acc__alt span{display:block;color:var(--muted);font-size:13.5px;margin:0 0 10px}
.acc__alt .btn{width:100%;justify-content:center;text-decoration:none}

/* Botones sociales dentro de la tarjeta */
.acc .nsl-container{margin-top:16px}

/* ===== v4.22: Mis pedidos en tarjetas ===== */
.ords{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.ords__i{border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;background:var(--white);transition:border-color .15s,box-shadow .15s}
.ords__i:hover{border-color:var(--indigo-100);box-shadow:var(--sh-sm)}

.ords__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ords__id a{display:block;font-family:var(--ff-b);font-weight:800;font-size:16px;color:var(--indigo-900);text-decoration:none}
.ords__id a:hover{color:var(--pink-600)}
.ords__id time{display:block;color:var(--muted);font-size:13px;margin-top:2px}

.ords__badge{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;border-radius:var(--pill);padding:5px 13px;font-family:var(--ff-b);font-weight:700;font-size:12.5px;white-space:nowrap}
.ords__badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}
.ords__badge--espera{background:var(--orange-100,#FEF3C7);color:var(--orange-800,#92400E)}
.ords__badge--proceso{background:var(--indigo-100);color:var(--indigo-700)}
.ords__badge--listo{background:var(--ok-50);color:var(--ok-800)}
.ords__badge--malo{background:var(--err-50);color:var(--err-800)}
.ords__badge--gris{background:var(--cream);color:var(--muted)}

.ords__mid{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:14px 0 0;padding:14px 0 0;border-top:1px dashed var(--line)}
.ords__fotos{display:flex;align-items:center;gap:-8px;min-width:0}
.ords__fotos img,.ords__foto{width:44px;height:44px;border-radius:12px;object-fit:cover;border:2px solid var(--white);margin-right:-8px;background:var(--indigo-100);display:block}
.ords__mas{width:44px;height:44px;border-radius:12px;border:2px solid var(--white);background:var(--indigo-100);color:var(--indigo-700);display:flex;align-items:center;justify-content:center;font-family:var(--ff-b);font-weight:800;font-size:13px;flex:0 0 auto}
.ords__cifras{text-align:right;margin-left:auto}
.ords__n{display:block;color:var(--muted);font-size:12.5px}
.ords__total{display:block;font-family:var(--ff-b);font-weight:800;font-size:17px;color:var(--indigo-900)}
.ords__total del{font-size:.7em;color:var(--muted);font-weight:600}

.ords__acts{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.ords__b{flex:1 1 auto;justify-content:center;min-height:44px;font-size:14px}

.ords__nav{display:flex;gap:10px;justify-content:center;margin-top:20px}

@media(min-width:600px){
  .ords__acts{justify-content:flex-end}
  .ords__b{flex:0 0 auto;min-width:150px}
}

/* ===== v4.23: campos en pareja del registro ===== */
.acc__pair{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.acc__pair .form-row{margin-bottom:16px}
@media(max-width:440px){.acc__pair{grid-template-columns:1fr}}
.acc__hint{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.45}

/* ===== v4.24: login/registro estilo tarjeta ===== */
/* Fondo suave de marca solo en la pantalla de acceso (sin sesión) */
body.woocommerce-account:not(.logged-in) .section{
  background:radial-gradient(900px 360px at 50% -8%,var(--indigo-100),transparent 62%),linear-gradient(180deg,var(--pink-50),var(--cream) 42%);
}

.acc{max-width:440px}
.acc__card{padding:0;overflow:hidden;box-shadow:0 18px 50px rgba(49,46,129,.12)}

/* Cabecera con degradado + insignia */
.acc__head{background:linear-gradient(180deg,var(--indigo-100),var(--pink-50) 55%,var(--white));padding:30px 24px 22px;text-align:center}
.acc__badge{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:18px;background:var(--white);box-shadow:0 8px 22px rgba(49,46,129,.16);color:var(--indigo-700);margin:0 0 14px}
.acc__badge svg{width:26px;height:26px}
.acc__head .acc__t{margin:0 0 4px}
.acc__head .acc__sub{margin:0}

/* El contenido ya no lo pinta .acc__card; se paddea por bloque */
.acc__card>form{padding:22px 24px 0}
.acc__card>.acc__alt{padding:0 24px 26px}

/* Inputs rellenos con icono a la izquierda */
.acc input[type=text],
.acc input[type=email],
.acc input[type=tel],
.acc input[type=password]{background:var(--cream);border:1.5px solid transparent;border-radius:14px}
.acc input:focus{background:var(--white);border-color:var(--indigo-700);box-shadow:0 0 0 3px var(--indigo-100)}
.acc-i{background-repeat:no-repeat;background-position:15px center;background-size:18px 18px;padding-left:44px}
.acc-i--mail{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239AA0B4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")}
.acc-i--lock{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239AA0B4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")}
.acc-i--user{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239AA0B4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-6 8-6s8 2 8 6'/%3E%3C/svg%3E")}
.acc-i--phone{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239AA0B4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.1-2.1a1 1 0 0 1 1-.25 11 11 0 0 0 3.4.55 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.2a1 1 0 0 1 1 1 11 11 0 0 0 .55 3.4 1 1 0 0 1-.25 1z'/%3E%3C/svg%3E")}
/* El ojo de la contraseña va a la derecha; el candado a la izquierda */
.acc .password-input input.acc-i--lock{padding-right:52px}

/* Divisor "o ingresa con" */
.acc__or{display:flex;align-items:center;gap:12px;margin:22px 0 16px;color:var(--muted);font-size:12px;text-transform:lowercase}
.acc__or::before,.acc__or::after{content:"";flex:1;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 3px,transparent 3px 7px);border-radius:2px}

/* Botones sociales (Nextend u otro plugin) */
.acc__social{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:4px}
.acc__social a,.acc__social .nsl-button,.acc__social button{display:flex !important;align-items:center;justify-content:center;min-height:50px;border:1.5px solid var(--line) !important;border-radius:14px !important;background:var(--white) !important;box-shadow:none !important;margin:0 !important;width:100% !important;transition:border-color .15s,background .15s}
.acc__social a:hover,.acc__social .nsl-button:hover{border-color:var(--indigo-700) !important;background:var(--indigo-100) !important}
.acc__social .nsl-button-label-container{display:none !important}

/* En la pantalla de acceso (sin sesion) no hay barra lateral: la cuadricula
   de dos columnas de Mi cuenta no debe aplicar, o el login queda a la izquierda. */
body.woocommerce-account:not(.logged-in) .woocommerce{display:block}

/* Iconos de los inputs (especificidad para ganarle a la regla base) */
.acc input.acc-i{padding-left:44px !important;background-repeat:no-repeat;background-position:15px center;background-size:18px 18px}
.acc input.acc-i--mail{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239AA0B4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")}
.acc input.acc-i--lock{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239AA0B4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")}
.acc input.acc-i--user{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239AA0B4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-6 8-6s8 2 8 6'/%3E%3C/svg%3E")}
.acc input.acc-i--phone{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239AA0B4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.1-2.1a1 1 0 0 1 1-.25 11 11 0 0 0 3.4.55 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.2a1 1 0 0 1 1 1 11 11 0 0 0 .55 3.4 1 1 0 0 1-.25 1z'/%3E%3C/svg%3E")}
.acc .password-input input.acc-i--lock{padding-right:52px !important}

/* ===== v4.25: página Sistema de diseño ===== */
.dsp{padding:8px 0 60px;
  background-image:radial-gradient(680px 300px at 90% -4%,rgba(240,18,144,.08),transparent 60%),radial-gradient(640px 300px at 4% 1%,rgba(79,70,229,.10),transparent 62%)}
.dsp-hero{padding:36px 0 20px}
.dsp-hero h1{margin:10px 0 12px;color:var(--indigo-900);max-width:16ch}
.dsp-hero .lead{max-width:62ch;color:var(--muted);margin:0}
.dsp-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.dsp-meta span{font-size:12.5px;color:var(--muted);background:var(--white);border:1px solid var(--line);border-radius:var(--pill);padding:6px 13px}
.dsp-meta b{color:var(--ink);font-weight:700}

.dsp-sec{padding:30px 0;border-top:1px solid var(--line)}
.dsp-h{display:flex;align-items:baseline;gap:12px;margin:0 0 8px}
.dsp-h__n{font-family:var(--ff-b);font-weight:800;font-size:12px;color:var(--pink-600);font-variant-numeric:tabular-nums;letter-spacing:.05em}
.dsp-h__t{font-family:var(--ff-d);font-weight:400;font-size:var(--fs-h4);line-height:1;color:var(--indigo-900)}
.dsp-d{color:var(--muted);font-size:14.5px;margin:0 0 20px;max-width:64ch}
.dsp-lab{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:18px 0 12px}
.dsp-lab--flush{margin-top:0}
.dsp-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px}

.dsp-grid{display:grid;gap:14px}
.dsp-grid--sw{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:8px}
.dsp-grid--rad{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:20px}
.dsp-grid--sh{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}

.dsp-sw{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;background:var(--white)}
.dsp-sw__c{height:76px;position:relative}
.dsp-sw__b{padding:10px 12px}
.dsp-sw__n{font-weight:700;font-size:13.5px;color:var(--ink)}
.dsp-sw__v{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;font-family:ui-monospace,Menlo,monospace;margin-top:2px}
.dsp-sw__tag{position:absolute;left:9px;bottom:8px;font-size:10px;font-weight:800;letter-spacing:.04em;padding:3px 8px;border-radius:var(--pill);background:rgba(255,255,255,.85);color:#1E1B4B}
.dsp-sw__tag--d{background:rgba(20,18,45,.68);color:#fff}

.dsp-fams{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:18px}
.dsp-fam{border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;background:var(--white)}
.dsp-fam__lab{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.dsp-fam__big{font-size:64px;line-height:1;margin:8px 0 6px;color:var(--indigo-900)}
.dsp-fam--d .dsp-fam__big{font-family:var(--ff-d);font-weight:400}
.dsp-fam--b .dsp-fam__big{font-family:var(--ff-b);font-weight:700}
.dsp-fam__name{font-weight:700;color:var(--ink)}
.dsp-fam__role{color:var(--muted);font-size:13.5px}
.dsp-scale{display:flex;flex-direction:column}
.dsp-scale__r{display:flex;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}
.dsp-scale__r:last-child{border-bottom:none}
.dsp-scale__m{flex:0 0 108px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;font-family:ui-monospace,Menlo,monospace}
.dsp-scale__ex{font-family:var(--ff-d);font-weight:400;color:var(--indigo-900);line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dsp-scale__body{font-family:var(--ff-b);color:var(--ink);font-size:16px;line-height:1.6}

.dsp-rad{display:flex;flex-direction:column;align-items:center;gap:10px}
.dsp-rad__b{width:100%;height:72px;background:var(--indigo-100);border:1px solid var(--line)}
.dsp-rad__l{font-size:12.5px;color:var(--muted)}
.dsp-rad__l b{color:var(--ink);font-weight:700}
.dsp-sh__b{height:70px;border-radius:var(--r);background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12.5px;border:1px solid var(--line)}

.dsp-btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.dsp-note{width:100%;color:var(--muted);font-size:12.5px;margin:16px 0 6px}

.dsp-ico-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:12px}
.dsp-ico{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--white)}
.dsp-ico__c{width:40px;height:40px;border-radius:12px;background:var(--indigo-100);color:var(--indigo-700);display:flex;align-items:center;justify-content:center}
.dsp-ico__c svg{width:21px;height:21px}
.dsp-ico__n{font-size:11.5px;color:var(--muted)}

.dsp-cmp{display:grid;gap:16px;grid-template-columns:1fr}
.dsp-cmp__b{border:1px solid var(--line);border-radius:var(--r);padding:18px;background:var(--white)}
.dsp-badges{display:flex;flex-wrap:wrap;gap:9px}
.dsp-bdg{display:inline-flex;align-items:center;gap:6px;border-radius:var(--pill);padding:5px 13px;font-weight:700;font-size:12.5px}
.dsp-bdg::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.dsp-bdg--espera{background:var(--orange-100);color:var(--orange-800)}
.dsp-bdg--proceso{background:var(--indigo-100);color:var(--indigo-700)}
.dsp-bdg--listo{background:#DCFCE7;color:#166534}
.dsp-bdg--malo{background:var(--err-50);color:var(--err-800)}

.dsp-inp-lab{display:block;font-size:13px;font-weight:700;color:var(--indigo-900);margin:0 0 6px}
.dsp-inp{width:100%;min-height:50px;border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;font-family:var(--ff-b);font-size:15px;color:var(--ink);background:var(--cream)}
.dsp-inp:focus{outline:none;border-color:var(--indigo-700);box-shadow:0 0 0 3px var(--indigo-100);background:var(--white)}

.dsp-row{display:flex;align-items:flex-start;gap:11px;padding:9px 0}
.dsp-row__ic{flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:var(--indigo-100);color:var(--indigo-700);display:flex;align-items:center;justify-content:center}
.dsp-row__ic svg{width:17px;height:17px}
.dsp-row__l{font-size:12px;color:var(--muted);font-weight:600;display:block}
.dsp-row__v{font-size:14px;color:var(--ink)}

.dsp-pc{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--white);max-width:260px}
.dsp-pc__m{height:110px;background:linear-gradient(160deg,var(--indigo-100),var(--pink-50));position:relative}
.dsp-pc__heart{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:#fff;color:var(--pink-600);display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-sm)}
.dsp-pc__heart svg{width:15px;height:15px}
.dsp-pc__b{padding:12px 14px}
.dsp-pc__n{font-family:var(--ff-d);font-weight:400;font-size:1.35rem;color:var(--indigo-900);line-height:1.1;margin-bottom:4px}
.dsp-pc__p{font-weight:800;color:var(--indigo-700);font-size:1.1rem}
.dsp-pc__p small{color:var(--muted);font-weight:600;font-size:11px}

.dsp-rules{display:grid;gap:12px;grid-template-columns:1fr}
.dsp-rule{display:flex;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--white)}
.dsp-rule__ic{flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:var(--pink-50);color:var(--pink-600);display:flex;align-items:center;justify-content:center}
.dsp-rule__ic svg{width:18px;height:18px}
.dsp-rule b{display:block;color:var(--ink);font-size:14.5px;margin-bottom:2px}
.dsp-rule span{color:var(--muted);font-size:13px;line-height:1.5}

@media(min-width:680px){
  .dsp-fams{grid-template-columns:1fr 1fr}
  .dsp-cmp{grid-template-columns:1fr 1fr}
  .dsp-rules{grid-template-columns:1fr 1fr}
}

/* ===== v4.26: campos estilo Material (etiqueta flotante, esquinas redondeadas) ===== */
:root{--mdf-bg:#fff}

.mdf{position:relative}

/* La etiqueta descansa dentro del campo */
.mdf>label{
  position:absolute;left:14px;top:25px;transform:translateY(-50%);
  margin:0 !important;padding:0 5px;z-index:2;
  font-family:var(--ff-b);font-weight:600;font-size:15px;color:var(--muted);
  background:transparent;pointer-events:none;letter-spacing:0;line-height:1;width:auto !important;height:auto !important;clip:auto !important;clip-path:none !important;
  max-width:calc(100% - 30px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  transition:top .15s ease,font-size .15s ease,color .15s ease;
}
.mdf>label .required{color:var(--pink-600);border:none;text-decoration:none}

/* Relleno transparente (contorno Material) + esquinas redondeadas conservadas */
.mdf input,.mdf textarea,.mdf select{
  background:transparent !important;border:1.5px solid var(--line) !important;border-radius:14px !important;
}
.mdf input:focus,.mdf textarea:focus,.mdf select:focus{
  outline:none !important;border-color:var(--indigo-700) !important;box-shadow:0 0 0 1px var(--indigo-700) !important;
}

/* La etiqueta sube y se apoya en la línea (con parche de fondo = muesca) */
.mdf.mdf--sel>label,
.mdf.mdf--fill>label,
.mdf:has(input:focus)>label,
.mdf:has(input:not(:placeholder-shown))>label,
.mdf:has(textarea:focus)>label,
.mdf:has(textarea:not(:placeholder-shown))>label{
  top:0;font-size:12px;font-weight:700;color:var(--indigo-700);background:var(--mdf-bg);
}

/* Textarea: la etiqueta descansa arriba, no al centro */
.mdf--ta>label{top:22px}

/* Campos con icono a la izquierda (login): la etiqueta arranca tras el icono */
.mdf:has(input.acc-i)>label{left:12px}
.mdf:has(input.acc-i:focus)>label,
.mdf:has(input.acc-i:not(:placeholder-shown))>label{left:12px}

/* El asterisco de "requerido" ya no va pegado al texto de la etiqueta grande */
.mdf>label>.required{margin-left:2px}

/* ===== v4.28: teléfono con bandera + verificación (SMS/WhatsApp/correo) ===== */

/* --- Selector de país con bandera dentro del campo --- */
.mdf:has(input.tel-i){position:relative}
input.tel-i{padding-right:16px !important}
.tel-flag{
  position:absolute;left:8px;top:50%;transform:translateY(-50%);z-index:3;
  display:flex;align-items:center;gap:4px;height:34px;padding:0 8px 0 6px;
  background:var(--white);border:1px solid var(--line);border-radius:10px;cursor:pointer;
  font-family:var(--ff-b);line-height:1;
}
.tel-flag:hover{border-color:var(--indigo-700)}
.tel-flag__e{font-size:18px}
.tel-flag__c{font-size:13px;font-weight:700;color:var(--ink)}
.tel-flag__ar{font-size:10px;color:var(--muted);margin-left:-2px}

/* La etiqueta flotante arranca después de la bandera */
.mdf:has(input.tel-i)>label{top:0;left:14px;font-size:12px;font-weight:700;color:var(--indigo-700);background:var(--mdf-bg)}

.tel-menu{
  position:absolute;left:8px;top:calc(50% + 24px);z-index:20;width:min(280px,92%);
  max-height:260px;overflow:auto;background:var(--white);border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--sh);padding:6px;
}
.tel-menu__i{
  display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:none;
  background:transparent;border-radius:10px;cursor:pointer;text-align:left;font-family:var(--ff-b);
}
.tel-menu__i:hover{background:var(--indigo-100)}
.tel-menu__e{font-size:18px}
.tel-menu__n{flex:1;font-size:14px;color:var(--ink)}
.tel-menu__d{font-size:13px;color:var(--muted);font-weight:700}

/* --- Control de verificación --- */
.vfy{display:block}
.vfy__status{position:absolute;right:12px;top:14px;z-index:4;display:flex;align-items:center;gap:6px}
.vfy__badge{display:inline-flex;align-items:center;gap:6px;background:#E9F7F0;color:#1C6B4A;
  border:1px solid #BFE7D5;border-radius:var(--pill);padding:5px 11px 5px 8px;font-weight:800;font-size:12.5px;line-height:1;white-space:nowrap}
.vfy__badge svg{display:block}
.vfy__go{background:var(--pink-50);color:var(--pink-600);border:1px solid var(--pink-400);
  border-radius:var(--pill);padding:6px 14px;font-family:var(--ff-b);font-weight:800;font-size:12.5px;cursor:pointer;white-space:nowrap}
.vfy__go:hover{background:var(--pink-600);color:#fff;border-color:var(--pink-600)}

.vfy__panel{margin-top:12px;background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.vfy__lead{margin:0 0 10px;font-size:13.5px;color:var(--ink);font-weight:600}
.vfy__vias{display:flex;flex-wrap:wrap;gap:10px}
.vfy__via{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1.5px solid var(--line);
  border-radius:12px;padding:10px 16px;font-family:var(--ff-b);font-weight:700;font-size:14px;color:var(--ink);cursor:pointer}
.vfy__via svg{width:17px;height:17px;color:var(--indigo-700)}
.vfy__via:hover:not([disabled]){border-color:var(--indigo-700)}
.vfy__via.is-on{border-color:var(--indigo-700);background:var(--indigo-100)}
.vfy__via[disabled]{opacity:.45;cursor:not-allowed}

.vfy__code{margin-top:14px}
.vfy__codelab{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:0 0 6px}
.vfy__coderow{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.vfy__codein{flex:1;min-width:140px;min-height:50px;border:1.5px solid var(--line);border-radius:14px;
  background:var(--white);padding:10px 14px;font-family:var(--ff-b);font-size:22px;font-weight:800;
  letter-spacing:8px;text-align:center;color:var(--ink)}
.vfy__codein:focus{outline:none;border-color:var(--indigo-700);box-shadow:0 0 0 3px var(--indigo-100)}
.vfy__confirm{flex:0 0 auto;white-space:nowrap}
.vfy__resend{margin-top:10px;background:none;border:none;color:var(--indigo-700);font-family:var(--ff-b);
  font-weight:700;font-size:13px;cursor:pointer;padding:4px 0;text-decoration:underline}
.vfy__resend[disabled]{color:var(--muted);cursor:default;text-decoration:none}

.vfy__msg{margin:12px 0 0;font-size:13px;font-weight:600}
.vfy__msg--ok{color:var(--success)}
.vfy__msg--err{color:var(--err-500)}

/* En el perfil, deja teléfono y WhatsApp a lo ancho para que quepan bandera + badge */
.woocommerce-EditAccountForm .form-row:has(#account_phone),
.woocommerce-EditAccountForm .form-row:has(#account_wa){float:none;width:100%;margin-left:0}

/* ===== v4.29: baja de cuenta (zona de peligro + modal) ===== */
.btn--danger{background:var(--err-500);color:#fff;border:1.5px solid var(--err-500)}
.btn--danger:hover{background:var(--err-800);border-color:var(--err-800);color:#fff}

.dz{margin:28px 0 8px;padding:20px;border:1.5px solid var(--err-500);border-radius:var(--r);background:var(--err-50)}
.dz__head{display:flex;align-items:center;gap:9px;color:var(--err-800);font-family:var(--ff-b);font-size:16px}
.dz__head b{font-weight:800}
.dz__head svg{width:19px;height:19px}
.dz__tx{margin:8px 0 16px;color:var(--err-800);font-size:14px;line-height:1.55}

.dzm{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:18px}
.dzm[hidden]{display:none}
.dzm__bd{position:absolute;inset:0;background:rgba(30,27,75,.55)}
.dzm__box{position:relative;z-index:1;width:min(460px,100%);background:var(--white);border-radius:var(--r-lg);box-shadow:var(--sh);padding:22px 22px 20px;max-height:90vh;overflow:auto}
.dzm__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.dzm__t{font-family:var(--ff-d);font-weight:400;font-size:var(--fs-h4);color:var(--err-800);line-height:1;margin:0}
.dzm__x{background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;display:flex}
.dzm__x svg{width:20px;height:20px}
.dzm__lead{margin:0 0 16px;color:var(--ink);font-size:14px;line-height:1.55}

.dz-agree{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink);cursor:pointer;line-height:1.45}
.dz-agree__c{margin-top:2px;width:18px;height:18px;accent-color:var(--err-500);flex:0 0 auto}

.dz-code{margin-top:16px}
.dz-code__l{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:0 0 6px}
.dz-code__i{width:100%;min-height:52px;border:1.5px solid var(--line);border-radius:14px;background:var(--white);
  padding:10px 14px;font-family:var(--ff-b);font-size:24px;font-weight:800;letter-spacing:10px;text-align:center;color:var(--ink)}
.dz-code__i:focus{outline:none;border-color:var(--err-500);box-shadow:0 0 0 3px var(--err-50)}

.dz-msg{margin:14px 0 0;font-size:13px;font-weight:600}
.dz-msg--ok{color:var(--success)}
.dz-msg--err{color:var(--err-500)}

.dzm__acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:20px}

/* ===== v4.34: Tarjeta de regalo (sin topbar + descripción 2col) ===== */
.gc{--mdf-bg:var(--cream);padding:0 0 210px}
.gc__grid{display:grid;grid-template-columns:1fr;gap:22px;padding-top:20px}

/* ---- Tarjeta con flip ---- */
.gc__stage{padding:6px 0}
.gc-card{position:relative;width:100%;aspect-ratio:1.6/1;perspective:1300px}
.gc-card__inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,.2,.2,1)}
.gc-card.is-flipped .gc-card__inner{transform:rotateY(180deg)}
.gc-card__face{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;
  border-radius:22px;padding:20px 22px;color:#fff;display:flex;flex-direction:column;
  background:var(--gc-grad);box-shadow:0 18px 40px rgba(79,70,229,.30)}
.gc-card__face--back{transform:rotateY(180deg)}
.gc-card__face::after{content:"";position:absolute;right:-40px;bottom:-60px;width:190px;height:190px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%);pointer-events:none}
.gc-card__shine{position:absolute;top:0;left:-60%;width:40%;height:100%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);
  animation:gc-shine 5.5s ease-in-out infinite}
@keyframes gc-shine{0%,60%{left:-60%}100%{left:130%}}

.gc-card__row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.gc-card__logo{height:32px !important;width:auto !important;max-width:150px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}
.gc-card__flip{width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);
  background:rgba(255,255,255,.12);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;transition:background .15s}
.gc-card__flip:hover{background:rgba(255,255,255,.26)}
.gc-card__flip svg{width:18px;height:18px}
.gc-card__bottom{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.gc-card__amtwrap{display:flex;flex-direction:column;gap:2px;min-width:0}
.gc-card__label{font-size:11px;letter-spacing:3px;text-transform:uppercase;opacity:.85}
.gc-card__amount{font-size:46px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.gc-card__amount.is-pop{animation:gc-pop .28s ease}
@keyframes gc-pop{0%{transform:scale(.8);opacity:.4}100%{transform:scale(1);opacity:1}}
.gc-card__gift svg{width:30px;height:30px;opacity:.9}

/* reverso */
.gc-card__backlabel{font-size:11px;letter-spacing:3px;text-transform:uppercase;opacity:.85}
.gc-card__note{margin-top:14px;display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}
.gc-card__to{font-size:17px;font-weight:700}
.gc-card__msg{margin:0;font-style:italic;line-height:1.4;font-size:15px;opacity:.95;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gc-card__msg.is-empty{opacity:.55}
.gc-card__from{margin-top:auto;font-size:13px;opacity:.85}

.gc-fliptext{margin:12px auto 0;display:flex;align-items:center;gap:7px;background:none;border:none;
  color:var(--indigo-700);font-family:var(--ff-b);font-weight:700;font-size:13px;cursor:pointer;padding:6px}
.gc-fliptext svg{width:15px;height:15px}

/* ---- Grupos (monto + estilo) ---- */
.gc__group{margin:0 0 18px}
.gc__label{display:block;font-family:var(--ff-b);font-weight:700;font-size:13px;color:var(--indigo-900);margin:0 0 9px}

.gc-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gc-amount{min-height:52px;border:1.5px solid var(--line);border-radius:14px;background:var(--white);
  font-family:var(--ff-b);font-weight:800;font-size:16px;color:var(--indigo-900);cursor:pointer;
  transition:border-color .15s,background .15s,color .15s,transform .1s}
.gc-amount:hover{border-color:var(--pink-400)}
.gc-amount:active{transform:scale(.96)}
.gc-amount.is-active{border-color:var(--pink-600);background:var(--pink-50);color:var(--pink-600);box-shadow:0 0 0 3px var(--pink-50)}

.gc-colors{display:flex;gap:14px;flex-wrap:wrap}
.gc-color{width:40px;height:40px;border-radius:50%;border:2px solid var(--white);cursor:pointer;
  background:var(--sw);box-shadow:0 0 0 1.5px var(--line);transition:transform .12s,box-shadow .15s;padding:0;position:relative}
.gc-color:hover{transform:scale(1.08)}
.gc-color.is-active{box-shadow:0 0 0 2px var(--white),0 0 0 4px var(--indigo-700)}

/* ---- Campos Material (etiqueta flotante la aplica material-fields.js) ---- */
.gc__two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gc__field{margin:0 0 14px;position:relative}
.gc__field input,.gc__field textarea{width:100%;min-height:50px;padding:12px 14px;font-family:var(--ff-b);
  font-size:15px;color:var(--ink);border:1.5px solid var(--line);border-radius:14px;background:transparent}
.gc__field textarea{min-height:84px;resize:vertical;line-height:1.5}
.gc__field input:focus,.gc__field textarea:focus{outline:none;border-color:var(--indigo-700);box-shadow:0 0 0 1px var(--indigo-700)}
.gc__field input.is-error{border-color:#DC2626 !important;box-shadow:0 0 0 3px #FEF2F2 !important}
.gc__hint{margin:6px 2px 16px;font-size:12px;color:var(--muted);line-height:1.45}
.gc__field:has(+ .gc__hint),.gc__field:has(+ .gc__count){margin-bottom:0}
.gc__count{margin:6px 2px 16px;font-size:12px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;letter-spacing:.02em}

/* ---- Barra inferior fija ---- */
.gc-bar{position:fixed;left:0;right:0;bottom:64px;z-index:65;background:var(--white);
  border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(30,27,75,.10);
  padding:10px 0 calc(10px + env(safe-area-inset-bottom))}
.gc-bar__in{display:flex;flex-direction:column;gap:10px}
.gc-bar__top{display:flex;align-items:center;gap:12px}
.gc-bar__price{display:flex;flex-direction:column;line-height:1.1}
.gc-bar__label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}
.gc-bar__amount{font-weight:800;font-size:22px;color:var(--indigo-900);font-variant-numeric:tabular-nums}
.gc-bar__qty{display:flex;align-items:center;gap:10px;background:var(--cream);border:1px solid var(--line);
  border-radius:var(--pill);padding:4px 6px;margin-left:auto}
.gc-bar__q{width:32px;height:32px;border-radius:50%;border:none;background:var(--white);color:var(--indigo-900);
  font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-sm)}
.gc-bar__qty span{min-width:20px;text-align:center;font-weight:800;color:var(--ink)}
.gc-bar__btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gc-bar__btns .btn{width:100%;gap:8px}
.gc-bar__go svg,.gc-bar__wa svg{width:20px;height:20px;flex:0 0 auto}
.gc-bar__go.is-disabled{opacity:.5;pointer-events:none}

/* ---- Descripción (estilo KEMIK) ---- */
.gc-desc{margin:8px auto 10px}
.gc-desc__title{font-family:var(--ff-d);font-weight:400;font-size:30px;color:var(--indigo-900);
  margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.gc-desc__grid{display:grid;gap:16px}
.gc-desc__block{display:flex;gap:16px;margin:0;background:var(--white);border:1px solid var(--line);
  border-radius:18px;padding:22px;box-shadow:var(--sh-sm)}
.gc-desc__ic{flex:0 0 auto;width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center}
.gc-desc__ic svg{width:24px;height:24px}
.gc-desc__ic--pink{background:var(--pink-50);color:var(--pink-600)}
.gc-desc__ic--indigo{background:var(--indigo-100);color:var(--indigo-700)}
.gc-desc__body h3{font-family:var(--ff-b);font-weight:800;font-size:18px;color:var(--indigo-900);margin:6px 0 8px}
.gc-desc__body h4{font-weight:800;font-size:14px;color:var(--indigo-900);margin:14px 0 6px}
.gc-desc__body p{margin:0 0 8px;color:var(--muted)}
.gc-desc__body ol,.gc-desc__body ul{margin:0;padding-left:20px;color:var(--muted);line-height:1.7}
.gc-desc__body li{margin:0 0 4px}

/* ---- Desktop ---- */
@media (min-width:860px){
  .gc__grid{grid-template-columns:minmax(0,420px) 1fr;gap:40px;align-items:start;padding-top:8px}
  .gc__stage{position:sticky;top:calc(var(--header-h) + 16px)}
  .gc-card__amount{font-size:52px}
  .gc-bar__in{flex-direction:row;align-items:center;max-width:var(--container);gap:16px}
  .gc-bar__top{flex:0 0 auto}
  .gc-bar__qty{margin-left:0}
  .gc-bar__btns{margin-left:auto;grid-template-columns:auto auto}
  .gc-bar__btns .btn{min-width:210px}
  .gc-desc__grid{grid-template-columns:1fr 1fr;gap:24px;align-items:start}
}
@media (min-width:900px){
  .gc-bar{bottom:0}
  .gc{padding-bottom:120px}
}
@media (max-width:420px){
  .gc__two{grid-template-columns:1fr}
  .gc-amounts{grid-template-columns:repeat(3,1fr)}
  .gc-bar__btns .btn{font-size:14px;padding-left:10px;padding-right:10px}
}


/* ===== v4.33: custom logo tamaño (SVG sin width/height) ===== */
.custom-logo{width:auto !important;height:46px !important;max-width:180px}
.footer-brand .custom-logo{height:54px !important}
@media(max-width:600px){.custom-logo{height:40px !important}}

/* ===== v4.38: Hero portada (flavor slider + parallax + blur por letra) ===== */
.shero{position:relative;overflow:hidden;background:var(--shero-tint,#FEF1FA);
  transition:background .6s ease;min-height:clamp(560px,88vh,940px);
  display:flex;flex-direction:column;justify-content:center;isolation:isolate}
.shero__glow{position:absolute;left:-10%;bottom:-16%;width:46vw;height:46vw;max-width:640px;max-height:640px;
  border-radius:50%;z-index:0;pointer-events:none;filter:blur(2px);
  background:radial-gradient(circle at 40% 40%,var(--shero-glow,#FF7FB0),transparent 68%);
  opacity:.75;will-change:transform;transition:background .6s ease,transform .6s cubic-bezier(.2,.8,.2,1)}

/* ---- Escenario: palabra + producto ---- */
.shero__stage{position:relative;z-index:2;display:grid;place-items:center;
  min-height:clamp(320px,50vh,560px)}
.shero__slide{grid-area:1/1;display:grid;place-items:center;position:relative;width:100%;
  opacity:0;transform:scale(.98);pointer-events:none;transition:opacity .5s ease,transform .5s ease}
.shero__slide.is-active{opacity:1;transform:none;pointer-events:auto}

/* Centrado con translate: si la palabra es más ancha que el contenedor,
   desborda parejo a ambos lados (grid la alinearía al inicio y se cortaría). */
.shero__word{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);
  width:max-content;
  font-family:var(--ff-b);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;
  font-size:clamp(84px,19vw,290px);line-height:.86;user-select:none;
  opacity:.96;text-shadow:0 8px 40px rgba(0,0,0,.06)}
.shero__wordin{display:flex;align-items:center;white-space:nowrap;
  will-change:transform;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.shero__ch{display:inline-block;will-change:transform,filter;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s ease}
.shero__ch--sp{width:.26em}

.shero__media{position:relative;z-index:2;display:grid;place-items:center;
  will-change:transform;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.shero__floater{display:grid;place-items:center;will-change:transform;
  animation:shero-float 5.5s ease-in-out infinite}
.shero__img{max-height:min(56vh,500px);width:auto;object-fit:contain;
  filter:drop-shadow(0 34px 46px rgba(30,27,75,.24))}
.shero__blob{display:block;width:clamp(200px,34vw,360px);aspect-ratio:1;border-radius:50%;position:relative;
  background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.65),rgba(255,255,255,0) 42%),
    linear-gradient(150deg,var(--b1),var(--b2));
  box-shadow:0 34px 60px rgba(30,27,75,.28),inset -22px -26px 46px rgba(0,0,0,.18),inset 14px 16px 30px rgba(255,255,255,.28)}
.shero__blob::before{content:"";position:absolute;left:50%;top:-16%;transform:translateX(-50%);
  width:8%;height:16%;border-radius:3px;background:linear-gradient(#3f7d2e,#2f5d22)}
.shero__blob::after{content:"";position:absolute;left:50%;top:-8%;transform:translateX(-50%);
  width:22%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 34% 30%,#ff9db6,#c41e3a 70%);
  box-shadow:0 8px 16px rgba(0,0,0,.22),inset -4px -5px 8px rgba(0,0,0,.25)}
@keyframes shero-float{0%,100%{transform:translateY(0) rotate(-2.5deg)}50%{transform:translateY(-20px) rotate(2.5deg)}}

/* ---- Copy (descripción + CTA), centrado, debajo del producto ---- */
.shero__copy{position:relative;z-index:3;display:grid;place-items:center;text-align:center;
  min-height:170px;margin-top:clamp(12px,3vh,34px)}
.shero__cbox{grid-area:1/1;display:flex;flex-direction:column;align-items:center;gap:14px;
  opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .45s ease,transform .45s ease;
  width:min(560px,100%)}
.shero__cbox.is-active{opacity:1;transform:none;pointer-events:auto}
.shero__eyebrow{font-family:var(--ff-b);font-weight:700;font-size:12px;letter-spacing:2px;
  text-transform:uppercase;color:var(--acc)}
.shero__desc{margin:0;color:var(--acc);font-size:14px;font-weight:600;line-height:1.5;
  text-transform:uppercase;letter-spacing:.03em}
.shero__cta{gap:10px}
.shero__cta-ic{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
  border-radius:50%;background:rgba(255,255,255,.24)}
.shero__cta-ic svg{width:16px;height:16px}

/* ---- Flechas (abajo izquierda) ---- */
.shero__nav{position:absolute;left:clamp(14px,4vw,46px);bottom:clamp(16px,4vh,40px);z-index:6;display:flex;gap:12px}
.shero__arrow{width:clamp(46px,6vw,58px);height:clamp(46px,6vw,58px);border-radius:50%;
  background:var(--white);border:1px solid var(--line);color:var(--ink);cursor:pointer;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-sm);transition:transform .12s,box-shadow .15s}
.shero__arrow:hover{transform:translateY(-2px);box-shadow:var(--sh)}
.shero__arrow svg{width:22px;height:22px}

/* ---- Swatches (abajo derecha) ---- */
.shero__swatches{position:absolute;right:clamp(14px,4vw,46px);bottom:clamp(16px,4vh,40px);z-index:6;display:flex;gap:10px}
.shero__sw{width:clamp(42px,5.4vw,52px);height:clamp(42px,5.4vw,52px);border-radius:50%;cursor:pointer;padding:0;
  border:2px solid var(--white);overflow:hidden;position:relative;color:var(--acc);
  background:linear-gradient(150deg,var(--b1),var(--b2));box-shadow:0 0 0 1px var(--line);
  transition:transform .12s,box-shadow .15s}
.shero__sw img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shero__sw:hover{transform:translateY(-2px)}
.shero__sw.is-active{box-shadow:0 0 0 2px var(--white),0 0 0 4px currentColor}

/* ---- Responsive ---- */
@media (max-width:720px){
  .shero{min-height:auto;padding:10px 0 84px}
  .shero__word{font-size:clamp(58px,21vw,120px)}
  .shero__stage{min-height:clamp(200px,30vh,290px)}
  .shero__blob{width:clamp(150px,44vw,215px)}
  .shero__img{max-height:34vh}
  .shero__copy{min-height:148px;margin-top:6px}
  .shero__eyebrow{font-size:11px;letter-spacing:1.6px}
  .shero__desc{font-size:12.5px;letter-spacing:.02em}
  .shero__nav{left:12px;bottom:14px;gap:8px}
  .shero__arrow{width:42px;height:42px}
  .shero__arrow svg{width:19px;height:19px}
  .shero__swatches{right:12px;bottom:14px;gap:8px}
  .shero__sw{width:36px;height:36px}
  .shero__glow{width:72vw;height:72vw}
}
@media (prefers-reduced-motion:reduce){
  .shero__floater{animation:none}
  .shero__ch,.shero__wordin,.shero__media,.shero__glow{transition:none}
}
/* En táctil no hay cursor: sin parallax ni desenfoque por letra. */
@media (hover:none),(pointer:coarse){
  .shero__ch{transition:none}
}

/* ===== v4.41: tel + material (input registro + sistema de diseño) ===== */
.mdf:has(.vfy) input.tel-i{padding-right:120px !important}
.tel-flag__ar{font-size:11px;color:var(--muted);margin-left:1px}
.dsp-mdf{--mdf-bg:var(--white);position:relative}
.dsp-mdf>label .required{color:var(--pink-600)}
.acc input.acc-i{padding-left:16px !important}
.tel-flag{left:0;top:35%;padding:0;padding-left:16px;border:0;background:transparent}

/* ===== v4.42: requisitos de contraseña (lista) ===== */
.pwck{list-style:none;margin:2px 0 16px;padding:0;display:grid;gap:9px}
.pwck__i{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--muted);transition:color .15s}
.pwck__ic{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--line);color:#fff;flex:0 0 auto;transition:background .15s}
.pwck__ic svg{width:12px;height:12px}
.pwck__i.is-ok{color:var(--success);font-weight:600}
.pwck__i.is-ok .pwck__ic{background:var(--success)}
.woocommerce-form-register__submit.is-disabled{opacity:.55}

/* ===== v4.43: contraseña barra de fuerza + requisitos que se ocultan ===== */
.pwck-wrap{margin:2px 0 16px}
.pwck-bar{height:6px;border-radius:999px;background:var(--line);overflow:hidden}
.pwck-bar__fill{display:block;height:100%;width:0;border-radius:999px;background:#DC2626;transition:width .35s ease,background .35s ease}
.pwck-bar__fill.lvl-2{background:#F59E0B}
.pwck-bar__fill.lvl-3{background:var(--success)}
.pwck-bar__fill.lvl-4{background:#177245}
.pwck-lvl{font-size:12px;font-weight:700;color:var(--muted);margin-top:5px;min-height:15px}
.pwck{display:block;margin:10px 0 0}
.pwck__i{margin:0 0 9px;max-height:44px;overflow:hidden;transition:max-height .35s ease,opacity .3s ease,margin .35s ease,color .15s}
.pwck__i:last-child{margin-bottom:0}
.pwck__i.is-collapsed{max-height:0;margin:0;opacity:0;pointer-events:none}

/* ===== v4.44: gift card monto personalizado (dorada) ===== */

.gc-amount--custom.is-active{border-color:#B8860B;background:#FBF3DC;color:#8A6D0B;box-shadow:0 0 0 3px #FBF3DC}
.gc-custom__row{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:14px;background:var(--white);padding:0 14px;min-height:52px}
.gc-custom__row:focus-within{border-color:#B8860B;box-shadow:0 0 0 3px #FBF3DC}
.gc-custom__cur{font-weight:800;color:#8A6D0B;font-size:18px}
.gc-custom__i{flex:1;border:none;background:transparent;font-family:var(--ff-b);font-size:18px;font-weight:800;color:var(--ink);min-height:50px;padding:0;outline:none}
.gc-custom__i::-webkit-outer-spin-button,.gc-custom__i::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
