:root {
      --orange:#ff4f1f;
      --orange2:#ff7a1a;
      --blue:#0877ff;
      --dark:#111111;
      --black:#050505;
      --muted:#666;
      --line:#e9e9e9;
      --bg:#f4f5f7;
      --card:#ffffff;
      --green:#20d366;
      --radius:18px;
      --shadow:0 18px 45px rgba(0,0,0,.12);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--dark);background:var(--bg);}
    a{color:inherit}
    .topbar{background:#fff;border-bottom:1px solid var(--line);font-size:13px;color:#333}
    .topbar-inner{max-width:1240px;margin:auto;padding:10px 18px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
    .topbar strong{color:var(--orange)}
    .header{background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.05);position:sticky;top:0;z-index:50}
    .nav{max-width:1240px;margin:auto;padding:14px 18px;display:flex;align-items:center;gap:22px;justify-content:space-between}
    .brand-box{display:flex;align-items:center;gap:12px;text-decoration:none}
    .brand-box img{width:64px;height:64px;object-fit:cover;border-radius:16px;box-shadow:0 8px 20px rgba(0,0,0,.10)}
    .brand-title{font-size:27px;font-weight:900;letter-spacing:.5px;color:#111}
    .brand-sub{font-size:11px;letter-spacing:2px;color:#777;text-transform:uppercase}
    .nav-links{display:flex;gap:18px;align-items:center;font-weight:700;font-size:14px}
    .nav-links a{text-decoration:none;color:#222}
    .nav-links a:hover{color:var(--orange)}
    .nav-cta{background:var(--green);color:#fff;text-decoration:none;padding:11px 16px;border-radius:999px;font-weight:800;box-shadow:0 8px 18px rgba(32,211,102,.25)}
    .category-bar{background:#151515;color:#fff}
    .category-inner{max-width:1240px;margin:auto;display:flex;align-items:center;gap:0;overflow:auto;padding:0 18px}
    .category-inner a{padding:12px 18px;text-decoration:none;white-space:nowrap;font-weight:700;font-size:14px;border-right:1px solid rgba(255,255,255,.1)}
    .category-inner a.active{background:var(--blue)}
    .category-inner a.offer{background:#e3062b}
    .hero{position:relative;min-height:560px;background:#050506;color:#fff;overflow:hidden}
    .hero::before{content:"";position:absolute;inset:0;background:
      linear-gradient(90deg,rgba(3,3,5,.96) 0%,rgba(3,3,5,.88) 43%,rgba(4,10,20,.64) 100%),
      radial-gradient(circle at 78% 23%,rgba(0,128,255,.42),transparent 30%),
      radial-gradient(circle at 88% 72%,rgba(241,90,34,.40),transparent 28%),
      radial-gradient(circle at 34% 92%,rgba(241,90,34,.22),transparent 28%),
      linear-gradient(135deg,#09090b 0%,#0d1324 45%,#111 100%);
      background-size:cover;box-shadow:var(--shadow)}
    .hero::after{content:"";position:absolute;inset:0;opacity:.28;background:
      repeating-linear-gradient(90deg,rgba(255,255,255,.10) 0 1px,transparent 1px 92px),
      repeating-linear-gradient(0deg,rgba(255,255,255,.07) 0 1px,transparent 1px 82px),
      linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.12) 39%,transparent 44%);
      mask-image:linear-gradient(90deg,transparent 0%,#000 20%,#000 82%,transparent 100%);pointer-events:none}
    .hero-content{position:relative;max-width:1240px;margin:auto;padding:92px 18px 72px;display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
    .hero-copy h1{font-size:clamp(36px,6vw,76px);line-height:.96;margin:0 0 18px;font-weight:950;letter-spacing:-2px;text-transform:uppercase}
    .hero-copy h1 span{color:var(--orange)}
    .hero-copy p{font-size:19px;max-width:650px;color:#f1f1f1;line-height:1.55;margin:0 0 28px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px}
    .primary-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;padding:15px 22px;border-radius:999px;font-weight:900}
    .primary-btn{background:var(--orange);color:#fff;box-shadow:0 12px 24px rgba(255,79,31,.28)}
    .secondary-btn{background:#fff;color:#111}
    .hero-card{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,240,232,.90));border:1px solid rgba(255,255,255,.45);border-radius:30px;padding:22px;color:#111;box-shadow:0 28px 80px rgba(0,0,0,.36);position:relative;backdrop-filter:blur(10px)}
    .hero-card::before{content:"";position:absolute;inset:18px;border-radius:24px;background:radial-gradient(circle at 50% 46%,rgba(241,90,34,.16),transparent 55%);z-index:0}.hero-card>*{position:relative;z-index:1}.hero-card img{width:100%;height:310px;object-fit:contain;display:block;filter:drop-shadow(0 28px 34px rgba(0,0,0,.30))}
    .hero-card h2{margin:8px 0 6px;font-size:24px}
    .hero-card p{margin:0;color:#555}


    .stock-hero-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:30px;padding:18px;color:#fff;box-shadow:0 28px 80px rgba(0,0,0,.38);backdrop-filter:blur(10px)}
    .stock-hero-card::before{display:none}
    .stock-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 4px 14px}
    .stock-title span{font-size:12px;text-transform:uppercase;letter-spacing:1.8px;color:var(--orange);font-weight:950}
    .stock-title strong{display:block;font-size:22px;line-height:1.08;color:#fff}
    .stock-title small{color:#bbb;font-size:12px;font-weight:800;text-align:right}
    .stock-banners{display:grid;gap:14px}
    .stock-banner{position:relative;min-height:190px;border-radius:26px;overflow:hidden;display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;text-decoration:none;color:#fff;padding:18px;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 40px rgba(0,0,0,.30)}
    .stock-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.28) 48%,rgba(255,255,255,.08));z-index:0}
    .stock-banner::after{content:"";position:absolute;inset:auto -12% -42% 30%;height:125px;background:radial-gradient(ellipse at center,rgba(255,255,255,.22),transparent 68%);z-index:0}
    .stock-banner.lg{background:linear-gradient(110deg,#070707 0%,#111 36%,#5e1112 72%,#ff4f1f 120%)}
    .stock-banner.lg::before{background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.38) 50%,rgba(255,79,31,.12))}
    .stock-banner.jbl{background:linear-gradient(110deg,#050505 0%,#101624 40%,#092445 74%,#0877ff 125%)}
    .stock-banner.jbl::before{background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.36) 50%,rgba(8,119,255,.15))}
    .stock-copy{position:relative;z-index:1;min-width:0}
    .stock-copy .brand-mark{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);padding:7px 10px;font-size:11px;font-weight:950;letter-spacing:1.4px;text-transform:uppercase;color:#fff;margin-bottom:10px}
    .stock-copy h2{margin:0 0 6px!important;font-size:27px!important;line-height:1.02;color:#fff!important}
    .stock-copy p{margin:0!important;color:#eaeaea!important;font-size:13px!important;line-height:1.35}
    .stock-copy b{color:var(--orange)}
    .stock-banner.jbl .stock-copy b{color:#69b6ff}
    .stock-lineup{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;height:154px}
    .stock-lineup figure{margin:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;flex:1}
    .stock-lineup img{width:100%!important;height:118px!important;max-width:132px;object-fit:contain!important;background:rgba(255,255,255,.94);border-radius:18px;padding:8px!important;display:block!important;filter:drop-shadow(0 18px 22px rgba(0,0,0,.33))!important}
    .stock-lineup .hero-img-lg{height:132px!important;max-width:158px}
    .stock-lineup figcaption{margin-top:5px;font-size:10px;font-weight:950;color:#fff;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.75);white-space:nowrap}
    .stock-banner:hover{transform:translateY(-2px);transition:.22s ease;box-shadow:0 24px 48px rgba(0,0,0,.38)}
    @media(max-width:980px){.stock-banner{grid-template-columns:1fr;gap:10px}.stock-lineup{justify-content:center;height:auto}.stock-lineup img{height:88px!important}.stock-lineup .hero-img-lg{height:96px!important}.stock-copy h2{font-size:23px!important}}
    @media(max-width:620px){.stock-title{display:block}.stock-title small{text-align:left;display:block;margin-top:4px}.stock-lineup{gap:4px}.stock-lineup figcaption{font-size:8px}.stock-lineup img{height:70px!important;padding:5px!important;border-radius:12px}.stock-lineup .hero-img-lg{height:78px!important}.stock-banner{min-height:auto;padding:15px}.stock-copy h2{font-size:21px!important}}

    .hero-series-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:18px}
    .hero-series-head strong{font-size:24px;line-height:1.05;color:#111;display:block}
    .hero-series-head span{font-size:12px;text-transform:uppercase;letter-spacing:1.8px;color:var(--orange);font-weight:950}
    .series-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .series-card{border-radius:22px;padding:18px;background:linear-gradient(180deg,#ffffff,#f7f7f7);border:1px solid rgba(0,0,0,.08);box-shadow:0 18px 36px rgba(0,0,0,.10);min-height:310px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}
    .series-card::after{content:"";position:absolute;right:-42px;bottom:-42px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(255,79,31,.16),transparent 68%)}
    .series-card.jbl::after{background:radial-gradient(circle,rgba(0,128,255,.16),transparent 68%)}
    .series-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;position:relative;z-index:1}
    .series-logo{height:38px;min-width:86px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;font-size:13px;font-weight:950;letter-spacing:.8px;color:#fff;background:#111;text-transform:uppercase;box-shadow:0 10px 24px rgba(0,0,0,.14)}
    .series-card.lg .series-logo{background:linear-gradient(135deg,#111,#383838)}
    .series-card.jbl .series-logo{background:linear-gradient(135deg,#ff4f1f,#ff7a3f)}
    .series-badge{font-size:11px;font-weight:950;color:#008a32;background:#e9fff0;border:1px solid #bff0cd;border-radius:999px;padding:6px 9px;text-transform:uppercase}
    .series-card h3{position:relative;z-index:1;margin:6px 0 6px;font-size:22px;line-height:1.05;color:#111}
    .series-card p{position:relative;z-index:1;margin:0 0 14px!important;color:#666!important;font-size:13px;line-height:1.4}
    .model-list{position:relative;z-index:1;margin:0;padding:0;list-style:none;display:grid;gap:9px}
    .model-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #ececec;font-size:13px;color:#222;font-weight:800}
    .model-list li:last-child{border-bottom:0}
    .model-list small{display:block;color:#777;font-weight:700;font-size:11px;margin-top:2px}
    .model-list b{color:var(--orange);font-size:13px;white-space:nowrap}
    .series-note{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .series-note a{display:flex;align-items:center;justify-content:center;border-radius:14px;padding:12px 10px;font-weight:950;text-decoration:none;font-size:13px;text-align:center}
    .series-note .catalog{background:#111;color:#fff}.series-note .whatsapp{background:var(--orange);color:#fff}
    @media(max-width:820px){.series-grid{grid-template-columns:1fr}.series-card{min-height:auto}.series-note{grid-template-columns:1fr}}
    .trust-strip{position:relative;background:#fff;border-bottom:1px solid var(--line)}
    .trust-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
    .trust-item{padding:22px 18px;display:flex;gap:14px;align-items:center;border-right:1px solid var(--line)}
    .trust-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff2ec;color:var(--orange);font-size:22px;font-weight:900}
    .trust-item h3{font-size:15px;margin:0 0 3px}
    .trust-item p{margin:0;font-size:13px;color:#666}
    section{max-width:1240px;margin:auto;padding:68px 18px}
    .section-head{text-align:center;margin-bottom:34px}
    .eyebrow{color:var(--orange);font-weight:900;letter-spacing:.14em;text-transform:uppercase;font-size:13px}
    .section-head h2{font-size:clamp(28px,4vw,44px);margin:8px 0 8px;letter-spacing:-1px}
    .section-head p{max-width:760px;margin:0 auto;color:#666;font-size:17px;line-height:1.55}
    .brand-showcase{display:grid;grid-template-columns:1fr 1fr;gap:24px}
    .showcase-card{min-height:300px;border-radius:24px;overflow:hidden;position:relative;color:#fff;box-shadow:var(--shadow);background:#111}
    .showcase-card::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.18))}
.showcase-card.lg {
  background: linear-gradient(135deg, #050505 0%, #111111 45%, #ff4f1f 120%);
}
.card.jbl {
  background: linear-gradient(135deg, #050505 0%, #101624 45%, #0877ff 120%);
}
.showcase-content{position:absolute;left:28px;bottom:28px;right:28px}
    .showcase-content h3{font-size:34px;margin:0 0 8px;text-transform:uppercase}
    .showcase-content p{margin:0 0 14px;max-width:460px;color:#eee}
    .mini-btn{display:inline-block;background:rgba(255,255,255,.96);color:#111;text-decoration:none;padding:10px 14px;border-radius:999px;font-weight:900}
    .about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center}
    .about-copy{background:#fff;border-radius:24px;padding:32px;box-shadow:var(--shadow)}
    .about-copy h2{font-size:38px;margin:0 0 12px}
    .about-copy p{color:#555;line-height:1.7;margin:0 0 14px}
    .about-points{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
    .point{background:#f8f8f8;border:1px solid #eee;border-radius:18px;padding:18px}
    .point .icon{font-size:28px;margin-bottom:10px}
    .point h3{margin:0 0 6px;font-size:18px}
    .point p{font-size:14px;margin:0;color:#666}
    .about-visual {
  background:
    radial-gradient(circle at 75% 20%, rgba(255, 79, 31, 0.28), transparent 32%),
    radial-gradient(circle at 20% 80%, rgba(8, 119, 255, 0.22), transparent 34%),
    linear-gradient(135deg, #050505 0%, #111111 55%, #1b1b1b 100%);
  border-radius: 24px;
  min-height: 420px;
  padding: 24px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
    .about-visual .score{align-self:flex-start;background:#fff;color:#111;border-radius:18px;padding:14px 16px;font-weight:900}
    .about-visual h3{font-size:34px;margin:0;text-transform:uppercase}
    .filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:26px}
    .filter-btn{border:1px solid var(--line);background:#fff;padding:11px 15px;border-radius:999px;font-weight:800;cursor:pointer}
    .filter-btn.active{background:#111;color:#fff;border-color:#111}
    .product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
    .product-card{background:#fff;border:1px solid #ececec;border-radius:24px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.06);cursor:pointer;transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;position:relative}
    .product-card:hover{transform:translateY(-7px);box-shadow:0 18px 42px rgba(0,0,0,.12);border-color:#ffd3c4}
    .badge-row{position:absolute;z-index:2;top:14px;left:14px;right:14px;display:flex;justify-content:flex-end;gap:8px}
    .badge{font-size:11px;font-weight:900;padding:7px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}
    .badge.brand{display:none}
    .badge.stock{background:#eafaf0;color:#10823d}
    .product-img-wrap{height:250px;background:linear-gradient(180deg,#fff,#f7f7f7);display:flex;align-items:center;justify-content:center;padding:18px}
    .product-img-wrap img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(0,0,0,.11))}
    .product-body{padding:22px}
    .product-tag{display:none}
    .product-body h3{font-size:22px;margin:0 0 22px;color:#111;line-height:1.18;font-weight:900;letter-spacing:-.3px}
    .product-body ul{display:none}
    .product-body li::marker{color:var(--orange)}
    .price-line{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto}
    .price-line strong{font-size:25px;color:var(--orange)}
    .price-line span{font-size:12px;color:#777;text-align:right}
    .details-btn{width:100%;border:0;background:#111;color:#fff;border-radius:14px;padding:13px;margin-top:16px;font-weight:900;cursor:pointer}
    .details-btn:hover{background:var(--orange)}
    .contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .contact-card{background:#fff;border-radius:24px;padding:26px;text-decoration:none;text-align:center;box-shadow:var(--shadow);border:1px solid #eee;transition:transform .22s ease, box-shadow .22s ease}
    .contact-card:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(0,0,0,.14)}
    .contact-icon{width:76px;height:76px;border-radius:20px;margin:0 auto 14px;display:grid;place-items:center;background:#fff;overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.10);padding:8px}
    .contact-card.whatsapp .contact-icon,.contact-card.instagram .contact-icon,.contact-card.tiktok .contact-icon{background:#fff}
    .contact-icon img{width:100%;height:100%;object-fit:contain;display:block}
    .contact-card h3{margin:0 0 6px;font-size:23px}
    .contact-card p{margin:0;color:#666;line-height:1.45}
    
    .footer{background:#0f0f10;color:#f5f5f5;margin-top:40px;border-top:1px solid rgba(255,255,255,.08)}
    .footer-top{max-width:1240px;margin:auto;padding:28px 18px;display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}
    .footer-brand{display:flex;align-items:center;gap:18px}
    .footer-logo{width:76px;height:76px;border-radius:18px;overflow:hidden;box-shadow:0 16px 36px rgba(255,72,26,.18);background:#fff;display:block}.footer-logo img{width:100%;height:100%;object-fit:cover;display:block}
    .footer-title{font-weight:950;font-size:20px;letter-spacing:.04em;margin-bottom:3px}
    .footer-sub{color:#d6d6d6;font-size:14px;line-height:1.45}
    .footer-contact{display:grid;gap:8px;justify-content:end;text-align:right;color:#e9e9e9;font-size:14px;line-height:1.45}
    .footer-main{max-width:1240px;margin:auto;padding:34px 18px 22px;display:grid;grid-template-columns:1.1fr 1.1fr 1.1fr 1.25fr;gap:30px}
    .footer-col h4{font-size:14px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 14px;color:#fff}
    .footer-col a,.footer-col p{display:block;margin:0 0 11px;color:#aeb0b5;text-decoration:none;font-size:13px;line-height:1.5}
    .footer-col a:hover{color:var(--orange)}
    .ruc-box{display:inline-block;background:#1c1c1f;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px 14px;color:#fff;font-weight:900;margin-bottom:12px}
    .claims-box{margin-top:12px;display:inline-flex;align-items:center;gap:10px;background:#fff;color:#111;border-radius:14px;padding:11px 13px;font-weight:900;text-decoration:none;box-shadow:0 10px 24px rgba(0,0,0,.22)}
    .footer-bottom{max-width:1240px;margin:auto;padding:16px 18px 24px;border-top:1px solid rgba(255,255,255,.08);display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;color:#8f9298;font-size:12px}
    .footer-bottom a{color:#cfcfcf;text-decoration:none}
    .footer-bottom a:hover{color:var(--orange)}
    .floating-wa{position:fixed;left:22px;bottom:22px;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#fff;text-decoration:none;box-shadow:0 14px 34px rgba(32,211,102,.32);z-index:60;overflow:hidden;padding:7px}.floating-wa img{width:100%;height:100%;object-fit:contain;display:block}
    .social-side{position:fixed;right:14px;top:42%;display:flex;flex-direction:column;gap:8px;z-index:55}
    .social-side a{width:46px;height:46px;background:#fff;border-radius:12px;display:grid;place-items:center;text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,.12);padding:6px;overflow:hidden}.social-side img{width:100%;height:100%;object-fit:contain;display:block}
    .modal{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:100;display:none;align-items:center;justify-content:center;padding:18px}
    .modal.open{display:flex}
    .modal-card{background:#fff;border-radius:28px;max-width:1080px;width:100%;max-height:92vh;overflow:auto;box-shadow:0 35px 80px rgba(0,0,0,.38)}
    .modal-layout{display:grid;grid-template-columns:1.02fr .98fr;gap:0}
    .modal-image{background:#f7f7f7;display:flex;align-items:center;justify-content:center;padding:36px;min-height:520px}
    .modal-image img{max-width:100%;max-height:520px;object-fit:contain;filter:drop-shadow(0 18px 22px rgba(0,0,0,.13))}
    .modal-info{padding:34px;position:relative}
    .close{position:absolute;right:22px;top:18px;border:0;background:#111;color:#fff;width:40px;height:40px;border-radius:50%;font-size:22px;cursor:pointer}
    .modal-info .brand{display:inline-block;background:#111;color:#fff;padding:8px 11px;border-radius:999px;font-size:12px;font-weight:900;text-transform:uppercase;margin-bottom:12px}
    .modal-info h2{font-size:36px;margin:0 0 8px;color:#0877ff}
    .modal-info .desc{font-size:16px;color:#555;line-height:1.6;margin:0 0 18px}
    .modal-info ul{line-height:1.85;color:#333;margin:0 0 20px;padding-left:20px}
    .modal-info li::marker{color:var(--orange)}
    .modal-price{font-size:34px;font-weight:950;color:var(--orange);margin:0 0 18px}
    .buy-row{display:flex;gap:10px;flex-wrap:wrap}
    .wa-buy{background:#20d366;color:#fff;text-decoration:none;padding:14px 18px;border-radius:12px;font-weight:900}
    .back-products{background:#111;color:#fff;text-decoration:none;padding:14px 18px;border-radius:12px;font-weight:900}
    .bestfor{background:#fff5ef;border:1px solid #ffd7c9;border-radius:16px;padding:14px;margin:18px 0;color:#5e280f}
    @media (max-width:980px){
      .hero-content,.about-grid,.modal-layout,.brand-showcase{grid-template-columns:1fr}
      .product-grid{grid-template-columns:repeat(2,1fr)}
      .trust-grid{grid-template-columns:repeat(2,1fr)}
      .contact-grid{grid-template-columns:1fr}
      .nav-links{display:none}
      .hero-card img{height:240px}
    }
    @media (max-width:620px){
      .product-grid{grid-template-columns:1fr}
      .trust-grid{grid-template-columns:1fr}
      .hero-content{padding-top:64px}
      .brand-title{font-size:21px}
      .modal-image{min-height:auto;padding:22px}
      .social-side{display:none}
    }
  
    /* Carrusel publicitario estilo retail */
    .promo-carousel-section{background:#f4f4f4;padding:34px 18px 48px;}
    .promo-carousel-wrap{max-width:1240px;margin:0 auto;}
    .promo-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;}
    .promo-head h2{margin:0;font-size:32px;line-height:1.05;color:#111;}
    .promo-head p{margin:6px 0 0;color:#666;max-width:680px;}
    .promo-carousel{position:relative;background:#fff;border-radius:22px;box-shadow:0 22px 60px rgba(0,0,0,.12);overflow:hidden;border:1px solid rgba(0,0,0,.08);}
    .promo-track{display:flex;transition:transform .45s ease;}
    .promo-slide{min-width:100%;position:relative;}
    .promo-slide img{width:100%;height:430px;object-fit:cover;display:block;}
    .promo-nav{position:absolute;inset:auto 0 18px 0;display:flex;align-items:center;justify-content:center;gap:10px;z-index:3;}
    .promo-dot{width:11px;height:11px;border-radius:999px;border:0;background:#d4d4d4;cursor:pointer;transition:.25s ease;}
    .promo-dot.active{background:var(--orange);width:34px;}
    .promo-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;border:0;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.90);color:#111;font-size:28px;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.18);}
    .promo-arrow:hover{background:#fff;}
    .promo-prev{left:18px}.promo-next{right:18px}
    .promo-caption{position:absolute;right:22px;top:22px;background:rgba(255,255,255,.92);border-radius:18px;padding:10px 16px;text-align:right;box-shadow:0 12px 30px rgba(0,0,0,.14);}
    .promo-caption strong{display:block;color:#111;font-size:15px}.promo-caption span{color:var(--orange);font-weight:900;font-size:18px}
    @media(max-width:760px){.promo-head{display:block}.promo-head h2{font-size:25px}.promo-slide img{height:290px}.promo-arrow{width:38px;height:38px;font-size:24px}.promo-caption{right:12px;top:12px;padding:8px 12px}.promo-caption strong{font-size:12px}.promo-caption span{font-size:16px}}

  
    /* Carrusel v11: banners con escenarios reales por modelo */
    .promo-carousel-section{background:#f3f4f6;padding:42px 18px 58px;}
    .promo-carousel-wrap{max-width:1240px;margin:0 auto;}
    .promo-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;}
    .promo-head h2{margin:0;font-size:34px;line-height:1.05;color:#111;}
    .promo-head p{margin:8px 0 0;color:#666;max-width:760px;}
    .promo-carousel{position:relative;background:#101010;border-radius:24px;box-shadow:0 22px 60px rgba(0,0,0,.18);overflow:hidden;border:1px solid rgba(0,0,0,.10);}
    .promo-track{display:flex;transition:transform .45s ease;}
    .promo-slide{min-width:100%;position:relative;background:#111;}
    .promo-slide img{width:100%;aspect-ratio:16/6;height:auto;min-height:360px;object-fit:cover;display:block;}
    .promo-nav{position:absolute;inset:auto 0 18px 0;display:flex;align-items:center;justify-content:center;gap:10px;z-index:3;}
    .promo-dot{width:11px;height:11px;border-radius:999px;border:0;background:rgba(255,255,255,.55);cursor:pointer;transition:.25s ease;}
    .promo-dot.active{background:var(--orange);width:34px;}
    .promo-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;border:0;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.92);color:#111;font-size:30px;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.24);}
    .promo-arrow:hover{background:#fff;}
    .promo-prev{left:18px}.promo-next{right:18px}
    @media(max-width:760px){
      .promo-head{display:block}
      .promo-head h2{font-size:25px}
      .promo-slide img{aspect-ratio:4/3;min-height:310px}
      .promo-arrow{width:38px;height:38px;font-size:24px}
    }

  
    /* Carrusel v12: banners con escenarios reales por modelo, incluido LG XBOOM Grab */
    .promo-carousel-section{background:#f3f4f6;padding:42px 18px 58px;}
    .promo-carousel-wrap{max-width:1240px;margin:0 auto;}
    .promo-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;}
    .promo-head h2{margin:0;font-size:34px;line-height:1.05;color:#111;}
    .promo-head p{margin:8px 0 0;color:#666;max-width:760px;}
    .promo-carousel{position:relative;background:#101010;border-radius:24px;box-shadow:0 22px 60px rgba(0,0,0,.18);overflow:hidden;border:1px solid rgba(0,0,0,.10);}
    .promo-track{display:flex;transition:transform .45s ease;}
    .promo-slide{min-width:100%;position:relative;background:#111;}
    .promo-slide img{width:100%;aspect-ratio:16/6;height:auto;min-height:360px;object-fit:cover;display:block;}
    .promo-nav{position:absolute;inset:auto 0 18px 0;display:flex;align-items:center;justify-content:center;gap:10px;z-index:3;}
    .promo-dot{width:11px;height:11px;border-radius:999px;border:0;background:rgba(255,255,255,.55);cursor:pointer;transition:.25s ease;}
    .promo-dot.active{background:var(--orange);width:34px;}
    .promo-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;border:0;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.92);color:#111;font-size:30px;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.24);}
    .promo-arrow:hover{background:#fff;}
    .promo-prev{left:18px}.promo-next{right:18px}
    @media(max-width:760px){
      .promo-head{display:block}
      .promo-head h2{font-size:25px}
      .promo-slide img{aspect-ratio:4/3;min-height:310px}
      .promo-arrow{width:38px;height:38px;font-size:24px}
    }

  
    /* Hero v13: más simple, con marcas LG y JBL sin exceso de texto */
    .hero-simple-brands{min-height:560px!important;background:#050507!important;}
    .hero-simple-brands::before{
      background:
        linear-gradient(90deg,rgba(3,3,5,.96) 0%,rgba(3,3,5,.86) 44%,rgba(3,8,15,.70) 100%),
        radial-gradient(circle at 78% 22%,rgba(0,128,255,.30),transparent 31%),
        radial-gradient(circle at 88% 78%,rgba(241,90,34,.34),transparent 32%),
        linear-gradient(135deg,#020204,#0a0c12 45%,#06111f)!important;
    }
    .hero-copy-clean .hero-short{max-width:600px!important;font-size:20px!important;line-height:1.48!important;color:#fff!important}
    .brand-showcase-card{
      position:relative;
      width:min(510px,100%);
      border-radius:34px;
      padding:26px;
      background:linear-gradient(150deg,rgba(255,255,255,.13),rgba(255,255,255,.045));
      border:1px solid rgba(255,255,255,.18);
      box-shadow:0 30px 80px rgba(0,0,0,.35);
      backdrop-filter:blur(10px);
      overflow:hidden;
    }
    .brand-showcase-card::before{
      content:"";
      position:absolute;
      inset:-35% -20% auto auto;
      width:360px;height:360px;
      background:radial-gradient(circle,rgba(241,90,34,.35),transparent 60%);
      pointer-events:none;
    }
    .brand-showcase-card::after{
      content:"";
      position:absolute;
      inset:auto auto -38% -18%;
      width:340px;height:340px;
      background:radial-gradient(circle,rgba(0,128,255,.32),transparent 62%);
      pointer-events:none;
    }
    .brand-showcase-top{position:relative;z-index:2;margin-bottom:18px}
    .brand-showcase-top span{display:block;color:var(--orange);font-size:12px;letter-spacing:2.4px;text-transform:uppercase;font-weight:950}
    .brand-showcase-top strong{display:block;color:#fff;font-size:28px;line-height:1.05;margin-top:4px}
    .brand-logo-strip{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
    .brand-logo-pill{
      min-height:112px;
      border-radius:26px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      text-decoration:none;
      transform:translateZ(0);
      transition:.25s ease;
      border:1px solid rgba(255,255,255,.22);
      overflow:hidden;
    }
    .brand-logo-pill:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(0,0,0,.28)}
    .lg-pill{background:linear-gradient(135deg,#fff,#f6f6f6)}
    .lg-symbol{
      width:58px;height:58px;border-radius:50%;
      display:grid;place-items:center;
      background:#a50034;color:#fff;
      font-size:24px;font-weight:950;letter-spacing:-1px;
    }
    .lg-pill b{font-size:26px;color:#111;font-weight:950;letter-spacing:-1px}
    .jbl-pill{background:linear-gradient(135deg,#ff4b1f,#ff7a00)}
    .jbl-symbol{font-size:44px;color:#fff;font-weight:1000;letter-spacing:-3px}
    .simple-lineups{position:relative;z-index:2;display:grid;gap:13px}
    .simple-lineup{
      text-decoration:none;
      border-radius:24px;
      padding:14px 14px 12px;
      display:grid;
      grid-template-columns:105px 1fr;
      gap:12px;
      align-items:center;
      border:1px solid rgba(255,255,255,.15);
      transition:.25s ease;
      overflow:hidden;
    }
    .simple-lineup:hover{transform:translateX(4px);border-color:rgba(255,255,255,.34)}
    .lg-lineup{background:linear-gradient(90deg,rgba(241,90,34,.24),rgba(255,255,255,.06))}
    .jbl-lineup{background:linear-gradient(90deg,rgba(0,128,255,.24),rgba(255,255,255,.06))}
    .lineup-brand{color:#fff;font-size:18px;font-weight:950;letter-spacing:.5px}
    .lineup-products{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
    .lineup-products.five{grid-template-columns:repeat(5,1fr)}
    .lineup-products img{
      width:100%;height:72px;object-fit:contain;
      background:linear-gradient(180deg,#fff,#f0f0f0);
      border-radius:18px;
      padding:6px;
      box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);
    }
    @media(max-width:980px){
      .brand-showcase-card{margin-top:28px;width:100%}
      .hero-copy-clean .hero-short{font-size:17px!important}
    }
    @media(max-width:560px){
      .brand-logo-strip{grid-template-columns:1fr}
      .simple-lineup{grid-template-columns:1fr}
      .lineup-products img{height:62px}
    }

  
    /* v14 Hero: sin mini-productos, más simple y directo */
    .hero-no-products{min-height:560px!important;background:#050507!important;}
    .hero-no-products::before{
      background:
        linear-gradient(90deg,rgba(3,3,5,.96) 0%,rgba(3,3,5,.86) 44%,rgba(3,8,15,.70) 100%),
        radial-gradient(circle at 78% 22%,rgba(0,128,255,.30),transparent 31%),
        radial-gradient(circle at 88% 78%,rgba(241,90,34,.34),transparent 32%),
        linear-gradient(135deg,#020204,#0a0c12 45%,#06111f)!important;
    }
    .brand-minimal-card{
      position:relative;width:min(480px,100%);border-radius:34px;padding:30px;
      background:linear-gradient(150deg,rgba(255,255,255,.13),rgba(255,255,255,.045));
      border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 80px rgba(0,0,0,.35);
      backdrop-filter:blur(10px);overflow:hidden;
    }
    .brand-minimal-card::before{content:"";position:absolute;right:-140px;top:-120px;width:310px;height:310px;border-radius:50%;background:rgba(241,90,34,.32);filter:blur(12px)}
    .brand-minimal-card::after{content:"";position:absolute;left:-140px;bottom:-140px;width:300px;height:300px;border-radius:50%;background:rgba(0,128,255,.26);filter:blur(12px)}
    .brand-minimal-card>*{position:relative;z-index:2}
    .brand-kicker{margin:0 0 6px;color:var(--orange);font-size:12px;letter-spacing:2.8px;text-transform:uppercase;font-weight:950}
    .brand-minimal-card h2{margin:0 0 20px;color:#fff;font-size:31px;line-height:1}
    .brand-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .brand-choice{min-height:135px;border-radius:28px;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:13px;transition:.25s ease;border:1px solid rgba(255,255,255,.22)}
    .brand-choice:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(0,0,0,.33)}
    .lg-choice{background:#fff;color:#111}
    .lg-round{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#a50034;color:#fff;font-weight:950;font-size:25px}
    .lg-choice strong{font-size:27px}
    .jbl-choice{background:linear-gradient(135deg,#ff4b1f,#ff7a00);color:#fff}
    .jbl-choice strong{font-size:52px;letter-spacing:-2px}
    .trust-mini-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
    .trust-mini-row span{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);border-radius:999px;text-align:center;color:#fff;font-size:12px;font-weight:850;padding:10px 4px}
    @media(max-width:560px){.brand-choice-grid{grid-template-columns:1fr}.trust-mini-row{grid-template-columns:1fr}.brand-choice{min-height:105px}}

    /* v14 Carrusel: imagen protagonista, texto pequeño y sin precios */
    .promo-carousel-section{background:#f3f4f6;padding:42px 18px 58px}
    .promo-carousel-wrap{max-width:1240px;margin:0 auto}
    .promo-head-clean{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
    .promo-head-clean h2{margin:0;font-size:29px;line-height:1.05;color:#111}
    .promo-head-clean p{margin:6px 0 0;color:#666;max-width:660px;font-size:15px}
    .clean-image-carousel{position:relative;background:#101010;border-radius:24px;box-shadow:0 22px 60px rgba(0,0,0,.14);overflow:hidden;border:1px solid rgba(0,0,0,.10)}
    .clean-image-carousel .promo-track{display:flex;transition:transform .45s ease}
    .clean-image-carousel .promo-slide{min-width:100%;position:relative;background:#111}
    .clean-image-carousel .promo-slide img{width:100%;aspect-ratio:16/5.6;height:auto;min-height:345px;object-fit:cover;display:block}
    .clean-image-carousel .promo-nav{position:absolute;inset:auto 0 15px 0;display:flex;align-items:center;justify-content:center;gap:9px;z-index:3}
    .clean-image-carousel .promo-dot{width:10px;height:10px;border-radius:999px;border:0;background:rgba(255,255,255,.55);cursor:pointer;transition:.25s ease}
    .clean-image-carousel .promo-dot.active{background:var(--orange);width:32px}
    .clean-image-carousel .promo-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;border:0;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.9);color:#111;font-size:27px;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.22)}
    .clean-image-carousel .promo-prev{left:16px}.clean-image-carousel .promo-next{right:16px}
    @media(max-width:760px){
      .promo-head-clean{display:block}
      .promo-head-clean h2{font-size:24px}
      .clean-image-carousel .promo-slide img{aspect-ratio:4/3;min-height:310px}
    }

  
    /* v15 hero final: fondo limpio, letras pequeñas y solo logos de marca */
    .hero-minimal-final{
      position:relative;
      min-height:520px!important;
      color:#fff;
      overflow:hidden;
      background:
        radial-gradient(circle at 78% 22%,rgba(0,118,255,.18),transparent 30%),
        radial-gradient(circle at 92% 80%,rgba(255,84,25,.18),transparent 28%),
        linear-gradient(135deg,#050506 0%,#07090d 48%,#081522 100%)!important;
    }
    .hero-minimal-final::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg,rgba(0,0,0,.42),transparent 58%),
        radial-gradient(circle at 50% 100%,rgba(255,255,255,.035),transparent 42%)!important;
      opacity:1!important;
    }
    .hero-minimal-final::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 18%,rgba(0,0,0,.28) 100%);
      pointer-events:none;
    }
    .hero-minimal-inner{
      position:relative;
      z-index:2;
      max-width:1180px;
      margin:0 auto;
      min-height:520px;
      display:grid;
      grid-template-columns:1.02fr .98fr;
      align-items:center;
      gap:58px;
      padding:58px 28px;
    }
    .hero-minimal-copy{max-width:560px}
    .mini-kicker{
      margin:0 0 18px;
      color:#fff;
      font-size:14px;
      font-weight:900;
      letter-spacing:2.8px;
      text-transform:uppercase;
      opacity:.9;
    }
    .hero-minimal-copy h1{
      margin:0;
      font-size:48px!important;
      line-height:1.02!important;
      letter-spacing:-1.8px!important;
      color:#fff!important;
      text-transform:none!important;
      max-width:620px;
    }
    .mini-spot{
      margin:18px 0 26px;
      color:rgba(255,255,255,.86);
      font-size:18px!important;
      line-height:1.55!important;
      max-width:520px;
    }
    .mini-actions a{font-size:15px!important;padding:14px 22px!important}
    .brand-only-card{
      justify-self:end;
      width:min(500px,100%);
      border-radius:30px;
      padding:28px;
      background:rgba(255,255,255,.075);
      border:1px solid rgba(255,255,255,.16);
      box-shadow:0 28px 70px rgba(0,0,0,.35);
      backdrop-filter:blur(12px);
    }
    .brand-only-card p{
      margin:0 0 16px;
      color:#ff5422;
      font-size:12px;
      letter-spacing:2.5px;
      font-weight:950;
      text-transform:uppercase;
    }
    .brand-only-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:16px;
    }
    .logo-tile{
      height:150px;
      border-radius:28px;
      display:flex;
      align-items:center;
      justify-content:center;
      text-decoration:none;
      transition:.25s ease;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.18);
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
    }
    .logo-tile:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(0,0,0,.35)}
    .lg-logo-tile{background:#fff}
    .jbl-logo-tile{background:#ff6600}
    .logo-tile img{
      display:block;
      width:82%;
      height:76%;
      object-fit:contain;
    }
    .jbl-logo-tile img{width:92%;height:86%}
    .brand-mini-trust{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:10px;
      margin-top:16px;
    }
    .brand-mini-trust span{
      border-radius:999px;
      border:1px solid rgba(255,255,255,.14);
      background:rgba(255,255,255,.08);
      color:#fff;
      font-size:12px;
      font-weight:800;
      text-align:center;
      padding:10px 6px;
    }
    @media(max-width:900px){
      .hero-minimal-inner{grid-template-columns:1fr;gap:26px;min-height:auto}
      .brand-only-card{justify-self:stretch}
      .hero-minimal-copy h1{font-size:38px!important}
    }
    @media(max-width:560px){
      .brand-only-grid{grid-template-columns:1fr}
      .logo-tile{height:122px}
      .brand-mini-trust{grid-template-columns:1fr}
      .hero-minimal-copy h1{font-size:32px!important}
      .mini-kicker{font-size:12px}
      .mini-spot{font-size:16px!important}
    }

  
    /* Fix v16: logo JBL correcto enviado por el usuario */
    .jbl-logo-tile{
      background:#ff6600!important;
      padding:0!important;
    }
    .jbl-logo-tile img{
      width:96%!important;
      height:92%!important;
      object-fit:contain!important;
      display:block!important;
    }
    .lg-logo-tile img{
      width:88%!important;
      height:82%!important;
      object-fit:contain!important;
    }

  
    /* v17: banners con solo nombre del modelo, imagen más protagonista */
    .promo-carousel-section{background:#f3f4f6;padding:40px 18px 56px}
    .promo-carousel-wrap{max-width:1240px;margin:0 auto}
    .promo-head-clean{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
    .promo-head-clean h2{margin:0;font-size:28px;line-height:1.05;color:#111}
    .promo-head-clean p{margin:6px 0 0;color:#666;max-width:620px;font-size:14px}
    .clean-image-carousel{position:relative;background:#101010;border-radius:24px;box-shadow:0 22px 60px rgba(0,0,0,.14);overflow:hidden;border:1px solid rgba(0,0,0,.10)}
    .clean-image-carousel .promo-track{display:flex;transition:transform .45s ease}
    .clean-image-carousel .promo-slide{min-width:100%;position:relative;background:#111}
    .clean-image-carousel .promo-slide img{width:100%;aspect-ratio:16/5.6;height:auto;min-height:345px;object-fit:cover;display:block}
    .clean-image-carousel .promo-nav{position:absolute;inset:auto 0 15px 0;display:flex;align-items:center;justify-content:center;gap:9px;z-index:3}
    .clean-image-carousel .promo-dot{width:10px;height:10px;border-radius:999px;border:0;background:rgba(255,255,255,.55);cursor:pointer;transition:.25s ease}
    .clean-image-carousel .promo-dot.active{background:var(--orange);width:32px}
    .clean-image-carousel .promo-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;border:0;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.9);color:#111;font-size:27px;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.22)}
    .clean-image-carousel .promo-prev{left:16px}.clean-image-carousel .promo-next{right:16px}
    @media(max-width:760px){
      .promo-head-clean{display:block}
      .promo-head-clean h2{font-size:24px}
      .clean-image-carousel .promo-slide img{aspect-ratio:4/3;min-height:310px}
    }

  
    /* v18: Bounce alejado para mostrar el modelo completo */
    .clean-image-carousel .promo-slide img{width:100%;aspect-ratio:16/5.6;height:auto;min-height:345px;object-fit:cover;display:block}

  
    /* v19: Bounce y Charge 6 con imágenes nuevas */
    .clean-image-carousel .promo-slide img{
      width:100%;
      aspect-ratio:16/5.6;
      height:auto;
      min-height:345px;
      object-fit:cover;
      display:block;
    }

  
    /* v20: Imagen limpia en Sobre JOR STORE, sin sombreado ni texto encima */
    .about-visual-clean{
      border-radius:24px;
      overflow:hidden;
      min-height:420px;
      background:#fff;
      border:1px solid #eee;
    }
    .about-visual-clean img{
      width:100%;
      height:100%;
      min-height:420px;
      display:block;
      object-fit:cover;
      object-position:center;
    }
    @media(max-width:760px){
      .about-visual-clean{min-height:280px}
      .about-visual-clean img{min-height:280px}
    }

  

    /* =========================================================
       Fix v23 mobile-first: sin barra blanca / sin overflow horizontal
       Mantiene el diseño v20, pero ajusta anchos, hero, carruseles,
       cards, modales y botones fijos para celular.
       ========================================================= */
    html, body{
      width:100%;
      max-width:100%;
      min-width:0;
      overflow-x:hidden;
      background:var(--bg);
    }
    body{position:relative;}
    *, *::before, *::after{min-width:0;}
    img, svg, video, canvas{max-width:100%;height:auto;}
    header, main, footer, section,
    .topbar, .header, .category-bar,
    .hero, .hero-minimal-final,
    .promo-carousel-section,
    .trust-strip{
      width:100%;
      max-width:100%;
      overflow-x:clip;
    }
    .topbar-inner,
    .nav,
    .category-inner,
    .hero-content,
    .hero-minimal-inner,
    .promo-carousel-wrap,
    .trust-grid,
    .brand-showcase,
    .about-grid,
    .product-grid,
    .contact-grid,
    section{
      max-width:min(1240px,100%);
    }
    .category-inner{
      scrollbar-width:none;
      -ms-overflow-style:none;
    }
    .category-inner::-webkit-scrollbar{display:none;}
    .hero-actions a,
    .mini-actions a,
    .nav-cta,
    .wa-buy,
    .back-products{
      -webkit-tap-highlight-color:transparent;
    }

    @media(max-width:768px){
      .topbar{display:none;}
      .nav{
        width:100%;
        padding:10px 14px;
        gap:10px;
        flex-wrap:nowrap;
      }
      .brand-box{gap:9px;min-width:0;flex:1;}
      .brand-box img{width:50px;height:50px;border-radius:14px;flex:0 0 50px;}
      .brand-title{font-size:20px;line-height:1;white-space:nowrap;}
      .brand-sub{font-size:9px;letter-spacing:1.35px;white-space:nowrap;}
      .nav-cta{padding:10px 12px;font-size:13px;white-space:nowrap;flex:0 0 auto;}

      .category-inner{
        max-width:100%;
        padding:0 8px;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
      }
      .category-inner a{padding:11px 12px;font-size:12px;}

      .hero-minimal-final{min-height:auto!important;}
      .hero-minimal-inner{
        grid-template-columns:1fr!important;
        min-height:auto!important;
        gap:22px!important;
        padding:38px 16px 34px!important;
      }
      .hero-minimal-copy{max-width:100%;}
      .mini-kicker{font-size:11px!important;letter-spacing:1.9px;margin-bottom:13px!important;}
      .hero-minimal-copy h1{
        font-size:clamp(30px,9vw,38px)!important;
        line-height:1.03!important;
        letter-spacing:-.9px!important;
        max-width:100%;
      }
      .mini-spot{
        margin:14px 0 20px!important;
        max-width:100%;
        font-size:15.5px!important;
        line-height:1.5!important;
      }
      .hero-actions,
      .mini-actions{
        display:grid!important;
        grid-template-columns:1fr;
        width:100%;
        gap:10px!important;
      }
      .hero-actions a,
      .mini-actions a{
        width:100%;
        max-width:100%;
        justify-content:center;
        text-align:center;
        padding:14px 16px!important;
      }
      .brand-only-card{
        width:100%!important;
        justify-self:stretch!important;
        padding:16px!important;
        border-radius:24px!important;
      }
      .brand-only-card p{font-size:11px;letter-spacing:1.8px;margin-bottom:12px;}
      .brand-only-grid{grid-template-columns:1fr 1fr!important;gap:10px!important;}
      .logo-tile{height:96px!important;border-radius:18px!important;}
      .logo-tile img{width:86%;height:78%;}
      .jbl-logo-tile img{width:94%;height:86%;}
      .brand-mini-trust{grid-template-columns:repeat(3,1fr)!important;gap:7px!important;margin-top:10px!important;}
      .brand-mini-trust span{font-size:10px!important;padding:8px 4px!important;}

      .trust-grid{grid-template-columns:1fr!important;}
      .trust-item{border-right:0!important;border-bottom:1px solid var(--line);padding:16px 14px;}
      .trust-item:last-child{border-bottom:0;}

      section{padding:42px 14px;}
      .section-head{margin-bottom:24px;}
      .section-head h2{font-size:clamp(25px,7.3vw,32px)!important;line-height:1.05;}
      .section-head p{font-size:15px;line-height:1.5;}
      .brand-showcase,
      .about-grid,
      .product-grid,
      .contact-grid{grid-template-columns:1fr!important;}
      .showcase-card{min-height:250px;border-radius:20px;}
      .showcase-content{left:20px;right:20px;bottom:20px;}
      .showcase-content h3{font-size:27px;}

      .about-copy{padding:22px 18px;border-radius:20px;}
      .about-copy h2{font-size:28px;line-height:1.08;}
      .about-copy p{font-size:15px;line-height:1.55;}
      .about-points{grid-template-columns:1fr!important;gap:10px;}
      .point{padding:15px;border-radius:16px;}
      .about-visual,
      .clean-about-image,
      .about-clean-image{min-height:260px!important;border-radius:20px!important;}

      .promo-carousel-section{padding:34px 14px 46px!important;}
      .promo-head{display:block!important;margin-bottom:16px!important;}
      .promo-head h2{font-size:24px!important;line-height:1.08;}
      .promo-head p{font-size:14px;line-height:1.45;}
      .promo-carousel,
      .clean-image-carousel{border-radius:18px!important;max-width:100%;}
      .promo-slide,
      .clean-image-carousel .promo-slide{min-width:100%!important;max-width:100%!important;}
      .promo-slide img,
      .clean-image-carousel .promo-slide img{
        width:100%!important;
        min-height:260px!important;
        max-height:360px;
        aspect-ratio:4/3!important;
        object-fit:cover!important;
      }
      .promo-arrow{width:36px!important;height:36px!important;font-size:22px!important;}
      .promo-prev{left:8px!important;}
      .promo-next{right:8px!important;}
      .promo-nav{bottom:12px!important;}

      .filters{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:0 0 6px;margin:0 -2px 22px;scrollbar-width:none;}
      .filters::-webkit-scrollbar{display:none;}
      .filter-btn{white-space:nowrap;font-size:13px;padding:10px 13px;}
      .product-card{border-radius:20px;}
      .product-img-wrap{height:210px;}
      .product-body{padding:18px;}
      .product-body h3{font-size:20px;}
      .product-body ul{font-size:13.5px;line-height:1.65;}
      .details-btn{padding:13px 12px;}

      .contact-card{border-radius:20px;padding:22px 16px;}
      .footer-inner{grid-template-columns:1fr!important;gap:18px;}
      .footer-links{justify-content:flex-start;}

      .social-side{display:none!important;}
      .floating-wa{
        left:auto!important;
        right:14px!important;
        bottom:14px!important;
        width:56px!important;
        height:56px!important;
        z-index:70!important;
      }

      .modal{padding:10px!important;align-items:flex-start!important;overflow-y:auto;}
      .modal-card{width:100%!important;max-height:calc(100svh - 20px)!important;border-radius:20px!important;}
      .modal-layout{grid-template-columns:1fr!important;}
      .modal-image{min-height:auto!important;padding:18px!important;}
      .modal-image img{max-height:245px!important;}
      .modal-info{padding:20px 16px 24px!important;}
      .modal-info h2{font-size:26px!important;line-height:1.06;}
      .modal-info .desc{font-size:14.5px!important;line-height:1.5;}
      .modal-price{font-size:28px!important;}
      .buy-row{display:grid!important;grid-template-columns:1fr!important;}
      .wa-buy,.back-products{width:100%;text-align:center;}
    }

    @media(max-width:360px){
      .nav{padding:9px 10px;}
      .brand-box img{width:44px;height:44px;flex-basis:44px;}
      .brand-title{font-size:18px;}
      .brand-sub{display:none;}
      .nav-cta{font-size:12px;padding:9px 10px;}
      .hero-minimal-inner{padding:32px 12px 30px!important;}
      .brand-only-grid{grid-template-columns:1fr!important;}
      .brand-mini-trust{grid-template-columns:1fr!important;}
      section{padding-left:12px;padding-right:12px;}
      .promo-carousel-section{padding-left:12px!important;padding-right:12px!important;}
    }

    @supports (height:100svh){
      .modal-card{max-height:calc(100svh - 20px);}
    }


    /* v24: Escenarios de uso más grandes, con más presencia visual y sin overflow móvil */
    .promo-carousel-section{
      padding:58px 18px 78px!important;
      background:linear-gradient(180deg,#f6f7f9 0%,#eef1f5 100%)!important;
      overflow:hidden!important;
      max-width:100vw!important;
    }
    .promo-carousel-wrap{
      max-width:1280px!important;
      width:100%!important;
      margin:0 auto!important;
    }
    .promo-head-clean{
      margin-bottom:26px!important;
      gap:22px!important;
      align-items:flex-end!important;
    }
    .promo-head-clean .eyebrow{
      font-size:14px!important;
      letter-spacing:.16em!important;
    }
    .promo-head-clean h2{
      font-size:clamp(34px,4.2vw,52px)!important;
      line-height:.96!important;
      letter-spacing:-1.4px!important;
    }
    .promo-head-clean p{
      font-size:17px!important;
      line-height:1.45!important;
      max-width:720px!important;
      color:#555!important;
    }
    .clean-image-carousel{
      border-radius:32px!important;
      box-shadow:0 30px 80px rgba(0,0,0,.18)!important;
      max-width:100%!important;
    }
    .clean-image-carousel .promo-slide,
    .promo-slide{
      min-width:100%!important;
      max-width:100%!important;
      flex:0 0 100%!important;
    }
    .clean-image-carousel .promo-slide img,
    .promo-slide img{
      width:100%!important;
      min-height:520px!important;
      max-height:none!important;
      aspect-ratio:16/6.9!important;
      object-fit:cover!important;
      display:block!important;
    }
    .clean-image-carousel .promo-arrow{
      width:50px!important;
      height:50px!important;
      font-size:32px!important;
      background:rgba(255,255,255,.94)!important;
    }
    .clean-image-carousel .promo-prev{left:22px!important;}
    .clean-image-carousel .promo-next{right:22px!important;}
    .clean-image-carousel .promo-nav{
      bottom:20px!important;
      gap:10px!important;
    }
    .clean-image-carousel .promo-dot{
      width:11px!important;
      height:11px!important;
    }
    .clean-image-carousel .promo-dot.active{
      width:40px!important;
    }

    @media(max-width:768px){
      .promo-carousel-section{
        padding:44px 12px 62px!important;
        overflow:hidden!important;
      }
      .promo-carousel-wrap{
        width:100%!important;
        max-width:100%!important;
      }
      .promo-head-clean,
      .promo-head{
        display:block!important;
        margin-bottom:20px!important;
      }
      .promo-head-clean h2,
      .promo-head h2{
        font-size:32px!important;
        line-height:1!important;
        letter-spacing:-.8px!important;
      }
      .promo-head-clean p,
      .promo-head p{
        font-size:15.5px!important;
        line-height:1.45!important;
        max-width:100%!important;
      }
      .promo-head-clean .mini-btn,
      .promo-head .mini-btn{
        width:100%!important;
        justify-content:center!important;
        margin-top:14px!important;
      }
      .promo-carousel,
      .clean-image-carousel{
        border-radius:24px!important;
        width:100%!important;
        max-width:100%!important;
        overflow:hidden!important;
      }
      .clean-image-carousel .promo-slide img,
      .promo-slide img{
        min-height:430px!important;
        max-height:520px!important;
        aspect-ratio:3/4!important;
        object-fit:cover!important;
      }
      .clean-image-carousel .promo-arrow,
      .promo-arrow{
        width:40px!important;
        height:40px!important;
        font-size:25px!important;
      }
      .clean-image-carousel .promo-prev,
      .promo-prev{left:10px!important;}
      .clean-image-carousel .promo-next,
      .promo-next{right:10px!important;}
      .clean-image-carousel .promo-nav,
      .promo-nav{bottom:14px!important;}
    }

    @media(max-width:420px){
      .promo-carousel-section{padding-left:10px!important;padding-right:10px!important;}
      .promo-head-clean h2,
      .promo-head h2{font-size:30px!important;}
      .clean-image-carousel .promo-slide img,
      .promo-slide img{
        min-height:405px!important;
        max-height:500px!important;
        aspect-ratio:3/4.15!important;
      }
    }



    /* v25: Escenarios más largos en altura y sin nombres visibles de modelos */
    .promo-carousel-section{
      padding:64px 18px 92px!important;
    }
    .clean-image-carousel .promo-slide img,
    .promo-slide img{
      width:100%!important;
      height:clamp(620px,54vw,760px)!important;
      min-height:0!important;
      max-height:none!important;
      aspect-ratio:auto!important;
      object-fit:cover!important;
      display:block!important;
    }
    #promoTrack .promo-slide:nth-child(1) img{object-position:28% center!important;}
    #promoTrack .promo-slide:nth-child(2) img{object-position:34% center!important;}
    #promoTrack .promo-slide:nth-child(3) img{object-position:68% center!important;}
    #promoTrack .promo-slide:nth-child(4) img{object-position:58% center!important;}
    #promoTrack .promo-slide:nth-child(5) img{object-position:50% center!important;}
    #promoTrack .promo-slide:nth-child(6) img{object-position:50% center!important;}
    #promoTrack .promo-slide:nth-child(7) img{object-position:62% center!important;}
    #promoTrack .promo-slide:nth-child(8) img{object-position:48% center!important;}
    #promoTrack .promo-slide:nth-child(9) img{object-position:47% center!important;}
    .clean-image-carousel .promo-nav,
    .promo-nav{bottom:22px!important;}

    @media(max-width:768px){
      .promo-carousel-section{padding:46px 12px 74px!important;}
      .clean-image-carousel .promo-slide img,
      .promo-slide img{
        height:590px!important;
        min-height:0!important;
        max-height:none!important;
        aspect-ratio:auto!important;
        object-fit:cover!important;
      }
      #promoTrack .promo-slide:nth-child(1) img{object-position:27% center!important;}
      #promoTrack .promo-slide:nth-child(2) img{object-position:32% center!important;}
      #promoTrack .promo-slide:nth-child(3) img{object-position:70% center!important;}
      #promoTrack .promo-slide:nth-child(4) img{object-position:60% center!important;}
      #promoTrack .promo-slide:nth-child(5) img{object-position:50% center!important;}
      #promoTrack .promo-slide:nth-child(6) img{object-position:50% center!important;}
      #promoTrack .promo-slide:nth-child(7) img{object-position:64% center!important;}
      #promoTrack .promo-slide:nth-child(8) img{object-position:48% center!important;}
      #promoTrack .promo-slide:nth-child(9) img{object-position:47% center!important;}
    }

    @media(max-width:420px){
      .promo-carousel-section{padding-left:10px!important;padding-right:10px!important;}
      .clean-image-carousel .promo-slide img,
      .promo-slide img{height:570px!important;}
    }

    @media(max-width:360px){
      .clean-image-carousel .promo-slide img,
      .promo-slide img{height:545px!important;}
    }


    /* v26: Escenarios tipo banner largo horizontal, como slider ancho de tienda */
    html,
    body{
      width:100%!important;
      max-width:100%!important;
      overflow-x:hidden!important;
    }
    .promo-carousel-section{
      padding:52px 0 72px!important;
      margin:0!important;
      width:100%!important;
      max-width:100%!important;
      overflow:hidden!important;
      background:#f3f4f6!important;
    }
    .promo-carousel-wrap{
      width:100%!important;
      max-width:none!important;
      margin:0!important;
      padding:0!important;
    }
    .promo-head-clean,
    .promo-head{
      width:100%!important;
      max-width:1240px!important;
      margin:0 auto 26px!important;
      padding:0 18px!important;
    }
    .clean-image-carousel,
    .promo-carousel{
      width:100%!important;
      max-width:100%!important;
      margin:0!important;
      border-radius:0!important;
      border-left:0!important;
      border-right:0!important;
      box-shadow:0 18px 42px rgba(0,0,0,.16)!important;
      overflow:hidden!important;
    }
    .clean-image-carousel .promo-track,
    .promo-track{
      width:100%!important;
      max-width:100%!important;
    }
    .clean-image-carousel .promo-slide,
    .promo-slide{
      min-width:100%!important;
      max-width:100%!important;
      width:100%!important;
      flex:0 0 100%!important;
      overflow:hidden!important;
    }
    .clean-image-carousel .promo-slide img,
    .promo-slide img{
      width:100%!important;
      height:clamp(380px,31vw,540px)!important;
      min-height:0!important;
      max-height:none!important;
      aspect-ratio:auto!important;
      object-fit:cover!important;
      object-position:center center!important;
      display:block!important;
    }
    #promoTrack .promo-slide:nth-child(1) img{object-position:center center!important;}
    #promoTrack .promo-slide:nth-child(2) img{object-position:center center!important;}
    #promoTrack .promo-slide:nth-child(3) img{object-position:center center!important;}
    #promoTrack .promo-slide:nth-child(4) img{object-position:center center!important;}
    #promoTrack .promo-slide:nth-child(5) img{object-position:center center!important;}
    #promoTrack .promo-slide:nth-child(6) img{object-position:center center!important;}
    #promoTrack .promo-slide:nth-child(7) img{object-position:center center!important;}
    #promoTrack .promo-slide:nth-child(8) img{object-position:center center!important;}
    #promoTrack .promo-slide:nth-child(9) img{object-position:center center!important;}
    .clean-image-carousel .promo-nav,
    .promo-nav{
      bottom:18px!important;
    }

    @media(max-width:768px){
      .promo-carousel-section{
        padding:38px 0 62px!important;
      }
      .promo-head-clean,
      .promo-head{
        padding:0 14px!important;
        margin-bottom:20px!important;
      }
      .promo-head-clean h2,
      .promo-head h2{
        font-size:30px!important;
        line-height:1.05!important;
      }
      .promo-head-clean p,
      .promo-head p{
        font-size:14px!important;
      }
      .clean-image-carousel,
      .promo-carousel{
        border-radius:0!important;
      }
      .clean-image-carousel .promo-slide img,
      .promo-slide img{
        height:clamp(245px,66vw,360px)!important;
        object-fit:cover!important;
        object-position:center center!important;
      }
      .clean-image-carousel .promo-arrow,
      .promo-arrow{
        width:34px!important;
        height:34px!important;
        font-size:23px!important;
        top:50%!important;
      }
      .clean-image-carousel .promo-prev,
      .promo-prev{left:10px!important;}
      .clean-image-carousel .promo-next,
      .promo-next{right:10px!important;}
      .clean-image-carousel .promo-nav,
      .promo-nav{bottom:12px!important;}
    }

    @media(max-width:420px){
      .promo-carousel-section{padding:34px 0 58px!important;}
      .promo-head-clean,
      .promo-head{padding:0 12px!important;}
      .clean-image-carousel .promo-slide img,
      .promo-slide img{
        height:270px!important;
      }
      .clean-image-carousel .promo-dot,
      .promo-dot{width:8px!important;height:8px!important;}
      .clean-image-carousel .promo-dot.active,
      .promo-dot.active{width:25px!important;}
    }

    @media(max-width:360px){
      .clean-image-carousel .promo-slide img,
      .promo-slide img{height:245px!important;}
    }


    /* v30: Modelos sin marco real.
       Las fotos de producto fueron convertidas a PNG con fondo transparente
       para que se vea solo el parlante, sin rectángulo/cuadro blanco interno. */
    .product-img-wrap{
      background:transparent!important;
      padding:26px 18px 6px!important;
      overflow:visible!important;
      border:0!important;
      box-shadow:none!important;
      isolation:auto!important;
    }
    .product-img-wrap img{
      display:block!important;
      background:transparent!important;
      mix-blend-mode:normal!important;
      width:auto!important;
      max-width:100%!important;
      max-height:100%!important;
      object-fit:contain!important;
      border:0!important;
      outline:0!important;
      border-radius:0!important;
      box-shadow:none!important;
      filter:drop-shadow(0 14px 18px rgba(0,0,0,.10))!important;
    }
    .modal-image{
      background:transparent!important;
      border:0!important;
      box-shadow:none!important;
      isolation:auto!important;
    }
    .modal-image img{
      background:transparent!important;
      mix-blend-mode:normal!important;
      object-fit:contain!important;
      border:0!important;
      outline:0!important;
      border-radius:0!important;
      box-shadow:none!important;
      filter:drop-shadow(0 18px 22px rgba(0,0,0,.13))!important;
    }
    @media(max-width:620px){
      .product-img-wrap{height:225px!important;padding:22px 14px 8px!important;}
      .product-img-wrap img{max-width:100%!important;max-height:100%!important;}
    }


  

    /* v31: Escenarios reemplazados por banners LG enviados.
       Se muestran completos en formato 16:9 para no cortar textos, iconos ni beneficios. */
    #promociones .promo-carousel-section,
    section#promociones{
      background:#f3f4f6!important;
    }
    #promociones .promo-carousel-wrap{
      width:100%!important;
      max-width:1600px!important;
      margin:0 auto!important;
      padding:0!important;
    }
    #promociones .promo-head-clean,
    #promociones .promo-head{
      max-width:1240px!important;
      margin-left:auto!important;
      margin-right:auto!important;
    }
    #promociones .clean-image-carousel,
    #promociones .promo-carousel{
      background:#050505!important;
      border-radius:0!important;
      overflow:hidden!important;
    }
    #promociones .promo-slide img,
    #promociones .clean-image-carousel .promo-slide img{
      width:100%!important;
      height:auto!important;
      min-height:0!important;
      max-height:none!important;
      aspect-ratio:16/9!important;
      object-fit:contain!important;
      object-position:center center!important;
      background:#050505!important;
      display:block!important;
    }
    @media(max-width:768px){
      #promociones .promo-carousel-wrap{max-width:100%!important;}
      #promociones .promo-slide img,
      #promociones .clean-image-carousel .promo-slide img{
        height:auto!important;
        aspect-ratio:16/9!important;
        object-fit:contain!important;
      }
    }

  

    /* v32: escenarios de uso en orden estricto enviado: Go 4, Grip, Grab, Flip 7, Bounce, Charge 6, XG8T, Stage 301 y Boombox 4. */
    #promociones .promo-nav{
      flex-wrap:wrap!important;
      max-width:min(92vw,560px)!important;
      margin:0 auto!important;
      padding:0 12px!important;
    }
    #promociones .promo-slide img{
      background:#050505!important;
    }
  

    /* v36: banner principal con más brillo, contraste y glow premium */
    .hero-sales-banner{
      position:relative!important;
      width:100%!important;
      max-width:100vw!important;
      overflow:hidden!important;
      background:#030507!important;
      color:#fff!important;
      isolation:isolate!important;
      margin:0!important;
    }
    .hero-sales-banner::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:1;
      pointer-events:none;
      background:
        radial-gradient(circle at 20% 24%,rgba(255,142,24,.20),transparent 28%),
        radial-gradient(circle at 76% 34%,rgba(8,119,255,.18),transparent 31%),
        linear-gradient(90deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.06) 38%,rgba(0,0,0,.01) 66%,rgba(0,0,0,.08) 100%),
        linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,0) 42%,rgba(0,0,0,.08) 100%);
    }
    .hero-sales-img{
      display:block!important;
      width:100%!important;
      height:auto!important;
      max-width:100%!important;
      object-fit:contain!important;
      background:#030507!important;
      filter:brightness(1.08) contrast(1.06) saturate(1.10)!important;
    }
    .hero-sales-content{
      position:absolute;
      z-index:2;
      left:clamp(18px,4vw,72px);
      top:clamp(24px,5vw,84px);
      width:min(720px,48vw);
      max-width:calc(100vw - 36px);
      color:#fff;
      pointer-events:none;
    }
    .hero-sales-kicker{
      margin:0 0 clamp(8px,1.2vw,14px);
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(0,0,0,.38);
      border:1px solid rgba(255,255,255,.20);
      color:#f4f7ff;
      font-size:clamp(10px,.9vw,13px);
      font-weight:950;
      letter-spacing:.14em;
      text-transform:uppercase;
      backdrop-filter:blur(8px);
      box-shadow:0 0 22px rgba(8,119,255,.18);
    }
    .hero-sales-content h1{
      margin:0;
      color:#fff;
      font-size:clamp(42px,6vw,104px);
      line-height:.90;
      letter-spacing:-.055em;
      font-weight:1000;
      text-transform:uppercase;
      text-shadow:0 5px 28px rgba(0,0,0,.78), 0 0 30px rgba(8,119,255,.28);
    }
    .hero-sales-content h1 span{
      display:block;
      color:#ff9a16;
      text-shadow:0 4px 24px rgba(0,0,0,.85),0 0 34px rgba(255,105,18,.62);
    }
    .hero-catalog-btn{
      pointer-events:auto;
      margin-top:clamp(15px,2.4vw,32px);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:56px;
      padding:17px clamp(22px,2.5vw,34px);
      border-radius:18px;
      color:#fff!important;
      text-decoration:none!important;
      font-size:clamp(15px,1.18vw,19px);
      font-weight:1000;
      letter-spacing:-.01em;
      background:
        linear-gradient(135deg,rgba(255,103,22,.96) 0%,rgba(255,143,16,.92) 35%,rgba(5,105,255,.94) 100%);
      border:1px solid rgba(255,255,255,.30);
      box-shadow:
        0 16px 38px rgba(0,0,0,.36),
        0 0 34px rgba(255,103,22,.45),
        0 0 42px rgba(5,105,255,.42),
        inset 0 1px 0 rgba(255,255,255,.34);
      transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
      position:relative;
      overflow:hidden;
    }
    .hero-catalog-btn::before{
      content:"";
      position:absolute;
      inset:-2px;
      background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.40) 45%,transparent 62%);
      transform:translateX(-120%);
      transition:transform .7s ease;
    }
    .hero-catalog-btn::after{
      content:"→";
      position:relative;
      font-size:1.15em;
      line-height:1;
    }
    .hero-catalog-btn:hover{
      transform:translateY(-2px);
      filter:saturate(1.08);
      box-shadow:
        0 20px 44px rgba(0,0,0,.42),
        0 0 42px rgba(255,103,22,.55),
        0 0 54px rgba(5,105,255,.50),
        inset 0 1px 0 rgba(255,255,255,.42);
    }
    .hero-catalog-btn:hover::before{transform:translateX(120%);}
    .hero-catalog-btn:focus-visible{
      outline:3px solid rgba(255,255,255,.86);
      outline-offset:4px;
    }
    .catalog-anchor{
      display:block;
      position:relative;
      top:-92px;
      width:1px;
      height:1px;
      overflow:hidden;
    }
    @media(max-width:760px){
      .hero-sales-banner::before{
        background:
          radial-gradient(circle at 22% 22%,rgba(255,142,24,.16),transparent 32%),
          radial-gradient(circle at 82% 36%,rgba(8,119,255,.16),transparent 36%),
          linear-gradient(90deg,rgba(0,0,0,.26) 0%,rgba(0,0,0,.07) 62%,rgba(0,0,0,.02) 100%);
      }
      .hero-sales-content{
        left:14px;
        top:14px;
        width:76vw;
        max-width:320px;
      }
      .hero-sales-kicker{
        font-size:8px;
        padding:5px 8px;
        margin-bottom:6px;
        letter-spacing:.10em;
      }
      .hero-sales-content h1{
        font-size:clamp(26px,10.2vw,42px);
        line-height:.92;
        letter-spacing:-.045em;
      }
      .hero-catalog-btn{
        min-height:40px;
        margin-top:9px;
        padding:10px 13px;
        border-radius:13px;
        font-size:12px;
        gap:6px;
        box-shadow:
          0 10px 24px rgba(0,0,0,.34),
          0 0 22px rgba(255,103,22,.36),
          0 0 24px rgba(5,105,255,.35),
          inset 0 1px 0 rgba(255,255,255,.30);
      }
      .catalog-anchor{top:-72px;}
    }
    @media(max-width:420px){
      .hero-sales-content{
        left:10px;
        top:10px;
        width:82vw;
        max-width:300px;
      }
      .hero-sales-kicker{display:none;}
      .hero-sales-content h1{font-size:28px;}
      .hero-catalog-btn{font-size:11px;min-height:36px;padding:9px 11px;margin-top:7px;}
    }

      /* v34: catálogo limpio: solo nombre del modelo debajo de imagen, sin tags ni viñetas; JOR STORE negro; Stage 301 S/ 899. */


    /* v35: Sobre JOR STORE premium, confiable y orientado a venta */
    #sobre-nosotros{
      max-width:1240px;
      padding-top:76px;
      padding-bottom:76px;
    }
    #sobre-nosotros .about-premium-grid{
      display:grid;
      grid-template-columns:1.02fr .98fr;
      gap:34px;
      align-items:center;
    }
    #sobre-nosotros .about-premium-copy{
      background:linear-gradient(180deg,#ffffff 0%,#fbfbfb 100%);
      border:1px solid rgba(0,0,0,.06);
      border-radius:30px;
      padding:38px;
      box-shadow:0 22px 55px rgba(0,0,0,.08);
      position:relative;
      overflow:hidden;
    }
    #sobre-nosotros .about-premium-copy::before{
      content:"";
      position:absolute;
      inset:0 auto auto 0;
      width:130px;
      height:130px;
      background:radial-gradient(circle,rgba(8,119,255,.12),transparent 68%);
      pointer-events:none;
    }
    #sobre-nosotros .about-premium-copy .eyebrow{
      color:#111;
      letter-spacing:.18em;
      font-size:12px;
      margin-bottom:12px;
      position:relative;
      z-index:1;
    }
    #sobre-nosotros .about-premium-copy h2{
      margin:0 0 14px;
      color:#050505;
      font-size:clamp(30px,3.3vw,48px);
      line-height:1.02;
      letter-spacing:-1.35px;
      max-width:620px;
      position:relative;
      z-index:1;
    }
    #sobre-nosotros .about-premium-copy > p:not(.eyebrow){
      margin:0;
      color:#333;
      font-size:16px;
      line-height:1.65;
      max-width:650px;
      position:relative;
      z-index:1;
    }
    #sobre-nosotros .about-cta-row{
      display:flex;
      align-items:center;
      gap:14px;
      flex-wrap:wrap;
      margin:24px 0 26px;
      position:relative;
      z-index:1;
    }
    #sobre-nosotros .about-catalog-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:52px;
      padding:15px 22px;
      border-radius:15px;
      background:#050505;
      color:#fff;
      text-decoration:none;
      font-weight:950;
      letter-spacing:.1px;
      box-shadow:0 14px 26px rgba(0,0,0,.20);
      transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
    }
    #sobre-nosotros .about-catalog-btn:hover{
      transform:translateY(-2px);
      background:#111;
      box-shadow:0 18px 32px rgba(0,0,0,.24);
    }
    #sobre-nosotros .about-mini-trust{
      color:#5a5a5a;
      font-size:13px;
      font-weight:800;
    }
    #sobre-nosotros .about-trust-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
      position:relative;
      z-index:1;
    }
    #sobre-nosotros .about-trust-card{
      background:#fff;
      border:1px solid rgba(0,0,0,.075);
      border-radius:20px;
      padding:18px;
      box-shadow:0 12px 26px rgba(0,0,0,.045);
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }
    #sobre-nosotros .about-trust-card:hover{
      transform:translateY(-2px);
      border-color:rgba(8,119,255,.18);
      box-shadow:0 18px 34px rgba(0,0,0,.075);
    }
    #sobre-nosotros .about-icon{
      width:42px;
      height:42px;
      border-radius:14px;
      display:grid;
      place-items:center;
      margin-bottom:12px;
      color:#111;
      background:linear-gradient(135deg,#f7f8fb,#eef4ff);
      border:1px solid rgba(8,119,255,.12);
    }
    #sobre-nosotros .about-icon svg{
      width:22px;
      height:22px;
      stroke:currentColor;
      stroke-width:2.1;
      fill:none;
      stroke-linecap:round;
      stroke-linejoin:round;
    }
    #sobre-nosotros .about-trust-card h3{
      margin:0 0 6px;
      font-size:17px;
      line-height:1.15;
      color:#050505;
      font-weight:950;
    }
    #sobre-nosotros .about-trust-card p{
      margin:0;
      color:#555;
      font-size:14px;
      line-height:1.48;
    }
    #sobre-nosotros .about-premium-visual{
      position:relative;
      min-height:470px;
      border-radius:30px;
      overflow:hidden;
      background:#111;
      box-shadow:0 26px 60px rgba(0,0,0,.15);
      border:1px solid rgba(0,0,0,.08);
      isolation:isolate;
    }
    #sobre-nosotros .about-premium-visual img{
      width:100%;
      height:100%;
      min-height:470px;
      object-fit:cover;
      object-position:center;
      display:block;
      filter:saturate(.96) contrast(1.03) brightness(.98);
      transform:scale(1.01);
    }
    #sobre-nosotros .about-premium-visual::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18));
      z-index:1;
      pointer-events:none;
    }
    #sobre-nosotros .about-visual-badge{
      position:absolute;
      left:18px;
      bottom:18px;
      z-index:2;
      display:flex;
      align-items:center;
      gap:10px;
      padding:12px 14px;
      border-radius:999px;
      background:rgba(255,255,255,.92);
      color:#111;
      font-size:13px;
      font-weight:950;
      box-shadow:0 14px 28px rgba(0,0,0,.18);
      backdrop-filter:blur(10px);
    }
    #sobre-nosotros .about-visual-badge span{
      width:9px;
      height:9px;
      border-radius:50%;
      background:#20d366;
      box-shadow:0 0 0 5px rgba(32,211,102,.15);
    }
    @media(max-width:980px){
      #sobre-nosotros{padding-top:54px;padding-bottom:58px;}
      #sobre-nosotros .about-premium-grid{grid-template-columns:1fr;gap:22px;}
      #sobre-nosotros .about-premium-copy{padding:28px;}
      #sobre-nosotros .about-premium-visual{min-height:350px;}
      #sobre-nosotros .about-premium-visual img{min-height:350px;}
    }
    @media(max-width:620px){
      #sobre-nosotros{padding-left:14px!important;padding-right:14px!important;}
      #sobre-nosotros .about-premium-copy{padding:22px 18px;border-radius:24px;}
      #sobre-nosotros .about-premium-copy h2{font-size:29px;line-height:1.06;letter-spacing:-.7px;}
      #sobre-nosotros .about-premium-copy > p:not(.eyebrow){font-size:15px;line-height:1.55;}
      #sobre-nosotros .about-catalog-btn{width:100%;min-height:54px;}
      #sobre-nosotros .about-mini-trust{width:100%;text-align:center;}
      #sobre-nosotros .about-trust-grid{grid-template-columns:1fr;gap:10px;}
      #sobre-nosotros .about-trust-card{padding:16px;border-radius:18px;}
      #sobre-nosotros .about-premium-visual{min-height:300px;border-radius:24px;}
      #sobre-nosotros .about-premium-visual img{min-height:300px;}
      #sobre-nosotros .about-visual-badge{left:12px;right:12px;justify-content:center;font-size:12px;}
    }
    /* Ajuste final catálogo: cards más aireadas y productos completos */
#productos {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 76px 18px 96px !important;
}

#productGrid.product-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px 34px !important;
  align-items: stretch !important;
}

#productos .product-card {
  min-height: 430px !important;
  padding: 22px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}

#productos .product-card > img {
  width: 100% !important;
  height: 215px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  margin: 14px auto 24px !important;
  padding: 0 !important;
  background: transparent !important;
}

#productos .product-body {
  padding: 0 !important;
}

#productos .product-body h3 {
  margin: 0 0 20px !important;
}

#productos .price-line {
  margin-bottom: 18px !important;
}

#productos .details-btn {
  width: 100% !important;
  min-height: 46px !important;
}

@media (max-width: 980px) {
  #productGrid.product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  #productGrid.product-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  #productos .product-card {
    min-height: auto !important;
  }

  #productos .product-card > img {
    height: 200px !important;
  }
}
/* Ajuste final contacto */
#contacto {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 76px 18px 90px !important;
}

#contacto .section-head {
  text-align: center !important;
  max-width: 900px !important;
  margin: 0 auto 38px !important;
}

#contacto .contact-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

#contacto .contact-card {
  min-height: 180px !important;
  background: #fff !important;
  border-radius: 24px !important;
  padding: 32px 24px 28px !important;
  text-align: center !important;
  text-decoration: none !important;
  color: #111 !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.08) !important;
  border: 1px solid rgba(0,0,0,.05) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

#contacto .contact-icon {
  width: 76px !important;
  height: 76px !important;
  border-radius: 20px !important;
  background: #fff !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 auto 14px !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.08) !important;
}

#contacto .contact-icon img {
  width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
  display: block !important;
}

#contacto .contact-card h3 {
  margin: 0 0 8px !important;
  font-size: 24px !important;
  font-weight: 950 !important;
  color: #050505 !important;
}

#contacto .contact-card p {
  margin: 0 !important;
  max-width: 330px !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  color: #444 !important;
}

@media (max-width: 900px) {
  #contacto .contact-grid {
    grid-template-columns: 1fr !important;
  }
}
/* Redes sociales flotantes laterales */
.social-floating {
  position: fixed !important;
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 9999 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: auto !important;
}

.social-floating a {
  width: 52px !important;
  height: 52px !important;
  border-radius: 16px !important;
  background: #fff !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  overflow: hidden !important;
}

.social-floating img {
  width: 34px !important;
  height: 34px !important;
  object-fit: contain !important;
  display: block !important;
}

@media (max-width: 760px) {
  .social-floating {
    right: 10px !important;
    bottom: 88px !important;
    top: auto !important;
    transform: none !important;
  }

  .social-floating a {
    width: 46px !important;
    height: 46px !important;
    border-radius: 14px !important;
  }

  .social-floating img {
    width: 30px !important;
    height: 30px !important;
  }
}
/* ================================
   PRODUCTOS PREMIUM - JOR STORE
   Solo catálogo y modal
================================ */

#productos .product-card {
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.08) !important;
  padding: 20px !important;
  min-height: 610px !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

#productos .product-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 26px 60px rgba(0,0,0,.13) !important;
}

#productos .badge-row {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  right: 16px !important;
  z-index: 3 !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

#productos .badge.brand {
  display: none !important;
}

#productos .badge.stock {
  background: #eafaf0 !important;
  color: #00873c !important;
  border: 1px solid #c8f0d5 !important;
  border-radius: 999px !important;
  padding: 8px 11px !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .6px !important;
  box-shadow: 0 8px 16px rgba(0,135,60,.08) !important;
}

#productos .badge.promo {
  background: #111 !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 8px 11px !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .7px !important;
  box-shadow: 0 10px 20px rgba(0,0,0,.14) !important;
}

#productos .product-card > img {
  height: 230px !important;
  width: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 34px auto 20px !important;
  padding: 10px !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg,#fff,#fafafa) !important;
  filter: drop-shadow(0 18px 18px rgba(0,0,0,.12)) !important;
}

#productos .product-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  padding: 0 !important;
}

#productos .product-body h3 {
  font-size: 24px !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  letter-spacing: -.5px !important;
  color: #050505 !important;
  margin: 0 0 12px !important;
}

#productos .quick-benefits {
  list-style: none !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  display: grid !important;
  gap: 6px !important;
  min-height: 66px !important;
}

#productos .quick-benefits li {
  font-size: 13px !important;
  line-height: 1.25 !important;
  color: #333 !important;
  font-weight: 750 !important;
  background: #f7f8fa !important;
  border: 1px solid #eceff3 !important;
  border-radius: 10px !important;
  padding: 7px 9px !important;
}

#productos .price-line {
  margin: 0 0 16px !important;
  min-height: 104px !important;
}

#productos .price-line > strong {
  font-size: 32px !important;
  color: #ff4f1f !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -.8px !important;
}

#productos .price-line > span {
  font-size: 12px !important;
  color: #666 !important;
}

#productos .promo-price-line {
  background: linear-gradient(180deg,#fff7f3,#fff) !important;
  border: 1px solid #ffd7c8 !important;
  border-radius: 18px !important;
  padding: 13px !important;
  min-height: 138px !important;
  box-shadow: 0 12px 28px rgba(255,79,31,.08) !important;
}

#productos .promo-price-main {
  display: grid !important;
  gap: 6px !important;
}

#productos .promo-kicker {
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: 1.5px !important;
  color: #ff4f1f !important;
  text-transform: uppercase !important;
}

#productos .promo-now {
  display: flex !important;
  align-items: flex-end !important;
  gap: 7px !important;
}

#productos .promo-now small {
  font-size: 12px !important;
  color: #555 !important;
  font-weight: 850 !important;
  margin-bottom: 5px !important;
}

#productos .promo-now strong {
  font-size: 36px !important;
  color: #ff4f1f !important;
  font-weight: 950 !important;
  line-height: .95 !important;
  letter-spacing: -1px !important;
}

#productos .promo-before {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: 13px !important;
  color: #777 !important;
  font-weight: 850 !important;
}

#productos .promo-before del {
  color: #777 !important;
  text-decoration-thickness: 2px !important;
}

#productos .promo-save {
  display: inline-flex !important;
  width: max-content !important;
  align-items: center !important;
  justify-content: center !important;
  background: #e3062b !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  box-shadow: 0 10px 18px rgba(227,6,43,.16) !important;
}

#productos .details-btn {
  margin-top: auto !important;
  width: 100% !important;
  min-height: 52px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg,#111,#252525) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  cursor: pointer !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.18) !important;
}

#productos .details-btn:hover {
  background: linear-gradient(135deg,#ff4f1f,#ff7a1a) !important;
}

#productos .urgency-line {
  margin: 10px 0 0 !important;
  font-size: 13px !important;
  color: #7a3a00 !important;
  background: #fff7df !important;
  border: 1px solid #ffe4a3 !important;
  border-radius: 12px !important;
  padding: 9px 10px !important;
  font-weight: 850 !important;
  text-align: center !important;
}

/* Modal promo */
#productModal .modal-promo-price {
  display: grid !important;
  gap: 7px !important;
  background: linear-gradient(180deg,#fff7f3,#fff) !important;
  border: 1px solid #ffd6c7 !important;
  border-radius: 18px !important;
  padding: 16px 18px !important;
  max-width: 360px !important;
  box-shadow: 0 16px 32px rgba(255,79,31,.08) !important;
}

#productModal .modal-promo-price .modal-kicker {
  font-size: 12px !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  color: #ff4f1f !important;
  font-weight: 950 !important;
}

#productModal .modal-promo-price strong {
  display: block !important;
  font-size: 46px !important;
  line-height: .95 !important;
  color: #ff4f1f !important;
  font-weight: 950 !important;
  letter-spacing: -1.5px !important;
}

#productModal .modal-old-price {
  font-size: 15px !important;
  color: #777 !important;
  font-weight: 850 !important;
  text-decoration: line-through !important;
  text-decoration-thickness: 2px !important;
}

#productModal .modal-promo-price small {
  display: inline-flex !important;
  width: max-content !important;
  background: #e3062b !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}

/* Mobile */
@media (max-width: 620px) {
  #productos .product-card {
    min-height: auto !important;
    padding: 18px !important;
  }

  #productos .product-card > img {
    height: 210px !important;
  }

  #productos .quick-benefits {
    min-height: auto !important;
  }

  #productos .promo-price-line {
    min-height: auto !important;
  }

  #productos .promo-now strong {
    font-size: 31px !important;
  }

  #productModal .modal-promo-price {
    max-width: 100% !important;
  }

  #productModal .modal-promo-price strong {
    font-size: 38px !important;
  }
}
/* ==================================================
   JOR STORE - Ajuste premium SOLO catálogo y modal
   No toca hero, escenarios, sobre nosotros, contacto ni footer
================================================== */

#productos .product-card {
  min-height: 610px !important;
  padding: 22px !important;
  border-radius: 24px !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.08) !important;
  display: flex !important;
  flex-direction: column !important;
}

#productos .product-card > img {
  height: 225px !important;
  width: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 36px auto 20px !important;
  padding: 8px !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, #fff, #fafafa) !important;
  filter: drop-shadow(0 16px 18px rgba(0,0,0,.12)) !important;
}

#productos .badge-row {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  right: 16px !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  z-index: 3 !important;
}

#productos .badge.brand {
  display: none !important;
}

#productos .badge.promo {
  background: #111 !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 8px 12px !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .7px !important;
  text-transform: uppercase !important;
}

#productos .badge.stock {
  background: #eafaf0 !important;
  color: #00873c !important;
  border: 1px solid #c8f0d5 !important;
  border-radius: 999px !important;
  padding: 8px 12px !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .6px !important;
  text-transform: uppercase !important;
}

#productos .product-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  padding: 0 !important;
}

#productos .product-body h3 {
  margin: 0 0 12px !important;
  font-size: 24px !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  letter-spacing: -.5px !important;
  color: #050505 !important;
}

#productos .quick-benefits {
  list-style: none !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  display: grid !important;
  gap: 6px !important;
  min-height: 66px !important;
}

#productos .quick-benefits li {
  font-size: 13px !important;
  line-height: 1.25 !important;
  color: #333 !important;
  font-weight: 750 !important;
  background: #f7f8fa !important;
  border: 1px solid #eceff3 !important;
  border-radius: 10px !important;
  padding: 7px 9px !important;
}

#productos .price-line {
  margin: 0 0 16px !important;
}

#productos .promo-price-line {
  background: linear-gradient(180deg, #fff7f3, #fff) !important;
  border: 1px solid #ffd7c8 !important;
  border-radius: 18px !important;
  padding: 14px !important;
  min-height: 140px !important;
  box-shadow: 0 12px 28px rgba(255,79,31,.08) !important;
}

#productos .promo-price-main {
  display: grid !important;
  gap: 7px !important;
}

#productos .promo-kicker {
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: 1.4px !important;
  color: #ff4f1f !important;
  text-transform: uppercase !important;
}

#productos .promo-now {
  display: flex !important;
  align-items: flex-end !important;
  gap: 8px !important;
}

#productos .promo-now small {
  font-size: 12px !important;
  color: #555 !important;
  font-weight: 850 !important;
  margin-bottom: 5px !important;
}

#productos .promo-now strong {
  font-size: 36px !important;
  color: #ff4f1f !important;
  font-weight: 950 !important;
  line-height: .95 !important;
  letter-spacing: -1px !important;
}

#productos .promo-before {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: 13px !important;
  color: #777 !important;
  font-weight: 850 !important;
}

#productos .promo-before del {
  color: #777 !important;
  text-decoration-thickness: 2px !important;
}

#productos .promo-save {
  width: fit-content !important;
  display: inline-flex !important;
  background: #e3062b !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  font-weight: 950 !important;
}

#productos .details-btn {
  margin-top: auto !important;
  width: 100% !important;
  min-height: 52px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #111, #252525) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.18) !important;
}

#productos .details-btn:hover {
  background: linear-gradient(135deg, #ff4f1f, #ff7a1a) !important;
}

#productos .urgency-line {
  margin: 10px 0 0 !important;
  font-size: 13px !important;
  color: #7a3a00 !important;
  background: #fff7df !important;
  border: 1px solid #ffe4a3 !important;
  border-radius: 12px !important;
  padding: 9px 10px !important;
  font-weight: 850 !important;
  text-align: center !important;
}

