/* v2 · tienda con precios, pedidos, banners y páginas legales (se carga después de style.css) */
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#04142b;padding:10px 16px;z-index:200;border-radius:0 0 10px 0}
.skip:focus{left:0}
.topbar{position:fixed;inset:0 0 auto 0;z-index:51;height:34px;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#0b86e0,#22d3ee);color:#03223f;font-weight:600;font-size:.84rem;padding:0 14px;text-align:center;transition:transform .3s}
.topbar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar.gone{transform:translateY(-100%)}
.nav{top:34px;transition:top .3s,background .3s,box-shadow .3s}
.nav.solid,.topbar[hidden]+.nav{top:0}
.section.tight{padding-bottom:clamp(30px,5vw,60px)}
.section.dark .kicker{color:var(--aqua)}
.btn-light{background:#fff;color:#04336b;box-shadow:0 12px 30px -12px rgba(0,0,0,.5)}
.toolbar{grid-template-columns:1fr 210px 190px 200px}

/* ---- ventajas ---- */
.trust{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:2}
.trust-in{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:22px 0}
.trust-item{display:flex;align-items:center;gap:14px;padding:6px 10px}
.trust-item svg{color:var(--ocean-2);flex:none}
.trust-item b{display:block;font-size:.95rem;color:var(--text)}
.trust-item span{font-size:.82rem;color:var(--muted)}

/* ---- banners ---- */
.promos{padding:34px 0 0;background:#fff}
.slider{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}
.slides{display:flex;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.slide{--c:#0a5bb5;flex:0 0 100%;min-height:300px;display:flex;align-items:center;position:relative;overflow:hidden;color:#fff;padding:44px clamp(24px,6vw,70px);background:linear-gradient(120deg,color-mix(in srgb,var(--c) 70%,#020b1a),var(--c) 55%,color-mix(in srgb,var(--c) 60%,#22d3ee));background-size:cover;background-position:center}
.sl-txt{position:relative;z-index:2;max-width:560px}
.sl-k{font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.85}
.slide h2{font-size:clamp(1.7rem,4vw,2.9rem);margin:10px 0 12px;font-weight:800}
.slide p{margin:0 0 22px;font-size:1.05rem;opacity:.95;max-width:46ch}
.sl-art{position:absolute;inset:0;pointer-events:none}
.sl-art i{position:absolute;border-radius:50%;border:2px solid rgba(255,255,255,.16)}
.sl-art i:nth-child(1){width:420px;height:420px;right:-90px;top:-120px;box-shadow:0 0 0 40px rgba(255,255,255,.05),0 0 0 90px rgba(255,255,255,.035)}
.sl-art i:nth-child(2){width:180px;height:180px;right:22%;bottom:-70px;background:rgba(255,255,255,.07);border:0;animation:floaty 7s ease-in-out infinite}
.sl-art i:nth-child(3){width:70px;height:70px;right:12%;top:26%;background:rgba(255,255,255,.14);border:0;animation:floaty 5s ease-in-out infinite reverse}
.slide.has-img .sl-art{display:none}
@keyframes floaty{50%{transform:translateY(-16px)}}
.sl-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:1.6rem;line-height:1;backdrop-filter:blur(6px);z-index:3}
.sl-arrow:hover{background:rgba(255,255,255,.35)}
.sl-arrow.prev{left:12px}.sl-arrow.next{right:12px}
.sl-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:8px;z-index:3}
.sl-dots button{width:10px;height:10px;border-radius:99px;border:0;background:rgba(255,255,255,.45);padding:0;transition:.3s}
.sl-dots button.on{width:28px;background:#fff}

/* ---- tarjetas de producto (sin solapes) ---- */
.card{position:relative;cursor:default;display:flex;flex-direction:column}
.card-hit{position:absolute;inset:0;z-index:1;background:none;border:0;border-radius:20px;cursor:pointer}
.card .ph{aspect-ratio:4/3;overflow:hidden;padding:22px 18px 14px;display:flex;align-items:center;justify-content:center;background:#fff;border-bottom:1px solid #eef3f8;position:relative}
.card .ph img{width:100%;height:100%;max-height:none;object-fit:contain;transition:transform .45s ease;transform:none}
.card:hover .ph img{transform:scale(1.045)}
.card .noimg{color:var(--muted);font-size:.85rem}
.card .tag{z-index:2;pointer-events:none}
.card .info{padding:14px 16px 16px;gap:6px}
.card .brandname{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.card h3{-webkit-line-clamp:2;min-height:2.6em;overflow-wrap:anywhere}
.card .meta{margin-top:auto;padding-top:8px;gap:8px;align-items:baseline}
.price{font-family:var(--font-d);font-weight:700;color:var(--text);font-size:1.02rem;white-space:nowrap}
.price small{font-family:var(--font-b);font-weight:500;color:var(--muted);font-size:.72rem}
.price.ask{color:var(--ocean);font-size:.86rem;background:var(--foam);padding:3px 10px;border-radius:99px}
.card .add{position:relative;z-index:2;width:100%;cursor:pointer}
.card .add:hover{background:var(--ocean-2);color:#fff}
.line-card h3{margin-top:auto}

/* ---- modal ---- */
.m-brand{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.m-desc{margin:0 0 16px;color:var(--text)}
.m-sec{margin-bottom:12px}
.vrow .vr{display:block;color:var(--text)}
.vp{display:block;font-weight:700;margin-top:2px}
.vp.ask{color:var(--ocean);font-weight:600;font-size:.86rem}
.specs{margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:0 14px}
.specs summary{cursor:pointer;font-weight:600;padding:12px 0}
.specs table{width:100%;border-collapse:collapse;font-size:.86rem;margin-bottom:10px}
.specs th{text-align:left;font-weight:600;color:var(--muted);padding:6px 10px 6px 0;vertical-align:top;width:44%}
.specs td{padding:6px 0;overflow-wrap:anywhere}
.specs tr+tr{border-top:1px solid #eef3f8}

/* ---- carrito y checkout ---- */
.item .ip{font-weight:700;font-size:.88rem;margin-top:2px}
.d-total{display:flex;justify-content:space-between;align-items:baseline;font-size:1rem}
.d-total b{font-family:var(--font-d);font-size:1.35rem}
.d-hint{margin:0;font-size:.8rem;color:var(--muted)}
.modal.co{display:block;max-width:720px;padding:30px clamp(18px,4vw,34px)}
.co-form h3,.co-done h3{font-size:1.5rem;margin-bottom:4px}
.co-sub{color:var(--muted);margin:0 0 18px}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.f-field.wide{grid-column:1/-1}
.f-field select{border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;color:var(--text);background:#fff}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{outline:0;border-color:var(--ocean-2)}
.pay{border:0;padding:0;margin:18px 0 12px;display:grid;gap:10px}
.pay legend{font-weight:700;margin-bottom:8px;padding:0}
.pay-opt{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer}
.pay-opt:has(input:checked){border-color:var(--ocean-2);background:var(--foam)}
.pay-opt input{margin-top:4px;accent-color:var(--ocean)}
.pay-opt small{display:block;color:var(--muted)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;color:var(--muted);margin:10px 0 14px}
.check input{margin-top:3px;accent-color:var(--ocean);flex:none}
.check a{color:var(--ocean)}
.co-sum{background:#f6fafd;border-radius:14px;padding:14px;margin-bottom:14px}
.sum-list{display:grid;gap:6px;font-size:.88rem;max-height:150px;overflow:auto}
.sum-list div,.sum-tot{display:flex;justify-content:space-between;gap:14px}
.sum-list b{white-space:nowrap}
.sum-tot{border-top:1px solid var(--line);margin-top:10px;padding-top:10px;font-size:1.05rem}
.co-err{background:#fdecea;color:#a12a1a;border-radius:10px;padding:10px 12px;font-size:.9rem;margin:0 0 12px}
.co-done{text-align:center;display:grid;gap:12px;justify-items:center}
.ok-ico{width:64px;height:64px;border-radius:50%;background:#16a34a;color:#fff;font-size:2rem;display:grid;place-items:center}
.co-done .num{font-size:1.05rem;margin:0}
.bank{display:grid;gap:4px;background:var(--foam);border:1px dashed var(--ocean-2);border-radius:14px;padding:14px 20px;width:100%}
.bank .acc{font-family:var(--font-d);font-size:1.5rem;font-weight:700;letter-spacing:.04em}

/* ---- cómo comprar ---- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:24px}
.step .n{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--aqua),var(--ocean-2));color:#032042;font-weight:800;font-family:var(--font-d);margin-bottom:14px}
.step h3{color:#fff;font-size:1.15rem;margin-bottom:8px}
.step p{margin:0;color:#b9d3ee;font-size:.95rem}
.step b{color:#fff}
.envio-nota{margin-top:22px;color:#b9d3ee;font-size:.95rem}
.envio-nota b{color:#fff}

/* ---- pie ---- */
.footer{padding:50px 0 20px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:30px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:18px}
.foot-grid h4{color:#fff;font-family:var(--font-d);margin:0 0 12px;font-size:1rem}
.foot-grid a,.foot-grid span{display:block;color:#9db6d3;text-decoration:none;margin-bottom:8px;overflow-wrap:anywhere}
.foot-grid a:hover{color:#fff}
.foot-logo{background:#fff;border-radius:99px;padding:8px 16px;height:46px;width:auto;margin-bottom:14px}
.pay-tags i{display:inline-block;font-style:normal;font-size:.76rem;font-weight:600;border:1px solid rgba(255,255,255,.25);border-radius:99px;padding:3px 10px;margin:4px 6px 0 0;color:#cfe3f7}
.wa-float{position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(0,0,0,.45);z-index:40;transition:transform .2s}
.wa-float:hover{transform:scale(1.08)}

/* ---- páginas legales ---- */
.legal-top{background:linear-gradient(135deg,#04142b,#07306a);padding:18px max(20px,calc((100% - 900px)/2));display:flex;align-items:center;justify-content:space-between;gap:14px}
.legal-top a.back{color:#cfe3f7;text-decoration:none;font-weight:600}
.legal{width:min(900px,100% - 40px);margin:40px auto 80px}
.legal h1{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:8px}
.legal h2{font-size:1.25rem;margin:34px 0 10px}
.legal p,.legal li{color:#33485f}
.legal .upd{color:var(--muted);font-size:.9rem}
.legal a{color:var(--ocean)}

@media (max-width:1020px){
  .toolbar{grid-template-columns:1fr 1fr 1fr}.toolbar .search{grid-column:1/-1}
  .trust-in{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){ .slide{min-height:260px} .sl-arrow{display:none} }
@media (max-width:560px){
  .toolbar{grid-template-columns:1fr 1fr}.toolbar .select:last-child{grid-column:1/-1}
  .f-grid{grid-template-columns:1fr}
  .trust-in{gap:4px;padding:14px 0}.trust-item{gap:10px;padding:6px 2px}.trust-item span{display:none}.trust-item b{font-size:.84rem}
  .card .ph{padding:16px 10px 8px}.card .meta{flex-direction:column;align-items:flex-start;gap:4px}
  .foot-grid{grid-template-columns:1fr}
  .topbar{font-size:.74rem}
  .wa-float{width:52px;height:52px;right:12px;bottom:12px}
}

/* ---- ajustes finos ---- */
.nav-links a{white-space:nowrap}
.hero-tools{right:max(92px,calc((100% - 1240px)/2 + 72px))}
.hero{padding-top:34px}
.legal-top .brand img{height:30px}
@media (max-width:1100px){.cart-label{display:none}.nav-links a{padding:9px 10px;font-size:.9rem}}
@media (max-width:820px){.hero-tools{left:20px;right:auto}.nav-links{top:108px}.nav.solid .nav-links{top:74px}}
