/* ════════════════════════════════════════
   KLINSU PALETTE & TOKENS
════════════════════════════════════════ */
:root {
  --blue:      #378ADD;
  --blue-lt:   #B5D4F4;
  --blue-dk:   #0C447C;
  --mint:      #1D9E75;
  --mint-lt:   #D0F0E5;
  --bg:        #F1EFE8;
  --bg2:       #E6E3D9;
  --white:     #FFFFFF;
  --text:      #0C2A46;
  --muted:     #5A7590;
  --border:    #C8D8EA;
  --font-d:    'Inter', system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --font-b:    'Inter', system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --ease:      cubic-bezier(.4,0,.2,1);
  --ease-o:    cubic-bezier(0,.55,.45,1);
  --r:         14px;
  --rl:        20px;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-b); background: var(--bg); color: var(--text); line-height: 1.6; overflow-x: hidden; }
h1,h2,h3,h4 { font-family: var(--font-d); line-height: 1.1; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; }
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--blue); border-radius: 3px; }

/* ── PROGRESS BAR ── */
#pgbar { position:fixed;top:0;left:0;z-index:9999;height:3px;width:0;background:linear-gradient(90deg,var(--blue-dk),var(--blue),var(--mint));border-radius:0 2px 2px 0;transition:width .08s linear;pointer-events:none; }

/* ── REVEAL ── */
.rev { opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease); }
.rev.on { opacity:1;transform:none; }
.rev-l { opacity:0;transform:translateX(-24px);transition:opacity .6s var(--ease),transform .6s var(--ease); }
.rev-l.on { opacity:1;transform:none; }
.rev-r { opacity:0;transform:translateX(24px);transition:opacity .6s var(--ease),transform .6s var(--ease); }
.rev-r.on { opacity:1;transform:none; }
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}.d5{transition-delay:.40s}