/* Modal premium */
#productModal .modal-card {
  border-radius: 28px !important;
  overflow: hidden !important;
}

#productModal .modal-layout {
  gap: 34px !important;
  align-items: center !important;
}

#productModal .modal-image {
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(180deg, #fff, #fafafa) !important;
  border-radius: 24px !important;
  min-height: 420px !important;
}

#productModal .modal-image img {
  max-height: 320px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 20px 24px rgba(0,0,0,.14)) !important;
}

#productModal #modalBrand {
  background: #111 !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 9px 14px !important;
  font-size: 12px !important;
  letter-spacing: .7px !important;
}

#productModal #modalTitle {
  color: #111 !important;
  letter-spacing: -1px !important;
}

#productModal #modalFeatures {
  list-style: none !important;
  padding: 0 !important;
  display: grid !important;
  gap: 8px !important;
}

#productModal #modalFeatures li {
  position: relative !important;
  padding-left: 24px !important;
  line-height: 1.45 !important;
}

#productModal #modalFeatures li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  color: #00873c !important;
  font-weight: 950 !important;
}

#productModal .modal-promo-price {
  display: grid !important;
  gap: 9px !important;
  background: linear-gradient(180deg, #fff7f3, #fff) !important;
  border: 1px solid #ffd6c7 !important;
  border-radius: 18px !important;
  padding: 16px 18px !important;
  max-width: 360px !important;
}

