/* ══════════════════════════════════════════════════════════
   LEVIE BEAUTY · hoja de estilos
   ══════════════════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--iv);color:var(--ink);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
input,select,textarea{font-family:inherit;font-size:inherit;border:none;outline:none;background:none;color:inherit}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;font-weight:700;letter-spacing:-.015em;line-height:1.2}
table{border-collapse:collapse}

:root{
  --iv:#FFF9F6;--iv2:#FDF2EC;--cream:#FAF3EE;
  --rs:#E94D82;--rs-d:#A92958;--rs-l:#FCE8EE;--rs-xl:#FFF4F7;
  --peach:#FBE3D3;--gd:#C7A36B;--gd-l:#F3E7D2;
  --ink:#181313;--ink-m:#756A67;--ink-l:#948A87;
  --line:#EFE2DC;--white:#FFFFFF;
  --wa:#1FA855;--wa-d:#127A3E;--grn:#15803D;
  --red:#C62828;--red-l:#FDECEC;
  --amber:#8A5A08;--amber-l:#FEF3DA;
  --sh0:0 1px 2px rgba(90,40,60,.05);
  --sh1:0 4px 16px rgba(90,40,60,.07);
  --sh2:0 10px 34px rgba(90,40,60,.11);
  --sh3:0 24px 64px rgba(90,40,60,.2);
  --r0:8px;--r1:14px;--r2:20px;--r3:28px;--rf:999px;
  --hh:70px;--ease:cubic-bezier(.16,1,.3,1);
}
@media(max-width:700px){:root{--hh:60px}}

.wrap{max-width:1400px;margin:0 auto;padding:0 24px}
@media(max-width:560px){.wrap{padding:0 16px}}
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--ink);color:#fff;padding:12px 20px;border-radius:0 0 var(--r0) 0}
.skip-link:focus{left:0}

@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes pop{0%{transform:scale(1)}42%{transform:scale(1.05)}100%{transform:scale(1)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes shimmer{0%{background-position:-700px 0}100%{background-position:700px 0}}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes ring{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.5);opacity:0}}
.step-anim{animation:fadeUp .45s var(--ease) both}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* ─── HEADER ─── */
.ghr{position:sticky;top:0;z-index:300;height:var(--hh);background:rgba(255,249,246,.9);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid var(--line)}
.ghr::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gd),transparent);opacity:.45}
.ghr-in{max-width:1400px;margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center;gap:16px}
@media(max-width:560px){.ghr-in{padding:0 16px;gap:10px}}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.logo-mk{width:38px;height:38px;border-radius:11px;background:linear-gradient(140deg,var(--rs),var(--rs-d));display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:#fff}
.logo-nm{font-family:'Playfair Display',serif;font-weight:700;font-size:1.18rem;white-space:nowrap}
.logo-nm em{color:var(--rs-d);font-style:italic}
.hdr-sep{width:1px;height:22px;background:var(--line);flex-shrink:0}
.usa-badge{font-size:.78rem;font-weight:500;color:var(--ink-m);background:var(--iv2);border:1px solid var(--line);padding:5px 12px;border-radius:var(--rf);white-space:nowrap}
@media(max-width:900px){.hdr-sep,.usa-badge{display:none}}
.steps{display:flex;align-items:center;margin-left:auto}
.sdot{display:flex;align-items:center;gap:7px}
.sdot-n{width:28px;height:28px;border-radius:50%;font-size:.8rem;font-weight:600;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--line);background:var(--white);color:var(--ink-l);transition:all .3s var(--ease)}
.sdot-t{font-size:.82rem;font-weight:500;color:var(--ink-m);white-space:nowrap}
.sdot.active .sdot-n{background:var(--rs);border-color:var(--rs);color:#fff}
.sdot.active .sdot-t{color:var(--rs-d);font-weight:600}
.sdot.done .sdot-n{background:var(--rs-l);border-color:var(--rs-l);color:var(--rs-d)}
.sln{width:30px;height:1.5px;background:var(--line);margin:0 7px}
.sln.done{background:var(--rs-l)}
@media(max-width:700px){.sdot-t{display:none}.sln{width:16px;margin:0 5px}}

/* ─── HERO ─── */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(1000px 500px at 84% -8%,var(--peach) 0%,transparent 60%),
  radial-gradient(880px 460px at 6% 6%,var(--rs-xl) 0%,transparent 58%),
  linear-gradient(180deg,var(--iv) 0%,var(--iv2) 100%)}
