/* ==========================================================================
   UV-Life · Landing Desinfección Portátil (Stick + StickBox)
   Hoja de estilos autónoma para child theme Basel.
   Línea gráfica: sistema index-v6 (Poppins + violeta UV).

   IMPORTANTE: todos los selectores están encapsulados bajo .landing-portatil
   para evitar cualquier conflicto con los estilos del tema principal.
   ========================================================================== */

.landing-portatil{
  /* Paleta y tokens del sistema UV-Life */
  --ink:#1b1436; --muted:#6b6488; --line:#e9e4f6;
  --violet:#7c4dff; --violet-d:#5f2fe0; --violet-l:#a78bfa; --violet-bright:#7c4dff;
  --uv-glow:#a78bfa; --lav:#c9b6ff;
  --aqua:#22b8d6; --aqua-d:#128aa6; --aqua-l:#7fe3f0;
  --bg:#ffffff; --paper:#ffffff; --soft:#f7f5ff; --dark:#150d2e; --dark2:#1f1544;
  --amber:#e08a1e; --wa:#25d366; --danger:#e0413b;
  --rad:16px; --shadow:0 20px 44px -22px rgba(60,30,140,.45);

  font-family:'Poppins',system-ui,-apple-system,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

/* Reset acotado al contenedor */
.landing-portatil *,
.landing-portatil *::before,
.landing-portatil *::after{box-sizing:border-box;margin:0;padding:0}
.landing-portatil img{max-width:100%;display:block}
.landing-portatil a{text-decoration:none;color:var(--violet-d)}
.landing-portatil ul{list-style:none}
.landing-portatil h1,
.landing-portatil h2,
.landing-portatil h3,
.landing-portatil h4{letter-spacing:-.02em;line-height:1.15;font-family:inherit}

.landing-portatil .wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.landing-portatil .gradtext{background:linear-gradient(100deg,#c9b6ff 0%,#a78bfa 40%,#7c4dff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.landing-portatil .txt-white{color:#fff}

.landing-portatil .eyebrow{display:inline-block;font-weight:600;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--violet-d);background:#efeaff;padding:6px 14px;border-radius:100px;margin-bottom:16px}
.landing-portatil .eyebrow.light{background:rgba(255,255,255,.14);color:#dccdff}
.landing-portatil .eyebrow--center{display:block;width:max-content;margin-left:auto;margin-right:auto}

/* --------------------------------------------------------------- BOTONES */
.landing-portatil .btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.96rem;padding:13px 24px;border-radius:100px;transition:transform .15s,box-shadow .15s,background .15s;cursor:pointer;border:0;line-height:1.2}
.landing-portatil .btn-primary{background:var(--violet);color:#fff;box-shadow:0 12px 26px -12px rgba(124,77,255,.7)}
.landing-portatil .btn-primary:hover{background:var(--violet-d);color:#fff;transform:translateY(-2px)}
.landing-portatil .btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5)}
.landing-portatil .btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.landing-portatil .btn-outline{background:transparent;color:var(--violet-d);border:1.5px solid var(--violet)}
.landing-portatil .btn-outline:hover{background:var(--violet);color:#fff;transform:translateY(-2px)}
.landing-portatil .btn-wa{background:var(--wa);color:#fff;box-shadow:0 12px 26px -12px rgba(37,211,102,.7)}
.landing-portatil .btn-wa:hover{background:#1eb856;color:#fff;transform:translateY(-2px)}



/* ------------------------------------------------------------------ HERO */
.landing-portatil .hero{position:relative;background:radial-gradient(120% 120% at 80% 0%,#3a2470 0%,#231a56 45%,#150d2e 100%);color:#efeafe;overflow:hidden}
.landing-portatil .hero-in{padding:70px 0 54px;text-align:center}
.landing-portatil .hero h1{font-size:clamp(2.1rem,4.6vw,3.35rem);font-weight:800;color:#fff;margin-bottom:18px;max-width:16em;margin-left:auto;margin-right:auto}
.landing-portatil .hero .lead{font-size:1.12rem;color:#d3caf0;margin:0 auto 26px;max-width:44em}
.landing-portatil .chips{display:flex;flex-wrap:wrap;gap:9px;margin:0 auto 30px;justify-content:center}
.landing-portatil .chip{font-size:.82rem;font-weight:500;background:rgba(255,255,255,.08);border:1px solid rgba(167,139,250,.45);color:#efe8ff;padding:7px 13px;border-radius:100px}
.landing-portatil .hero-figs{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:960px;margin:0 auto}
.landing-portatil .hero-fig{background:linear-gradient(160deg,#ffffff,#f1ecfb);border-radius:var(--rad);padding:12px;box-shadow:0 34px 70px -26px rgba(0,0,0,.7);border:1px solid rgba(167,139,250,.25)}
.landing-portatil .hero-fig .imgbox{border-radius:10px;overflow:hidden;aspect-ratio:3/2;background:#fff;display:flex;align-items:center;justify-content:center;padding:10px}
.landing-portatil .hero-fig img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.landing-portatil .hero-fig figcaption{padding:12px 10px 6px;font-size:.88rem;font-weight:600;color:var(--ink);text-align:center}
.landing-portatil .hero-fig figcaption span{display:block;font-weight:400;font-size:.78rem;color:var(--muted);margin-top:2px}
@media(max-width:640px){
  .landing-portatil .hero-figs{grid-template-columns:1fr}
  .landing-portatil .hero-in{padding:52px 0 44px}
}

/* ----------------------------------------------------------------- TRUST */
.landing-portatil .trust{border-top:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.18)}
.landing-portatil .trust-in{display:flex;flex-wrap:wrap;gap:14px 34px;padding:20px 0;justify-content:space-between}
.landing-portatil .t-item{font-size:.9rem;color:#c8bfe6}
.landing-portatil .t-item b{color:#fff;font-weight:600}

/* -------------------------------------------------------------- SECCIONES */
.landing-portatil .sec{padding:74px 0}
.landing-portatil .sec-head{max-width:760px;margin-bottom:40px}
.landing-portatil .sec-head--center{margin-left:auto;margin-right:auto;text-align:center}
.landing-portatil .sec-head .eyebrow{margin-bottom:14px}
.landing-portatil .sec h2{font-size:clamp(1.7rem,3vw,2.35rem);font-weight:700;margin-bottom:12px;color:var(--ink)}
.landing-portatil .sec-head p{color:var(--muted);font-size:1.05rem}

/* ----------------------------------------------------- SPLIT dos formatos */
.landing-portatil .split{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:8px}
.landing-portatil .split .col{background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:28px;box-shadow:0 8px 22px -16px rgba(60,30,140,.3)}
.landing-portatil .split .col .ic{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:14px;background:#efeaff}
.landing-portatil .split .col.air .ic{background:#eafaff}
.landing-portatil .split .col h3{font-size:1.25rem;font-weight:700;margin-bottom:8px;color:var(--ink)}
.landing-portatil .split .col p{color:var(--muted);font-size:.96rem}
@media(max-width:860px){.landing-portatil .split{grid-template-columns:1fr}}

/* ------------------------------------------------------ GRILLA PRODUCTOS */
.landing-portatil .equip{background:var(--soft)}
.landing-portatil .prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.landing-portatil .prod-grid--2{grid-template-columns:repeat(2,1fr);max-width:820px;margin:0 auto}
.landing-portatil .card{background:#fff;border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;box-shadow:0 14px 40px -24px rgba(60,30,140,.4);display:flex;flex-direction:column;transition:transform .16s,box-shadow .16s}
.landing-portatil .card:hover{transform:translateY(-5px);box-shadow:0 22px 48px -24px rgba(60,30,140,.55)}
.landing-portatil .card-img{position:relative;background:#fff;padding:20px;display:flex;align-items:center;justify-content:center;min-height:210px}
.landing-portatil .card-img img{max-height:230px;width:auto;object-fit:contain}
.landing-portatil .card-tag{position:absolute;top:14px;left:14px;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:100px}
.landing-portatil .card-tag.combo{background:#efeaff;color:var(--violet-d)}
.landing-portatil .card-tag.pro{background:#eafaff;color:var(--aqua-d)}
.landing-portatil .card-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.landing-portatil .card-body h3{font-size:1.2rem;font-weight:700;margin-bottom:10px;color:var(--ink)}
.landing-portatil .card-body ul{display:grid;gap:0;margin-bottom:16px}
.landing-portatil .card-body li{position:relative;padding:9px 0 9px 28px;font-size:.9rem;color:var(--ink);border-bottom:1px solid var(--line)}
.landing-portatil .card-body li:last-child{border-bottom:0}
.landing-portatil .card-body li::before{content:"";position:absolute;left:0;top:11px;width:17px;height:17px;background:var(--violet) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat;border-radius:50%}
.landing-portatil .card-body li.no::before{background:var(--danger) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") center/11px no-repeat}
.landing-portatil .price{font-size:1.65rem;font-weight:800;color:var(--violet-d);margin-bottom:16px}
.landing-portatil .price small{font-size:.8rem;font-weight:500;color:var(--muted)}
.landing-portatil .card-btns{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}
.landing-portatil .card-btns .btn{flex:1 1 0;justify-content:center;min-width:120px;padding:11px 14px;font-size:.9rem}
@media(max-width:960px){.landing-portatil .prod-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){
  .landing-portatil .prod-grid,
  .landing-portatil .prod-grid--2{grid-template-columns:1fr}
}

.landing-portatil .equip-note{max-width:820px;margin:30px auto 0;background:#fff;border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:12px;padding:16px 20px;font-size:.92rem;color:var(--muted)}
.landing-portatil .equip-note b{color:var(--ink)}

/* ----------------------------------------------------------------- PASOS */
.landing-portatil .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.landing-portatil .step{background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:26px 24px;box-shadow:0 8px 22px -16px rgba(60,30,140,.3);transition:transform .16s,box-shadow .16s}
.landing-portatil .step:hover{transform:translateY(-4px);box-shadow:0 20px 44px -24px rgba(60,30,140,.5)}
.landing-portatil .step .n{width:38px;height:38px;border-radius:50%;background:var(--violet);color:#fff;font-weight:700;font-size:.95rem;display:flex;align-items:center;justify-content:center;margin-bottom:14px;box-shadow:0 10px 20px -10px rgba(124,77,255,.8)}
.landing-portatil .step h3{font-size:1.08rem;font-weight:700;margin-bottom:6px;color:var(--ink)}
.landing-portatil .step p{color:var(--muted);font-size:.93rem}
.landing-portatil .steps-block+.steps-block{margin-top:40px}
.landing-portatil .steps-title{font-size:1.05rem;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--ink)}
.landing-portatil .steps-title span{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:100px;background:#efeaff;color:var(--violet-d)}
@media(max-width:860px){.landing-portatil .steps{grid-template-columns:1fr}}

/* ---------------------------------------------------------------- TABLAS */
.landing-portatil .tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--rad);background:#fff;box-shadow:0 14px 40px -30px rgba(60,30,140,.5)}
.landing-portatil table.uvt{width:100%;border-collapse:collapse;font-size:.93rem;min-width:460px}
.landing-portatil table.uvt th,
.landing-portatil table.uvt td{padding:14px 20px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.landing-portatil table.uvt thead th{background:var(--dark);color:#fff;font-weight:600;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:0}
.landing-portatil table.uvt tbody th{color:var(--muted);font-weight:500;width:46%;background:#fbfaff}
.landing-portatil table.uvt tbody tr:last-child th,
.landing-portatil table.uvt tbody tr:last-child td{border-bottom:0}
.landing-portatil .specs-wrap{max-width:820px;margin:0 auto}

/* ------------------------------------------------------------------- FAQ */
.landing-portatil .faq{background:var(--soft)}
.landing-portatil .faq-list{max-width:840px;margin:38px auto 0;display:grid;gap:12px}
.landing-portatil .faq-item{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.landing-portatil .faq-item summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:600;font-size:1rem;color:var(--ink);display:flex;justify-content:space-between;gap:16px;align-items:center}
.landing-portatil .faq-item summary::-webkit-details-marker{display:none}
.landing-portatil .faq-item summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--violet-d);flex:none}
.landing-portatil .faq-item[open] summary::after{content:"–"}
.landing-portatil .faq-item .a{padding:0 22px 20px;color:var(--muted);font-size:.96rem;line-height:1.62}

/* ------------------------------------------------------------- CTA FINAL */
.landing-portatil .final-sec{background:#fff}
.landing-portatil .final{background:radial-gradient(900px 500px at 50% 0%,#3a2470 0%,#231a56 55%,#150d2e 100%);border-radius:32px;color:#fff;text-align:center;padding:66px 40px;position:relative;overflow:hidden}
.landing-portatil .final .eyebrow{margin-bottom:16px}
.landing-portatil .final h2{color:#fff;font-size:clamp(1.8rem,3.2vw,2.5rem);margin-bottom:12px}
.landing-portatil .final p{color:#d3e6f0;max-width:42em;margin:0 auto 26px;font-size:1.06rem}
.landing-portatil .cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@media(max-width:520px){.landing-portatil .final{padding:48px 22px}}


/* ----------------------------------------------------------- ACCESIBILIDAD */
@media(prefers-reduced-motion:reduce){
  .landing-portatil *{transition:none !important;animation:none !important}
}