#productModal .modal-kicker {
  font-size: 12px !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
  color: #ff4f1f !important;
  font-weight: 950 !important;
}

#productModal .modal-now-row,
#productModal .modal-old-row {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
}

#productModal .modal-now-row span,
#productModal .modal-old-row span {
  font-size: 14px !important;
  color: #555 !important;
  font-weight: 850 !important;
  min-width: 52px !important;
}

#productModal .modal-now-row strong {
  font-size: 42px !important;
  line-height: .95 !important;
  color: #ff4f1f !important;
  font-weight: 950 !important;
  letter-spacing: -1px !important;
}

#productModal .modal-old-row del {
  font-size: 16px !important;
  color: #777 !important;
  font-weight: 850 !important;
  text-decoration-thickness: 2px !important;
}

#productModal .modal-promo-price small {
  width: fit-content !important;
  background: #e3062b !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}

#productModal .wa-buy {
  border-radius: 14px !important;
  min-height: 52px !important;
  font-weight: 950 !important;
}

#productModal .back-products {
  border-radius: 14px !important;
  min-height: 52px !important;
  font-weight: 950 !important;
}

#productModal .close {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
}

@media (max-width: 720px) {
  #productos .product-card {
    min-height: auto !important;
  }

  #productos .product-card > img {
    height: 205px !important;
  }

  #productos .quick-benefits {
    min-height: auto !important;
  }

  #productModal .modal-layout {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  #productModal .modal-image {
    min-height: 260px !important;
  }

  #productModal .modal-image img {
    max-height: 220px !important;
  }

  #productModal .modal-now-row strong {
    font-size: 34px !important;
  }

  #productModal .modal-promo-price {
    max-width: 100% !important;
  }
}
/* ==================================================
   FIX FINAL: filtros clicables y modal móvil scroll
================================================== */

