:root{
  --orange:#f47b20;
  --green:#25D366;
  --dark:#0c0c0c;
  --muted:#6d6d6d;
  --bg:#000000;
  --card:#ffffff;
  --line:#e6e6e6;
  --shadow:0 10px 28px rgba(0,0,0,.2);
}

*{box-sizing:border-box;}

html,body{
height:100%;
}

body{
margin:0;
font-family:"Overpass",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
background:var(--bg);
color:#fff;
}

/* =========================
   HEADER / MENU
========================= */

.header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:99999;
  background:#000;
  transition:all .3s ease;
  border:none;
}

.header.scrolled{
  background:#000;
  box-shadow:0 10px 25px rgba(0,0,0,.35);
}
/* =========================
   LAYOUT
========================= */
img{
  max-width:100%;
}
.moto-wrap{
max-width:1320px;
margin:auto;
padding:180px 18px 60px;
}

.moto-topbar{
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:16px;
}

.btn-back{
text-decoration:none;
color:#fff;
font-weight:700;
font-size:15px;
}

.btn-share{
border:1px solid var(--orange);
background:var(--orange);
color:#fff;
padding:10px 14px;
border-radius:10px;
cursor:pointer;
font-weight:800;
}

.btn-share:hover{
filter:brightness(.95);
}


/* =========================
   GRID
========================= */

.moto-grid{
display:grid;
grid-template-columns:1.5fr .8fr;
gap:26px;
align-items:start;
}


/* =========================
   SLIDER
========================= */

.slider{
position:relative;
background:#111;
border-radius:24px;
overflow:hidden;
border:1px solid rgba(255,255,255,.05);
box-shadow:var(--shadow);
}

.slides{
position:relative;
width:100%;
height:560px;
}

.slide{
position:absolute;
inset:0;
opacity:0;
transition:opacity .25s ease;
display:flex;
align-items:center;
justify-content:center;
}

.slide.active{
opacity:1;
}

.slide img{
width:100%;
height:100%;
object-fit:cover;
}


/* NAV */

.slider .nav{
position:absolute;
top:50%;
transform:translateY(-50%);
width:46px;
height:46px;
border:0;
background:rgba(0,0,0,.35);
color:#fff;
font-size:30px;
cursor:pointer;
border-radius:10px;
z-index:5;
}

.slider .nav.prev{ left:16px; }
.slider .nav.next{ right:16px; }

.slider .nav:hover{
background:rgba(0,0,0,.6);
}


/* COUNTER */

.slider-counter{
position:absolute;
right:16px;
bottom:16px;
background:rgba(0,0,0,.6);
padding:6px 12px;
border-radius:20px;
font-size:13px;
font-weight:800;
}


/* =========================
   TABS
========================= */

.tabs{
display:flex;
gap:24px;
align-items:center;
padding:16px 4px 8px;
border-bottom:1px solid rgba(255,255,255,.08);
margin-top:12px;
}

.tab{
border:0;
background:transparent;
cursor:pointer;
font-weight:900;
letter-spacing:1px;
color:#888;
padding:10px 0;
position:relative;
font-size:14px;
}

.tab.active{
color:#fff;
}

.tab.active::after{
content:"";
position:absolute;
left:0;
right:0;
bottom:-9px;
height:3px;
background:var(--orange);
border-radius:999px;
}

.tabpane{display:none;}
.tabpane.active{display:block;}

.muted{
color:#aaa;
}


/* =========================
   THUMBS
========================= */

.thumbs{
display:flex;
gap:10px;
padding:14px 0 4px;
overflow:auto;
}

.thumb{
border:2px solid transparent;
background:#111;
cursor:pointer;
border-radius:12px;
overflow:hidden;
min-width:120px;
height:78px;
}

.thumb img{
width:100%;
height:100%;
object-fit:cover;
}

.thumb.active{
border-color:var(--orange);
}


/* =========================
   VIDEOS
========================= */

