/* ── BUTTONS & INTERACTION ── */
.btn-w, .btn-o, .add-cart, .nav-icon, .wish-btn, .cat-card, .prod-card {
  transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), background 0.2s, border-color 0.2s;
}

.btn-w:active, .btn-o:active, .add-cart:active {
  transform: scale(0.96);
}

/* Animación para el badge del carrito cuando cambia */
@keyframes pop {
  0% { transform: scale(1); }
  50% { transform: scale(1.4); }
  100% { transform: scale(1); }
}
.cart-badge.update {
  animation: pop 0.3s ease-out;
}

/* ── HERO ORIGINAL ── */
.hero{max-width:1320px;margin:0 auto;padding:32px 32px 0;}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.hero-left{background:var(--bg2);padding:72px 64px;display:flex;flex-direction:column;justify-content:space-between;min-height:560px;}

.hero-tag{display:inline-flex;align-items:center;gap:8px;background:var(--bg4);border:1px solid var(--line);border-radius:20px;padding:5px 14px;margin-bottom:32px;width:fit-content;}
.hero-tag-dot{width:7px;height:7px;background:#4ade80;border-radius:50%;animation:pulse-g 2s infinite;}
 @keyframes pulse-g{0%,100%{opacity:1;}50%{opacity:.4;}}
.hero-tag-text{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--m);}

.hero-h1{font-family:var(--display);font-size:clamp(52px,6vw,88px);font-weight:800;line-height:.92;letter-spacing:-2px;color:var(--text);margin-bottom:28px;}
.hero-h1 em{color:transparent;-webkit-text-stroke:1px var(--dim);font-style:normal;}
.hero-sub{font-size:15px;color:var(--m);line-height:1.65;max-width:360px;margin-bottom:48px;}

.hero-btns{display:flex;gap:12px;flex-wrap:wrap;}
.btn-w{background:var(--text);color:var(--bg);border:none;padding:14px 28px;border-radius:var(--r);font-family:var(--display);font-size:13px;font-weight:700;letter-spacing:.02em;transition:background .2s,transform .15s;}
.btn-w:hover{background:var(--text2);transform:translateY(-1px);}
.btn-o{background:none;color:var(--text2);border:1px solid var(--line);padding:14px 28px;border-radius:var(--r);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;transition:border-color .2s,color .2s;}
.btn-o:hover{border-color:var(--dim);color:var(--text);}

.hero-right{position:relative;overflow:hidden;background:var(--bg);}
.hero-right img{width:100%;height:100%;object-fit:cover;opacity:.6;transition:opacity .4s;}
.hero-right:hover img{opacity:.75;}

/* Estilos para el Slider del Hero */
.hero-slider { display: flex; transition: transform 0.8s cubic-bezier(0.65, 0, 0.35, 1); height: 100%; }
.hero-slide { min-width: 100%; height: 100%; position: relative; }
.hero-nav { position: absolute; bottom: 32px; left: 32px; display: flex; gap: 8px; z-index: 20; }
.hero-dot { width: 40px; height: 2px; background: rgba(255,255,255,0.2); border: none; cursor: none; transition: background 0.3s; }
.hero-dot.active { background: var(--text); }

.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,var(--bg2) 0%,transparent 50%);}
.hero-product-info{position:absolute;bottom:0;left:0;right:0;padding:28px 32px;display:flex;justify-content:space-between;align-items:flex-end;}
.hpi-name{font-family:var(--display);font-size:18px;font-weight:700;color:var(--text);margin-bottom:4px;}
.hpi-sub{font-family:var(--mono);font-size:10px;color:var(--m);letter-spacing:.1em;}
.hpi-price{font-family:var(--display);font-size:24px;font-weight:800;color:var(--text);}

/* ── RESTO DE COMPONENTES ── */
.see-all{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--m);border-bottom:1px solid var(--dim);padding-bottom:2px;transition:color .2s,border-color .2s;}
.see-all:hover{color:var(--text);border-color:var(--text);}