.filters,
.filter-btn {
  position: relative !important;
  z-index: 50 !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
}

.filter-btn {
  cursor: pointer !important;
  user-select: none !important;
}

/* Modal: permitir scroll interno real */
#productModal.modal.open {
  position: fixed !important;
  inset: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  align-items: flex-start !important;
  padding: 18px 10px 90px !important;
}

#productModal.modal.open .modal-card {
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  margin: 0 auto !important;
}

#productModal.modal.open .modal-layout {
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
}

body.modal-open {
  overflow: hidden !important;
}

/* En móvil, el modal debe apilar y dejar bajar hasta botones */
@media (max-width: 720px) {
  #productModal.modal.open {
    display: block !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 14px 8px 110px !important;
  }

  #productModal.modal.open .modal-card {
    width: min(96vw, 560px) !important;
    max-width: 96vw !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    border-radius: 28px !important;
  }

  #productModal.modal.open .modal-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    max-height: none !important;
    overflow: visible !important;
  }

  #productModal .modal-image {
    min-height: 260px !important;
    max-height: 320px !important;
  }

  #productModal .modal-image img {
    max-height: 230px !important;
    object-fit: contain !important;
  }

  #productModal .modal-info {
    overflow: visible !important;
    max-height: none !important;
    padding-bottom: 28px !important;
  }

  #productModal .buy-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding-bottom: 24px !important;
  }

  #productModal .wa-buy,
  #productModal .back-products {
    width: 100% !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}