.videolist{
padding:14px 0 4px;
display:flex;
flex-direction:column;
gap:12px;
}

.video{
width:100%;
max-height:420px;
border-radius:16px;
border:1px solid rgba(255,255,255,.08);
background:#000;
}

.video-link{
display:inline-flex;
padding:12px 14px;
border:1px solid rgba(255,255,255,.1);
background:#111;
border-radius:12px;
text-decoration:none;
color:#fff;
font-weight:800;
}


/* =========================
   INFO IZQUIERDA
========================= */

.section-title{
margin:28px 0 12px;
font-size:28px;
letter-spacing:-.3px;
}

.specs{
background:#111;
border:1px solid rgba(255,255,255,.05);
border-radius:20px;
padding:18px;
display:grid;
grid-template-columns:1fr 1fr;
gap:14px 18px;
}

.spec{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  border-bottom:1px solid rgba(255,255,255,.05);
  padding-bottom:12px;
}

.spec span{
color:#aaa;
font-size:13px;
font-weight:800;
}

.spec b{
font-size:16px;
font-weight:900;
}

.desc{
background:#111;
border:1px solid rgba(255,255,255,.05);
border-radius:20px;
padding:20px;
line-height:1.7;
color:#ddd;
}


/* =========================
   PANEL DERECHO BLANCO
========================= */

.moto-right{
position:sticky;
top:100px;
}

.side-card{
background:#fff;
border-radius:28px;
padding:28px;
color:#111;
box-shadow:var(--shadow);
max-width:420px;
margin-left:auto;
}

.side-title{
margin:0 0 18px;
font-size:32px;
line-height:1.1;
font-weight:900;
letter-spacing:-.5px;
text-transform:uppercase;
}

.side-price{
margin-bottom:18px;
background:#f2f2f2;
border-radius:20px;
padding:18px;
}

.side-old-price{
font-size:15px;
color:#999;
text-decoration:line-through;
margin-bottom:6px;
font-weight:700;
}

.side-new-price{
font-size:42px;
color:var(--orange);
font-weight:900;
letter-spacing:-1px;
}

.side-meta{
display:flex;
flex-direction:column;
gap:6px;
margin-bottom:22px;
color:#555;
font-size:15px;
font-weight:700;
}


/* =========================
   BOTONES
========================= */

.btn-whatsapp{
width:100%;
min-height:56px;
border:none;
border-radius:16px;
background:var(--green);
color:#fff;
font-size:16px;
font-weight:900;
cursor:pointer;
margin-bottom:12px;
}

.btn-whatsapp:hover{
filter:brightness(.95);
}

.btn-dark{
width:100%;
min-height:56px;
border-radius:16px;
display:flex;
align-items:center;
justify-content:center;
text-decoration:none;
color:#fff;
font-size:16px;
font-weight:900;
margin-top:10px;
background:#1c1c1c;
border:1px solid rgba(255,255,255,.10);
}


/* =========================
   WHATSAPP FLOAT
========================= */

.wa-float{
position:fixed;
right:18px;
bottom:18px;
width:58px;
height:58px;
border-radius:999px;
background:#fff;
box-shadow:0 12px 28px rgba(0,0,0,.22);
display:flex;
align-items:center;
justify-content:center;
z-index:9999;
}

.wa-float img{
width:34px;
height:34px;
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width:1100px){

.moto-grid{
grid-template-columns:1fr;
}

.moto-right{
position:relative;
top:auto;
}

.slides{
height:460px;
}

.side-card{
max-width:100%;
}

}

@media (max-width:640px){

.moto-wrap{
padding:100px 14px 40px;
}

.slides{
height:320px;
}

.specs{
grid-template-columns:1fr;
}

.side-title{
font-size:26px;
}

.side-new-price{
font-size:34px;
}

.btn-whatsapp,
.btn-dark{
min-height:52px;
font-size:15px;
}

}
/* =========================
   FIX EXTRA MOBILE
========================= */