.hero-in{max-width:1400px;margin:0 auto;padding:72px 24px 60px;display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
@media(max-width:960px){.hero-in{grid-template-columns:1fr;gap:36px;padding:48px 24px 40px;text-align:center}}
@media(max-width:560px){.hero-in{padding:36px 16px 32px}}
.hero-tag{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.85);border:1px solid var(--line);color:var(--rs-d);font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:8px 16px;border-radius:var(--rf);margin-bottom:22px}
.hero-tag span{width:5px;height:5px;border-radius:50%;background:var(--gd)}
.hero h1{font-size:clamp(2.5rem,6vw,4.3rem);line-height:1.03;margin-bottom:20px}
.hero h1 em{display:block;font-style:italic;font-weight:600;color:var(--rs-d)}
.hero-lead{color:var(--ink-m);font-size:1.08rem;max-width:480px;margin-bottom:24px}
@media(max-width:960px){.hero-lead{margin-left:auto;margin-right:auto}}
.hero-benef{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:30px;font-size:.95rem;color:var(--ink)}
@media(max-width:960px){.hero-benef{justify-content:center}}
.hero-benef li{display:flex;align-items:center;gap:8px}
.hero-benef li::before{content:'';width:16px;height:16px;flex-shrink:0;border-radius:50%;background:var(--gd-l);box-shadow:inset 0 0 0 2px var(--gd)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:34px}
@media(max-width:960px){.hero-cta{justify-content:center}}
.hero-facts{display:flex;gap:32px;flex-wrap:wrap}
@media(max-width:960px){.hero-facts{justify-content:center}}
.hfact-t{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:var(--rs-d)}
.hfact-s{font-size:.76rem;color:var(--ink-m);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.hero-art{position:relative;display:flex;justify-content:center;align-items:center;min-height:280px}
.hero-img{width:100%;max-width:470px;aspect-ratio:1/1;object-fit:contain;display:block;border-radius:var(--r3);box-shadow:0 30px 60px rgba(169,41,88,.16);animation:float 8s ease-in-out infinite}

/* ─── TRUST ─── */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.6)}
.trust-in{max-width:1400px;margin:0 auto;padding:22px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:820px){.trust-in{grid-template-columns:1fr 1fr;gap:16px;padding:18px 16px}}
.tr{display:flex;align-items:flex-start;gap:11px}
.tr-ic{flex-shrink:0;width:34px;height:34px;border-radius:10px;background:var(--rs-xl);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.tr-ic svg{width:17px;height:17px;stroke:var(--rs-d);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tr-t{font-size:.9rem;font-weight:600;line-height:1.3}
.tr-s{font-size:.82rem;color:var(--ink-m)}
.tr-s a{color:var(--rs-d);text-decoration:underline}

/* ─── AVISOS ─── */
.aviso-disp{background:var(--gd-l);border:1px solid rgba(199,163,107,.45);border-left:4px solid var(--gd);border-radius:var(--r0);padding:14px 18px;font-size:.9rem;color:#6B5320;margin:26px auto;max-width:1000px}
.alerta-fraude{background:var(--red-l);border:1px solid rgba(198,40,40,.25);border-radius:var(--r0);padding:12px 15px;font-size:.85rem;color:#8C1F1F;font-weight:500}

/* ─── BOTONES ─── */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(120deg,var(--rs),var(--rs-d));color:#fff;font-size:1rem;font-weight:600;padding:15px 34px;min-height:52px;border-radius:var(--rf);box-shadow:0 8px 24px rgba(233,77,130,.28);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 32px rgba(233,77,130,.36)}
.btn-primary:disabled{background:var(--line);color:var(--ink-l);box-shadow:none;cursor:not-allowed}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;background:var(--white);border:1.5px solid var(--line);color:var(--ink);font-size:1rem;font-weight:500;padding:15px 28px;min-height:52px;border-radius:var(--rf);transition:border-color .2s,color .2s}
.btn-ghost:hover{border-color:var(--rs);color:var(--rs-d)}
.s1-foot{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:36px}
.s1-note{font-size:.88rem;color:var(--ink-m);text-align:center}

/* ─── SECCIONES ─── */
.sec-head{text-align:center;max-width:640px;margin:0 auto 40px}
.sec-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gd);margin-bottom:12px}
.sec-head h2{font-size:clamp(1.8rem,4vw,2.7rem);margin-bottom:10px}
.sec-head h2 em{font-style:italic;font-weight:600;color:var(--rs-d)}
.sec-head p{font-size:.98rem;color:var(--ink-m)}
.sec{padding:64px 0;border-top:1px solid var(--line)}
.sec.alt{background:var(--white)}
.sec-link{text-align:center;margin-top:22px}
.sec-link a{color:var(--rs-d);font-weight:500;text-decoration:underline;font-size:.92rem}

/* ─── PAQUETES · máx 3 por fila ─── */
.pkg-page{padding:52px 0 72px}
.pkgs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
@media(max-width:1040px){.pkgs{grid-template-columns:repeat(2,1fr);gap:18px}}
@media(max-width:660px){.pkgs{grid-template-columns:1fr}}
.pkgs-noscript{max-width:640px;margin:0 auto;display:grid;gap:10px}
.pkgs-noscript li{background:var(--white);border:1px solid var(--line);border-radius:var(--r0);padding:12px 16px}
.pkc{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh0);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .25s}
.pkc:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.pkc.sel{border-color:var(--rs);box-shadow:0 0 0 2px rgba(233,77,130,.18),var(--sh2)}
.pkc-destacada{border-color:var(--rs)}
.pkc-elite{background:linear-gradient(165deg,#221B1B,#181313);border-color:#3A2E2E;color:#F5EFE8}
.pkc-elite .pkc-nm,.pkc-elite .pkc-pr{color:#FFF}
.pkc-elite .pkc-desc,.pkc-elite .pkc-ft span,.pkc-elite .pkc-for{color:#CBBDB4}
.pkc-elite .pkc-cnt{color:var(--gd)}
.pkc-elite .pkc-media{background:#241D1D}
.pkc-elite .pkc-feats{border-top-color:#3A2E2E}
.pkc-elite .pkc-ft svg{stroke:var(--gd)}
.pkc-elite .pkc-cta{background:var(--gd);color:#181313}
.pkc-elite .pkc-badge{background:var(--gd);color:#181313}
.pkc-tick{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:50%;background:var(--rs);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.4);transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:3}
.pkc-tick svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.pkc.sel .pkc-tick{opacity:1;transform:scale(1)}
.pkc-badge{position:absolute;top:14px;left:14px;z-index:3;background:linear-gradient(120deg,var(--rs),var(--rs-d));color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:var(--rf)}
.pkc-media{background:var(--cream);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pkc-media img,.pkc-media svg{width:100%;height:100%;object-fit:contain}
.pkc-bd{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.pkc-nm{font-size:1.3rem;margin-bottom:6px}
.pkc-desc{font-size:.88rem;color:var(--ink-m);margin-bottom:14px}
.pkc-pr{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;letter-spacing:-.02em;line-height:1}
.pkc-pr small{font-size:.72rem;font-weight:600;color:var(--ink-m);margin-left:5px;font-family:'Inter',sans-serif}
.pkc-cnt{font-size:.88rem;color:var(--rs-d);font-weight:600;margin:6px 0 12px}
.pkc-for{font-size:.86rem;color:var(--ink-m);margin-bottom:14px}
.pkc-for span{font-weight:600;color:var(--ink)}
.pkc-feats{display:flex;flex-direction:column;gap:7px;padding-top:14px;border-top:1px solid var(--line);margin-bottom:18px}
.pkc-ft{font-size:.86rem;color:var(--ink-m);display:flex;align-items:flex-start;gap:8px}
.pkc-ft svg{width:13px;height:13px;margin-top:5px;flex-shrink:0;stroke:var(--rs);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.pkc-cta{margin-top:auto;width:100%;min-height:48px;background:var(--ink);color:#fff;font-size:.95rem;font-weight:600;border-radius:var(--rf);transition:background .2s,transform .2s}
.pkc-cta:hover{background:var(--rs-d);transform:translateY(-1px)}
.pkc.sel .pkc-cta{background:var(--rs)}

/* ─── COMPARATIVA ─── */
.cmp{max-width:1000px;margin:40px auto 0;background:var(--white);border:1px solid var(--line);border-radius:var(--r1)}
.cmp summary{padding:16px 20px;font-weight:600;cursor:pointer;font-size:.95rem}
.cmp-scroll{overflow-x:auto;padding:0 20px 20px}
.cmp-tabla{width:100%;min-width:640px;font-size:.88rem}
.cmp-tabla th,.cmp-tabla td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}
.cmp-tabla thead th{font-family:'Inter',sans-serif;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-m);font-weight:600}
.cmp-tabla tbody th{font-weight:600}
.cmp-sel{background:var(--rs-xl)}

/* ─── CÓMO FUNCIONA ─── */
.how{background:var(--white);border-top:1px solid var(--line);padding:64px 0}
.how-g{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1120px;margin:0 auto}
@media(max-width:980px){.how-g{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.how-g{grid-template-columns:1fr}}
.how-c{text-align:center;padding:6px}
.how-n{width:48px;height:48px;margin:0 auto 14px;border-radius:50%;background:var(--rs-xl);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--rs-d)}
.how-t{font-size:1.05rem;margin-bottom:6px}
.how-s{font-size:.88rem;color:var(--ink-m)}
.how-nota{text-align:center;font-size:.86rem;color:var(--ink-m);max-width:640px;margin:30px auto 0;font-style:italic}

/* ─── MARCAS ─── */
.brands{padding:44px 0;border-top:1px solid var(--line);overflow:hidden;background:var(--iv2)}
.brands-lbl{text-align:center;font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-m);margin-bottom:24px}
.marquee{display:flex;gap:52px;width:max-content;animation:slide 70s linear infinite}
.brands:hover .marquee{animation-play-state:paused}
.mq-i{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--ink-m);white-space:nowrap;opacity:.8}

/* ─── TESTIMONIOS ─── */
.test-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1040px;margin:0 auto}
@media(max-width:880px){.test-g{grid-template-columns:1fr}}
.test-c{background:var(--white);border:1.5px dashed var(--line);border-radius:var(--r2);padding:22px}
.test-ph{aspect-ratio:16/10;border-radius:var(--r1);background:var(--cream);border:1px dashed var(--gd);display:flex;align-items:center;justify-content:center;font-size:.82rem;color:var(--ink-m);margin-bottom:16px;text-align:center;padding:12px}
.test-q{font-family:'Playfair Display',serif;font-size:1.05rem;font-style:italic;color:var(--ink-m);margin-bottom:14px}
.test-m{display:flex;flex-direction:column;gap:3px;font-size:.82rem;color:var(--ink-l)}

/* ─── INFO / PAGOS / FAQ ─── */
.info-g{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1000px;margin:0 auto}
@media(max-width:880px){.info-g{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.info-g{grid-template-columns:1fr}}
.ic{background:var(--iv2);border:1px solid var(--line);border-radius:var(--r1);padding:22px 18px}
.ic-t{font-size:.95rem;margin-bottom:5px;font-family:'Inter',sans-serif;font-weight:600}
.ic-s{font-size:.88rem;color:var(--ink-m)}
.pago-seg{max-width:720px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:var(--r2);padding:28px;text-align:center}
.pago-seg h3{font-size:1.15rem;margin-bottom:10px}
.pago-seg p{font-size:.92rem;color:var(--ink-m);margin-bottom:14px}
.faq{max-width:800px;margin:0 auto}
.fq{border-bottom:1px solid var(--line)}
.fq h3{font-family:'Inter',sans-serif;font-weight:500}
.fq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 2px;text-align:left;font-size:1rem;font-weight:500;min-height:56px}
.fq-q:hover{color:var(--rs-d)}
.fq-ic{flex-shrink:0;width:20px;height:20px;position:relative}
.fq-ic::before,.fq-ic::after{content:'';position:absolute;background:var(--rs);border-radius:2px;top:50%;left:50%;transform:translate(-50%,-50%)}
.fq-ic::before{width:12px;height:2px}
.fq-ic::after{width:2px;height:12px;transition:opacity .3s}
.fq.open .fq-ic::after{opacity:0}
.fq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.fq-a p{font-size:.92rem;color:var(--ink-m);padding:0 2px 18px}

/* ─── PASO 2 ─── */
.info-bar{background:var(--white);border-bottom:1px solid var(--line);padding:18px 0}
.info-bar-in{max-width:1400px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
@media(max-width:560px){.info-bar-in{padding:0 16px}}
.info-bar-l h2{font-size:1.4rem}
.info-bar-l p{font-size:.88rem;color:var(--ink-m);margin-top:2px}
.info-bar-stats{display:flex;gap:10px;flex-wrap:wrap}
.istat{background:var(--iv2);border:1px solid var(--line);border-radius:var(--r0);padding:9px 15px;text-align:center}
.istat-l{font-size:.7rem;font-weight:600;color:var(--ink-m);text-transform:uppercase;letter-spacing:.08em}
.istat-v{font-size:1rem;font-weight:700;margin-top:2px}
.istat-v.rose{color:var(--rs-d)}

.asist{background:var(--gd-l);border-bottom:1px solid rgba(199,163,107,.4)}
.asist-in{max-width:1400px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
@media(max-width:560px){.asist-in{padding:12px 16px}}
.asist-t{font-size:.9rem;font-weight:600;color:#6B5320}
.asist-btns{display:flex;gap:8px;flex-wrap:wrap}
.asist-btns button{background:var(--white);border:1px solid rgba(199,163,107,.5);color:#6B5320;font-size:.84rem;font-weight:500;padding:9px 14px;min-height:40px;border-radius:var(--rf);transition:all .2s}
.asist-btns button:hover{background:var(--gd);color:#fff;border-color:var(--gd)}

.search-strip{background:rgba(255,255,255,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:14px 0;position:sticky;top:var(--hh);z-index:200}
.ss-in{max-width:1400px;margin:0 auto;padding:0 24px;display:flex;flex-direction:column;gap:10px}
@media(max-width:560px){.ss-in{padding:0 16px}}
.ss-row1{display:flex;align-items:center;gap:10px}
.ss-selects{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.ss-selects::-webkit-scrollbar{display:none}
.srch-wrap{position:relative;flex:1;max-width:380px}
.srch-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none;width:15px;height:15px;stroke:var(--ink-m);fill:none;stroke-width:2;stroke-linecap:round}
.srch-in{width:100%;background:var(--iv2);border:1px solid var(--line);border-radius:var(--rf);padding:12px 40px 12px 38px;font-size:1rem;min-height:48px;transition:all .2s}
.srch-in:focus{border-color:var(--rs);background:var(--white);box-shadow:0 0 0 3px rgba(233,77,130,.1)}
.srch-clr{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--line);color:var(--ink-m);font-size:.78rem}
.srch-clr:hover{background:var(--rs);color:#fff}
.sort-sel{background:var(--iv2);border:1px solid var(--line);border-radius:var(--rf);padding:11px 15px;font-size:.9rem;min-height:48px;cursor:pointer;flex-shrink:0}
.sort-sel:focus{border-color:var(--rs)}
.clr-btn{border:1px solid var(--line);color:var(--ink-m);font-size:.88rem;font-weight:500;padding:11px 16px;min-height:46px;border-radius:var(--rf);white-space:nowrap;flex-shrink:0}
.clr-btn:hover{border-color:var(--rs);color:var(--rs-d)}
@media(max-width:720px){.ss-row1 .clr-btn{display:none}}
.filters,.subfilters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.filters::-webkit-scrollbar,.subfilters::-webkit-scrollbar{display:none}
.fp{flex-shrink:0;background:var(--white);border:1px solid var(--line);border-radius:var(--rf);padding:11px 17px;font-size:.88rem;font-weight:500;color:var(--ink-m);min-height:44px;white-space:nowrap;transition:all .2s}
.fp:hover{border-color:var(--rs);color:var(--rs-d)}
.fp.on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}
.fp-q{background:var(--iv2)}
.sf{flex-shrink:0;background:var(--iv2);border:1px solid transparent;border-radius:var(--rf);padding:10px 15px;font-size:.86rem;color:var(--ink-m);min-height:44px;white-space:nowrap}
.sf.on{background:var(--rs-l);border-color:var(--rs-l);color:var(--rs-d);font-weight:600}

/* ─── CATÁLOGO ─── */
.cat-layout{max-width:1400px;margin:0 auto;padding:26px 24px 100px;display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}
@media(max-width:1080px){.cat-layout{grid-template-columns:1fr;padding:20px 16px 140px}}
.rcnt{font-size:.9rem;color:var(--ink-m);margin-bottom:14px}
.rcnt strong{color:var(--ink);font-weight:700}
.pgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;align-items:stretch}
@media(max-width:1400px){.pgrid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1080px){.pgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.pgrid{grid-template-columns:repeat(2,1fr);gap:12px}}

.pc{position:relative;display:flex;flex-direction:column;height:100%;background:var(--white);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh0);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .25s;animation:fadeUp .4s var(--ease) both}
.pc:hover{transform:translateY(-5px);box-shadow:var(--sh2)}
.pc.in-box{border-color:var(--rs);box-shadow:0 0 0 2px rgba(233,77,130,.16),var(--sh1)}
.pc.out-of-stock{opacity:.6}
.pc.popped{animation:pop .32s var(--ease)}
.pc-chk{position:absolute;top:10px;right:10px;padding:5px 11px;border-radius:var(--rf);background:var(--rs);color:#fff;font-size:.78rem;font-weight:700;opacity:0;transform:scale(.5);transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:4}
.pc.in-box .pc-chk{opacity:1;transform:scale(1)}
.pc-img{position:relative;aspect-ratio:1/1;overflow:hidden;flex-shrink:0;background:#FFFFFF}
/* Componente de imagen de producto */
.product-image{width:100%;aspect-ratio:1/1;object-fit:contain;display:block;background:#FFFFFF;height:100%;padding:7%;transition:transform .5s var(--ease);cursor:zoom-in}
.pc:hover .product-image{transform:scale(1.05)}
/* Marca la tarjeta cuando la fotografía registrada no cargó */
.pc.image-missing .pc-img{background:var(--cream)}
.package-image{width:100%;height:100%;object-fit:contain;display:block;background:#FFFFFF}
.pc-badges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:5px;z-index:3;align-items:flex-start}
.pbadge{font-size:.76rem;font-weight:600;letter-spacing:.04em;padding:4px 10px;border-radius:var(--rf);line-height:1.3}
.pb-viral{background:var(--rs-d);color:#fff}
.pb-top{background:#8A6A2A;color:#fff}
.pb-new{background:var(--ink);color:#fff}
.pc-bd{padding:14px 15px 15px;display:flex;flex-direction:column;flex:1}
.pc-brand{font-size:.8rem;font-weight:700;color:var(--rs-d);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.pc-name{font-family:'Inter',sans-serif;font-size:.94rem;font-weight:500;line-height:1.35;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.pc-price{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700}
.pc-price.ask{font-family:'Inter',sans-serif;font-size:.9rem;font-weight:600;color:var(--rs-d)}
.pc-retail{font-size:.76rem;color:var(--ink-m);margin-top:2px}
.pc-meta{display:flex;flex-wrap:wrap;gap:5px 10px;font-size:.8rem;color:var(--ink-m);margin:8px 0 12px}
.pc-stock{font-weight:600;padding:2px 8px;border-radius:var(--rf)}
.st-disponible{background:#E8F3EC;color:#1F6B3C}
.st-pocas{background:var(--amber-l);color:var(--amber)}
.st-agotado{background:var(--red-l);color:#8C1F1F}
.st-bajo-pedido{background:#EAEFF6;color:#2A4468}
.st-sujeto{background:var(--iv2);color:var(--ink-m)}
.pc-foot{margin-top:auto}
.pc-ctrl{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qty-row{display:flex;align-items:center;gap:2px;background:var(--iv2);border:1px solid var(--line);border-radius:var(--rf);padding:3px;flex-shrink:0}
.qb{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:600;color:var(--ink-m);transition:all .18s}
/* En tarjetas angostas los controles se apilan para conservar 44 px de área táctil. */
@media(max-width:720px){.pc-ctrl>*{flex:1 1 100%}.qty-row{justify-content:space-between}}
.qb:hover:not(:disabled){background:var(--rs);color:#fff}
.qb:disabled{opacity:.32;cursor:not-allowed}
.qn{font-size:.9rem;font-weight:700;min-width:20px;text-align:center}
.add-btn{flex:1;background:var(--rs-xl);color:var(--rs-d);font-size:.88rem;font-weight:600;min-height:48px;padding:0 10px;border-radius:var(--rf);border:1px solid var(--rs-l);transition:all .2s;white-space:nowrap}
.add-btn:hover:not(:disabled){background:var(--rs);color:#fff;border-color:var(--rs)}
.pc.in-box .add-btn{background:var(--rs);color:#fff;border-color:var(--rs)}
.add-btn:disabled{background:var(--iv2);color:var(--ink-l);border-color:var(--line);cursor:not-allowed}
.shade-btn{width:100%;background:var(--white);border:1px solid var(--line);font-size:.88rem;font-weight:600;min-height:48px;border-radius:var(--rf);display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}
.shade-btn:hover:not(:disabled){border-color:var(--rs);color:var(--rs-d)}
.shade-btn:disabled{color:var(--ink-l);cursor:not-allowed}
.shade-dots{display:flex}
.shade-dots i{width:11px;height:11px;border-radius:50%;border:1.5px solid #fff;margin-left:-4px;display:block}
.shade-dots i:first-child{margin-left:0}

.sk-anim{background:linear-gradient(90deg,#F3EAE4 25%,#FDF7F3 50%,#F3EAE4 75%);background-size:1400px 100%;animation:shimmer 1.4s infinite}
.sk-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden}
.sk-img{aspect-ratio:1/1}
.sk-bd{padding:14px 15px}
.sk-ln{border-radius:5px;margin-bottom:9px}
.empty-state{grid-column:1/-1;text-align:center;padding:60px 20px}
.empty-state h3{font-size:1.2rem;margin-bottom:8px}
.empty-state p{font-size:.92rem;color:var(--ink-m);margin-bottom:16px}

/* ─── SIDEBAR ─── */
.sidebar{position:sticky;top:calc(var(--hh) + 150px);max-height:calc(100vh - var(--hh) - 170px);display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh1)}
@media(max-width:1080px){.sidebar{display:none}}
.sb-hdr{background:linear-gradient(140deg,var(--rs),var(--rs-d));padding:20px;color:#fff;flex-shrink:0}
.sb-hdr-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px}
.sb-title{font-size:1.1rem}
.sb-pkg-chip{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);font-size:.74rem;font-weight:600;padding:4px 11px;border-radius:var(--rf);white-space:nowrap}
.prog-st{font-size:.98rem;font-weight:600;margin-bottom:9px}
.prog-wrap{background:rgba(255,255,255,.26);border-radius:var(--rf);height:8px;overflow:hidden;margin-bottom:8px}
.prog-fill{height:100%;border-radius:var(--rf);background:#fff;transition:width .5s var(--ease)}
.prog-labels{display:flex;justify-content:space-between;font-size:.8rem;opacity:.9}
.sb-body{flex:1;overflow-y:auto;padding:18px;scrollbar-width:thin}
.sb-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.sb-rl{font-size:.86rem;color:var(--ink-m)}
.sb-rv{font-size:.9rem;font-weight:600;text-align:right}
.sb-rv.rose{color:var(--rs-d);font-weight:700}
.sb-rv.grn{color:var(--grn)}
.sb-nota{font-size:.8rem;color:var(--amber);background:var(--amber-l);border-radius:var(--r0);padding:9px 12px;margin-top:10px}
.sb-cats{padding:14px 0;border-bottom:1px solid var(--line)}
.sb-h{font-size:.72rem;font-weight:700;color:var(--ink-m);text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}
.sb-cat-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;font-size:.86rem;color:var(--ink-m)}
.sb-cat-num{background:var(--iv2);border:1px solid var(--line);min-width:26px;height:26px;padding:0 7px;border-radius:var(--rf);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:var(--ink)}
.sb-items{padding:14px 0}
.sb-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid rgba(239,226,220,.6)}
.si-nm{flex:1;min-width:0;font-size:.84rem}
.si-nm b{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.si-nm em{font-style:normal;color:var(--rs-d);font-size:.78rem}
.si-qty{font-size:.8rem;color:var(--ink-m);font-weight:600;flex-shrink:0}
.si-del{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--ink-m);flex-shrink:0}
.si-del:hover{background:var(--red-l);color:var(--red)}
.sb-empty{text-align:center;padding:20px 0;font-size:.88rem;color:var(--ink-m)}
.limit-warn{background:var(--amber-l);border:1px solid rgba(138,90,8,.2);border-radius:var(--r0);padding:11px 13px;font-size:.82rem;color:var(--amber);margin-top:12px}
.sb-foot{padding:16px 18px;flex-shrink:0;border-top:1px solid var(--line);background:var(--iv)}
.clear-btn{display:block;width:100%;border:1px solid var(--line);color:var(--ink-m);font-size:.88rem;font-weight:500;min-height:44px;border-radius:var(--r0);margin-bottom:10px}
.clear-btn:hover{border-color:var(--red);color:var(--red)}
.cta-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:linear-gradient(120deg,var(--wa),var(--wa-d));color:#fff;font-size:.96rem;font-weight:600;min-height:52px;border-radius:var(--r1);transition:all .25s var(--ease)}
.cta-btn:hover:not(:disabled){transform:translateY(-2px)}
.cta-btn:disabled{background:var(--line);color:var(--ink-l);cursor:not-allowed}
.back-link{display:block;width:100%;text-align:center;font-size:.86rem;color:var(--ink-m);margin-top:12px;min-height:40px}
.back-link:hover{color:var(--rs-d)}

/* ─── MÓVIL ─── */
.m-bar{position:fixed;bottom:0;left:0;right:0;z-index:280;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:14px;box-shadow:0 -6px 24px rgba(90,40,60,.08)}
@media(min-width:1081px){.m-bar{display:none!important}}
.mbar-l{flex:1;min-width:0}
.mbar-cnt{font-size:.95rem;font-weight:700}
.mbar-prog{height:5px;background:var(--line);border-radius:var(--rf);overflow:hidden;margin-top:6px}
.mbar-fill{height:100%;background:var(--rs);border-radius:var(--rf);transition:width .5s var(--ease)}
.mbar-sub{font-size:.78rem;color:var(--ink-m);margin-top:5px}
.mbar-btn{background:linear-gradient(120deg,var(--wa),var(--wa-d));color:#fff;font-size:.92rem;font-weight:600;padding:13px 20px;border-radius:var(--rf);white-space:nowrap;flex-shrink:0;min-height:48px}
.mbar-btn:disabled{background:var(--line);color:var(--ink-l)}
.drawer-ov{position:fixed;inset:0;background:rgba(24,19,19,.45);z-index:350;opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(4px)}
.drawer-ov.open{opacity:1;pointer-events:all}
.drawer{position:fixed;bottom:0;left:0;right:0;z-index:360;background:var(--white);border-radius:var(--r3) var(--r3) 0 0;max-height:88vh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .36s var(--ease)}
.drawer-ov.open .drawer{transform:translateY(0)}
.drawer-handle{width:40px;height:4px;background:var(--line);border-radius:var(--rf);margin:12px auto 0;flex-shrink:0}
.drawer-hdr{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.drawer-title{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700}
.drawer-close{width:40px;height:40px;border-radius:50%;background:var(--iv2);display:flex;align-items:center;justify-content:center}
.drawer-body{flex:1;overflow-y:auto;padding:16px 18px calc(24px + env(safe-area-inset-bottom))}

/* ─── MODALES ─── */
.modal-ov{position:fixed;inset:0;background:rgba(24,19,19,.5);z-index:400;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(6px)}
.modal-ov.open{opacity:1;pointer-events:all}
.modal{background:var(--white);border-radius:var(--r3);max-width:620px;width:100%;max-height:92vh;overflow-y:auto;box-shadow:var(--sh3);transform:scale(.95) translateY(14px);transition:transform .35s var(--ease)}
.modal-sm{max-width:540px}
.modal-ov.open .modal{transform:none}
.modal-hdr{background:linear-gradient(140deg,var(--rs),var(--rs-d));padding:24px;color:#fff}
.modal-hdr h2{font-size:1.35rem;margin-bottom:5px}
.modal-hdr p{font-size:.88rem;opacity:.9}
.modal-bd{padding:22px 24px 24px}
.mod-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-m);margin:18px 0 10px}
.mod-label:first-child{margin-top:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.form-grid{grid-template-columns:1fr}}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label{font-size:.86rem;font-weight:500}
.name-field{width:100%;background:var(--iv2);border:1px solid var(--line);border-radius:var(--r0);padding:13px 15px;font-size:.95rem;min-height:48px;transition:all .2s}
.name-field:focus{border-color:var(--rs);background:var(--white);box-shadow:0 0 0 3px rgba(233,77,130,.1)}
.campo-mal{border-color:var(--red);background:var(--red-l)}
.campo-err{font-size:.82rem;color:var(--red);font-weight:500;margin-top:6px}
.rs-list{border:1px solid var(--line);border-radius:var(--r1);overflow:hidden}
.rs-list li{display:flex;justify-content:space-between;gap:14px;padding:11px 15px;font-size:.9rem;border-bottom:1px solid var(--line)}
.rs-list li:last-child{border-bottom:none}
.rs-list span{color:var(--ink-m)}
.mod-item-group{margin-bottom:14px}
.mod-item-cat{font-family:'Inter',sans-serif;font-size:.78rem;font-weight:700;color:var(--rs-d);margin-bottom:6px;padding-bottom:5px;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em}
.mod-item{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:.88rem}
.mi-nm em{font-style:normal;color:var(--rs-d)}
.mi-q{color:var(--ink-m);font-weight:600;flex-shrink:0}
.notice{background:var(--gd-l);border:1px solid rgba(199,163,107,.4);border-radius:var(--r0);padding:13px 15px;font-size:.85rem;color:#6B5320;margin:18px 0}
.mod-wa{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;background:linear-gradient(120deg,var(--wa),var(--wa-d));color:#fff;font-size:1rem;font-weight:600;min-height:54px;border-radius:var(--r1);margin-bottom:10px;transition:transform .25s var(--ease)}
.mod-wa:hover:not(:disabled){transform:translateY(-2px)}
.mod-wa:disabled{background:var(--line);color:var(--ink-l);cursor:not-allowed}
.mod-back{display:block;width:100%;border:1px solid var(--line);color:var(--ink-m);font-size:.92rem;font-weight:500;min-height:48px;border-radius:var(--r1);margin-top:8px}
.mod-back:hover{border-color:var(--rs);color:var(--rs-d)}
.ref-box{background:var(--ink);color:#fff;border-radius:var(--r2);padding:24px;text-align:center;margin-bottom:20px}
.ref-lbl{font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;opacity:.75;margin-bottom:8px}
.ref-val{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.5rem;font-weight:700;color:var(--gd);letter-spacing:.04em;word-break:break-all}
.ref-nota{font-size:.82rem;opacity:.8;margin-top:8px}
.pago-m{background:var(--iv2);border:1px solid var(--line);border-radius:var(--r1);padding:16px 18px;margin-bottom:12px}
.pago-m h4{font-family:'Inter',sans-serif;font-size:.95rem;font-weight:700;margin-bottom:8px}
.pago-m p{font-size:.88rem;color:var(--ink-m);margin-bottom:4px}
.pago-m p span{font-weight:600;color:var(--ink)}
.pago-m code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--white);padding:2px 8px;border-radius:5px;border:1px solid var(--line)}
.pago-nota{font-size:.82rem;color:var(--ink-m);font-style:italic;margin-top:8px}
.pago-cargando{font-size:.88rem;color:var(--ink-m)}
.prop-lista{border:1px solid var(--line);border-radius:var(--r1);overflow:hidden;margin-bottom:18px;max-height:320px;overflow-y:auto}
.prop-it{display:flex;justify-content:space-between;gap:12px;padding:11px 15px;font-size:.88rem;border-bottom:1px solid var(--line)}
.prop-it:last-child{border-bottom:none}
.prop-it em{font-style:normal;color:var(--rs-d)}

/* ─── TONOS ─── */
.sh-top{display:flex;gap:16px;padding:22px 24px;border-bottom:1px solid var(--line);align-items:center}
.sh-img{width:92px;height:92px;flex-shrink:0;border-radius:var(--r1);background:var(--cream);border:1px solid var(--line);overflow:hidden}
.sh-img img{width:100%;height:100%;object-fit:contain;padding:6%}
.sh-brand{font-size:.74rem;font-weight:700;color:var(--rs-d);letter-spacing:.09em;text-transform:uppercase}
.sh-name{font-size:1.15rem;margin:3px 0 5px}
.sh-price{font-size:.88rem;color:var(--ink-m)}
.sh-bd{padding:20px 24px 24px}
.sh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px;max-height:300px;overflow-y:auto;padding:2px;margin-bottom:18px}
.sh-op{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:var(--r0);padding:10px 12px;min-height:48px;text-align:left;background:var(--white);transition:all .2s}
.sh-op:hover:not(:disabled){border-color:var(--rs);background:var(--rs-xl)}
.sh-op.on{border-color:var(--rs);background:var(--rs-xl);box-shadow:0 0 0 2px rgba(233,77,130,.16)}
.sh-op:disabled{opacity:.45;cursor:not-allowed}
.sh-dot{width:22px;height:22px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.14)}
.sh-lb{min-width:0}
.sh-lb b{display:block;font-size:.84rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sh-lb span{font-size:.74rem;color:var(--ink-m)}
.sh-foot{display:flex;align-items:center;gap:12px}
.sh-qty{display:flex;align-items:center;gap:3px;background:var(--iv2);border:1px solid var(--line);border-radius:var(--rf);padding:4px}
.sh-add{flex:1;background:linear-gradient(120deg,var(--rs),var(--rs-d));color:#fff;font-size:.95rem;font-weight:600;min-height:52px;padding:0 14px;border-radius:var(--rf)}
.sh-add:disabled{background:var(--line);color:var(--ink-l);cursor:not-allowed}

/* ─── TOAST / LIGHTBOX / WA ─── */
.toasts{position:fixed;top:calc(var(--hh) + 14px);right:16px;z-index:500;display:flex;flex-direction:column;gap:9px;pointer-events:none;max-width:340px}
.toast{background:var(--white);border:1px solid var(--line);border-radius:var(--r1);padding:13px 16px;box-shadow:var(--sh2);display:flex;align-items:flex-start;gap:11px;font-size:.88rem;transform:translateX(130%);opacity:0;transition:all .4s var(--ease);pointer-events:all}
.toast.on{transform:none;opacity:1}
.toast-ic{flex-shrink:0;color:var(--rs);margin-top:2px}
@media(max-width:560px){.toasts{left:16px;right:16px;max-width:none}}
.wa-float{position:fixed;bottom:96px;right:16px;z-index:290;background:linear-gradient(140deg,var(--wa),var(--wa-d));width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 26px rgba(31,168,85,.4);transition:transform .25s var(--ease)}
.wa-float svg{width:27px;height:27px;fill:#fff}
.wa-float::after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);opacity:.5;animation:ring 2.6s ease-out infinite}
.wa-float:hover{transform:scale(1.07)}
@media(min-width:1081px){.wa-float{bottom:24px;right:24px}}
.lb-ov{position:fixed;inset:0;background:rgba(20,14,16,.9);z-index:600;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s}
.lb-ov.open{opacity:1;pointer-events:all}
.lb-inner{position:relative;max-width:560px}
.lb-inner img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:var(--r2);background:#fff}
.lb-close{position:absolute;top:-18px;right:-18px;width:42px;height:42px;border-radius:50%;background:var(--white);font-size:.95rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.lb-close:hover{background:var(--rs);color:#fff}

/* ─── FOOTER ─── */
.footer{background:var(--ink);color:rgba(255,255,255,.68);padding:56px 24px 32px}
.ft-in{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
@media(max-width:880px){.ft-in{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:520px){.ft-in{grid-template-columns:1fr}}
.ft-logo{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:#fff;margin-bottom:8px}
.ft-logo em{color:var(--gd);font-style:italic}
.ft-sub{font-size:.88rem;margin-bottom:16px}
.ft-fraude{background:rgba(198,40,40,.14);border-color:rgba(255,255,255,.15);color:#F3C9C9;font-size:.8rem}
.ft-h{font-family:'Inter',sans-serif;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#fff;margin-bottom:14px}
.ft-links{display:flex;flex-direction:column;gap:9px}
.ft-links a{font-size:.88rem;color:rgba(255,255,255,.68)}
.ft-links a:hover{color:var(--gd);text-decoration:underline}
.ft-links em{font-style:normal;font-size:.74rem;color:var(--gd);opacity:.8}
.ft-copy{text-align:center;font-size:.8rem;opacity:.45;margin-top:38px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}

:focus-visible{outline:3px solid var(--rs);outline-offset:3px;border-radius:4px}