/* FIX DEFINITIVO MODAL MOVIL */
@media (max-width: 760px) {
  #productModal.modal.open {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    overflow-y: scroll !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 12px 8px 120px !important;
    align-items: unset !important;
    justify-content: unset !important;
  }

  #productModal.modal.open .modal-card {
    width: 96vw !important;
    max-width: 96vw !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 auto 90px !important;
    border-radius: 28px !important;
  }

  #productModal.modal.open .modal-layout {
    display: block !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  #productModal.modal.open .modal-image {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    padding: 18px 10px !important;
  }

  #productModal.modal.open .modal-image img {
    width: 100% !important;
    max-height: 210px !important;
    object-fit: contain !important;
  }

  #productModal.modal.open .modal-info {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 22px 24px 36px !important;
  }

  #productModal.modal.open #modalFeatures {
    max-height: none !important;
    overflow: visible !important;
  }

  #productModal.modal.open .buy-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding-bottom: 30px !important;
  }

  #productModal.modal.open .wa-buy,
  #productModal.modal.open .back-products {
    width: 100% !important;
    min-height: 54px !important;
  }
}
/* ==================================================
   FIX FINAL iPHONE: modal con scroll interno real
================================================== */

@media (max-width: 760px) {
  body.modal-open {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
  }

  #productModal.modal.open {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    padding: 10px !important;
  }

  #productModal.modal.open .modal-card {
    width: 96vw !important;
    max-width: 96vw !important;
    height: calc(100dvh - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    margin: 0 auto !important;
    border-radius: 28px !important;
  }

  #productModal.modal.open .modal-layout {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  #productModal.modal.open .modal-image {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 18px 12px 8px !important;
    border-radius: 24px 24px 0 0 !important;
  }

  #productModal.modal.open .modal-image img {
    width: 100% !important;
    max-height: 210px !important;
    object-fit: contain !important;
  }

  #productModal.modal.open .modal-info {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 18px 22px 38px !important;
  }

  #productModal.modal.open .close {
    position: sticky !important;
    top: 10px !important;
    float: right !important;
    z-index: 20 !important;
  }

  #productModal.modal.open #modalFeatures {
    max-height: none !important;
    overflow: visible !important;
  }

  #productModal.modal.open .buy-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding-bottom: 24px !important;
  }

  #productModal.modal.open .wa-buy,
  #productModal.modal.open .back-products {
    width: 100% !important;
    min-height: 54px !important;
  }

  #productModal.modal.open .modal-price {
    margin-bottom: 16px !important;
  }
}
/* Cinta roja de oferta Día del Padre */
#productos .product-card {
  position: relative !important;
  overflow: hidden !important;
}