/* ── CATEGORIES ── */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.cat-card{background:var(--bg2);padding:40px 32px;display:flex;flex-direction:column;gap:40px;min-height:200px;transition:background .2s;position:relative;overflow:hidden;cursor:none;text-decoration:none;}
.cat-card::after{content:'→';font-family:var(--display);font-size:18px;position:absolute;bottom:20px;right:24px;color:var(--line);transition:color .25s,transform .25s;}
.cat-card:hover{background:var(--bg3);}
.cat-card:hover::after{color:var(--text3);transform:translate(3px,-3px);}
.cat-icon-wrap{width:44px;height:44px;background:var(--bg4);border:1px solid var(--line);border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:20px;transition:background .2s;}
.cat-card:hover .cat-icon-wrap{background:var(--bg3);border-color:var(--dim);}
.cat-label{font-family:var(--display);font-size:20px;font-weight:700;color:var(--text);}
.cat-count{font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.08em;margin-top:2px;}
.cat-card.special{background:var(--bg3);}
.cat-card.special .cat-label{color:var(--text2);}

/* ── PRODUCTS ── */
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.prod-card{background:var(--bg2);display:flex;flex-direction:column;transition:background .25s;position:relative;}
.prod-card:hover{background:var(--bg3);}
.prod-img{aspect-ratio:4/3;background:#ffffff !important;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;padding:32px;}
.prod-img img{width:100%;height:100%;object-fit:contain;opacity:1;transition:transform .5s ease,opacity .3s;}
.prod-card:hover .prod-img img{transform:scale(1.05);opacity:1;}

/* Forzar estilos de "modo claro" para elementos dentro de .prod-img */
.prod-img .badge {
  border-color: #1e1e1e !important;
  color: #1c1c1c !important;
  background: rgba(0,0,0,0.05) !important;
}
.prod-img .badge-new { background: rgba(0,0,0,0.08) !important; }
.prod-img .quick-btn {
  background: #0a0a0a !important;
  color: #f9f9f9 !important;
}
.prod-badges{position:absolute;top:14px;left:14px;display:flex;gap:6px;flex-wrap:wrap;}
.badge{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:2px;border:1px solid;}
.badge-new{background:rgba(255,255,255,.08);border-color:var(--dim);color:var(--text3);}
.badge-arc{background:rgba(255,255,255,.12);border-color:var(--text3);color:var(--text);}
.badge-sale{background:rgba(255,255,255,.15);border-color:var(--text2);color:var(--text);}
.prod-quick{position:absolute;bottom:14px;right:14px;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s;}
.prod-card:hover .prod-quick{opacity:1;transform:translateY(0);}
.quick-btn{background:var(--text);color:var(--bg);border:none;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border-radius:var(--r);font-weight:500;}
.prod-body{padding:24px 28px;flex:1;display:flex;flex-direction:column;border-top:1px solid var(--line);}
.prod-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px;gap:8px;}
.prod-name{font-family:var(--display);font-size:16px;font-weight:700;color:var(--text);line-height:1.2;}
.prod-price-wrap{text-align:right;flex-shrink:0;}
.prod-price{font-family:var(--mono);font-size:15px;font-weight:500;color:var(--text);}
.prod-old-price{font-family:var(--mono);font-size:11px;color:var(--dim);text-decoration:line-through;}
.prod-rating{display:flex;align-items:center;gap:6px;margin-bottom:10px;}
.stars{font-size:11px;letter-spacing:1px;}
.prod-rev-count{font-family:var(--mono);font-size:10px;color:var(--dim);}
.prod-desc{font-size:13px;color:var(--m);line-height:1.55;flex:1;margin-bottom:20px;}
.prod-footer{display:flex;gap:8px;}
.add-cart{flex:1;background:var(--text);color:var(--bg);border:none;padding:12px;font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.03em;border-radius:var(--r);transition:background .2s;}
.add-cart:hover{background:var(--text2);}
.wish-btn{width:40px;height:40px;background:none;border:1px solid var(--line);border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:var(--dim);transition:color .2s,border-color .2s;}
.wish-btn:hover{color:var(--text);border-color:var(--dim);}