/* ════════════════════════════════════════
   NAVIGATION
════════════════════════════════════════ */
nav {
  position:fixed;top:3px;left:0;right:0;z-index:300;
  height:92px;padding:0 4vw;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:rgba(255,255,255,0.98);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1.5px solid var(--border);
  transition:background .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
nav.scrolled {
  background:rgba(255,255,255,0.92);
  box-shadow:0 10px 30px rgba(12,68,124,.08);
  border-bottom-color:rgba(200,216,234,0.4);
}
.nav-links { display:flex;gap:0.45rem;list-style:none;align-items:center; }
.nav-links a {
  color: var(--muted);
  font-family: var(--font-d);
  font-size: .8rem;
  font-weight: 750;
  padding: .45rem .85rem;
  border-radius: 100px;
  border: 1.5px solid var(--border);
  background: var(--white);
  transition: all 0.3s var(--ease);
  display: inline-block;
  white-space: nowrap;
}
.nav-links a.btn-lav:hover { background: var(--blue); color: var(--white); border-color: var(--blue); box-shadow: 0 4px 12px rgba(55,138,221,0.25); }
.nav-links a.btn-des:hover { background: var(--mint); color: var(--white); border-color: var(--mint); box-shadow: 0 4px 12px rgba(29,158,117,0.25); }
.nav-links a.btn-coc:hover { background: #E29E25; color: var(--white); border-color: #E29E25; box-shadow: 0 4px 12px rgba(226,158,37,0.25); }
.nav-links a.btn-pet:hover { background: #9333EA; color: var(--white); border-color: #9333EA; box-shadow: 0 4px 12px rgba(147,51,234,0.25); }
.nav-links a.btn-aut:hover { background: #E11D48; color: var(--white); border-color: #E11D48; box-shadow: 0 4px 12px rgba(225,29,72,0.25); }
.nav-links a.btn-pri:hover { background: var(--blue-dk); color: var(--white); border-color: var(--blue-dk); box-shadow: 0 4px 12px rgba(12,68,124,0.25); }
.nav-links a.btn-con:hover { background: var(--mint); color: var(--white); border-color: var(--mint); box-shadow: 0 4px 12px rgba(29,158,117,0.25); }
.nav-acts { display:flex;gap:.55rem;align-items:center; }
.btn-ncall {
  background:var(--blue-dk);color:var(--white);
  font-family:var(--font-d);font-weight:700;font-size:.8rem;
  padding:.48rem 1.1rem;border-radius:100px;
  display:flex;align-items:center;gap:.35rem;
  transition:background .2s,transform .2s,box-shadow .2s;
  white-space:nowrap;
}
.btn-ncall:hover { background:var(--blue);transform:translateY(-1px);box-shadow:0 6px 18px rgba(55,138,221,.35); }
.btn-nwa {
  background:var(--mint);color:var(--white);
  font-family:var(--font-d);font-weight:700;font-size:.8rem;
  padding:.48rem 1.1rem;border-radius:100px;
  display:flex;align-items:center;gap:.35rem;
  transition:background .2s,transform .2s;
  white-space:nowrap;
}
.btn-nwa:hover { background:#15876300;filter:brightness(1.1);transform:translateY(-1px); }
.ham { display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px; }
.ham span { width:22px;height:2px;background:var(--blue-dk);border-radius:2px;transition:.3s; }

/* ── NAV LOGO ── */
.nav-logo { display:flex; align-items:center; flex-shrink:0; }
.nav-logo img {
  height: 68px;
  width: auto;
  max-width: 310px;
  object-fit: contain;
  object-position: left center;
  display: block;
}

/* ── MOBILE MENU ── */
.mmenu {
  display:none;position:fixed;inset:0;z-index:299;
  background:var(--white);
  flex-direction:column;align-items:center;justify-content:center;gap:1.6rem;
}
.mmenu.open { display:flex; }
.mmenu a { font-family:var(--font-d);font-weight:700;font-size:1.35rem;color:var(--blue-dk); }
.mmenu a:hover { color:var(--blue); }
.mclose { position:absolute;top:1.2rem;right:4vw;font-size:1.8rem;color:var(--blue-dk);cursor:pointer;background:none;border:none; }
.mbtn { background:var(--mint)!important;color:var(--white)!important;padding:.65rem 2rem;border-radius:100px;font-size:1.1rem!important; }

/* ── STICKY CAT BAR ── */
#catbar {
  position:fixed;top:95px;left:0;right:0;z-index:280;
  background:rgba(255,255,255,.97);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
  padding:.45rem 4vw;
  display:flex;align-items:center;gap:.45rem;overflow-x:auto;scrollbar-width:none;
  transform:translateY(-120%);transition:transform .35s var(--ease);
}
#catbar::-webkit-scrollbar { display:none; }
#catbar.show { transform:translateY(0); }
.cpill {
  white-space:nowrap;flex-shrink:0;
  font-family:var(--font-d);font-weight:700;font-size:.7rem;
  padding:.38rem .9rem;border-radius:100px;
  background:var(--bg2);color:var(--blue-dk);border:1px solid var(--border);
  cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .15s,box-shadow .2s;
  display:inline-flex;align-items:center;gap:.42rem;
}
.cpill svg{width:15px;height:15px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.cpill:hover,.cpill.act { background:var(--blue-dk);color:var(--white);border-color:var(--blue-dk);transform:translateY(-1px);box-shadow:0 6px 16px rgba(12,68,124,.16); }
.cpill.gc:hover,.cpill.gc.act { background:var(--mint);border-color:var(--mint); }

/* ════════════════════════════════════════
   HERO
════════════════════════════════════════ */
.hero {
  min-height:100vh;
  background:linear-gradient(150deg,#082D52 0%,#0D4F83 48%,#1479B8 100%);
  padding:118px 4vw 80px;
  display:flex;align-items:center;
  position:relative;overflow:hidden;
}
.hero::before {
  content:'';position:absolute;inset:-24%;pointer-events:none;
  background:
    radial-gradient(circle at 22% 18%,rgba(93,221,181,.32) 0 8%,transparent 22%),
    radial-gradient(circle at 78% 22%,rgba(181,212,244,.28) 0 9%,transparent 23%),
    radial-gradient(circle at 52% 84%,rgba(29,158,117,.25) 0 10%,transparent 26%);
  filter:blur(18px);opacity:.9;animation:heroAurora 15s ease-in-out infinite alternate;
}
.hero::after {
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.08) 43%,transparent 50%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0 1px,transparent 1px 28px);
  mix-blend-mode:screen;opacity:.55;animation:heroSweep 9s linear infinite;
}
@keyframes heroAurora { 0%{transform:translate3d(-2%,1%,0) rotate(0deg) scale(1)} 100%{transform:translate3d(3%,-2%,0) rotate(6deg) scale(1.08)} }
@keyframes heroSweep { 0%{background-position:-240px 0,0 0} 100%{background-position:260px 0,80px 80px} }
.hero-dots { position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.09) 1px,transparent 0);background-size:34px 34px;mask-image:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.35));animation:heroDots 18s linear infinite; }
@keyframes heroDots { from{background-position:0 0} to{background-position:136px 68px} }
.hero-gr { position:absolute;top:-20%;right:-8%;width:58%;height:125%;background:conic-gradient(from 210deg,rgba(93,221,181,.22),rgba(181,212,244,.16),transparent 54%,rgba(29,158,117,.18));filter:blur(8px);pointer-events:none;animation:heroOrb 12s ease-in-out infinite alternate; }
.hero-gl { position:absolute;bottom:-22%;left:-10%;width:58%;height:55%;background:radial-gradient(circle,rgba(29,158,117,.34),transparent 62%);filter:blur(10px);pointer-events:none;animation:heroOrb 14s ease-in-out infinite alternate-reverse; }
@keyframes heroOrb { from{transform:translate3d(0,0,0) scale(1)} to{transform:translate3d(18px,-16px,0) scale(1.08)} }
.hero-inner { max-width:1240px;margin:0 auto;width:100%;display:grid;grid-template-columns:.9fr 1.1fr;gap:3.2rem;align-items:center;position:relative; }
.hbadge {
  display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(181,212,244,.2);border:1px solid rgba(181,212,244,.4);
  color:var(--blue-lt);font-size:.72rem;font-weight:700;font-family:var(--font-d);
  padding:.38rem 1rem;border-radius:100px;letter-spacing:.07em;text-transform:uppercase;
  margin-bottom:1.5rem;animation:fu .8s var(--ease-o) .2s both;
}
.hbadge::before { content:'';width:7px;height:7px;background:var(--mint);border-radius:50%;animation:blk 2s infinite; }
@keyframes blk { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.4)} }
.htitle {
  font-size:clamp(2.4rem,4.8vw,4.6rem);
  font-weight:900;color:var(--white);letter-spacing:-.04em;line-height:1.0;
  margin-bottom:1.3rem;animation:fu .9s var(--ease-o) .3s both;
}
.htitle .line { display:block; }
.htitle .mint { color:#5DDDB5; }
.tww { display:inline-block;border-right:3px solid rgba(255,255,255,.7);padding-right:.06em;animation:blkc .72s step-end infinite; }
@keyframes blkc { 0%,100%{border-color:rgba(255,255,255,.7)} 50%{border-color:transparent} }
.hsub { font-size:1rem;color:rgba(255,255,255,.74);line-height:1.78;max-width:480px;margin-bottom:2.2rem;animation:fu .9s var(--ease-o) .42s both; }
.hero-perks { display:flex;flex-wrap:wrap;gap:.55rem;margin:-1rem 0 1.55rem;animation:fu .9s var(--ease-o) .48s both; }
.hero-perk { display:inline-flex;align-items:center;gap:.38rem;padding:.36rem .76rem;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.86);font-family:var(--font-d);font-size:.72rem;font-weight:800;box-shadow:0 10px 26px rgba(0,0,0,.08); }
.hero-perk b { color:#5DDDB5;font-weight:900; }
.hbtns { display:flex;gap:.8rem;flex-wrap:wrap;animation:fu .9s var(--ease-o) .54s both; }
.btnhp {
  background:var(--mint);color:var(--white);font-family:var(--font-d);font-weight:700;font-size:.95rem;
  padding:.85rem 1.8rem;border-radius:100px;display:inline-flex;align-items:center;gap:.45rem;
  transition:background .2s,transform .2s,box-shadow .2s;
}
.btnhp:hover { filter:brightness(1.08);transform:translateY(-3px);box-shadow:0 12px 32px rgba(29,158,117,.4); }
.btnhp.primary { background:linear-gradient(135deg,var(--mint),#23C982);box-shadow:0 16px 36px rgba(29,158,117,.32);animation:heroCtaPulse 2.7s ease-in-out infinite; }
@keyframes heroCtaPulse { 0%,100%{box-shadow:0 16px 36px rgba(29,158,117,.28)} 50%{box-shadow:0 18px 48px rgba(93,221,181,.48)} }
.btnhg {
  background:rgba(255,255,255,.12);color:var(--white);font-family:var(--font-d);font-weight:600;font-size:.95rem;
  padding:.85rem 1.6rem;border-radius:100px;display:inline-flex;align-items:center;gap:.45rem;
  border:1.5px solid rgba(255,255,255,.25);transition:background .2s,border-color .2s;
}
.btnhg:hover { background:rgba(255,255,255,.18);border-color:rgba(181,212,244,.6); }
.hright { animation:fu .9s var(--ease-o) .35s both; }
/* Foto del hero (productos reales) */
.hphoto-wrap { position:relative; max-width:610px; margin:0 auto; padding:.7rem; border-radius:28px; background:rgba(255,255,255,.08); box-shadow:0 26px 70px rgba(0,0,0,.28); }
.hphoto { width:100%; height:auto; aspect-ratio:5/4; object-fit:cover; border-radius:22px; box-shadow:0 18px 42px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.08); display:block; background:rgba(255,255,255,.04); }
.hphoto-label { position:absolute;left:1.45rem;top:1.45rem;background:rgba(7,32,55,.78);backdrop-filter:blur(12px);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:100px;padding:.44rem .9rem;font-family:var(--font-d);font-weight:800;font-size:.74rem;letter-spacing:.02em;box-shadow:0 10px 30px rgba(0,0,0,.22); }
.hphoto-badge { position:absolute; background:var(--white); color:var(--text); padding:.7rem 1rem; border-radius:12px; box-shadow:0 12px 28px rgba(0,0,0,.24); display:flex; align-items:baseline; gap:.38rem; font-family:var(--font-d); animation:fu .9s var(--ease-o) .8s both; text-decoration:none; }
.hphoto-badge b { font-size:1.35rem; font-weight:900; color:var(--mint);line-height:1; }
.hphoto-badge span { font-size:.66rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
.hphoto-badge.b1 { bottom:-16px; left:18px; }
.hphoto-badge.b2 { top:-12px; right:20px; background:linear-gradient(135deg,var(--mint),#22C48A); color:#fff;}
.hphoto-badge.b2 b { color:#fff; }
.hphoto-badge.b2 span { color:rgba(255,255,255,.85); }
@media(max-width:640px){
  .hphoto-wrap { max-width:340px; }
  .hphoto { aspect-ratio:4/3; }
  .hphoto-label { left:1.1rem;top:1.1rem;font-size:.66rem;padding:.36rem .72rem; }
  .hphoto-badge { padding:.65rem .9rem; }
  .hphoto-badge b { font-size:1.25rem; }
  .hphoto-badge.b1 { bottom:-12px; left:10px; }
  .hphoto-badge.b2 { top:-10px; right:10px; }
}
.hcards { display:grid;grid-template-columns:1fr 1fr;gap:.85rem; }
.hcard {
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);
  border-radius:16px;padding:1.2rem 1.1rem;
  transition:background .25s,transform .25s;position:relative;overflow:hidden;
}
.hcard:hover { background:rgba(55,138,221,.2);transform:translateY(-4px); }
.hcard.wide { grid-column:1/-1;display:flex;align-items:center;gap:1rem;padding:1.1rem 1.3rem; }
.hci { font-size:1.7rem;margin-bottom:.55rem; }
.hcard.wide .hci { margin:0;flex-shrink:0; }
.hcard h4 { font-family:var(--font-d);font-weight:800;font-size:.88rem;color:var(--white);margin-bottom:.15rem; }
.hcard p { font-size:.74rem;color:rgba(255,255,255,.5);line-height:1.4; }
.hcbadge { position:absolute;top:.65rem;right:.65rem;background:var(--mint);color:var(--white);font-family:var(--font-d);font-weight:700;font-size:.58rem;padding:.15rem .5rem;border-radius:100px;text-transform:uppercase; }
.hwave { position:absolute;bottom:-2px;left:0;right:0;height:68px;background:var(--bg);clip-path:polygon(0 80%,100% 0,100% 100%,0 100%); }
@keyframes fu { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:none} }

/* ════════════════════════════════════════
   PROOF BAR
════════════════════════════════════════ */
.pbar { background:var(--white);border-bottom:1px solid var(--border);padding:2.5rem 4vw; }
.pinner { max-width:960px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr); }
.pstat { text-align:center;padding:0 1.2rem; }
.pstat+.pstat { border-left:1px solid var(--border); }
.pnum {
  font-family:var(--font-d);font-weight:900;font-size:clamp(1.8rem,3.2vw,2.7rem);
  letter-spacing:-.04em;line-height:1;margin-bottom:.3rem;
  background:linear-gradient(135deg,var(--blue-dk),var(--blue));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.pnum.g { background:linear-gradient(135deg,var(--mint),#2DC890);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }
.plbl { font-size:.78rem;color:var(--muted);font-weight:500; }

/* ════════════════════════════════════════
   SECTION HELPERS
════════════════════════════════════════ */
.section { padding:6rem 4vw; }
.si { max-width:1160px;margin:0 auto; }
.sh { text-align:center;max-width:580px;margin:0 auto 3rem; }
.stag {
  display:inline-block;font-family:var(--font-d);font-weight:700;
  font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.3rem .9rem;border-radius:100px;margin-bottom:.85rem;
}
.stag.b { color:var(--blue-dk);background:rgba(55,138,221,.1);border:1px solid var(--blue-lt); }
.stag.g { color:var(--mint);background:var(--mint-lt);border:1px solid rgba(29,158,117,.2); }
.stitle { font-size:clamp(1.8rem,3.5vw,2.7rem);font-weight:900;letter-spacing:-.04em;color:var(--text);margin-bottom:.75rem;line-height:1.06; }
.stitle.w { color:var(--white); }
.ssub { font-size:.97rem;color:var(--muted);line-height:1.72; }
.ssub.w { color:rgba(255,255,255,.65); }

/* ════════════════════════════════════════
   PRICE LIST
════════════════════════════════════════ */
/* Recommended kits */
.kits-bg { position:relative;background:linear-gradient(180deg,#F5FAFF 0%,#fff 100%);padding-top:5rem;overflow:hidden; }
.kits-bg::before { content:'';position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(960px,92vw);height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent); }
.kit-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;margin-top:2rem; }
.kit-card { position:relative;overflow:hidden;border:1px solid rgba(181,212,244,.75);border-radius:20px;background:rgba(255,255,255,.92);padding:1.15rem;box-shadow:0 16px 40px rgba(12,68,124,.09);isolation:isolate;transition:transform .25s,box-shadow .25s,border-color .25s; }
.kit-card:hover { transform:translateY(-6px);box-shadow:0 24px 58px rgba(12,68,124,.16);border-color:rgba(29,158,117,.35); }
.kit-card::before { content:'';position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--blue),var(--mint));z-index:1; }
.kit-card::after { content:'';position:absolute;right:-42px;top:-42px;width:116px;height:116px;border-radius:34px;background:linear-gradient(135deg,rgba(55,138,221,.13),rgba(29,158,117,.13));transform:rotate(15deg);z-index:-1; }
.kit-top { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.95rem; }
.kit-ico { width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:#EAF4FF;color:var(--blue);font-size:1.35rem;box-shadow:inset 0 0 0 1px rgba(55,138,221,.12); }
.kit-tag { font-family:var(--font-d);font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--mint);background:var(--mint-lt);padding:.22rem .55rem;border-radius:999px; }
.kit-card h3 { font-family:var(--font-d);font-size:1.08rem;font-weight:900;color:var(--blue-dk);letter-spacing:-.02em;margin-bottom:.42rem; }
.kit-card p { color:var(--muted);font-size:.82rem;line-height:1.55;margin-bottom:.9rem;min-height:2.55rem; }
.kit-list { display:grid;gap:.38rem;margin:0 0 1.05rem;padding:0;list-style:none; }
.kit-list li { display:flex;align-items:center;gap:.42rem;font-size:.8rem;color:var(--text);line-height:1.25; }
.kit-list li::before { content:'\2713';width:18px;height:18px;flex:0 0 18px;border-radius:50%;display:grid;place-items:center;background:#DDF8EE;color:var(--mint);font-size:.7rem;font-weight:900; }
.kit-btn { position:relative;width:100%;border:none;border-radius:999px;background:linear-gradient(135deg,var(--blue-dk),var(--blue));color:#fff;font-family:var(--font-d);font-weight:900;padding:.86rem .95rem;cursor:pointer;box-shadow:0 12px 26px rgba(12,68,124,.22);transition:transform .2s,filter .2s;animation:kitPulse 2.4s ease-in-out infinite; }
.kit-btn:hover { transform:translateY(-2px) scale(1.02);filter:brightness(1.08); }
.kit-btn::after { content:'';position:absolute;inset:-5px;border-radius:999px;border:2px solid rgba(29,158,117,.26);opacity:0;animation:kitRing 2.4s ease-out infinite; }
.kit-card.featured { background:linear-gradient(145deg,#0C447C 0%,#1766A8 100%);border-color:transparent;box-shadow:0 24px 64px rgba(12,68,124,.22); }
.kit-card.featured::after { background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(93,221,181,.18)); }
.kit-card.featured h3,.kit-card.featured .kit-list li { color:#fff; }
.kit-card.featured p { color:rgba(255,255,255,.75); }
.kit-card.featured .kit-ico { background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16); }
.kit-card.featured .kit-tag { color:#fff;background:rgba(255,255,255,.16); }
.kit-card.featured .kit-btn { background:linear-gradient(135deg,var(--mint),#22C48A);box-shadow:0 14px 30px rgba(29,158,117,.3); }
@keyframes kitPulse { 0%,100%{box-shadow:0 12px 26px rgba(12,68,124,.20)} 50%{box-shadow:0 16px 34px rgba(29,158,117,.28)} }
@keyframes kitRing { 0%{opacity:.7;transform:scale(.98)} 70%,100%{opacity:0;transform:scale(1.08)} }
@media(max-width:980px){ .kit-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px){ .kit-grid { grid-template-columns:1fr; } .kits-bg{padding-top:4rem} .kit-card p{min-height:auto} }

.prices-bg { background:linear-gradient(180deg,var(--bg) 0%,#F8FBFF 100%); }
.seo-intro { margin:2.2rem auto 0;display:grid;grid-template-columns:1.05fr .95fr;gap:1rem;align-items:stretch; }
.seo-copy,.wholesale-card { border:1px solid var(--border);border-radius:20px;background:var(--white);box-shadow:0 16px 42px rgba(12,68,124,.08);padding:1.35rem; }
.seo-copy h2,.wholesale-card h2 { font-size:1.28rem;line-height:1.18;color:var(--blue-dk);font-weight:900;letter-spacing:-.03em;margin-bottom:.65rem; }
.seo-copy p,.wholesale-card p { color:var(--muted);font-size:.9rem;line-height:1.72;margin-bottom:.8rem; }
.seo-keywords { display:flex;flex-wrap:wrap;gap:.42rem;margin-top:.85rem; }
.seo-keywords span { display:inline-flex;align-items:center;border-radius:999px;background:#F2F7FC;border:1px solid var(--border);color:var(--blue-dk);font-family:var(--font-d);font-size:.72rem;font-weight:800;padding:.28rem .7rem; }
.wholesale-card { background:linear-gradient(135deg,var(--blue-dk),#1766A8);color:#fff;position:relative;overflow:hidden; }
.wholesale-card::after { content:'';position:absolute;right:-52px;top:-52px;width:150px;height:150px;border-radius:36px;background:rgba(93,221,181,.16);transform:rotate(18deg); }
.wholesale-card h2,.wholesale-card p { color:#fff;position:relative;z-index:1; }
.wholesale-card p { color:rgba(255,255,255,.78); }
.wholesale-list { position:relative;z-index:1;display:grid;gap:.5rem;margin:.9rem 0 1.1rem;padding:0;list-style:none; }
.wholesale-list li { display:flex;gap:.5rem;align-items:flex-start;color:rgba(255,255,255,.9);font-size:.84rem;line-height:1.45; }
.wholesale-list li::before { content:'\2713';width:20px;height:20px;flex:0 0 20px;border-radius:50%;display:grid;place-items:center;background:rgba(93,221,181,.22);color:#fff;font-weight:900;font-size:.72rem; }
.wholesale-btn { position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--mint);color:#fff;font-family:var(--font-d);font-weight:900;padding:.78rem 1.1rem;box-shadow:0 12px 26px rgba(29,158,117,.28); }
.cat-seo { position:relative;background:linear-gradient(180deg,#fff 0%,#F5FAFF 100%);padding:3.1rem 4vw 3.4rem;overflow:hidden;border-bottom:1px solid var(--border); }
.cat-seo::before { content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(12,68,124,.08) 1px,transparent 0);background-size:30px 30px;opacity:.5;pointer-events:none; }
.cat-seo::after { content:'';position:absolute;right:-80px;top:-110px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(93,221,181,.22),transparent 65%);pointer-events:none; }
.cat-seo-inner { position:relative;z-index:1;max-width:1180px;margin:0 auto; }
.cat-seo-head { display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.75rem;margin-bottom:2.2rem; }
.cat-seo-head h2 { color:var(--blue-dk);font-size:clamp(1.55rem,3vw,2.35rem);font-weight:900;letter-spacing:-.04em;line-height:1.08;margin:0; }
.cat-seo-head p { color:var(--muted);font-size:.92rem;line-height:1.6;max-width:580px;margin:0 auto; }

.cat-seo-grid { display:flex;flex-wrap:wrap;justify-content:center;gap:.78rem; }
.cat-seo-card { position:relative;overflow:hidden;border:1px solid rgba(181,212,244,.85);border-radius:18px;background:rgba(255,255,255,.94);padding:1rem;box-shadow:0 16px 36px rgba(12,68,124,.08);transition:transform .22s,box-shadow .22s,border-color .22s;min-height:150px;display:flex;flex-direction:column;justify-content:space-between; flex:1 1 210px; max-width:230px; }
.cat-seo-card::before { content:'';position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--blue),var(--mint)); }
.cat-seo-card::after { content:'';position:absolute;right:-36px;top:-36px;width:96px;height:96px;border-radius:26px;background:rgba(55,138,221,.08);transform:rotate(16deg); }
.cat-seo-card:hover { transform:translateY(-5px);box-shadow:0 24px 52px rgba(12,68,124,.15);border-color:rgba(29,158,117,.4); }
.cat-ico { width:42px;height:42px;border-radius:14px;background:#EAF4FF;color:var(--blue-dk);display:grid;place-items:center;font-size:1.25rem;margin-bottom:.8rem;box-shadow:inset 0 0 0 1px rgba(55,138,221,.12); }
.cat-seo-card strong { display:block;color:var(--blue-dk);font-family:var(--font-d);font-size:.9rem;margin-bottom:.3rem;position:relative;z-index:1; }
.cat-seo-card p { color:var(--muted);font-size:.76rem;line-height:1.5;margin:0;position:relative;z-index:1; }
.cat-seo-card a { display:inline-flex;margin-top:.8rem;color:var(--mint);font-family:var(--font-d);font-weight:900;font-size:.72rem;position:relative;z-index:1; }
@media(max-width:900px){ .seo-intro { grid-template-columns:1fr; } .cat-seo-head p{margin-top:.65rem} }
@media(max-width:640px){ .cat-seo{padding:2.4rem 4vw}.cat-seo-card{max-width:100%}.seo-copy,.wholesale-card{padding:1.05rem} }

/* Controls */
.plc { display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;margin-bottom:1.2rem;background:var(--white);border:1px solid var(--border);border-radius:18px;padding:.8rem;box-shadow:0 14px 38px rgba(12,68,124,.07); }
.plsearch { flex:1;min-width:200px;position:relative; }
.plsearch input {
  width:100%;padding:.86rem 1rem .86rem 2.65rem;border-radius:12px;
  border:1.5px solid var(--border);font-family:var(--font-b);font-size:.87rem;
  color:var(--text);background:var(--white);outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.plsearch input:focus { border-color:var(--blue);box-shadow:0 0 0 3px rgba(55,138,221,.12); }
.plsearch::before { content:'🔍';position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-size:.85rem;pointer-events:none; }

.plcount { font-family:var(--font-d);font-weight:700;font-size:.8rem;color:var(--muted);white-space:nowrap; }

/* Category tabs */
.ctabs { display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:1.25rem; }
.ctab {
  font-family:var(--font-d);font-weight:700;font-size:.72rem;
  padding:.32rem .9rem;border-radius:100px;
  background:var(--white);color:var(--blue-dk);border:1.5px solid var(--border);
  cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .12s;white-space:nowrap;
}
.ctab:hover,.ctab.act { background:var(--blue-dk);color:var(--white);border-color:var(--blue-dk);transform:translateY(-1px); }

/* Table */
.plwrap { background:var(--white);border-radius:18px;border:1px solid var(--border);overflow:hidden;box-shadow:0 18px 48px rgba(12,68,124,.08); }
.pltable { width:100%;border-collapse:separate;border-spacing:0; }
.pltable thead tr { background:var(--blue-dk); }
.pltable thead th { font-family:var(--font-d);font-weight:700;font-size:.75rem;color:rgba(255,255,255,.82);text-align:left;padding:.85rem 1rem;letter-spacing:.04em;text-transform:uppercase; }
.pltable thead th.right { text-align:right; }
.pltable thead th.center { text-align:center; }
.pltable tbody tr { border-bottom:1px solid var(--border);transition:background .15s,transform .15s,box-shadow .15s; }
.pltable tbody tr:last-child { border-bottom:none; }
.pltable tbody tr:hover { background:#F8FBFF;box-shadow:inset 4px 0 0 var(--mint); }
.pltable td { padding:.86rem 1rem;font-size:.86rem;vertical-align:middle; }
.tdcode { font-family:monospace;font-size:.76rem;color:var(--muted);font-weight:600; }
.tdname { font-weight:600;color:var(--text); }
.pname { display:block;font-weight:750;line-height:1.28; }
.pmicro { display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-top:.34rem; }
.pchip { display:inline-flex;align-items:center;border-radius:999px;font-family:var(--font-d);font-size:.61rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase;padding:.13rem .46rem;line-height:1.45; }
.pchip.may { color:#087B5E;background:#DDF8EE; }
.pchip.pop { color:#0C447C;background:#EAF4FF; }
.tdcat { font-size:.7rem;color:var(--muted);background:var(--bg2);padding:.16rem .52rem;border-radius:100px;font-weight:600;white-space:nowrap; }
.tdunit { font-size:.7rem;font-weight:700;font-family:var(--font-d);padding:.16rem .52rem;border-radius:100px;white-space:nowrap; }
.u-pz { background:rgba(55,138,221,.1);color:var(--blue-dk); }
.u-kg { background:rgba(29,158,117,.12);color:var(--mint); }
.u-lt { background:rgba(181,212,244,.4);color:#1A5A9E; }
.u-cj { background:rgba(255,180,0,.12);color:#8A6000; }
.tdprice { font-family:var(--font-d);font-weight:900;font-size:1.02rem;color:var(--blue-dk);text-align:right;white-space:nowrap; }
.tdprice.may { color:var(--mint); }
.tdprice-wrap { display:flex;flex-direction:column;align-items:flex-end;gap:.12rem; }
.tdprice-label { font-family:var(--font-d);font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted); }
.tdprice.na { color:var(--muted);font-size:.76rem;font-weight:500; }
.tdadd { text-align:center; }
.btnadd { min-width:36px;height:36px;border-radius:999px;border:none;background:rgba(12,68,124,.1);color:var(--blue-dk);font-size:1.05rem;cursor:pointer;display:flex;align-items:center;justify-content:center;margin:0 auto;transition:background .2s,color .2s,transform .2s,box-shadow .2s;font-weight:900;line-height:1;font-family:var(--font-d);gap:.35rem;padding:0 .72rem; }
.btnadd .btnadd-text { display:none;font-size:.72rem; }
.btnadd:hover { background:var(--blue-dk);color:var(--white);transform:scale(1.12);box-shadow:0 8px 20px rgba(12,68,124,.22); }
.btnadd.added { background:var(--mint);color:var(--white);box-shadow:0 8px 18px rgba(29,158,117,.26); }
.btnadd:disabled,.btnadd.off { background:#e5e7eb!important;color:#9ca3af!important;cursor:not-allowed!important;transform:none!important; }
.pl-empty { text-align:center;padding:2.5rem 1rem;color:var(--muted);font-size:.92rem; }

/* Imagen miniatura del producto */
.tdimg { width:54px;text-align:center;padding:.5rem .35rem!important; }
.pimg { width:46px;height:46px;border-radius:8px;object-fit:cover;border:1px solid var(--border);background:var(--bg);display:block;margin:0 auto; }
.pimg-ph { width:46px;height:46px;border-radius:8px;background:linear-gradient(135deg,var(--blue-lt),var(--bg));display:flex;align-items:center;justify-content:center;color:var(--blue-dk);font-family:var(--font-d);font-size:.72rem;font-weight:900;border:1px solid var(--border);margin:0 auto;text-transform:uppercase;letter-spacing:.03em; }
.pimg-ph.lav{background:linear-gradient(135deg,#D7ECFF,#F8FBFF)}
.pimg-ph.des{background:linear-gradient(135deg,#D0F0E5,#F7FFFC);color:var(--mint)}
.pimg-ph.aut{background:linear-gradient(135deg,#DBEAFE,#EEF6FF)}
.pimg-ph.mas{background:linear-gradient(135deg,#FFECC7,#FFF8EA);color:#A15C00}
.pimg-ph.coc{background:linear-gradient(135deg,#E9E5D8,#FFFFFF)}
/* Badges de stock */
.pl-badges { display:inline-flex;gap:.3rem;margin-left:.4rem;flex-wrap:wrap;vertical-align:middle; }
.pbadge { display:inline-flex;align-items:center;font-family:var(--font-d);font-weight:700;font-size:.62rem;padding:.14rem .48rem;border-radius:100px;letter-spacing:.04em;text-transform:uppercase;line-height:1.4; }
.pbadge.out { background:#FEE2E2;color:#991B1B; }
.pbadge.low { background:#FEF3C7;color:#92400E; }
/* Fila agotada */
tr.row-out { opacity:.55; }
tr.row-out .tdname { text-decoration:line-through;color:var(--muted); }
tr.row-out .tdprice { color:var(--muted)!important; }
tr.row-out .pimg { filter:grayscale(1); }

/* Google reviews badge en testimonios */
.gbadge { display:inline-flex;align-items:center;gap:.7rem;background:var(--white);padding:.7rem 1.1rem;border-radius:100px;margin:0 auto 1.6rem;box-shadow:0 4px 18px rgba(0,0,0,.12); }
.gbadge-ico { width:32px;height:32px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-weight:900;font-size:.95rem;background:linear-gradient(135deg,#4285F4 0%,#EA4335 33%,#FBBC04 66%,#34A853 100%);color:#fff; }
.gbadge-stars { color:#FBBC04;font-size:.92rem;letter-spacing:.05em; }
.gbadge-text { font-family:var(--font-d);font-size:.82rem;font-weight:600;color:var(--text);text-align:left; }
.gbadge-text b { font-weight:800; }
.gbadge-text small { display:block;font-size:.66rem;color:var(--muted);font-weight:500;margin-top:.05rem; }
.gcta { text-align:center;margin-top:2rem; }
.gcta-btn { display:inline-flex;align-items:center;gap:.55rem;background:var(--white);color:var(--blue-dk);font-family:var(--font-d);font-weight:700;font-size:.86rem;padding:.7rem 1.3rem;border-radius:100px;transition:transform .2s,box-shadow .2s,background .2s,color .2s; }
.gcta-btn:hover { background:#FBBC04;color:#fff;transform:translateY(-2px);box-shadow:0 8px 22px rgba(251,188,4,.4); }
.gcta-btn::before { content:'★';color:#FBBC04;font-size:1rem; }
.gcta-btn:hover::before { color:#fff; }
.gcta p { font-size:.78rem;color:rgba(255,255,255,.65);margin-top:.7rem; }

/* ════════════════════════════════════════
   COTIZADOR FLOTANTE
════════════════════════════════════════ */
#cotbtn {
  position:fixed;bottom:96px;right:22px;z-index:400;
  width:54px;height:54px;border-radius:50%;
  background:var(--blue-dk);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;cursor:pointer;
  box-shadow:0 6px 22px rgba(12,68,124,.38);
  border:none;transition:transform .25s,box-shadow .25s,background .2s;
  animation:fu .6s var(--ease-o) 2s both;
}
#cotbtn:hover { background:var(--blue);transform:scale(1.1);box-shadow:0 10px 32px rgba(55,138,221,.48); }
/* Feedback visual cuando agregas un producto: el botón flotante "rebota" un instante */
#cotbtn.pulse-add { animation:cot-pulse-add .55s cubic-bezier(.34,1.56,.64,1); }
@keyframes cot-pulse-add {
  0%   { transform:scale(1); }
  35%  { transform:scale(1.25); box-shadow:0 0 0 16px rgba(34,196,138,0); background:var(--mint); }
  100% { transform:scale(1); }
}
#cotbadge {
  position:absolute;top:-5px;right:-5px;
  background:var(--mint);color:var(--white);
  font-family:var(--font-d);font-weight:900;font-size:.66rem;
  width:20px;height:20px;border-radius:50%;
  display:none;align-items:center;justify-content:center;
  border:2px solid var(--white);
}
#cotbadge.show { display:flex; }
#cottip { position:absolute;right:62px;top:50%;transform:translateY(-50%);background:var(--text);color:var(--white);font-family:var(--font-d);font-weight:600;font-size:.74rem;white-space:nowrap;padding:.32rem .78rem;border-radius:8px;pointer-events:none;opacity:0;transition:opacity .2s; }
#cottip::after { content:'';position:absolute;right:-5px;top:50%;transform:translateY(-50%);border-left:5px solid var(--text);border-top:5px solid transparent;border-bottom:5px solid transparent; }
#cotbtn:hover #cottip { opacity:1; }

/* Panel */
#cotpanel {
  position:fixed;bottom:0;right:0;z-index:399;
  width:360px;max-height:88vh;
  background:var(--white);border-radius:20px 0 0 0;
  box-shadow:-6px -6px 40px rgba(12,68,124,.15);
  display:flex;flex-direction:column;
  transform:translateX(110%);transition:transform .38s var(--ease);
  border-left:1px solid var(--border);border-top:1px solid var(--border);
}
#cotpanel.open { transform:translateX(0); }
/* Mientras el cotizador esté abierto, ocultar los botones flotantes
   (cotbtn y WhatsApp float) para que no estorben sobre el formulario. */
body.cot-open #cotbtn,
body.cot-open .wafloat,
body.cot-open #btop { opacity:0; pointer-events:none; transform:scale(.7); transition:opacity .2s, transform .2s; }
body.cot-open .wafloat,
body.cot-open #btop,
.wafloat[hidden],
#btop[hidden] { display:none !important; visibility:hidden !important; }
.cot-head { padding:1.1rem 1.3rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0; }
.cot-head h3 { font-family:var(--font-d);font-weight:800;font-size:1rem;color:var(--text); }
.cot-head p { font-size:.76rem;color:var(--muted);margin-top:.1rem; }
.cotclose { background:none;border:none;cursor:pointer;font-size:1.15rem;color:var(--muted);padding:.2rem;transition:color .2s; }
.cotclose:hover { color:var(--text); }
.cotmode-info { background:var(--mint-lt); color:#0A6E4C; border-radius:10px; padding:.55rem .8rem; margin:.85rem 1.3rem 0; font-size:.72rem; line-height:1.4; text-align:center; }
.cotmode-info b { font-weight:800; }
.cot-list { flex:1;overflow-y:auto;padding:.75rem 1.3rem;display:flex;flex-direction:column;gap:.5rem;-webkit-overflow-scrolling:touch; }
.cot-empty { text-align:center;padding:2rem .5rem;color:var(--muted); }
.cot-empty p { font-size:.88rem;margin-top:.45rem; }
.cot-item { display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;background:var(--bg);border-radius:10px;border:1px solid var(--border); }
.ci-info { flex:1;min-width:0; }
.ci-name { font-size:.8rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.ci-meta { font-size:.68rem;color:var(--muted); }
.ci-qty { display:flex;align-items:center;gap:.35rem;flex-shrink:0; }
.ci-qty button { width:24px;height:24px;border-radius:50%;border:1px solid var(--border);background:var(--white);color:var(--blue-dk);font-size:.82rem;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-weight:700;transition:background .2s,color .2s; }
.ci-qty button:hover { background:var(--blue-dk);color:var(--white);border-color:var(--blue-dk); }
.ci-qty span { font-family:var(--font-d);font-weight:800;font-size:.85rem;min-width:18px;text-align:center; }
.ci-price { font-family:var(--font-d);font-weight:800;font-size:.88rem;color:var(--blue-dk);flex-shrink:0; }
.ci-price.g { color:var(--mint); }
.cidelb { background:none;border:none;cursor:pointer;color:var(--muted);font-size:.82rem;padding:.18rem;transition:color .2s; }
.cidelb:hover { color:#dc2626; }
.cot-foot { padding:.85rem 1.3rem;border-top:1px solid var(--border);flex-shrink:0; }
.cot-total { display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem; }
.cot-total span { font-size:.82rem;color:var(--muted);font-weight:600; }
.cot-total strong { font-family:var(--font-d);font-weight:900;font-size:1.25rem;color:var(--blue-dk); }
.cot-total strong.g { color:var(--mint); }
.btnwa-cot { width:100%;padding:.85rem;border-radius:100px;border:none;cursor:pointer;background:linear-gradient(135deg,#25D366,#1EA952);color:var(--white);font-family:var(--font-d);font-weight:800;font-size:.93rem;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:transform .2s,box-shadow .2s; }
.btnwa-cot:hover { transform:translateY(-2px);box-shadow:0 8px 28px rgba(37,211,102,.4); }
.btnwa-cot:disabled { opacity:.6;cursor:wait;transform:none;box-shadow:none; }
.btnclear { width:100%;padding:.55rem;border-radius:100px;border:1.5px solid var(--border);cursor:pointer;background:transparent;font-family:var(--font-d);font-weight:700;font-size:.78rem;color:var(--muted);margin-top:.5rem;transition:border-color .2s,color .2s; }
.btnclear:hover { border-color:#dc2626;color:#dc2626; }
/* Cliente: campos para registrar el pedido en el backend antes de WhatsApp */
.cot-customer { display:flex;flex-direction:column;gap:.45rem;margin-bottom:.7rem; }
.cot-customer input, .cot-customer textarea { width:100%;padding:.55rem .75rem;border:1.5px solid var(--border);border-radius:8px;font-family:inherit;font-size:.85rem;color:var(--text);background:#fff;transition:border-color .15s; }
.cot-customer input:focus, .cot-customer textarea:focus { outline:none;border-color:var(--blue-dk);box-shadow:0 0 0 3px rgba(12,68,124,.12); }
.cot-customer textarea { resize:vertical;min-height:42px;font-family:inherit; }
.cot-status { font-size:.78rem;font-weight:600;padding:.4rem .6rem;border-radius:6px;margin-bottom:.55rem;min-height:1.2rem;text-align:center; }
.cot-status:empty { display:none; }
.cot-status.ok   { background:#D1FAE5;color:#065F46; }
.cot-status.warn { background:#FEF3C7;color:#92400E; }
.cot-status.err  { background:#FEE2E2;color:#991B1B; }

/* ── SHARED LINE ICONS ── */
.kicon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);flex-shrink:0}
.kicon svg{width:24px;height:24px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.kicon.soft{width:42px;height:42px;color:var(--blue-dk);background:rgba(55,138,221,.1);border-color:rgba(55,138,221,.16);box-shadow:none}

/* ════════════════════════════════════════
   PROCESS
════════════════════════════════════════ */
.proc-bg { background:var(--white); }
.procg { display:grid;grid-template-columns:repeat(3,1fr);position:relative; }
.procg::before { content:'';position:absolute;top:50px;left:calc(16.66% + 26px);right:calc(16.66% + 26px);height:2px;background:linear-gradient(90deg,var(--mint),var(--border),var(--blue));z-index:0; }
.pstep { text-align:center;padding:0 1.8rem;position:relative;z-index:1; }
.psnum { width:60px;height:60px;border-radius:50%;background:var(--white);border:2.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-weight:900;font-size:1.35rem;color:var(--blue-dk);margin:0 auto 1.2rem;transition:background .3s,border-color .3s,color .3s,transform .3s,box-shadow .3s; }
.pstep:hover .psnum { background:var(--mint);border-color:var(--mint);color:var(--white);transform:scale(1.1);box-shadow:0 8px 24px rgba(29,158,117,.35); }
.psicon { margin:0 auto .8rem;display:flex; }
.pstep h3 { font-family:var(--font-d);font-weight:800;font-size:1rem;color:var(--text);margin-bottom:.38rem; }
.pstep p { font-size:.86rem;color:var(--muted);line-height:1.65;max-width:200px;margin:0 auto; }

/* ════════════════════════════════════════
   BENEFITS
════════════════════════════════════════ */
.ben-bg { background:var(--bg); }
.bgrid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem; }
.bc { background:var(--white);border-radius:var(--rl);padding:1.7rem;border:1px solid var(--border);position:relative;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s; }
.bc:hover { transform:translateY(-5px);border-color:rgba(55,138,221,.35);box-shadow:0 14px 40px rgba(55,138,221,.08); }
.bc::before { content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--mint));transform:scaleX(0);transform-origin:left;transition:transform .3s; }
.bc:hover::before { transform:scaleX(1); }
.bi { margin-bottom:1rem; }
.bc h3 { font-family:var(--font-d);font-weight:800;font-size:.98rem;color:var(--text);margin-bottom:.38rem; }
.bc p { font-size:.86rem;color:var(--muted);line-height:1.65; }

/* ════════════════════════════════════════
   TESTIMONIALS
════════════════════════════════════════ */
.tst-bg { background:var(--blue-dk); }
.tgrid { display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:3rem; }
.tc { background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--rl);padding:1.5rem;transition:transform .3s,background .3s,border-color .3s;display:flex;flex-direction:column; }
.tc:hover { transform:translateY(-5px);background:rgba(55,138,221,.15);border-color:rgba(181,212,244,.3); }
.tstars { color:#5DDDB5;font-size:.88rem;letter-spacing:.09em;margin-bottom:.8rem; }
.ttext { color:rgba(255,255,255,.76);font-size:.87rem;line-height:1.7;margin-bottom:1.3rem;font-style:italic;flex:1; }
.tauthor { display:flex;align-items:center;gap:.7rem; }
.tavatar { width:36px;height:36px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--blue),var(--mint));display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-weight:800;font-size:.78rem;color:var(--white); }
.tname { font-family:var(--font-d);font-weight:700;font-size:.83rem;color:var(--white); }
.trole { font-size:.72rem;color:rgba(255,255,255,.4);margin-top:.08rem; }

/* ════════════════════════════════════════
   FAQ
════════════════════════════════════════ */
.faq-bg { background:var(--white); }
.flist { max-width:740px;margin:0 auto;display:flex;flex-direction:column;gap:.6rem; }
.fitem { border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:border-color .2s,box-shadow .2s;background:var(--bg); }
.fitem:hover { border-color:var(--blue-lt); }
.fitem.open { border-color:var(--blue);box-shadow:0 4px 18px rgba(55,138,221,.1); }
.fq { padding:1.05rem 1.3rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-family:var(--font-d);font-weight:700;font-size:.93rem;color:var(--text);user-select:none;gap:1rem;transition:background .2s; }
.fq:hover { background:var(--bg2); }
.fqico { width:26px;height:26px;border-radius:50%;flex-shrink:0;background:var(--white);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--blue-dk);transition:transform .3s,background .2s,color .2s; }
.fitem.open .fqico { transform:rotate(45deg);background:var(--blue-dk);color:var(--white);border-color:var(--blue-dk); }
.fa { max-height:0;overflow:hidden;transition:max-height .4s var(--ease),padding .3s;padding:0 1.3rem;font-size:.88rem;color:var(--muted);line-height:1.72; }
.fitem.open .fa { max-height:260px;padding:0 1.3rem 1.05rem; }

/* ════════════════════════════════════════
   CONTACT FORM
════════════════════════════════════════ */
.con-bg {
  background:linear-gradient(150deg,var(--blue-dk) 0%,#1A5A9E 60%,#2070B8 100%);
  position:relative;overflow:hidden;
}
.con-bg::before { content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.05) 1px,transparent 0);background-size:38px 38px;pointer-events:none; }
.conglow { position:absolute;top:50%;right:-10%;transform:translateY(-50%);width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(29,158,117,.12) 0%,transparent 65%);pointer-events:none; }
.conin { max-width:1060px;margin:0 auto;display:grid;grid-template-columns:1fr 1.15fr;gap:4.5rem;align-items:start;position:relative; }
.conleft h2 { font-size:clamp(1.8rem,3.2vw,2.7rem);font-weight:900;color:var(--white);letter-spacing:-.04em;margin-bottom:.9rem;line-height:1.05; }
.conleft h2 span { color:#5DDDB5; }
.conleft>p { font-size:.95rem;color:rgba(255,255,255,.62);line-height:1.75;margin-bottom:1.8rem; }
.cilist { display:flex;flex-direction:column;gap:.75rem; }
.ciitem { display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);transition:background .2s,border-color .2s; }
.ciitem:hover { background:rgba(29,158,117,.12);border-color:rgba(29,158,117,.25); }
.ciico { width:36px;height:36px;border-radius:9px;background:rgba(55,138,221,.22);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff; }
.ciico svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cilbl { font-size:.66rem;color:rgba(255,255,255,.44);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.08rem; }
.cival { font-family:var(--font-d);font-weight:700;font-size:.9rem;color:var(--white); }
.cival a { color:var(--white);transition:color .2s; }
.cival a:hover { color:#B5D4F4; }
.cform { background:var(--white);border-radius:var(--rl);padding:2.2rem;box-shadow:0 24px 60px rgba(0,0,0,.2); }
.cftit { font-family:var(--font-d);font-weight:800;font-size:1.2rem;color:var(--text);margin-bottom:.22rem; }
.cfsub { font-size:.82rem;color:var(--muted);margin-bottom:1.6rem; }
.fgrid { display:grid;grid-template-columns:1fr 1fr;gap:.85rem; }
.fg { display:flex;flex-direction:column;gap:.34rem; }
.fg.full { grid-column:1/-1; }
.fg label { font-size:.7rem;font-weight:700;color:var(--blue-dk);letter-spacing:.05em;text-transform:uppercase; }
.fg input,.fg select,.fg textarea { padding:.68rem .95rem;border-radius:10px;border:1.5px solid var(--border);font-family:var(--font-b);font-size:.87rem;color:var(--text);background:var(--bg);outline:none;width:100%;transition:border-color .2s,box-shadow .2s,background .2s; }
.fg input:focus,.fg select:focus,.fg textarea:focus { border-color:var(--blue);box-shadow:0 0 0 3px rgba(55,138,221,.1);background:var(--white); }
.fg textarea { resize:none;height:100px;line-height:1.6; }
.btnsub { width:100%;padding:.9rem;border-radius:100px;border:none;cursor:pointer;background:linear-gradient(135deg,var(--blue-dk),var(--blue));color:var(--white);font-family:var(--font-d);font-weight:800;font-size:.93rem;display:flex;align-items:center;justify-content:center;gap:.45rem;transition:transform .2s,box-shadow .2s,background .2s;margin-top:1rem; }
.btnsub:hover { background:linear-gradient(135deg,var(--mint),#2DC890);transform:translateY(-2px);box-shadow:0 10px 28px rgba(29,158,117,.4); }
.form-ok { display:none;text-align:center;padding:2.2rem .5rem; }
.fokico { font-size:2.6rem;margin-bottom:.8rem; }
.form-ok h3 { font-family:var(--font-d);font-weight:800;font-size:1.25rem;color:var(--blue-dk);margin-bottom:.38rem; }
.form-ok p { font-size:.86rem;color:var(--muted); }

/* ════════════════════════════════════════
   FOOTER (WHITE)
════════════════════════════════════════ */
footer { background:var(--white);border-top:1.5px solid var(--border);padding:4rem 4vw 2rem; }
.fin { max-width:1160px;margin:0 auto; }
.fgrid-f { display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:2.8rem;margin-bottom:2.8rem; }
.flogo { height:88px; width:auto; max-width:360px; object-fit:contain; margin-bottom:1rem; }
.fdesc { color:var(--muted);font-size:.85rem;line-height:1.7;max-width:230px;margin-bottom:1.1rem; }
.fcon { display:flex;flex-direction:column;gap:.5rem; }
.fcon a { display:flex;align-items:center;gap:.42rem;color:var(--muted);font-size:.84rem;font-weight:500;transition:color .2s; }
.fcon a:hover { color:var(--blue); }
.fcol h4 { font-family:var(--font-d);font-weight:700;font-size:.72rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.9rem; }
.fcol ul { list-style:none;display:flex;flex-direction:column;gap:.52rem; }
.fcol ul a { color:var(--muted);font-size:.84rem;transition:color .2s; }
.fcol ul a:hover { color:var(--blue-dk); }
.fbot { border-top:1px solid var(--border);padding-top:1.3rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.9rem; }
.fcopy { font-size:.76rem;color:var(--muted); }
.flegal { display:flex;gap:1.3rem; }
.flegal a { font-size:.76rem;color:var(--muted);transition:color .2s; }
.flegal a:hover { color:var(--blue-dk); }

/* ════════════════════════════════════════
   WA FLOAT & BACK TOP
════════════════════════════════════════ */
.wafloat { position:fixed;bottom:26px;right:22px;z-index:400;width:54px;height:54px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(37,211,102,.5);transition:transform .25s,box-shadow .25s;animation:fu .6s var(--ease-o) 1.5s both; }
.wafloat:hover { transform:scale(1.1);box-shadow:0 10px 36px rgba(37,211,102,.65); }
.wafloat svg { width:28px;height:28px;fill:#fff; }
.wa-ring { position:absolute;inset:-4px;border-radius:50%;border:2.5px solid rgba(37,211,102,.35);animation:waring 2.5s ease-out infinite; }
.wa-tip { position:absolute;right:64px;top:50%;transform:translateY(-50%);background:var(--text);color:#fff;font-family:var(--font-d);font-weight:600;font-size:.72rem;white-space:nowrap;padding:.32rem .75rem;border-radius:8px;pointer-events:none;opacity:0;transition:opacity .2s; }
.wa-tip::after { content:'';position:absolute;right:-5px;top:50%;transform:translateY(-50%);border-left:5px solid var(--text);border-top:5px solid transparent;border-bottom:5px solid transparent; }
.wafloat:hover .wa-tip { opacity:1; }
@keyframes waring { 0%{transform:scale(1);opacity:.6} 100%{transform:scale(1.6);opacity:0} }
#btop { position:fixed;bottom:96px;right:84px;z-index:400;width:40px;height:40px;border-radius:50%;background:var(--white);border:1.5px solid var(--border);color:var(--blue-dk);display:flex;align-items:center;justify-content:center;font-size:.95rem;cursor:pointer;box-shadow:0 4px 14px rgba(12,68,124,.1);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s,box-shadow .2s; }
#btop.show { opacity:1;pointer-events:auto; }
#btop:hover { transform:translateY(-3px);box-shadow:0 8px 22px rgba(12,68,124,.18);color:var(--mint);border-color:var(--mint); }

/* ════════════════════════════════════════
   RESPONSIVE — TABLET
════════════════════════════════════════ */
@media (max-width:1024px) {
  .pgrid { grid-template-columns:repeat(2,1fr); }
  .bgrid { grid-template-columns:repeat(2,1fr); }
  .tgrid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px) {
  .hero-inner { grid-template-columns:1fr;gap:2.8rem; }
  .hright { order:-1;max-width:440px;margin:0 auto; }
  .pinner { grid-template-columns:repeat(2,1fr); }
  .pstat+.pstat:nth-child(3) { border-left:none; }
  .procg { grid-template-columns:1fr;gap:2.2rem; }
  .procg::before { display:none; }
  .conin { grid-template-columns:1fr;gap:2.8rem; }
  .fgrid-f { grid-template-columns:1fr 1fr; }
  .nav-links,.nav-acts { display:none; }
  .ham { display:flex; }


  .nav-logo img { height:56px; max-width:250px; }
}

/* ════════════════════════════════════════
   RESPONSIVE — MOBILE (≤640px)
════════════════════════════════════════ */
@media (max-width:640px) {
  /* ── NAV ── */
  nav { height:70px; padding:0 4vw; }
  .nav-logo img { height:48px; max-width:216px; }
  #pgbar { top:0; }
  #catbar { top:73px; }

  /* ── HERO ── */
  .hero { padding:92px 4vw 60px; min-height:auto; }
  .htitle { font-size:clamp(2rem,7.5vw,2.8rem); }
  .hsub   { font-size:.9rem; margin-bottom:1.8rem; }
  .hero-perks { margin:-.75rem 0 1.25rem;gap:.42rem; }
  .hero-perk { font-size:.67rem;padding:.32rem .62rem; }
  .hbtns  { flex-direction:column; align-items:stretch; gap:.65rem; }
  .btnhp,.btnhg { text-align:center; justify-content:center; font-size:.9rem; padding:.82rem 1.4rem; }
  .hbadge { font-size:.66rem; padding:.32rem .85rem; margin-bottom:1.2rem; }
  .hcards { grid-template-columns:1fr 1fr; gap:.7rem; }
  .hcard  { padding:.9rem; }
  .hcard.wide { padding:.9rem 1rem; }
  .hci    { font-size:1.5rem; margin-bottom:.45rem; }
  .hcard h4 { font-size:.82rem; }
  .hcard p  { font-size:.7rem; }
  .hwave { height:50px; }

  /* ── SECTIONS ── */
  .section { padding:4rem 4vw; }
  .sh      { margin-bottom:2.2rem; }
  .stitle  { font-size:clamp(1.65rem,6vw,2.2rem); }
  .ssub    { font-size:.9rem; }

  /* ── PROOF BAR ── */
  .pbar  { padding:1.8rem 4vw; }
  .pinner { grid-template-columns:1fr 1fr; }
  .pstat  { padding:.7rem .5rem; }
  .pstat+.pstat { border-left:none; }
  .pstat:nth-child(1),.pstat:nth-child(2) { border-bottom:1px solid var(--border); }
  .pstat:nth-child(3)  { border-left:none; }
  .pnum  { font-size:clamp(1.6rem,6vw,2.2rem); }
  .plbl  { font-size:.72rem; }

  /* ── PRODUCTS GRID ── */
  .pgrid { grid-template-columns:1fr; gap:1rem; }
  .bgrid { grid-template-columns:1fr; gap:1rem; }
  .tgrid { grid-template-columns:1fr; gap:1rem; }

  /* ── PRICE LIST ── */
  .plc   { flex-direction:column; align-items:stretch; gap:.7rem; }
  .plsearch input { font-size:.87rem; }
  .ctabs { gap:.35rem; }
  .ctab  { font-size:.68rem; padding:.28rem .75rem; }
  .plwrap { border-radius:14px; overflow:visible; background:transparent; border:none; box-shadow:none; }
  .pltable,.pltable tbody,.pltable tr,.pltable td { display:block; }
  .pltable { min-width:0; border-collapse:separate; }
  .pltable thead { display:none; }
  .pltable tbody { display:grid; gap:.75rem; }
  .pltable tbody tr {
    display:grid;
    grid-template-columns:58px 1fr auto;
    grid-template-rows:auto auto auto;
    column-gap:.75rem;
    row-gap:.45rem;
    align-items:center;
    background:var(--white);
    border:1px solid var(--border);
    border-radius:16px;
    padding:.82rem;
    box-shadow:0 12px 30px rgba(12,68,124,.08);
  }
  .pltable tbody tr:hover { box-shadow:0 12px 30px rgba(12,68,124,.1); }
  .col-code { display:none; }
  .col-cat  { display:none; }
  .pltable td { padding:0; border:0; }
  .tdimg { grid-column:1; grid-row:1 / span 2; width:auto; padding:0!important; }
  .pimg,.pimg-ph { width:54px; height:54px; border-radius:12px; }
  .tdname { grid-column:2; grid-row:1; min-width:0; }
  .pltable td:nth-child(4) { grid-column:2; grid-row:2; }
  .pltable td:nth-child(5) { grid-column:3; grid-row:1; text-align:right; align-self:start; }
  .pltable td:nth-child(6) { grid-column:3; grid-row:2; text-align:right; align-self:center; }
  .pltable td:nth-child(7) { grid-column:1 / -1; grid-row:3; align-self:end; }
  .tdname   { font-size:.82rem; line-height:1.35; }
  .tdunit   { font-size:.66rem; padding:.14rem .45rem; }
  .tdprice  { font-size:.98rem; }
  .tdprice-label { font-size:.54rem; }
  .btnadd   { width:100%; height:36px; font-size:1rem; justify-content:center; }
  .btnadd .btnadd-text { display:inline; }
  .pmicro { margin-top:.3rem; }

  /* ── PROCESS ── */
  .procg { grid-template-columns:1fr; gap:1.8rem; }
  .procg::before { display:none; }
  .pstep { padding:0 .5rem; }
  .psnum { width:52px; height:52px; font-size:1.2rem; }
  .psicon { font-size:1.3rem; margin-bottom:.65rem; }
  .pstep h3 { font-size:.95rem; }
  .pstep p  { font-size:.84rem; }

  /* ── COTIZADOR – full-sheet on mobile ── */
  #cotpanel {
    width:100%; max-height:90vh;
    border-radius:20px 20px 0 0;
    border-left:none; border-top:1px solid var(--border);
  }
  .cot-head { padding:1rem 1.1rem; }
  .cot-head h3 { font-size:.95rem; }
  .cotmode-info { margin:.75rem 1.1rem 0; font-size:.68rem; padding:.5rem .65rem; }
  .cot-list { padding:.65rem 1.1rem; }
  .cot-item { padding:.55rem .65rem; gap:.55rem; }
  .ci-name  { font-size:.79rem; }
  .ci-meta  { font-size:.66rem; }
  .ci-qty button { width:26px; height:26px; }
  .ci-price { font-size:.85rem; }
  .cot-foot { padding:.8rem 1.1rem; }
  .cot-total strong { font-size:1.1rem; }
  .btnwa-cot { padding:.82rem; font-size:.9rem; }
  .btnclear  { font-size:.76rem; }
  #cotbtn    { bottom:80px; right:16px; width:50px; height:50px; font-size:1.2rem; }
  #cotbadge  { width:18px; height:18px; font-size:.62rem; top:-4px; right:-4px; }

  /* ── BACK TOP (hide on mobile — cotizador takes that spot) ── */
  #btop { display:none; }

  /* ── CONTACT FORM ── */
  .conin  { grid-template-columns:1fr; gap:2.2rem; }
  .fgrid  { grid-template-columns:1fr; }
  .fg:not(.full) { grid-column:auto; }
  .cform  { padding:1.4rem; border-radius:14px; }
  .cftit  { font-size:1.1rem; }

  /* ── FOOTER ── */
  .fgrid-f { grid-template-columns:1fr; gap:1.8rem; }
  .flogo { height:88px; width:auto; max-width:360px; object-fit:contain; margin-bottom:1rem; }
  .fdesc   { max-width:100%; }
  .fbot    { flex-direction:column; align-items:flex-start; gap:.6rem; }
  .flegal  { gap:1rem; }
  footer   { padding:3rem 4vw 1.8rem; }

  /* ── WA FLOAT ── */
  .wafloat { bottom:16px; right:16px; width:50px; height:50px; }
  .wafloat svg { width:26px; height:26px; }
  .wa-tip  { display:none; }
  .wa-ring { inset:-3px; }
}

/* ── Aviso de precios ── */
.price-notice{display:flex;align-items:flex-start;gap:.9rem;background:linear-gradient(135deg,rgba(12,68,124,.07),rgba(29,158,117,.05));border:1.5px solid var(--blue-lt);border-left:4px solid var(--blue-dk);border-radius:var(--rl);padding:1rem 1.2rem;margin-bottom:1.3rem}
.pn-icon{font-size:1.4rem;flex-shrink:0;margin-top:.05rem}
.pn-title{font-family:var(--font-d);font-weight:800;font-size:.9rem;color:var(--blue-dk);margin-bottom:.5rem;letter-spacing:-.02em}
.pn-items{display:flex;flex-wrap:wrap;gap:.5rem}
.pn-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--text);background:var(--white);border:1px solid var(--border);border-radius:100px;padding:.28rem .78rem}
.pn-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.pn-dot-blue{background:var(--blue-dk)}
.pn-dot-mint{background:var(--mint)}
.ci-rule{display:inline-block;font-size:.65rem;font-weight:700;font-family:var(--font-d);padding:.16rem .5rem;border-radius:100px;margin-top:.2rem}
.ci-rule-warn{background:rgba(220,38,38,.1);color:#B91C1C}
.ci-rule-may{background:var(--mint-lt);color:var(--mint)}
.cot-rule-banner{background:rgba(12,68,124,.06);border:1px solid var(--blue-lt);border-radius:9px;padding:.6rem .9rem;font-size:.77rem;font-weight:600;color:var(--blue-dk);margin:.5rem 1.2rem 0;line-height:1.5}
.ci-qty button:disabled{opacity:.28;cursor:not-allowed;pointer-events:none}
@media(max-width:640px){.price-notice{flex-direction:column;gap:.55rem}.pn-items{flex-direction:column;gap:.35rem}}