#productos .offer-ribbon {
  position: absolute !important;
  top: 18px !important;
  left: -48px !important;
  z-index: 30 !important;
  background: linear-gradient(135deg, #e3062b, #ff4f1f) !important;
  color: #fff !important;
  font-weight: 950 !important;
  font-size: 11px !important;
  letter-spacing: .7px !important;
  text-transform: uppercase !important;
  padding: 9px 54px !important;
  transform: rotate(-18deg) !important;
  box-shadow: 0 12px 24px rgba(227, 6, 43, .28) !important;
  pointer-events: none !important;
}
/* ================================
   Sección confianza / testimonios
================================ */

.catalog-trust {
  padding: 72px 22px 84px !important;
  background:
    radial-gradient(circle at top left, rgba(255, 79, 31, .10), transparent 34%),
    linear-gradient(180deg, #f6f7f9 0%, #ffffff 100%) !important;
}

.catalog-trust-inner {
  max-width: 1180px !important;
  margin: 0 auto !important;
}

.catalog-trust-head {
  text-align: center !important;
  max-width: 780px !important;
  margin: 0 auto 34px !important;
}

.catalog-trust-head .eyebrow {
  color: #ff4f1f !important;
  letter-spacing: 3px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}

.catalog-trust-head h2 {
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.05 !important;
  letter-spacing: -1.2px !important;
  margin: 0 0 14px !important;
  color: #080808 !important;
}

.catalog-trust-head p {
  font-size: 17px !important;
  color: #555 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.trust-stats {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px !important;
  margin: 0 0 26px !important;
}

.trust-stats div {
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  border-radius: 22px !important;
  padding: 22px 18px !important;
  text-align: center !important;
  box-shadow: 0 18px 38px rgba(0,0,0,.07) !important;
}

.trust-stats strong {
  display: block !important;
  font-size: 30px !important;
  line-height: 1 !important;
  color: #ff4f1f !important;
  font-weight: 950 !important;
  margin-bottom: 8px !important;
}

.trust-stats span {
  display: block !important;
  font-size: 13px !important;
  color: #555 !important;
  font-weight: 800 !important;
}

.testimonial-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
}

.testimonial-grid article {
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  border-radius: 24px !important;
  padding: 24px !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.08) !important;
  position: relative !important;
  overflow: hidden !important;
}

.testimonial-grid article::before {
  content: "“" !important;
  position: absolute !important;
  top: -22px !important;
  right: 18px !important;
  font-size: 110px !important;
  line-height: 1 !important;
  color: rgba(255, 79, 31, .10) !important;
  font-family: Georgia, serif !important;
  font-weight: 900 !important;
}

.testimonial-grid .stars {
  color: #ffb000 !important;
  font-size: 17px !important;
  letter-spacing: 2px !important;
  margin-bottom: 14px !important;
}

.testimonial-grid p {
  color: #333 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 0 0 18px !important;
  font-weight: 650 !important;
}

.testimonial-grid span {
  display: inline-flex !important;
  align-items: center !important;
  background: #f7f8fa !important;
  border: 1px solid #eceff3 !important;
  border-radius: 999px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  color: #111 !important;
  font-weight: 900 !important;
}

/* Cinta roja visible para ofertas */
#productos .product-card {
  position: relative !important;
  overflow: hidden !important;
}

#productos .offer-ribbon {
  position: absolute !important;
  top: 22px !important;
  left: -54px !important;
  z-index: 40 !important;
  background: linear-gradient(135deg, #e3062b, #ff4f1f) !important;
  color: #fff !important;
  font-weight: 950 !important;
  font-size: 11px !important;
  letter-spacing: .7px !important;
  text-transform: uppercase !important;
  padding: 9px 58px !important;
  transform: rotate(-18deg) !important;
  box-shadow: 0 12px 24px rgba(227, 6, 43, .32) !important;
  pointer-events: none !important;
}

.modal-gift {
  margin-top: 10px !important;
  background: #fff7df !important;
  border: 1px solid #ffe4a3 !important;
  color: #7a3a00 !important;
  border-radius: 14px !important;
  padding: 11px 13px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

@media (max-width: 860px) {
  .trust-stats {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .testimonial-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 520px) {
  .catalog-trust {
    padding: 54px 16px 64px !important;
  }

  .trust-stats {
    grid-template-columns: 1fr !important;
  }

  .catalog-trust-head {
    text-align: left !important;
  }

  .catalog-trust-head h2 {
    font-size: 30px !important;
  }
}
/* ===================================
   COMPRA CON CONFIANZA PREMIUM
=================================== */

.catalog-trust{
  padding:80px 24px;
  background:linear-gradient(180deg,#f7f8fa 0%,#ffffff 100%);
}

.catalog-trust-inner{
  max-width:1200px;
  margin:auto;
}

.catalog-trust-head{
  text-align:center;
  margin-bottom:50px;
}

.catalog-trust-head .eyebrow{
  color:#ff5a1f;
  font-weight:900;
  letter-spacing:3px;
  text-transform:uppercase;
  margin-bottom:12px;
}

.catalog-trust-head h2{
  font-size:clamp(2rem,4vw,3rem);
  font-weight:900;
  color:#111;
  margin-bottom:15px;
}

.catalog-trust-head p{
  max-width:700px;
  margin:auto;
  color:#666;
  font-size:1.05rem;
  line-height:1.6;
}

/* Estadísticas */

.trust-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-bottom:40px;
}

.trust-stats div{
  background:#fff;
  border-radius:20px;
  padding:28px;
  text-align:center;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  transition:.25s;
}

.trust-stats div:hover{
  transform:translateY(-5px);
}

.trust-stats strong{
  display:block;
  font-size:2rem;
  color:#ff5a1f;
  font-weight:900;
  margin-bottom:8px;
}

.trust-stats span{
  color:#555;
  font-weight:600;
}

/* Testimonios */

.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.testimonial-grid article{
  background:#fff;
  border-radius:24px;
  padding:26px;
  box-shadow:0 12px 30px rgba(0,0,0,.08);
  border:1px solid #eee;
}

.testimonial-grid .stars{
  color:#ffb400;
  font-size:18px;
  margin-bottom:15px;
}

.testimonial-grid p{
  color:#333;
  line-height:1.7;
  margin-bottom:18px;
}

.testimonial-grid span{
  display:inline-block;
  background:#f5f5f5;
  padding:8px 14px;
  border-radius:999px;
  font-size:.85rem;
  font-weight:700;
  color:#222;
}

/* Responsive */

@media (max-width:900px){

  .trust-stats{
    grid-template-columns:repeat(2,1fr);
  }

  .testimonial-grid{
    grid-template-columns:1fr;
  }

}

@media (max-width:600px){

  .catalog-trust{
    padding:60px 18px;
  }

  .trust-stats{
    grid-template-columns:1fr;
  }

  .trust-stats div{
    padding:22px;
  }

}


/* v37: Galería premium para ficha de producto LG XBOOM Grab */
body.modal-open{
  overflow:hidden;
}

.modal-image.modal-gallery{
  display:grid!important;
  grid-template-rows:minmax(360px,1fr) auto auto auto!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  gap:14px!important;
  padding:24px!important;
  min-height:560px!important;
  background:
    radial-gradient(circle at 22% 18%,rgba(255,79,31,.12),transparent 32%),
    radial-gradient(circle at 78% 74%,rgba(8,119,255,.10),transparent 36%),
    linear-gradient(180deg,#f7f8fb 0%,#ffffff 100%)!important;
}

.modal-main-image{
  position:relative;
  min-height:360px;
  border-radius:26px;
  background:#fff;
  border:1px solid rgba(0,0,0,.07);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.85),0 18px 40px rgba(0,0,0,.07);
}

.modal-main-image img#modalImg{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:430px!important;
  padding:18px!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  background:transparent!important;
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.14))!important;
  transition:opacity .18s ease, transform .18s ease;
}