/* ── TRUST STRIP ── */
.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2);padding:32px;}
.trust-strip-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;}
.ts-item{padding:24px 28px;display:flex;align-items:flex-start;gap:16px;border-right:1px solid var(--line);}
.ts-item:last-child{border-right:none;}
.ts-icon{width:40px;height:40px;background:var(--bg4);border:1px solid var(--line);border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.ts-title{font-family:var(--display);font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px;}
.ts-desc{font-size:12px;color:var(--m);line-height:1.5;}

/* ── REVIEWS ── */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.review-card{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:24px;}
.rv-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px;}
.rv-avatar{width:38px;height:38px;background:var(--bg4);border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:13px;font-weight:700;color:var(--m);}
.rv-name{font-family:var(--display);font-size:13px;font-weight:700;color:var(--text);margin-bottom:2px;}
.rv-product{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.08em;text-transform:uppercase;}
.rv-verified{font-family:var(--mono);font-size:9px;color:#4ade80;letter-spacing:.08em;}
.rv-stars{font-size:12px;letter-spacing:2px;margin-bottom:12px;}
.rv-text{font-size:13px;color:var(--m);line-height:1.6;}
.rating-summary{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:28px;margin-bottom:20px;display:flex;align-items:center;gap:32px;}
.rating-big{text-align:center;}
.rating-num{font-family:var(--display);font-size:52px;font-weight:800;color:var(--text);line-height:1;}
.rating-stars-big{font-size:16px;letter-spacing:3px;margin:6px 0;}
.rating-total{font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.1em;}
.rating-bars{flex:1;}
.rbar-row{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.rbar-label{font-family:var(--mono);font-size:10px;color:var(--dim);width:36px;text-align:right;}
.rbar-track{flex:1;height:4px;background:var(--bg4);border-radius:2px;overflow:hidden;}
.rbar-fill{height:100%;background:var(--text3);border-radius:2px;}
.rbar-count{font-family:var(--mono);font-size:10px;color:var(--dim);width:28px;}

/* ── NEWSLETTER ── */
.newsletter{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:56px 64px;display:flex;align-items:center;justify-content:space-between;gap:40px;}
.nl-left{max-width:440px;}
.nl-tag{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--m);margin-bottom:14px;}
.nl-title{font-family:var(--display);font-size:32px;font-weight:800;letter-spacing:-.5px;color:var(--text);margin-bottom:10px;}
.nl-sub{font-size:14px;color:var(--m);line-height:1.55;}
.nl-form{display:flex;gap:8px;flex:1;max-width:440px;}
.nl-input{flex:1;background:var(--bg4);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;font-family:var(--sans);font-size:13px;color:var(--text);outline:none;transition:border-color .2s;}
.nl-input::placeholder{color:var(--dim);}
.nl-input:focus{border-color:var(--dim);}
.nl-btn{background:var(--text);color:var(--bg);border:none;padding:14px 24px;border-radius:var(--r);font-family:var(--display);font-size:13px;font-weight:700;white-space:nowrap;transition:background .2s;}
.nl-btn:hover{background:var(--text2);}

/* ── FAQ ── */
.faq-list{display:flex;flex-direction:column;gap:1px;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.faq-item{background:var(--bg2);}
.faq-q{width:100%;background:none;border:none;display:flex;justify-content:space-between;align-items:center;padding:22px 28px;font-family:var(--display);font-size:15px;font-weight:600;color:var(--text2);text-align:left;gap:20px;transition:color .2s;}
.faq-q:hover{color:var(--text);}
.faq-q.open{color:var(--text);}
.faq-icon{font-size:20px;color:var(--dim);transition:transform .25s;flex-shrink:0;line-height:1;}
.faq-q.open .faq-icon{transform:rotate(45deg);}
.faq-ans{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .25s;}
.faq-ans.open{max-height:160px;padding:0 28px 22px;}
.faq-ans p{font-size:14px;color:var(--m);line-height:1.65;}

/* ── STICKY CTA ── */
.sticky-cta{position:fixed;bottom:24px;right:24px;z-index:300;display:flex;flex-direction:column;gap:8px;align-items:flex-end;}
.sticky-cart{background:var(--text);color:var(--bg);border:none;border-radius:50%;width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 4px 24px rgba(0,0,0,.6);transition:transform .2s;}
.sticky-cart:hover{transform:scale(1.08);}
.sticky-count{position:absolute;top:-4px;right:-4px;width:18px;height:18px;background:#4ade80;color:var(--bg);border-radius:50%;font-family:var(--mono);font-size:10px;font-weight:500;display:flex;align-items:center;justify-content:center;}
.sticky-top{background:var(--bg3);color:var(--m);border:1px solid var(--line);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:16px;transition:color .2s;}
.sticky-top:hover{color:var(--text);}