html, body{
  overflow-x:hidden;
}

.moto-left,
.moto-right,
.side-card,
.slider,
.specs,
.desc,
.tabs,
.tabpane,
.thumbs{
  min-width:0;
}

.slide img,
.thumb img,
.video{
  max-width:100%;
}

@media (max-width: 768px){

  .moto-wrap{
    padding:88px 12px 30px;
  }

  .moto-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .moto-left,
  .moto-right{
    width:100%;
  }

  .moto-right{
    position:static;
  }

  .side-card{
    max-width:100%;
    width:100%;
    margin:0;
    padding:18px 16px;
    border-radius:18px;
  }

  .side-title{
    font-size:22px;
    line-height:1.08;
    margin-bottom:12px;
    word-break:break-word;
  }

  .side-price{
    padding:14px;
    border-radius:14px;
    margin-bottom:12px;
  }

  .side-new-price{
    font-size:30px;
    line-height:1.05;
  }

  .side-old-price{
    font-size:13px;
  }

  .side-meta{
    font-size:13px;
    line-height:1.4;
    gap:4px;
    margin-bottom:14px;
  }

  .btn-whatsapp,
  .btn-dark{
    width:100%;
    min-height:48px;
    font-size:14px;
    padding:12px;
    border-radius:12px;
  }

  .slider{
    border-radius:16px;
  }

  .slides{
    height:240px;
  }

  .slider .nav{
    width:34px;
    height:34px;
    font-size:22px;
    line-height:34px;
    border-radius:8px;
  }

  .slider .nav.prev{
    left:8px;
  }

  .slider .nav.next{
    right:8px;
  }

  .slider-counter{
    right:8px;
    bottom:8px;
    padding:4px 8px;
    font-size:11px;
  }

  .tabs{
    gap:14px;
    padding:12px 2px 8px;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
  }

  .tab{
    flex:0 0 auto;
    font-size:11px;
    letter-spacing:.6px;
    padding:8px 0;
  }

  .thumbs{
    gap:8px;
    padding-top:10px;
    overflow-x:auto;
    overflow-y:hidden;
  }

  .thumb{
    min-width:78px;
    height:54px;
    border-radius:8px;
    flex:0 0 auto;
  }

  .section-title{
    font-size:21px;
    margin:20px 0 10px;
  }

  .specs{
    grid-template-columns:1fr;
    padding:14px;
    gap:10px;
    border-radius:16px;
  }

  .spec{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
    padding-bottom:10px;
  }

  .spec span{
    font-size:11px;
  }

  .spec b{
    font-size:14px;
    text-align:left;
  }

  .desc{
    padding:14px;
    border-radius:16px;
    font-size:14px;
    line-height:1.55;
  }

  .moto-topbar{
    gap:8px;
    margin-bottom:12px;
  }

  .btn-back{
    font-size:13px;
  }

  .btn-share{
    padding:8px 10px;
    font-size:12px;
    border-radius:8px;
  }

  .wa-float{
    width:52px;
    height:52px;
    right:10px;
    bottom:10px;
  }

  .wa-float img{
    width:28px;
    height:28px;
  }
}

@media (max-width: 420px){

  .moto-wrap{
    padding:84px 10px 24px;
  }

  .slides{
    height:220px;
  }

  .side-title{
    font-size:20px;
  }

  .side-new-price{
    font-size:26px;
  }

  .side-meta{
    font-size:12px;
  }

  .btn-whatsapp,
  .btn-dark{
    font-size:13px;
    min-height:46px;
  }

  .thumb{
    min-width:72px;
    height:50px;
  }
}

/* =========================
   FIX MOBILE FUERTE
========================= */

html,
body{
  overflow-x:hidden;
}

img,
video{
  max-width:100%;
  height:auto;
}

.moto-wrap,
.moto-grid,
.moto-left,
.moto-right,
.side-card,
.slider,
.slides,
.specs,
.desc,
.tabs,
.tabpane,
.thumbs{
  min-width:0;
}