.gallery-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:rgba(17,17,17,.88);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
  box-shadow:0 12px 24px rgba(0,0,0,.20);
  transition:transform .2s ease, background .2s ease;
}

.gallery-arrow:hover{
  background:var(--orange);
  transform:translateY(-50%) scale(1.04);
}

.gallery-prev{left:14px;}
.gallery-next{right:14px;}

.modal-gallery-label{
  display:inline-flex;
  justify-self:flex-start;
  align-items:center;
  min-height:32px;
  padding:7px 12px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:12px;
  font-weight:950;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.modal-thumbnails{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:2px 2px 8px;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}

.gallery-thumb{
  flex:0 0 92px;
  width:92px;
  border:2px solid transparent;
  background:#fff;
  border-radius:16px;
  padding:7px;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(0,0,0,.07);
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
  text-align:center;
}

.gallery-thumb:hover{
  transform:translateY(-2px);
  border-color:#ffd3c4;
}

.gallery-thumb.active{
  border-color:#111;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.gallery-thumb img{
  width:100%!important;
  height:56px!important;
  max-height:56px!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  padding:0!important;
  border-radius:11px!important;
  filter:none!important;
  background:#f6f6f6!important;
}

.gallery-thumb span{
  display:block;
  margin-top:6px;
  color:#333;
  font-size:10px;
  line-height:1.15;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.modal-gallery-hint{
  margin:0;
  color:#666;
  font-size:12px;
  line-height:1.35;
  font-weight:700;
}

@media(max-width:980px){
  .modal-image.modal-gallery{
    min-height:auto!important;
    grid-template-rows:minmax(270px,auto) auto auto auto!important;
  }
  .modal-main-image{
    min-height:300px;
  }
  .modal-main-image img#modalImg{
    max-height:330px!important;
  }
}

@media(max-width:620px){
  .modal-image.modal-gallery{
    padding:14px!important;
    gap:10px!important;
  }
  .modal-main-image{
    min-height:250px;
    border-radius:20px;
  }
  .modal-main-image img#modalImg{
    max-height:265px!important;
    padding:12px!important;
  }
  .gallery-arrow{
    width:36px;
    height:36px;
    font-size:25px;
  }
  .gallery-prev{left:8px;}
  .gallery-next{right:8px;}
  .gallery-thumb{
    flex-basis:78px;
    width:78px;
    border-radius:14px;
    padding:6px;
  }
  .gallery-thumb img{
    height:48px!important;
    max-height:48px!important;
    border-radius:10px!important;
  }
  .gallery-thumb span{
    font-size:9px;
  }
  .modal-gallery-hint{
    font-size:11px;
  }
}



/* v38: Ajustes finales galería LG XBOOM Grab
   - Más espacio para la imagen principal.
   - Fotos sin cuadro blanco interno gracias a imágenes con fondo transparente.
   - Miniaturas más limpias y profesionales. */
#productModal .modal-card{
  max-width:1180px!important;
}

#productModal .modal-layout{
  grid-template-columns:minmax(0,1.14fr) minmax(360px,.86fr)!important;
}

#productModal .modal-image.modal-gallery{
  grid-template-rows:minmax(430px,1fr) auto auto auto!important;
  padding:26px 30px!important;
  gap:14px!important;
}

#productModal .modal-main-image{
  min-height:430px!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 50% 48%,rgba(0,0,0,.035),transparent 56%),
    linear-gradient(180deg,#fbfbfc 0%,#f5f6f8 100%)!important;
  border:1px solid rgba(0,0,0,.055)!important;
  overflow:hidden!important;
}

#productModal .modal-main-image img#modalImg{
  width:100%!important;
  height:100%!important;
  max-height:465px!important;
  padding:10px 16px!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 22px 26px rgba(0,0,0,.16))!important;
}

#productModal .modal-thumbnails{
  gap:12px!important;
  padding:4px 2px 10px!important;
}

#productModal .gallery-thumb{
  flex:0 0 104px!important;
  width:104px!important;
  min-height:90px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f7f8fa 100%)!important;
  border:2px solid transparent!important;
  border-radius:17px!important;
  padding:8px!important;
  overflow:hidden!important;
}

#productModal .gallery-thumb.active{
  border-color:#111!important;
}

#productModal .gallery-thumb img{
  width:100%!important;
  height:60px!important;
  max-height:60px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 6px 8px rgba(0,0,0,.10))!important;
}

#productModal .gallery-thumb span{
  margin-top:6px!important;
  font-size:10px!important;
  line-height:1.1!important;
}

@media(max-width:980px){
  #productModal .modal-card{
    max-width:calc(100vw - 20px)!important;
  }

  #productModal .modal-layout{
    grid-template-columns:1fr!important;
  }

  #productModal .modal-image.modal-gallery{
    grid-template-rows:minmax(320px,auto) auto auto auto!important;
    padding:18px!important;
  }

  #productModal .modal-main-image{
    min-height:320px!important;
  }

  #productModal .modal-main-image img#modalImg{
    max-height:350px!important;
  }
}

@media(max-width:620px){
  #productModal .modal-image.modal-gallery{
    grid-template-rows:minmax(270px,auto) auto auto auto!important;
    padding:14px!important;
  }

  #productModal .modal-main-image{
    min-height:270px!important;
    border-radius:22px!important;
  }

  #productModal .modal-main-image img#modalImg{
    max-height:285px!important;
    padding:8px!important;
  }

  #productModal .gallery-thumb{
    flex-basis:88px!important;
    width:88px!important;
    min-height:82px!important;
    padding:7px!important;
  }

  #productModal .gallery-thumb img{
    height:52px!important;
    max-height:52px!important;
  }
}


/* v39: Ajuste final de miniaturas LG XBOOM Grab
   Evita que la primera vista frontal se salga del recuadro.
   En desktop las 6 miniaturas entran completas; en celular siguen deslizando. */
@media(min-width:981px){
  #productModal .modal-thumbnails{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    padding:4px 0 10px!important;
  }

  #productModal .gallery-thumb{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    flex:none!important;
    min-height:86px!important;
    padding:7px!important;
    box-sizing:border-box!important;
  }

  #productModal .gallery-thumb img{
    height:54px!important;
    max-height:54px!important;
  }

  #productModal .gallery-thumb span{
    font-size:9.5px!important;
  }

  #productModal .modal-main-image img#modalImg{
    max-width:calc(100% - 34px)!important;
    max-height:440px!important;
    padding:6px 14px!important;
  }
}

@media(max-width:980px){
  #productModal .modal-thumbnails{
    overflow-x:auto!important;
    padding:4px 2px 10px!important;
  }
}


/* v40: Galería LG XBOOM Bounce
   Ajuste para modelos horizontales anchos como Bounce. */
#productModal .modal-main-image img[src*="lg-xboom-bounce"]{
  max-width:calc(100% - 22px)!important;
  max-height:420px!important;
  object-fit:contain!important;
}

@media(max-width:620px){
  #productModal .modal-main-image img[src*="lg-xboom-bounce"]{
    max-height:255px!important;
  }
}


/* v41: Imágenes de galería sin recuadro blanco interno.
   Las fotos de producto deben ir con fondo transparente para que solo quede
   el recuadro del modal y no otro cuadro dentro del modelo. */
#productModal .modal-main-image,
#productModal .gallery-stage,
#productModal .modal-gallery-main{
  background:
    radial-gradient(circle at 50% 46%, rgba(0,0,0,.045), transparent 58%),
    linear-gradient(180deg,#fbfbfb,#f5f6f8)!important;
}

#productModal .modal-main-image img,
#productModal #modalImg{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

#productModal .gallery-thumb img{
  background:transparent!important;
}


/* v42: Rebote/Bounce - limpieza fuerte de fondos claros
   Las vistas de producto quedan transparentes para evitar cuadros crema o blancos internos. */
#productModal .modal-main-image img[src*="lg-xboom-bounce/05-interior"],
#productModal .gallery-thumb img[src*="lg-xboom-bounce/05-interior"]{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}


/* v43: Galería LG XBOOM XG8T
   Fotos de producto limpias con fondo transparente y ajuste para el asa superior. */
#productModal .modal-main-image img[src*="lg-xboom-xg8t"],
#productModal #modalImg[src*="lg-xboom-xg8t"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
  max-width:calc(100% - 22px)!important;
  max-height:430px!important;
}

#productModal .gallery-thumb img[src*="lg-xboom-xg8t"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
}

@media(min-width:981px){
  #productModal .modal-main-image img[src*="lg-xboom-xg8t/03-lateral"],
  #productModal .modal-main-image img[src*="lg-xboom-xg8t/04-superior"]{
    max-height:455px!important;
  }
}

@media(max-width:620px){
  #productModal .modal-main-image img[src*="lg-xboom-xg8t"],
  #productModal #modalImg[src*="lg-xboom-xg8t"]{
    max-height:265px!important;
  }
}


/* v44: LG XBOOM XG8T - vista lateral más cercana */
#productModal .modal-main-image img[src*="lg-xboom-xg8t/03-lateral"],
#productModal #modalImg[src*="lg-xboom-xg8t/03-lateral"]{
  width:100%!important;
  max-width:calc(100% - 12px)!important;
  max-height:455px!important;
  object-fit:contain!important;
  transform:scale(1.08)!important;
  transform-origin:center center!important;
}

@media(max-width:620px){
  #productModal .modal-main-image img[src*="lg-xboom-xg8t/03-lateral"],
  #productModal #modalImg[src*="lg-xboom-xg8t/03-lateral"]{
    max-height:275px!important;
    transform:scale(1.05)!important;
  }
}


/* v45: LG XBOOM XG8T - reemplazo de vista lateral vertical */
#productModal .modal-main-image img[src*="lg-xboom-xg8t/03-lateral"],
#productModal #modalImg[src*="lg-xboom-xg8t/03-lateral"]{
  width:100%!important;
  max-width:calc(100% - 18px)!important;
  max-height:455px!important;
  object-fit:contain!important;
  transform:scale(1.02)!important;
  transform-origin:center center!important;
}

@media(max-width:620px){
  #productModal .modal-main-image img[src*="lg-xboom-xg8t/03-lateral"],
  #productModal #modalImg[src*="lg-xboom-xg8t/03-lateral"]{
    max-height:285px!important;
    transform:scale(1)!important;
  }
}


/* v46: Galería LG XBOOM Stage 301
   Fotos de producto limpias y centradas para formato cuadrado. */
#productModal .modal-main-image img[src*="lg-xboom-stage-301"],
#productModal #modalImg[src*="lg-xboom-stage-301"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
  max-width:calc(100% - 18px)!important;
  max-height:450px!important;
}

#productModal .gallery-thumb img[src*="lg-xboom-stage-301"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
}

/* La vista ambiental se mantiene completa porque contiene fondo real y beneficios. */
#productModal .modal-main-image img[src*="lg-xboom-stage-301/06-uso-exterior"],
#productModal #modalImg[src*="lg-xboom-stage-301/06-uso-exterior"]{
  width:100%!important;
  max-width:100%!important;
  max-height:430px!important;
  border-radius:18px!important;
  object-fit:contain!important;
  background:#050505!important;
}

@media(max-width:620px){
  #productModal .modal-main-image img[src*="lg-xboom-stage-301"],
  #productModal #modalImg[src*="lg-xboom-stage-301"]{
    max-height:280px!important;
  }

  #productModal .modal-main-image img[src*="lg-xboom-stage-301/06-uso-exterior"],
  #productModal #modalImg[src*="lg-xboom-stage-301/06-uso-exterior"]{
    max-height:250px!important;
  }
}


/* v47: JBL Go 4 con selector de color */
.modal-variant-selector{
  margin:0 0 16px;
  padding:13px 14px;
  border-radius:16px;
  background:#f7f8fa;
  border:1px solid #e7e7e7;
}
.modal-variant-selector > span{
  display:block;
  margin-bottom:9px;
  color:#555;
  font-size:13px;
  font-weight:900;
}
.variant-buttons{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
}
.variant-btn{
  appearance:none;
  border:1px solid #dedede;
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:9px 12px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:950;
  cursor:pointer;
  transition:.2s ease;
}
.variant-btn i{
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--variant-color,#111);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.36),0 0 0 1px rgba(0,0,0,.14);
}
.variant-btn.active{
  background:#111;
  color:#fff;
  border-color:#111;
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}
.variant-btn:hover{
  transform:translateY(-1px);
}
#productModal .modal-main-image img[src*="jbl-go-4"],
#productModal #modalImg[src*="jbl-go-4"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
  max-width:calc(100% - 18px)!important;
  max-height:430px!important;
}
#productModal .gallery-thumb img[src*="jbl-go-4"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
}
#productModal .modal-main-image img[src*="jbl-go-4/negro/04-uso-exterior"],
#productModal .modal-main-image img[src*="jbl-go-4/camuflado/04-uso-exterior"],
#productModal #modalImg[src*="jbl-go-4/negro/04-uso-exterior"],
#productModal #modalImg[src*="jbl-go-4/camuflado/04-uso-exterior"]{
  width:100%!important;
  max-width:100%!important;
  max-height:430px!important;
  border-radius:18px!important;
  object-fit:contain!important;
  background:#050505!important;
}
@media(max-width:620px){
  .modal-variant-selector{padding:11px;margin-bottom:12px}
  .variant-btn{font-size:12px;padding:8px 10px}
  #productModal .modal-main-image img[src*="jbl-go-4"],
  #productModal #modalImg[src*="jbl-go-4"]{max-height:265px!important}
}


/* v48: Galería JBL Grip */
#productModal .modal-main-image img[src*="jbl-grip"],
#productModal #modalImg[src*="jbl-grip"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
  max-width:calc(100% - 18px)!important;
  max-height:455px!important;
}

#productModal .gallery-thumb img[src*="jbl-grip"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
}

#productModal .modal-main-image img[src*="jbl-grip/06-uso-exterior"],
#productModal #modalImg[src*="jbl-grip/06-uso-exterior"]{
  width:100%!important;
  max-width:100%!important;
  max-height:430px!important;
  border-radius:18px!important;
  object-fit:contain!important;
  background:#050505!important;
}

@media(max-width:620px){
  #productModal .modal-main-image img[src*="jbl-grip"],
  #productModal #modalImg[src*="jbl-grip"]{
    max-height:285px!important;
  }
}


/* v49: Galería JBL Flip 7 */
#productModal .modal-main-image img[src*="jbl-flip-7"],
#productModal #modalImg[src*="jbl-flip-7"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
  max-width:calc(100% - 18px)!important;
  max-height:440px!important;
}

#productModal .gallery-thumb img[src*="jbl-flip-7"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
}

#productModal .modal-main-image img[src*="jbl-flip-7/06-uso-exterior"],
#productModal #modalImg[src*="jbl-flip-7/06-uso-exterior"]{
  width:100%!important;
  max-width:100%!important;
  max-height:430px!important;
  border-radius:18px!important;
  object-fit:contain!important;
  background:#050505!important;
}

@media(max-width:620px){
  #productModal .modal-main-image img[src*="jbl-flip-7"],
  #productModal #modalImg[src*="jbl-flip-7"]{
    max-height:275px!important;
  }
}


/* v50: Galería JBL Charge 6 */
#productModal .modal-main-image img[src*="jbl-charge-6"],
#productModal #modalImg[src*="jbl-charge-6"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
  max-width:calc(100% - 18px)!important;
  max-height:440px!important;
}

#productModal .gallery-thumb img[src*="jbl-charge-6"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
}

#productModal .modal-main-image img[src*="jbl-charge-6/06-uso-exterior"],
#productModal #modalImg[src*="jbl-charge-6/06-uso-exterior"]{
  width:100%!important;
  max-width:100%!important;
  max-height:430px!important;
  border-radius:18px!important;
  object-fit:contain!important;
  background:#050505!important;
}

@media(max-width:620px){
  #productModal .modal-main-image img[src*="jbl-charge-6"],
  #productModal #modalImg[src*="jbl-charge-6"]{
    max-height:275px!important;
  }
}


/* v51: Galería JBL Boombox 4 */
#productModal .modal-main-image img[src*="jbl-boombox-4"],
#productModal #modalImg[src*="jbl-boombox-4"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
  max-width:calc(100% - 18px)!important;
  max-height:440px!important;
}

#productModal .gallery-thumb img[src*="jbl-boombox-4"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
}

#productModal .modal-main-image img[src*="jbl-boombox-4/06-uso-exterior"],
#productModal #modalImg[src*="jbl-boombox-4/06-uso-exterior"]{
  width:100%!important;
  max-width:100%!important;
  max-height:430px!important;
  border-radius:18px!important;
  object-fit:contain!important;
  background:#050505!important;
}

@media(max-width:620px){
  #productModal .modal-main-image img[src*="jbl-boombox-4"],
  #productModal #modalImg[src*="jbl-boombox-4"]{
    max-height:275px!important;
  }
}
/* Botones del carrusel encima del banner, no debajo */
.scenario-prev,
.scenario-next,
.use-prev,
.use-next,
.banner-prev,
.banner-next,
.carousel-prev,
.carousel-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 30 !important;
}

.scenario-prev,
.use-prev,
.banner-prev,
.carousel-prev {
  left: 14px !important;
}

.scenario-next,
.use-next,
.banner-next,
.carousel-next {
  right: 14px !important;
}

/* Evita que el banner invada el catálogo */
.catalog,
.products-section,
.products {
  position: relative;
  z-index: 2;
}

body {
  overflow-x: hidden;
}

/* FIX carrusel de promociones / escenarios */
.promo-carousel-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #f4f5f7;
}

.promo-carousel-wrap {
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
  padding: 28px 18px 42px;
  overflow: hidden;
}

.promo-track {
  display: flex;
  width: 100%;
  transition: transform .45s ease;
  will-change: transform;
}

.promo-slide {
  flex: 0 0 100%;
  min-width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 26px;
  background: #111;
}

.promo-slide img {
  width: 100%;
  height: clamp(260px, 38vw, 520px);
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 26px;
}

.promo-arrow {
  position: absolute;
  top: 56%;
  transform: translateY(-50%);
  z-index: 25;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.16);
  background: #fff;
  color: #111;
  font-size: 30px;
  font-weight: 900;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
}

.promo-prev {
  left: 28px;
}

.promo-next {
  right: 28px;
}

.promo-next::before {
  content: "›";
}

.promo-nav {
  position: relative;
  z-index: 3;
  margin-top: 14px;
}

#productos {
  position: relative;
  z-index: 2;
}

body {
  overflow-x: hidden;
}

@media (max-width: 720px) {
  .promo-carousel-wrap {
    padding: 22px 12px 34px;
  }

  .promo-slide img {
    height: 260px;
  }

  .promo-arrow {
    width: 40px;
    height: 40px;
    font-size: 26px;
  }

  .promo-prev {
    left: 18px;
  }

  .promo-next {
    right: 18px;
  }
}

/* Flechas del banner/carrusel bien centradas */
  .promo-carousel-wrap {
    position: relative !important;
    overflow: hidden !important;
  }

  .promo-arrow {
    position: absolute !important;
    top: calc(50% + 64px) !important;
    transform: translateY(-50%) !important;
    z-index: 20 !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 999px !important;
    display: grid !important;
    place-items: center !important;
    background: #fff !important;
    color: #111 !important;
    border: 1px solid rgba(0,0,0,.12) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
  }

  .promo-prev {
    left: 14px !important;
  }

  .promo-next {
    right: 14px !important;
  }

  .promo-next::before {
    content: "›";
    font-size: 32px;
    line-height: 1;
    font-weight: 900;
  }

  .promo-prev {
    font-size: 32px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
  }

  /* Modal en celular */
  .modal {
    align-items: flex-start !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .modal-card {
    position: relative !important;
    width: calc(100% - 22px) !important;
    max-height: none !important;
    margin: 12px auto 24px !important;
    border-radius: 26px !important;
    overflow: visible !important;
  }

  /* Barra superior del modal: modelo + X */
  .modal-card::before {
    content: attr(data-mobile-title);
    position: sticky;
    top: 0;
    z-index: 10000;
    display: block;
    min-height: 62px;
    padding: 18px 76px 14px 18px;
    background: rgba(255,255,255,.96);
    color: #111;
    font-size: 18px;
    font-weight: 950;
    line-height: 1.1;
    border-radius: 26px 26px 0 0;
    box-shadow: 0 10px 24px rgba(0,0,0,.08);
    backdrop-filter: blur(10px);
  }

  #modalClose,
  .modal-close,
  .close-modal {
    position: sticky !important;
    top: 10px !important;
    float: right !important;
    margin: -56px 14px 8px auto !important;
    z-index: 10001 !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    border-radius: 999px !important;
    background: #111 !important;
    color: #fff !important;
    display: grid !important;
    place-items: center !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.28) !important;
  }

  .modal-layout {
    padding-top: 0 !important;
  }

  .modal-info h2,
  #modalTitle {
    margin-top: 12px !important;
  }


/* El nombre del producto queda arriba del contenido, sin barra blanca extra */
  #modalTitle {
    margin-top: 8px !important;
    padding-right: 72px !important;
    font-size: 30px !important;
    line-height: 1.02 !important;
  }

  #modalClose,
  .modal-close,
  .close-modal {
    position: absolute !important;
    right: 18px !important;
    top: auto !important;
    transform: none !important;
    z-index: 10020 !important;
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    border-radius: 999px !important;
    background: #111 !important;
    color: #fff !important;
    display: grid !important;
    place-items: center !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.28) !important;
  }

  /* Coloca la X alineada con el nombre del producto */
  .modal-info #modalClose,
  .modal-card > #modalClose {
    bottom: auto !important;
  }

  .modal-card #modalClose {
    top: calc(355px + 185px) !important;
  }


@media (max-width: 420px) {
  .modal-image img,
  #modalImg {
    max-height: 330px !important;
  }

  .modal-card #modalClose {
    top: calc(330px + 182px) !important;
  }
}

/* PC: elimina espacio superior dentro del panel de imagen */
@media (min-width: 721px) {
  .modal-image {
    min-height: 100% !important;
  }

  .modal-image > img,
  #modalImg {
    max-height: 430px !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}

/* Celular: imagen más arriba y X junto al contenido, sin barra blanca */
@media (max-width: 720px) {
  .modal.open {
    align-items: flex-start !important;
    padding: 10px 8px 18px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .modal-card {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    margin: 0 auto 18px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  .modal-layout {
    display: block !important;
    padding: 0 !important;
  }

  .modal-image {
    padding: 0 !important;
    margin: 0 !important;
    justify-content: flex-start !important;
    background: #fff !important;
  }

  .modal-image > img,
  #modalImg {
    width: 100% !important;
    height: auto !important;
    max-height: 330px !important;
    object-fit: contain !important;
    object-position: center top !important;
    margin: 0 auto !important;
  }

  .gallery-label,
  #galleryLabel {
    margin-top: 8px !important;
  }

  .modal-thumbnails,
  #modalThumbnails {
    margin-top: 8px !important;
  }

  .gallery-help {
    margin: 14px 18px 10px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
  }

  .modal-info {
    position: relative !important;
    padding: 12px 20px 24px !important;
  }

  #modalTitle {
    margin-top: 8px !important;
    padding-right: 72px !important;
    font-size: 30px !important;
    line-height: 1.02 !important;
  }

  #modalClose,
  .modal-close,
  .close-modal {
    position: absolute !important;
    right: 18px !important;
    top: auto !important;
    bottom: 92px !important;
    z-index: 10020 !important;
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    border-radius: 999px !important;
    background: #111 !important;
    color: #fff !important;
    display: grid !important;
    place-items: center !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.28) !important;
  }
}

/* Mobile: mantener la X arriba, sin moverla al centro del modal */
@media (max-width: 720px) {
  .modal.open {
    align-items: flex-start !important;
    padding: 10px 8px 18px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .modal-card {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    margin: 0 auto 18px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  #modalClose,
  .modal-close,
  .close-modal {
    top: 14px !important;
    right: 14px !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
  }

  .modal-layout {
    display: block !important;
    padding: 0 !important;
  }

  .modal-image {
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
  }

  .modal-image > img,
  #modalImg {
    width: 100% !important;
    height: auto !important;
    max-height: 350px !important;
    object-fit: contain !important;
    object-position: center top !important;
    display: block !important;
  }

  .modal-info {
    padding: 16px 20px 24px !important;
  }
}

/* Celular: mantener estructura normal, sin barra blanca artificial */
@media (max-width: 720px) {
  .modal.open {
    align-items: flex-start !important;
    padding: 10px 8px 18px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .modal-card {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    margin: 0 auto 18px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  .modal-layout {
    display: block !important;
    padding: 0 !important;
  }

  .modal-image {
    padding: 0 !important;
    margin: 0 !important;
  }

  .modal-image > img,
  #modalImg {
    width: 100% !important;
    height: auto !important;
    max-height: 350px !important;
    display: block !important;
  }

  .modal-info {
    padding: 16px 20px 24px !important;
  }

  #modalClose,
  .modal-close,
  .close-modal {
    top: 14px !important;
    right: 14px !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
  }
}

/* Mobile */
@media (max-width: 720px) {
  .modal.open {
    padding: 10px 8px 18px !important;
    align-items: flex-start !important;
  }

  .modal.open .modal-card {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: none !important;
    margin: 0 auto 18px !important;
  }

  .modal.open .modal-layout {
    display: block !important;
    padding: 12px 12px 18px !important;
  }

  .modal.open .modal-image {
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
  }

  .modal.open #modalImg {
    width: 100% !important;
    max-height: 330px !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  .modal.open .modal-info {
    position: relative !important;
    padding: 14px 6px 8px !important;
  }

  .modal.open #modalClose {
    top: auto !important;
    right: 20px !important;
    bottom: auto !important;
    transform: translateY(8px) !important;
  }

  .modal.open #modalBrand {
    padding-right: 64px !important;
  }
}
/* Mobile */
@media (max-width: 720px) {
  body .modal.open {
    align-items: flex-start !important;
    padding: 8px !important;
  }

  body .modal.open .modal-card {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: none !important;
    margin: 0 auto 18px !important;
    overflow: hidden !important;
  }

  body .modal.open .modal-layout {
    display: block !important;
    padding: 12px !important;
  }

  body .modal.open .modal-image {
    padding: 0 !important;
    min-height: 0 !important;
  }

  body .modal.open #modalImg {
    max-height: 330px !important;
  }

  body .modal.open .modal-info {
    padding: 14px 4px 8px !important;
  }

  body .modal.open #modalClose {
    top: 14px !important;
    right: 14px !important;
    width: 48px !important;
    height: 48px !important;
  }
}
/* AJUSTE SEGURO: modal más compacto para reducir la franja superior */
#productModal.modal.open {
  padding: 10px 18px !important;
}

#productModal .modal-card {
  max-height: calc(100vh - 20px) !important;
  border-radius: 24px !important;
}

#productModal .modal-layout {
  padding-top: 0 !important;
}

#productModal .modal-image {
  padding-top: 12px !important;
  padding-bottom: 18px !important;
}

#productModal .modal-info {
  padding-top: 18px !important;
}

#productModal #modalImg {
  max-height: 390px !important;
}

#productModal #modalClose {
  top: 12px !important;
  right: 16px !important;
}

#productModal.modal.open {
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 18px !important;
}

#productModal .modal-card {
  max-height: calc(100vh - 20px) !important;
  overflow: hidden !important;
}

#productModal .modal-layout {
  padding-top: 0 !important;
  margin-top: 0 !important;
  align-items: stretch !important;
}

#productModal .modal-image {
  padding-top: 0 !important;
  margin-top: -80px !important;
  min-height: 0 !important;
}

/* Baja solo la galería interna para compensar el margen negativo */
#productModal .modal-gallery,
#productModal .product-gallery,
#productModal .gallery-main,
#productModal .gallery-view,
#productModal .modal-gallery-wrap {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Mantiene imagen y miniaturas visibles */
#productModal #modalImg {
  max-height: 420px !important;
  object-fit: contain !important;
}

#productModal .modal-info {
  padding-top: 18px !important;
}

/* X arriba derecha, no sobre el precio */
#productModal #modalClose {
  top: 18px !important;
  right: 18px !important;
  bottom: auto !important;
  transform: none !important;
}
/* REVERT FIX MOBILE/SCROLL QUE CREO LA FRANJA SUPERIOR */
@media (min-width: 721px) {
  #productModal.modal.open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px !important;
    overflow: hidden !important;
  }

  #productModal .modal-card {
    max-height: 92vh !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #productModal .modal-layout {
    display: grid !important;
    grid-template-columns: 1.1fr .9fr !important;
    gap: 34px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 28px 24px !important;
  }

  #productModal .modal-image {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: auto !important;
  }

  #productModal .modal-info {
    margin: 0 !important;
    padding: 0 10px 0 0 !important;
  }

  #productModal #modalClose {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 99999 !important;
  }
}
/* HOTFIX MODAL MOBILE JOR STORE */
@media (max-width: 720px) {
  #productModal.modal.open {
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 8px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }

  #productModal .modal-card {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: none !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    margin: 0 auto 18px !important;
  }

  #productModal .modal-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
  }

  #productModal .modal-image {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    padding: 0 0 10px !important;
    margin: 0 !important;
  }

  #productModal #modalImg {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 340px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }

  #productModal .gallery-arrow {
    top: 34% !important;
    z-index: 30 !important;
  }

  #productModal .gallery-label {
    display: block !important;
    text-align: center !important;
    font-size: 22px !important;
    line-height: 1.1 !important;
    margin: 10px 0 12px !important;
  }

  #productModal #modalThumbnails,
  #productModal .modal-thumbnails {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
    padding: 0 12px 12px !important;
    margin: 0 !important;
    touch-action: pan-x !important;
    overscroll-behavior-x: contain !important;
  }

  #productModal #modalThumbnails::-webkit-scrollbar,
  #productModal .modal-thumbnails::-webkit-scrollbar {
    display: none !important;
  }

  #productModal .gallery-thumb {
    flex: 0 0 92px !important;
    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
    scroll-snap-align: start !important;
  }

  #productModal .gallery-thumb img {
    width: 100% !important;
    height: 58px !important;
    object-fit: contain !important;
  }

  #productModal .gallery-thumb span {
    display: block !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  #productModal .modal-info {
    order: 2 !important;
    position: relative !important;
    padding: 16px 12px 18px !important;
    margin: 0 !important;
  }

  #productModal #modalBrand {
    display: inline-flex !important;
    align-items: center !important;
    max-width: calc(100% - 58px) !important;
    margin-right: 58px !important;
    margin-bottom: 12px !important;
  }

  #productModal #modalClose,
  #productModal .close {
    position: absolute !important;
    top: 16px !important;
    right: 12px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 99999 !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 999px !important;
  }
}

/* Fix definitivo: elimina banda/franja superior blanca del modal */
@media (min-width: 721px) {
  #productModal .modal-card::before,
  #productModal .modal-card::after,
  #productModal .modal-layout::before,
  #productModal .modal-layout::after {
    display: none !important;
    content: none !important;
  }

  #productModal .modal-card {
    background: #fff !important;
    overflow: hidden !important;
  }

  #productModal .modal-layout {
    background: #fff !important;
    transform: translateY(-72px);
    margin-bottom: -72px !important;
  }

  #productModal #modalClose {
    top: 18px !important;
    right: 22px !important;
  }
}
/* Pulido final modal desktop: bordes redondeados y X alineada */
@media (min-width: 721px) {
  #productModal .modal-card {
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .32) !important;
  }

  #productModal .modal-layout {
    transform: translateY(-56px) !important;
    margin-bottom: -56px !important;
    padding: 32px 30px 30px !important;
  }

  #productModal #modalClose,
  #productModal .close {
    position: absolute !important;
    top: 18px !important;
    right: 28px !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    border-radius: 999px !important;
    z-index: 99999 !important;
  }
}
/* Pulido visual final del modal: bordes y botón cerrar */
@media (min-width: 721px) {
  #productModal .modal-card {
    border-radius: 28px !important;
    overflow: hidden !important;
  }

  #productModal .modal-layout {
    border-radius: inherit !important;
  }

  #productModal #modalClose,
  #productModal .close {
    position: absolute !important;
    top: 24px !important;
    right: 32px !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    border-radius: 999px !important;
    z-index: 99999 !important;
    transform: none !important;
  }
}
/* Posición final de la X dentro del borde derecho del modal */
@media (min-width: 721px) {
  #productModal .modal-card {
    position: relative !important;
    border-radius: 28px !important;
    overflow: hidden !important;
  }

  #productModal #modalClose,
  #productModal .close {
    position: absolute !important;
    top: 30px !important;
    right: 30px !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    border-radius: 999px !important;
    z-index: 999999 !important;
    transform: none !important;
  }
}
/* Fix final: posicionar X del modal dentro del borde superior derecho */
body #productModal.modal.open .modal-card #modalClose.close {
  position: absolute !important;
  top: 26px !important;
  right: 26px !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border-radius: 999px !important;
  z-index: 999999 !important;
}
/* Fix real: la X no depende de .modal-info */
@media (min-width: 721px) {
  body.modal-open #productModal #modalClose.close {
    position: fixed !important;
    top: 24px !important;
    right: 56px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    border-radius: 999px !important;
    z-index: 9999999 !important;
  }
}
/* X del modal alineada al borde visual derecho */
#productModal .modal-card {
  position: relative !important;
}

#productModal .modal-card > #modalClose.close {
  position: absolute !important;
  top: 22px !important;
  left: calc(100% - 72px) !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border-radius: 999px !important;
  z-index: 999999 !important;
}