@media (max-width: 900px){

  .moto-wrap{
    padding:118px 12px 28px !important;
  }

  .moto-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .moto-left,
  .moto-right{
    width:100%;
  }

  .moto-right{
    position:static !important;
    top:auto !important;
  }

  .side-card{
    width:100%;
    max-width:100% !important;
    margin:0 !important;
    padding:18px 16px !important;
    border-radius:18px !important;
  }

  .side-title{
    font-size:22px !important;
    line-height:1.08 !important;
    margin:0 0 12px !important;
    word-break:break-word;
    text-wrap:balance;
  }

  .side-price{
    padding:14px !important;
    border-radius:14px !important;
    margin-bottom:12px !important;
  }

  .side-old-price{
    font-size:13px !important;
    margin-bottom:4px !important;
  }

  .side-new-price{
    font-size:30px !important;
    line-height:1.05 !important;
    word-break:break-word;
  }

  .side-meta{
    font-size:13px !important;
    line-height:1.4 !important;
    gap:4px !important;
    margin-bottom:14px !important;
  }

  #quoteForm{
    margin:0 !important;
  }

  .btn-whatsapp,
  .btn-dark{
    width:100% !important;
    min-height:48px !important;
    padding:12px 14px !important;
    font-size:14px !important;
    border-radius:12px !important;
  }

  .slider{
    border-radius:16px !important;
  }

  .slides{
    height:245px !important;
  }

  .slide img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .slider .nav{
    width:34px !important;
    height:34px !important;
    font-size:22px !important;
    line-height:34px !important;
    border-radius:8px !important;
  }

  .slider .nav.prev{
    left:8px !important;
  }

  .slider .nav.next{
    right:8px !important;
  }

  .slider-counter{
    right:8px !important;
    bottom:8px !important;
    padding:4px 8px !important;
    font-size:11px !important;
  }

  .tabs{
    display:flex !important;
    gap:14px !important;
    padding:12px 2px 8px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
  }

  .tab{
    flex:0 0 auto !important;
    font-size:11px !important;
    letter-spacing:.5px !important;
    padding:8px 0 !important;
  }

  .thumbs{
    display:flex !important;
    gap:8px !important;
    padding-top:10px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
  }

  .thumb{
    min-width:78px !important;
    width:78px !important;
    height:54px !important;
    border-radius:8px !important;
    flex:0 0 auto !important;
  }

  .section-title{
    font-size:21px !important;
    margin:20px 0 10px !important;
  }

  .specs{
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:14px !important;
    border-radius:16px !important;
  }

  .spec{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:4px !important;
    padding-bottom:10px !important;
  }

  .spec span{
    font-size:11px !important;
  }

  .spec b{
    font-size:14px !important;
    text-align:left !important;
  }

  .desc{
    padding:14px !important;
    border-radius:16px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }

  .moto-topbar{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    margin-bottom:12px !important;
  }

  .btn-back{
    font-size:13px !important;
  }

  .btn-share{
    padding:8px 10px !important;
    font-size:12px !important;
    border-radius:8px !important;
  }

  .wa-float{
    width:52px !important;
    height:52px !important;
    right:10px !important;
    bottom:10px !important;
  }

  .wa-float img{
    width:28px !important;
    height:28px !important;
  }
}

@media (max-width: 480px){

  .moto-wrap{
    padding:112px 10px 24px !important;
  }

  .slides{
    height:220px !important;
  }

  .side-card{
    padding:16px 14px !important;
  }

  .side-title{
    font-size:20px !important;
  }

  .side-new-price{
    font-size:26px !important;
  }

  .side-meta{
    font-size:12px !important;
  }

  .btn-whatsapp,
  .btn-dark{
    min-height:46px !important;
    font-size:13px !important;
  }

  .thumb{
    min-width:72px !important;
    width:72px !important;
    height:50px !important;
  }

  .section-title{
    font-size:20px !important;
  }
}