:root{
  --blue: #1B3A8C;
  --blue-deep: #0F2563;
  --blue-soft: #EAEEFA;
  --orange: #E8741F;
  --orange-soft: #FDEEE2;
  --ink: #14213D;
  --gray: #6B7280;
  --gray-light: #F4F5F8;
  --line: #E3E6ED;
  --white: #FFFFFF;
  --radius: 18px;
  /* Acentos por sección de producto (showcase premium) */
  --acc3d: #FF7A29;
  --dc-silver: #C7CFDA;
  --ow-cyan: #22E6D6;
  --ow-cyan-deep: #0E8073;
  --ow-navy: #0A2A55;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Montserrat', sans-serif; font-weight:800;}
img{max-width:100%; display:block;}
button{font-family:inherit; cursor:pointer;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1280px; margin:0 auto; padding:0 32px;}

/* ===== NAVBAR ===== */
.nav{
  position:sticky; top:0; z-index:50;
  background:linear-gradient(135deg, #2249A8 0%, #142B63 45%, #081538 100%);
  border-bottom:1px solid rgba(255,255,255,0.08);
  transition:background .3s ease;
}
.nav .wrap{display:flex; align-items:center; justify-content:space-between; height:96px; gap:16px;}
.nav-logo{display:flex; align-items:center; gap:10px; background:transparent; padding:8px 18px; border-radius:14px; transition:transform .25s ease; cursor:pointer; flex:0 0 auto;}
.nav-logo:hover{transform:translateY(-1px);}
.nav-logo img{height:58px; width:auto; display:block;}
.flag-icon{width:1.35em; height:0.95em; object-fit:cover; border-radius:2px; box-shadow:0 0 0 1px rgba(0,0,0,0.12); vertical-align:-0.12em; display:inline-block;}
.nav-links{display:flex; gap:34px; font-size:14.5px; font-weight:600; color:#EDF0FA;}
.nav-links a{opacity:0.72; transition:opacity .2s;}
.nav-links a:hover{opacity:1;}
.nav-actions{display:flex; gap:10px; align-items:center; flex:0 0 auto;}
.nav-cta{
  background:var(--orange); color:white; font-weight:700; font-size:14px;
  padding:10px 20px; border-radius:100px; border:none; white-space:nowrap;
  box-shadow:0 10px 24px -8px rgba(232,116,31,0.6); transition:transform .25s ease, box-shadow .25s ease;
}
.nav-cta:hover{transform:translateY(-2px); box-shadow:0 16px 30px -8px rgba(232,116,31,0.7);}
.nav-pago-btn{
  display:flex; align-items:center; gap:7px; white-space:nowrap;
  background:rgba(255,255,255,0.06); border:1.5px solid rgba(255,255,255,0.25); color:#EDF0FA;
  font-weight:700; font-size:13px; padding:9px 16px; border-radius:100px; cursor:pointer; font-family:inherit;
  transition:background .2s ease, border-color .2s ease;
}
.nav-pago-btn:hover{background:rgba(255,255,255,0.14);}
.nav-pago-btn .npb-icon{font-size:15px; line-height:1;}
.nav-progress{height:3px; background:var(--blue-soft); position:relative; overflow:hidden;}
.nav-progress-bar{height:100%; background:var(--orange); width:0%; transition:width .4s ease;}

/* ===== HERO ===== */
.hero{
  background:radial-gradient(circle at 20% 20%, #1B3A8C 0%, #0F2563 55%, #081640 100%);
  color:white; padding:100px 0 80px; text-align:center; position:relative; overflow:hidden;
}
.hero::before{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(circle at 50% 30%, rgba(0,0,0,0.9), transparent 75%);
}
.hero::after{
  content:""; position:absolute; bottom:-60%; left:50%; transform:translateX(-50%);
  width:900px; height:900px; border-radius:50%;
  background:radial-gradient(circle, rgba(232,116,31,0.20), transparent 70%);
}
.hero-orbit{
  position:absolute; top:-220px; left:50%; transform:translateX(-50%);
  width:640px; height:640px; border:1px solid rgba(255,255,255,0.08); border-radius:50%;
}
.hero-orbit::before, .hero-orbit::after{
  content:""; position:absolute; width:8px; height:8px; border-radius:50%; background:var(--orange);
  box-shadow:0 0 16px 4px rgba(232,116,31,0.7);
  top:50%; left:-4px; transform-origin:320px 0px;
  animation:orbit 14s linear infinite;
}
.hero-orbit::after{ background:#7FA0FF; box-shadow:0 0 16px 4px rgba(127,160,255,0.7); animation-duration:20s; animation-direction:reverse;}
@keyframes orbit{ from{transform:rotate(0deg) translateX(0);} to{transform:rotate(360deg) translateX(0);} }
.hero .content{position:relative; z-index:2;}
.hero-watermark{
  position:absolute; top:50%; right:-6%; transform:translateY(-50%);
  height:135%; max-height:760px; opacity:0.07; z-index:0; pointer-events:none; user-select:none;
}
.hero-logo-card{
  display:inline-flex; align-items:center; justify-content:center;
  background:white; border-radius:20px; padding:14px 26px; margin-bottom:30px;
  box-shadow:0 18px 40px -12px rgba(0,0,0,0.45);
}
.hero-logo-card img{height:40px; display:block;}
.hero .eyebrow{
  display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.18); padding:7px 16px; border-radius:100px;
  font-size:13px; font-weight:600; letter-spacing:.04em; margin-bottom:26px;
}
.hero .eyebrow .dot{width:7px; height:7px; border-radius:50%; background:var(--orange);}
.hero h1{font-size:54px; font-weight:800; line-height:1.08; letter-spacing:-0.01em;}
.hero h1 span{color:#FFB27A;}
.hero-brand{font-size:54px; font-weight:800; line-height:1.08; letter-spacing:-0.01em; margin:0;}
.hero-tagline{font-size:22px; font-weight:600; color:#C9D3EE; margin:14px auto 0; max-width:560px; line-height:1.4;}
.hero p{max-width:560px; margin:20px auto 0; font-size:17px; color:#C9D3EE; line-height:1.6;}
.hero-actions{margin-top:34px; display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
.hero-cta{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--orange); color:white; font-weight:700; font-size:16px;
  padding:15px 30px; border-radius:100px; border:none; box-shadow:0 14px 30px -8px rgba(232,116,31,0.55);
  transition:transform .2s;
}
.hero-cta:hover{transform:translateY(-2px);}
.hero-cta-secondary{
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(255,255,255,0.08); color:white; font-weight:700; font-size:16px;
  padding:15px 30px; border-radius:100px; border:1.5px solid rgba(255,255,255,0.35);
  transition:all .2s;
}
.hero-cta-secondary:hover{background:rgba(255,255,255,0.16); transform:translateY(-2px);}

/* ===== PAGE ROUTER ===== */
.page{display:none;}
.page.active{display:block;}

/* ===== NAV DROPDOWN ===== */
.nav-dropdown{position:relative; display:inline-block;}
.dd-trigger{display:flex; align-items:center; gap:4px;}
.dd-caret{font-size:11px; transition:transform .2s;}
.nav-dropdown.open .dd-caret{transform:rotate(180deg);}
.dd-panel{
  position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%);
  background:rgba(10,17,35,0.97); backdrop-filter:blur(14px); border-radius:16px;
  box-shadow:0 20px 50px -15px rgba(0,0,0,.55); border:1px solid rgba(255,255,255,0.1);
  min-width:300px; padding:10px; display:none; z-index:200;
}
.nav-dropdown:hover .dd-panel, .nav-dropdown.open .dd-panel{display:block;}
.dd-panel a{display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:10px; text-decoration:none; color:#EDF0FA; transition:background .2s ease;}
.dd-panel a:hover{background:rgba(255,255,255,0.08);}
.dd-flag{font-size:20px;}
.dd-panel b{display:block; font-size:13.5px; font-weight:700;}
.dd-panel small{display:block; font-size:11.5px; color:#97A3C2; font-weight:500; margin-top:1px;}
.nav-burger{display:none; background:none; border:none; font-size:22px; cursor:pointer; color:#EDF0FA;}
@media(max-width:980px){
  .nav-links{display:none;}
  .nav-burger{display:block;}
  .nav.mobile-open .nav-links{
    display:flex; flex-direction:column; position:absolute; top:100%; left:0; right:0; background:#0F2563;
    backdrop-filter:blur(14px); padding:14px 20px; box-shadow:0 16px 30px -10px rgba(0,0,0,.5); gap:4px;
  }
  .nav.mobile-open .dd-panel{position:static; transform:none; box-shadow:none; display:none; margin-top:6px;}
  .nav.mobile-open .nav-dropdown.open .dd-panel{display:block;}
}

/* ===== HERO 2.0 (multi-marca) =====
   Rediseño 2026-08-15: se sacó el degradé azul pesado + el patrón de
   grilla + los isotipos flotantes (eran decoración de relleno de antes
   de tener fotos reales). Ahora las fotos del fondo rotativo son la
   protagonista; el scrim es solo lo mínimo necesario abajo para que el
   texto se lea, no un lavado de color sobre toda la foto. */
.hero2{
  background:#0A1834;
  padding:90px 0 70px; text-align:center; position:relative; overflow:hidden;
}
/* Fondo rotativo: dos capas de imagen superpuestas, se alterna cuál está
   visible con opacity + transition (GPU, sin librería). */
.hero2-bgrotator{position:absolute; inset:0; z-index:0; overflow:hidden;}
.hero2-bg-layer{
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:0; transition:opacity 1.4s ease;
}
.hero2-bg-layer.active{opacity:1;}
@media (max-width:640px){
  .hero2-bg-caption{left:20px; bottom:18px; font-size:12px; padding:7px 16px 7px 14px;}
}
.hero2-bgrotator::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,21,56,0.35) 0%, rgba(8,21,56,0.55) 55%, rgba(8,21,56,0.86) 100%);
}
@media (prefers-reduced-motion: reduce){
  .hero2-bg-layer{transition:none;}
}
.hero2-bg-caption{
  position:absolute; left:calc(max(0px, (100% - 1280px)/2) + 32px); bottom:28px; z-index:1; max-width:calc(100% - 64px);
  padding:9px 22px 9px 18px; border-left:3px solid var(--orange);
  background:rgba(8,21,56,0.4); backdrop-filter:blur(6px);
  color:#EDF0FA; font-size:13.5px; font-weight:600; letter-spacing:.03em;
  opacity:0; transition:opacity .6s ease;
}
.hero2-bg-caption.visible{opacity:1;}
.hero2 .wrap.content{position:relative; z-index:1;}
.brand-badges{display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin-bottom:34px; position:relative; z-index:2;}
.brand-badge{
  display:flex; align-items:center; gap:9px; background:rgba(255,255,255,0.09); border:1px solid rgba(255,255,255,0.22);
  padding:10px 20px; border-radius:100px; cursor:pointer; transition:background .2s ease, border-color .2s ease, transform .2s ease;
}
.brand-badge:hover, .brand-badge:focus-visible{background:rgba(255,255,255,0.18); border-color:rgba(255,255,255,0.4); transform:translateY(-2px);}
.brand-badge .flag{font-size:18px;}
.brand-badge .bname{color:white; font-weight:800; font-size:14px; letter-spacing:.04em; font-family:'Montserrat',sans-serif;}
.hero2-title{
  color:white; font-size:44px; font-weight:800; line-height:1.15; max-width:820px; margin:0 auto 18px;
  font-family:'Montserrat',sans-serif; position:relative; z-index:2;
}
.hero2-sub{color:#C9D3EE; font-size:20px; font-weight:500; margin-bottom:44px; position:relative; z-index:2;}
.scroll-cue{
  display:inline-flex; flex-direction:column; align-items:center; gap:6px; color:#C9D3EE; font-size:13px;
  font-weight:600; cursor:pointer; position:relative; z-index:2;
}
.scroll-cue .chev{font-size:22px; animation:bounceCue 1.8s infinite;}
@keyframes bounceCue{0%,100%{transform:translateY(0);} 50%{transform:translateY(6px);}}

/* ===== Banner "Llévatela a crédito" ===== */
/* aspect-ratio reserva el alto de la sección ANTES de que la imagen
   termine de descargar (usa las proporciones reales de cada foto). Sin
   esto, en una conexión mobile lenta la sección arranca colapsada y el
   contenido de abajo se corre de golpe cuando la imagen carga — si el
   usuario toca justo en ese momento, el toque cae en otro lado y "no pasa
   nada" al tocar el botón. */
.credito-banner{
  position:relative; display:block; width:100%; cursor:pointer; overflow:hidden;
  border-bottom:1px solid var(--line);
  aspect-ratio: 16 / 9;
}
.credito-banner picture, .credito-banner img{display:block; width:100%; height:100%; object-fit:cover;}
.credito-banner-btn{
  position:absolute; left:50%; bottom:8%; transform:translateX(-50%);
  background:linear-gradient(135deg, var(--orange) 0%, #FF7A3D 100%); color:#fff; border:none;
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:16px; letter-spacing:.01em;
  padding:15px 34px; border-radius:100px; cursor:pointer;
  box-shadow:0 16px 34px -10px rgba(232,116,31,0.65);
  transition:transform .2s ease, box-shadow .2s ease;
}
.credito-banner-btn:hover{transform:translateX(-50%) translateY(-3px) scale(1.03); box-shadow:0 20px 40px -8px rgba(232,116,31,0.75);}
@media (max-width:680px){
  .credito-banner{ aspect-ratio: 1080 / 1920; }
  .credito-banner-btn{bottom:6%; font-size:15px; padding:14px 28px; white-space:nowrap;}
}

/* ===== Modelos por marca (portada premium) ===== */
.brand-nav-section{
  background:linear-gradient(180deg, #081538 0%, #0A1834 100%);
  padding:110px 0 130px;
}
.brand-nav-head{text-align:center; margin-bottom:60px;}
.brand-nav-eyebrow{display:block; font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#FFB27A; margin-bottom:12px;}
.brand-nav-head h2{color:white; font-size:34px; font-weight:800; font-family:'Montserrat',sans-serif;}

.brand-nav-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:28px;}
.brand-nav-card{
  --card-accent: var(--blue);
  background:var(--white); border-radius:26px; padding:48px 28px 28px; border:2px solid transparent;
  cursor:pointer; display:flex; flex-direction:column; align-items:center;
  box-shadow:0 20px 45px -22px rgba(0,0,0,.5);
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .3s ease;
}
.brand-nav-card.accent-owandy{--card-accent: var(--ow-cyan);}
.brand-nav-card.accent-3disc{--card-accent: var(--acc3d);}
.brand-nav-card.accent-deoca{--card-accent: var(--dc-silver);}
.brand-nav-card.accent-credito{--card-accent: var(--orange);}
.brand-nav-card.accent-flash{--card-accent: var(--blue);}
.brand-nav-card:hover{transform:translateY(-10px); box-shadow:0 40px 70px -24px rgba(0,0,0,.6); border-color:var(--card-accent);}
.bnc-photo{width:100%; min-height:180px; display:flex; align-items:center; justify-content:center; margin-bottom:30px;}
.bnc-photo img{
  max-height:170px; width:100%; object-fit:contain; mix-blend-mode:multiply;
  filter:drop-shadow(0 20px 16px rgba(10,20,50,.14));
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
  -webkit-mask-image:radial-gradient(ellipse 82% 84% at 50% 48%, #000 60%, transparent 100%);
  mask-image:radial-gradient(ellipse 82% 84% at 50% 48%, #000 60%, transparent 100%);
}
.brand-nav-card:hover .bnc-photo img{transform:translateY(-6px) scale(1.05);}
.bnc-label{display:flex; align-items:center; gap:10px; width:100%; padding-top:22px; border-top:1px solid var(--line);}
.bnc-flag{font-size:18px; line-height:1; display:flex;}
.bnc-name{font-weight:800; font-size:15px; letter-spacing:.06em; color:var(--ink); font-family:'Montserrat',sans-serif; flex:1;}
.bnc-arrow{font-weight:700; color:var(--card-accent); transition:transform .25s ease;}
.brand-nav-card:hover .bnc-arrow{transform:translateX(6px);}

@media(max-width:1100px){
  .brand-nav-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
  .hero2-title{font-size:30px;}
  .hero2-sub{font-size:17px;}
}
@media(max-width:640px){
  .brand-nav-section{padding:70px 0 90px;}
  .brand-nav-grid{grid-template-columns:1fr;}
  .brand-nav-head{margin-bottom:40px;}
}

/* =====================================================================
   PREMIUM HARDWARE SHOWCASE THEME
   Unidades DEOCA (plata/cromado) · Scanners 3DISC (naranja) · Owandy (azul marino/cian)
   Solo variables CSS + selectores; sin cambios de HTML/JS.
===================================================================== */
#configurador, #explorar, #equipo-3disc, #equipo-owandy{
  --white:#FFFFFF;
  --gray-light:#F4F5F8;
  --line:#E3E6ED;
  --ink:#14213D;
  --gray:#6B7280;
  --blue-soft:#EAEEFA;
  --blue:#1B3A8C;
  --blue-deep:#0F2563;
  background:#FFFFFF;
  color:var(--ink);
}
#configurador .step-sub, #explorar .explore-head p, #equipo-3disc .explore-head p, #equipo-owandy .explore-head p{color:var(--gray);}
#configurador .config-main{border-right:1px solid var(--line);}
#configurador .wizard-exit, #explorar .wizard-exit{color:var(--gray);}
#configurador .wizard-exit:hover{color:#DCE3F5;}
#configurador .back-btn{color:var(--gray); border-color:var(--line);}
#configurador .back-btn:hover{color:var(--ink); border-color:rgba(255,255,255,0.35);}
#configurador .clear-sign-btn{color:var(--gray); border-color:var(--line);}
#configurador .plan-note, #configurador .contract-box .fill{color:#FFD9B0;}
#configurador .field label{color:var(--ink);}
#configurador .field input::placeholder{color:#6E7A9C;}
#configurador .sign-pad{background:#F4F6FB;}
#configurador .contract-box{color:var(--ink);}

/* ---- Unidades DEOCA: acentos plata / metálicos ---- */
#configurador, #explorar{ --accent-border: var(--dc-silver); }
#configurador .model-card.selected,
#configurador .mode-card.selected,
#configurador .container-opt.selected,
#configurador .acc-card.selected,
#configurador .color-card.selected .swatch,
#explorar .explore-card:hover{
  border-color: var(--dc-silver) !important;
}
#configurador .model-card.selected{
  background:linear-gradient(135deg, rgba(199,207,218,0.14), rgba(199,207,218,0.03));
}
#configurador .model-card.selected .check{
  background:linear-gradient(135deg,#9AA4B4 0%,#EDF1F6 45%,#B9C1CD 65%,#F6F8FA 85%); border-color:#DDE3EA;
}
#configurador .mode-card.selected{background:rgba(199,207,218,0.10);}
#configurador .container-opt.selected{background:rgba(199,207,218,0.10);}
#configurador .acc-card.selected{background:rgba(199,207,218,0.10);}
#configurador .pay-pill.selected{border-color:var(--dc-silver); background:rgba(199,207,218,0.12); color:#E7ECF4;}
#configurador .step-num{background:rgba(199,207,218,0.14); color:#E7ECF4;}
#configurador .next-btn:not(:disabled):hover{background:#0A1D52;}
#explorar .explore-build-btn{background:rgba(199,207,218,0.12); color:#E7ECF4;}
#explorar .explore-build-btn:hover{background:linear-gradient(135deg,#9AA4B4,#EDF1F6,#B9C1CD); color:#0A1430;}
#explorar .story-cta button, #configurador .step-cta button{
  background:linear-gradient(135deg,#8b93a1 0%, #dfe4ea 35%, #aeb6c2 60%, #f3f5f8 80%, #9099a7 100%);
  color:#0A1430; box-shadow:0 14px 30px -10px rgba(0,0,0,.5);
}
#explorar .story-cta button:hover{transform:translateY(-2px) scale(1.02);}
#explorar .compare-table th{background:rgba(199,207,218,0.12); color:#E7ECF4;}
#explorar .promo-card{border:1px solid rgba(199,207,218,0.3); background:rgba(199,207,218,0.06);}

/* ---- Scanners 3DISC: acentos naranja vibrante ---- */
#equipo-3disc{ --accent-border: var(--acc3d); }
#equipo-3disc .brand-banner.b-3disc{
  background:radial-gradient(circle at 15% 20%, #3A1A05 0%, #201005 55%, #0A0603 100%);
  border:1px solid rgba(255,122,41,0.25);
}
#equipo-3disc .brand-eyebrow{background:rgba(255,122,41,0.14); border-color:rgba(255,122,41,0.35); color:#FFB27A;}
#equipo-3disc .brand-stat .n{color:var(--acc3d);}
#equipo-3disc .tier-tag.value{background:rgba(255,122,41,0.14); color:#FFB27A;}
#equipo-3disc .tier-tag.premium{background:rgba(255,122,41,0.22); color:var(--acc3d);}
#equipo-3disc .icon-badge{background:rgba(255,122,41,0.14) !important;}
#equipo-3disc .price-full{color:var(--acc3d);}
#equipo-3disc .mini-tl-item .yr{background:var(--acc3d);}
#equipo-3disc .mini-tl-item h5{color:#FFB27A;}
#equipo-3disc .software-card .ico, #equipo-3disc .icon-badge{
  background:rgba(255,122,41,0.12); border-radius:10px;
}
#equipo-3disc .compare-table th{background:rgba(255,122,41,0.14); color:#FFB27A;}
#equipo-3disc .reserve-btn-simple{box-shadow:0 14px 30px -10px rgba(255,122,41,0.55);}
#equipo-3disc .ai-compare-card.on{background:rgba(255,122,41,0.10); border-color:rgba(255,122,41,0.3);}
#equipo-3disc .ai-compare-card.on .tag2{color:var(--acc3d);}

/* ---- Owandy: acentos azul marino profundo + cian tecnológico ---- */
#equipo-owandy{ --accent-border: var(--ow-cyan); }
#equipo-owandy .brand-banner.b-owandy{
  background:radial-gradient(circle at 15% 20%, #0A2A55 0%, #071A38 55%, #030B1C 100%);
  border:1px solid rgba(34,230,214,0.25);
}
#equipo-owandy .brand-eyebrow{background:rgba(34,230,214,0.12); border-color:rgba(34,230,214,0.32); color:#7CE8DD;}
#equipo-owandy .brand-stat .n{color:var(--ow-cyan);}
#equipo-owandy .tier-tag.value{background:rgba(34,230,214,0.12); color:#7CE8DD;}
#equipo-owandy .tier-tag.premium{background:rgba(34,230,214,0.2); color:var(--ow-cyan);}
#equipo-owandy .icon-badge{background:rgba(34,230,214,0.12) !important;}
#equipo-owandy .price-full{color:var(--ow-cyan);}
#equipo-owandy .software-card .ico{background:rgba(34,230,214,0.1); border-radius:10px;}
#equipo-owandy .compare-table th{background:rgba(34,230,214,0.12); color:#7CE8DD;}
#equipo-owandy .reserve-btn-simple{background:var(--ow-cyan); color:#04211E; box-shadow:0 14px 30px -10px rgba(34,230,214,0.5);}
#equipo-owandy .reserve-btn-simple:hover{background:#4BFAEA;}

/* ---- Shared: technical feature blocks (frosted glass icon chips) ---- */
#equipo-3disc .software-card, #equipo-owandy .software-card, #configurador .spec-item, #explorar .spec-item{
  backdrop-filter:blur(6px);
}
#equipo-3disc .software-card h5, #equipo-owandy .software-card h5{
  text-transform:uppercase; letter-spacing:.03em; font-size:12.5px; color:var(--ink);
}
#equipo-3disc .software-card p, #equipo-owandy .software-card p{color:var(--gray);}

/* ---- Photo showcase: clean floating cutouts ---- */
#equipo-3disc .photo-showcase img, #equipo-owandy .photo-showcase img{
  background:transparent;
  filter:drop-shadow(0 24px 22px rgba(10,20,50,0.18));
  transition:transform .4s cubic-bezier(.2,.8,.2,1), filter .4s ease;
}
#equipo-3disc .photo-showcase img:hover, #equipo-owandy .photo-showcase img:hover{
  transform:translateY(-6px) scale(1.03); filter:drop-shadow(0 30px 30px rgba(10,20,50,0.28));
}

/* ---- Micro-interactions: hardware panel hover lift (GPU accelerated) ---- */
#configurador .acc-card, #configurador .container-opt, #configurador .color-card .swatch,
#explorar .promo-card{
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease, background .3s ease;
}
#configurador .acc-card:hover, #explorar .promo-card:hover{transform:translateY(-3px);}

body.focus-mode footer{ display:none !important; }
body.focus-mode .config-wizard-section{ padding-top:10px; }
.wizard-exit{
  display:flex; align-items:center; gap:6px; font-size:13.5px; font-weight:600; color:var(--gray);
  max-width:560px; margin:18px auto 0; cursor:pointer; width:fit-content;
}
.wizard-exit:hover{color:var(--blue);}
.config-wizard-section{
  display:none; opacity:0; transition:opacity .5s ease; scroll-margin-top:96px;
}
.config-wizard-section.revealed{display:block; opacity:1;}

.wizard-stepper{
  max-width:560px; margin:0 auto; padding:40px 32px 0; position:relative;
}
.stepper-line{
  height:4px; background:var(--line); border-radius:100px; position:absolute;
  left:50px; right:50px; top:20px; z-index:1; overflow:hidden;
}
.stepper-line-fill{height:100%; background:var(--orange); border-radius:100px; width:0%; transition:width .45s ease;}
.stepper-dots{display:flex; justify-content:space-between; position:relative; z-index:2;}
.stepper-dots .dot-step{
  width:40px; height:40px; border-radius:50%; background:var(--white); border:3px solid var(--line);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; color:var(--gray);
  transition:all .25s; font-family:'Montserrat',sans-serif; position:relative; z-index:2; line-height:1;
}
.stepper-dots .dot-step.done{background:var(--orange); border-color:var(--orange); color:white;}
.stepper-dots .dot-step.current{background:var(--white); border-color:var(--blue); color:var(--blue); box-shadow:0 0 0 5px var(--blue-soft);}

.config-shell{
  display:grid; grid-template-columns: 1fr 380px; gap:0; max-width:1280px; margin:0 auto;
  align-items:start;
}
.config-main{padding:30px 48px 56px 32px; border-right:1px solid var(--line); position:relative; min-height:520px; scroll-margin-top:110px;}
.summary{
  position:sticky; top:88px; padding:40px 32px 40px 32px; align-self:start;
}

.step{
  padding:46px 0; display:none;
}
.step.active{display:block; animation:stepIn .35s ease;}
@keyframes stepIn{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);}}
.step-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; border-radius:50%; background:var(--blue-soft); color:var(--blue);
  font-size:13px; font-weight:700; font-family:'Montserrat',sans-serif;
}
.step-head{display:flex; align-items:center; gap:12px; margin-bottom:6px;}
.step-title{font-size:23px; font-weight:700; color:var(--ink);}
.step-sub{color:var(--gray); font-size:14.5px; margin:8px 0 26px 42px; max-width:560px; line-height:1.55;}

.step-nav{display:flex; justify-content:space-between; align-items:center; margin-top:38px;}
.back-btn{
  background:none; border:1.5px solid var(--line); color:var(--gray); font-weight:600; font-size:14px;
  padding:11px 20px; border-radius:100px; transition:all .2s;
}
.back-btn:hover{border-color:#C9D3EE; color:var(--ink);}
.next-btn{
  background:var(--blue); color:white; border:none; font-weight:700; font-size:14.5px;
  padding:12px 26px; border-radius:100px; transition:all .2s;
}
.next-btn:disabled{background:#D5DAE6; cursor:not-allowed;}
.next-btn:not(:disabled):hover{background:var(--blue-deep);}

/* model cards */
.model-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.model-card{
  border:2px solid var(--line); border-radius:var(--radius); padding:22px; cursor:pointer;
  background:var(--white); transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .3s ease, background .3s ease; position:relative;
}
.model-card:hover{border-color:var(--accent-border, #C9D3EE); transform:translateY(-6px) scale(1.012); box-shadow:0 30px 55px -22px rgba(0,0,0,.5);}
.model-card.selected{border-color:var(--blue); background:var(--blue-soft);}
.model-card img{
  width:100%; border-radius:0; margin-bottom:14px; background:transparent; mix-blend-mode:multiply;
  filter:drop-shadow(0 18px 16px rgba(10,20,50,0.15));
  -webkit-mask-image:radial-gradient(ellipse 72% 74% at 50% 46%, #000 58%, transparent 100%);
  mask-image:radial-gradient(ellipse 72% 74% at 50% 46%, #000 58%, transparent 100%);
}
.model-card h4{font-size:17px; font-weight:700;}
.model-card .price{color:var(--blue); font-weight:700; font-size:15px; margin-top:4px;}
.model-card .desc{font-size:13px; color:var(--gray); margin-top:8px; line-height:1.5;}
.model-card .check{
  position:absolute; top:18px; right:18px; width:24px; height:24px; border-radius:50%;
  border:2px solid #D5DAE6; background:var(--white); transition:all .25s ease;
}
.model-card.selected .check{background:var(--blue); border-color:var(--blue);}
.model-card.selected .check::after{
  content:"✓"; color:white; font-size:13px; font-weight:800; display:flex;
  align-items:center; justify-content:center; height:100%;
}

/* payment mode pills */
.mode-grid{display:flex; flex-direction:column; gap:10px;}
.mode-card{
  border:2px solid var(--line); border-radius:var(--radius); padding:16px 20px; cursor:pointer;
  background:var(--white); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;
}
.mode-card:hover{border-color:var(--accent-border, #C9D3EE); transform:translateY(-3px); box-shadow:0 18px 34px -16px rgba(0,0,0,.4);}
.mode-card.selected{border-color:var(--orange); background:var(--orange-soft);}
.mode-card h4{font-size:15.5px; font-weight:700; display:flex; align-items:center; gap:8px; margin:0;}
.mode-card .tag{
  font-size:11px; font-weight:700; background:var(--blue); color:white; padding:3px 9px; border-radius:100px;
}
.mode-card .mode-body{
  display:none; margin-top:12px; padding-top:12px; border-top:1px solid var(--line);
}
.mode-card.selected .mode-body{display:block; animation:stepIn .2s ease;}
.mode-card p{font-size:13.5px; color:var(--gray); line-height:1.55; margin:0;}
.mode-card.disabled{opacity:.4; cursor:not-allowed;}

/* Container sub-selection */
.container-grid{display:flex; flex-direction:column; gap:8px; margin-top:12px;}
.container-opt{
  border:1.5px solid var(--line); border-radius:12px; padding:12px 16px; cursor:pointer;
  background:var(--white); transition:all .25s ease;
}
.container-opt:hover{border-color:#C9D3EE;}
.container-opt.selected{border-color:var(--blue); background:var(--blue-soft);}
.container-opt h5{font-size:14px; font-weight:700; margin:0 0 4px; display:flex; align-items:center; gap:8px;}
.container-opt .c-tag{
  font-size:10.5px; font-weight:700; background:var(--orange); color:white; padding:2px 8px; border-radius:100px;
}
.container-opt p{font-size:12.5px; color:var(--gray); margin:0; line-height:1.4;}

/* installment table */
.plan-table{
  margin-top:22px; border:1px solid var(--line); border-radius:14px; overflow:hidden;
}
.plan-row{
  display:grid; grid-template-columns:46px 1fr auto; gap:14px; align-items:center;
  padding:14px 18px; border-bottom:1px solid var(--line); font-size:14px;
}
.plan-row:last-child{border-bottom:none;}
.plan-row.total{background:var(--blue-soft); font-weight:700;}
.plan-row .idx{
  width:30px; height:30px; border-radius:50%; background:var(--gray-light); color:var(--ink);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:12.5px;
}
.plan-row .meta{color:var(--gray); font-size:12.5px; margin-top:2px;}
.plan-note{
  display:flex; gap:10px; margin-top:16px; background:var(--orange-soft); border-radius:12px;
  padding:14px 16px; font-size:13px; color:#8A4413; line-height:1.55;
}

/* colors */
.color-preview{
  background:linear-gradient(180deg,#FFFFFF, #F4F5F8); border:1px solid var(--line); border-radius:20px;
  padding:24px; margin-bottom:24px; display:flex; align-items:center; justify-content:center; min-height:280px;
}
.color-preview img{max-height:320px; width:auto; object-fit:contain; transition:opacity .25s;}
.color-grid{display:flex; gap:16px; flex-wrap:wrap;}
.color-card{text-align:center; cursor:pointer;}
.swatch{
  width:64px; height:64px; border-radius:50%; border:3px solid transparent; margin:0 auto 8px;
  position:relative; box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08);
}
.color-card.selected .swatch{border-color:var(--blue);}
.color-card.selected .swatch::after{
  content:"✓"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:white; font-weight:800; font-size:18px; text-shadow:0 1px 3px rgba(0,0,0,0.4);
}
.color-card span{font-size:13px; font-weight:700; color:var(--ink);}
.stock-badge{display:block; font-size:11px; color:var(--gray); font-weight:500; margin-top:1px;}

/* accessories */
.acc-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.acc-card{
  display:flex; align-items:center; gap:14px;
  border:2px solid var(--line); border-radius:14px; padding:14px 16px; cursor:pointer; transition:all .2s;
}
.acc-card:hover{border-color:#C9D3EE;}
.acc-card.selected{border-color:var(--blue); background:var(--blue-soft);}
.acc-thumb{
  width:56px; height:56px; border-radius:10px; background:var(--white); border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; flex:0 0 auto; overflow:hidden; font-size:24px;
}
.acc-thumb img{width:100%; height:100%; object-fit:contain; mix-blend-mode:normal;}
.acc-card .left{flex:1;}
.acc-card .left h4{font-size:14px; font-weight:700; line-height:1.3;}
.acc-card .left .price{font-size:13px; color:var(--orange); font-weight:700; margin-top:4px;}
.acc-toggle{
  width:42px; height:24px; border-radius:100px; background:#D5DAE6; position:relative; flex:0 0 auto; transition:background .2s;
}
.acc-toggle::after{
  content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%;
  background:white; transition:left .2s;
}
.acc-card.selected .acc-toggle{background:var(--blue);}
.acc-card.selected .acc-toggle::after{left:21px;}

/* form */
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.field{display:flex; flex-direction:column; gap:7px;}
.field.full{grid-column:1 / -1;}
.field label{font-size:13px; font-weight:600; color:var(--ink);}
.field label .req{color:var(--orange);}
.field input, .field select, .field textarea{
  border:1.5px solid var(--line); border-radius:10px; padding:12px 14px; font-size:14.5px; font-family:inherit;
  background:var(--white); color:var(--ink); transition:border-color .2s, background .3s ease;
}
.field textarea{resize:vertical;}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--blue);}
.field input.input-error, .field textarea.input-error{border-color:#E14848;}
.field-error{font-size:11.5px; color:#E14848; margin-top:-2px;}
.field input[type="file"]{padding:9px 10px; font-size:13px; cursor:pointer;}
.pay-pills{display:flex; gap:10px; flex-wrap:wrap;}
.pay-pill{
  border:1.5px solid var(--line); border-radius:100px; padding:9px 16px; font-size:13.5px; font-weight:600; cursor:pointer;
}
.pay-pill.selected{border-color:var(--blue); background:var(--blue-soft); color:var(--blue);}
.pay-detail{background:#EAF0FF;border:1px solid #c5d3f0;border-radius:10px;padding:12px 16px;font-size:13px;color:#0F2563;line-height:1.7;margin-top:8px;}
.upload-wrap{margin-top:12px;background:var(--gray-light);border-radius:10px;padding:12px 14px;}

.submit-btn{
  margin-top:30px; background:var(--orange); color:white; border:none; padding:16px 34px;
  border-radius:100px; font-weight:700; font-size:15.5px; width:100%;
  box-shadow:0 14px 30px -10px rgba(232,116,31,0.5);
}
.submit-btn:disabled{background:#D5DAE6; box-shadow:none; cursor:not-allowed;}
.form-hint{font-size:12.5px; color:var(--gray); margin-top:10px; text-align:center;}

/* contract */
.contract-box{
  background:var(--gray-light); border:1px solid var(--line); border-radius:16px;
  padding:24px 26px; max-height:420px; overflow-y:auto; font-size:13.5px; line-height:1.7; color:var(--ink);
}
.contract-box h5{font-size:15px; font-weight:700; margin:18px 0 8px; color:var(--blue);}
.contract-box h5:first-child{margin-top:0;}
.contract-box p{margin-bottom:10px;}
.contract-box .contract-head{text-align:center; margin-bottom:18px;}
.contract-box .contract-head img{height:34px; margin-bottom:10px;}
.contract-box .contract-head h4{font-size:16px; font-weight:800;}
.contract-box .fill{font-weight:700; color:var(--orange);}
.contract-check{
  display:flex; align-items:flex-start; gap:10px; margin-top:18px; font-size:13.5px; color:var(--ink); cursor:pointer;
}
.contract-check input{margin-top:3px; width:16px; height:16px; accent-color:var(--blue);}
.sign-pad-wrap{margin-top:22px;}
.sign-pad-wrap label{font-size:13px; font-weight:600; display:block; margin-bottom:8px;}
.sign-pad{
  width:100%; max-width:600px; height:180px; border:1.5px dashed #C9D3EE; border-radius:14px;
  background:white; touch-action:none; cursor:crosshair; display:block;
}
.clear-sign-btn{
  margin-top:10px; background:none; border:1px solid var(--line); color:var(--gray); font-size:12.5px;
  font-weight:600; padding:8px 16px; border-radius:100px;
}

/* ===== SUMMARY CARD ===== */
.summary-card{
  background:var(--gray-light); border-radius:20px; padding:28px 24px; border:1px solid var(--line);
}
.summary-card h3{font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--gray); margin-bottom:18px;}
.summary-photo{
  background:var(--white); border:1px solid var(--line); border-radius:16px; padding:14px; margin-bottom:16px;
  display:flex; align-items:center; justify-content:center; min-height:140px; position:relative;
}
.summary-photo img{max-height:160px; width:100%; object-fit:contain;}
.summary-acc-badges{
  position:absolute; bottom:8px; right:8px; display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; max-width:60%;
}
.acc-badge{
  width:34px; height:34px; border-radius:50%; background:var(--white); border:2px solid var(--orange);
  box-shadow:0 4px 10px -2px rgba(0,0,0,0.25); overflow:hidden; display:flex; align-items:center; justify-content:center;
  font-size:15px;
}
.acc-badge img{width:100%; height:100%; object-fit:contain;}
.summary-unit{display:flex; gap:14px; align-items:center; margin-bottom:18px;}
.summary-unit h4{font-size:16px; font-weight:700;}
.summary-unit .mini{font-size:12.5px; color:var(--gray); margin-top:3px;}
.summary-line{
  display:flex; justify-content:space-between; font-size:13.5px; padding:10px 0; border-bottom:1px solid var(--line);
  color:var(--ink);
}
.summary-line span:last-child{font-weight:600;}
.summary-line.muted{color:var(--gray);}
.summary-total{
  display:flex; justify-content:space-between; font-size:18px; font-weight:800; padding-top:16px; margin-top:6px;
}
.summary-total span:last-child{color:var(--blue);}
.summary-empty{font-size:13.5px; color:var(--gray); text-align:center; padding:30px 10px; line-height:1.6;}
.summary-empty .ico{font-size:30px; margin-bottom:10px;}

/* ===== FAQ ===== */
.faq-section{background:var(--gray-light); padding:80px 0;}
.faq-head{text-align:center; max-width:560px; margin:0 auto 46px;}
.faq-head h2{font-size:34px; font-weight:800;}
.faq-head p{color:var(--gray); margin-top:12px; font-size:15px;}
.faq-list{max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:12px;}
.faq-item{background:white; border:1px solid var(--line); border-radius:14px; overflow:hidden;}
.faq-q{
  padding:18px 22px; font-weight:700; font-size:15px; display:flex; justify-content:space-between; align-items:center;
  cursor:pointer;
}
.faq-q .arrow{transition:transform .25s; color:var(--orange); font-size:18px;}
.faq-item.open .faq-q .arrow{transform:rotate(45deg);}
.faq-a{
  max-height:0; overflow:hidden; transition:max-height .3s ease; font-size:14px; color:var(--gray); line-height:1.6;
}
.faq-a-in{padding:0 22px 20px;}
.faq-item.open .faq-a{max-height:300px;}

/* ===== FOOTER ===== */
footer{background:var(--blue-deep); color:#C9D3EE; padding:0 0 28px; overflow:hidden;}
.footer-top{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:30px;
  padding:0 0 30px; border-bottom:1px solid rgba(255,255,255,0.12); position:relative; min-height:220px;
}
.footer-iso{
  position:absolute; left:-40px; top:50%; transform:translateY(-50%); pointer-events:none;
  opacity:0.9;
}
.footer-iso img{height:230px; display:block;}
.footer-links{
  display:flex; gap:54px; flex-wrap:wrap; margin-left:auto; padding:46px 0;
  position:relative; z-index:2;
}
.footer-col h5{color:white; font-size:13px; font-weight:700; margin-bottom:14px; text-transform:uppercase; letter-spacing:.05em;}
.footer-col a{
  display:flex; align-items:center; gap:9px; font-size:14px; color:#C9D3EE; opacity:.9; margin-bottom:11px;
}
.footer-col a .ico{width:16px; height:16px; flex:0 0 auto; opacity:.85;}
.footer-bottom{display:flex; justify-content:space-between; padding-top:22px; font-size:12.5px; color:#8E9BC2; flex-wrap:wrap; gap:10px;}

/* ===== VIRTUAL ASSISTANT ===== */
.assistant-widget{position:fixed; bottom:24px; right:24px; z-index:300; display:flex; flex-direction:column; align-items:flex-end; gap:14px;}
.assistant-btn{
  width:60px; height:60px; border-radius:50%; background:var(--blue); border:none; color:white; font-size:24px;
  display:flex; align-items:center; justify-content:center; box-shadow:0 14px 30px -8px rgba(27,58,140,0.55);
  position:relative; transition:transform .2s;
}
.assistant-btn:hover{transform:scale(1.06);}
.assistant-btn-dot{
  position:absolute; top:-3px; right:-3px; width:14px; height:14px; border-radius:50%; background:#34D399;
  border:2px solid white;
}
.assistant-panel{
  display:none; width:340px; max-height:480px; background:white; border-radius:20px; overflow:hidden;
  box-shadow:0 24px 50px -12px rgba(0,0,0,0.35); border:1px solid var(--line); flex-direction:column;
}
.assistant-panel.open{display:flex;}
.assistant-head{
  background:var(--blue-deep); color:white; padding:16px 18px; display:flex; align-items:center; gap:12px; position:relative;
}
.assistant-avatar{width:38px; height:38px; border-radius:50%; background:var(--blue); display:flex; align-items:center; justify-content:center; flex:0 0 auto; padding:8px;}
.assistant-avatar img{width:100%; height:100%; object-fit:contain;}
.assistant-name{font-weight:700; font-size:14px; display:flex; align-items:center; gap:6px;}
.online-dot{width:8px; height:8px; border-radius:50%; background:#34D399; display:inline-block;}
.assistant-status{font-size:11.5px; color:#AEBBE0; margin-top:2px;}
.assistant-close{position:absolute; right:14px; top:16px; background:none; border:none; color:#AEBBE0; font-size:15px;}
.assistant-body{padding:18px; font-size:13.5px; line-height:1.6; color:var(--ink); overflow-y:auto; flex:1; background:var(--gray-light);}
.assistant-bubble{background:white; border-radius:14px; padding:12px 14px; margin-bottom:10px; box-shadow:0 2px 6px rgba(0,0,0,0.05);}
.assistant-bubble b{color:var(--blue);}
.assistant-quick{padding:12px 14px; display:flex; flex-direction:column; gap:8px; border-top:1px solid var(--line);}
.assistant-quick button{
  text-align:left; background:var(--blue-soft); color:var(--blue); border:none; border-radius:10px; padding:9px 12px;
  font-size:12.5px; font-weight:600;
}
.assistant-quick button:hover{background:#D7DEF5;}
.assistant-quick .wa-link{background:var(--orange-soft); color:#8A4413;}
@media (max-width:600px){
  .assistant-panel{width:88vw; right:0;}
  .assistant-widget{right:16px; bottom:16px;}
}
/* ===== THANK YOU OVERLAY ===== */
.thankyou-overlay{
  display:none; position:fixed; inset:0; background:rgba(15,37,99,0.92); z-index:500;
  align-items:center; justify-content:center; padding:20px;
}
.thankyou-overlay.show{display:flex;}
.thankyou-card{
  background:white; border-radius:20px; max-width:480px; width:100%; text-align:center;
  box-shadow:0 24px 60px -10px rgba(0,0,0,0.5);
  max-height:90vh; display:flex; flex-direction:column; overflow:hidden;
}
/* El resumen scrollea si no entra, pero los botones de abajo (thankyou-actions)
   quedan siempre fijos y visibles — antes todo era una sola caja con scroll
   y, si el contenido era largo, el botón de "Volver al inicio" podía quedar
   fuera de vista sin que nada indicara que había que hacer scroll. */
.thankyou-scroll{ overflow-y:auto; padding:28px 28px 0; }
.thankyou-actions{ padding:16px 28px 28px; flex-shrink:0; }
.thankyou-icon{font-size:44px; margin-bottom:8px;}
.thankyou-card h2{font-size:21px; font-weight:800; color:var(--blue); margin-bottom:5px;}
.thankyou-card .sub{color:var(--gray); font-size:13px; margin-bottom:16px; line-height:1.4;}
.thankyou-summary{background:var(--gray-light); border-radius:12px; padding:14px; text-align:left; margin-bottom:14px;}
.thankyou-summary .row{display:flex; justify-content:space-between; font-size:13px; padding:4px 0; border-bottom:1px solid var(--line);}
.thankyou-summary .row:last-child{border-bottom:none; font-weight:800; font-size:15px; padding-top:8px; color:var(--blue);}
.thankyou-email{
  background:var(--orange-soft); border-radius:10px; padding:10px 14px; font-size:12.5px;
  color:#8A4413; margin-bottom:14px; text-align:left;
}
.thankyou-wa{
  display:block; background:var(--orange); color:white; text-decoration:none; font-weight:700;
  font-size:14px; padding:12px; border-radius:100px; margin-bottom:8px;
  box-shadow:0 10px 24px -6px rgba(232,116,31,0.5); border:none; cursor:pointer; width:100%;
}
.thankyou-close{
  background:none; border:1.5px solid var(--line); color:var(--gray); font-size:13px;
  font-weight:600; padding:8px 24px; border-radius:100px; cursor:pointer;
}
/* Detalle de producto (accesorios): cuerpo con parrafos/listas reales del
   fabricante, mas largo que el resto de los overlays (que son resumenes). */
#adBody p{margin:0 0 12px;}
#adBody p:last-child{margin-bottom:0;}
#adBody ul{margin:0 0 12px; padding-left:20px;}
#adBody li{margin-bottom:4px;}
#adBody .spec-title{display:block; font-weight:700; color:var(--ink); margin-bottom:6px;}
.toast{
  position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(20px); opacity:0;
  background:var(--blue-deep); color:white; padding:16px 26px; border-radius:14px; font-size:14.5px; font-weight:600;
  box-shadow:0 14px 30px -8px rgba(0,0,0,0.35); transition:all .35s; z-index:200; display:flex; align-items:center; gap:10px;
}
.toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

/* ===== EXPLORE / COMPARE ===== */
.explore-section{display:none; opacity:0; transition:opacity .5s ease; padding:70px 0 30px; scroll-margin-top:96px;}
.explore-section.revealed{display:block; opacity:1;}
.explore-head{text-align:center; max-width:560px; margin:0 auto 44px;}
.explore-head h2{font-size:32px; font-weight:800; color:var(--ink);}
.explore-head p{color:var(--gray); margin-top:10px; font-size:15px;}

.explore-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:56px; transition:opacity .3s ease; scroll-margin-top:96px;}
.explore-grid.hidden{display:none;}
.explore-card{
  position:relative; overflow:hidden;
  border:1px solid var(--line); border-radius:20px; padding:26px; background:var(--white);
  display:flex; flex-direction:column; align-items:center; text-align:center;
  cursor:pointer; transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .3s ease, background .3s ease;
}
.explore-card-actions{
  position:absolute; inset:0; border-radius:20px;
  display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:12px; padding:26px;
  background:linear-gradient(160deg, var(--blue-deep) 0%, var(--blue) 100%);
  opacity:0; pointer-events:none; transform:scale(1.04);
  transition:opacity .25s ease, transform .25s ease;
}
.explore-card.actions-open .explore-card-actions{opacity:1; pointer-events:auto; transform:scale(1);}
.explore-action-btn{
  border:none; border-radius:12px; padding:14px 16px; font-weight:700; font-size:14.5px; cursor:pointer;
  transition:transform .2s ease, filter .2s ease;
}
.explore-action-btn:hover{transform:translateY(-2px); filter:brightness(1.06);}
.explore-action-btn.discover{background:rgba(255,255,255,0.12); color:var(--white); border:1px solid rgba(255,255,255,0.35);}
.explore-action-btn.buy{background:var(--orange); color:var(--white);}
.explore-card:hover{transform:translateY(-7px) scale(1.012); box-shadow:0 34px 60px -24px rgba(0,0,0,.55); border-color:var(--accent-border, var(--blue));}
.explore-card .tagline{
  font-size:11.5px; font-weight:700; color:var(--orange); text-transform:uppercase; letter-spacing:.04em; margin-bottom:10px;
}
.explore-photo{
  background:transparent; border:none; border-radius:0; padding:0; display:flex; align-items:center; justify-content:center;
  min-height:170px; margin-bottom:16px; width:100%;
}
.explore-photo img{
  max-height:160px; width:100%; object-fit:contain; background:transparent; mix-blend-mode:multiply;
  filter:drop-shadow(0 22px 18px rgba(10,20,50,0.16)); transition:transform .35s cubic-bezier(.2,.8,.2,1);
  -webkit-mask-image:radial-gradient(ellipse 72% 74% at 50% 46%, #000 58%, transparent 100%);
  mask-image:radial-gradient(ellipse 72% 74% at 50% 46%, #000 58%, transparent 100%);
}
.explore-card:hover .explore-photo img{transform:translateY(-4px) scale(1.03);}
.explore-card h4{font-size:19px; font-weight:700;}
.explore-card .price{color:var(--blue); font-weight:700; font-size:14.5px; margin-top:4px; margin-bottom:14px;}
.explore-card .see-detail{color:var(--gray); font-size:13px; font-weight:600; margin-top:10px;}
.explore-card:hover .see-detail{color:var(--blue);}
.explore-card ul{list-style:none; font-size:13px; color:var(--ink); line-height:1.7; flex:1;}
.explore-card ul li{padding-left:18px; position:relative; margin-bottom:4px;}
.explore-card ul li::before{content:"✓"; position:absolute; left:0; color:var(--orange); font-weight:800;}
.explore-build-btn{
  margin-top:18px; background:var(--blue-soft); color:var(--blue); border:none; font-weight:700; font-size:13.5px;
  padding:12px; border-radius:100px; width:100%; transition:all .2s;
}
.explore-build-btn:hover{background:var(--blue); color:white;}

.story-back-bar{display:none; margin-bottom:22px; scroll-margin-top:96px;}
.story-back-bar.visible{display:block;}
.story-back-link{
  background:none; border:none; color:var(--gray); font-weight:700; font-size:13.5px; font-family:'Montserrat',sans-serif;
  cursor:pointer; display:inline-flex; align-items:center; gap:6px; padding:8px 0; transition:color .2s;
}
.story-back-link:hover{color:var(--blue);}

/* ===== MODEL STORY (estilo editorial, dentro de la sección de cada unidad) ===== */
.model-story{margin:10px 0 64px; display:none;}
.model-story.visible{display:block;}
.story-fallback-list{list-style:none; max-width:640px; margin:0 auto; font-size:14.5px; color:var(--ink); line-height:1.9;}
.story-fallback-list li{padding-left:22px; position:relative; margin-bottom:6px;}
.story-fallback-list li::before{content:"✓"; position:absolute; left:0; font-weight:800; color:var(--check-color, var(--orange));}
.story-cta{display:flex; justify-content:center; margin-top:44px;}
.story-cta button{
  background:var(--blue); color:white; border:none; font-weight:700; font-size:14.5px; font-family:'Montserrat',sans-serif;
  padding:14px 34px; border-radius:100px; cursor:pointer; transition:transform .2s, box-shadow .2s;
}
.story-cta button:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(20,33,61,.18);}
.story-hero{text-align:center; max-width:640px; margin:0 auto 40px;}
.story-eyebrow{font-size:12.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; font-family:'Montserrat',sans-serif;}
.story-hero h3{font-size:30px; font-weight:800; margin-top:8px;}
.story-hero .story-tagline{color:var(--gray); font-size:15px; margin-top:8px;}
.story-hero-photo{
  position:relative; margin:32px auto 0; max-width:640px; min-height:320px;
  display:flex; align-items:center; justify-content:center;
  background:radial-gradient(ellipse at center, rgba(199,207,218,0.12) 0%, rgba(199,207,218,0) 72%);
}
.story-hero-photo img{
  max-width:100%; max-height:440px; object-fit:contain; position:relative; z-index:2; mix-blend-mode:multiply;
}

.story-features{display:flex; flex-direction:column; gap:72px; max-width:1180px; margin:0 auto;}
.story-feature{
  display:grid; grid-template-columns:1.5fr 1fr; gap:36px; align-items:center;
  opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease;
}
.story-feature.in-view{opacity:1; transform:translateY(0);}
.story-feature.reverse{grid-template-columns:1fr 1.5fr;}
.story-feature.reverse .story-feature-media{order:2;}
.story-feature.reverse .story-feature-text{order:1;}
.story-feature-media{
  display:flex; align-items:center; justify-content:center; cursor:zoom-in; min-height:340px; position:relative;
  background:radial-gradient(ellipse at center, rgba(199,207,218,0.12) 0%, rgba(199,207,218,0) 70%);
}
.story-feature-media img{
  max-width:100%; max-height:420px; object-fit:contain; mix-blend-mode:multiply;
  transition:transform .35s ease;
}
.story-feature-media:hover img{transform:translateY(-6px) scale(1.03);}
.story-feature-media.two-photos{gap:0;}
.story-feature-media.two-photos img:first-child{
  max-height:380px; position:relative; z-index:2; margin-right:-50px; transform:translateY(20px);
}
.story-feature-media.two-photos img:last-child{
  max-height:290px; position:relative; z-index:1; transform:translateY(-30px);
}
.story-feature-media.two-photos:hover img:first-child{transform:translateY(12px) scale(1.03);}
.story-feature-media.two-photos:hover img:last-child{transform:translateY(-36px) scale(1.03);}
.story-feature-text h4{font-size:16.5px; font-weight:600; margin-bottom:8px; color:var(--gray);}
.story-feature-text p{color:var(--gray); font-size:13px; line-height:1.65; font-weight:400;}
.story-feature-text p b{color:var(--ink); font-weight:700;}
.story-feature-text .story-bullets{
  list-style:disc; margin:10px 0 0; padding-left:18px;
  font-family:'Inter', sans-serif; color:var(--gray); font-size:13px; line-height:1.65; font-weight:400;
}
.story-feature-text .story-bullets li{margin-bottom:4px;}

.gallery-lightbox{
  position:fixed; inset:0; background:rgba(20,33,61,.9); display:none; align-items:center; justify-content:center;
  z-index:9999; padding:30px; cursor:zoom-out;
}
.gallery-lightbox.open{display:flex;}
.gallery-lightbox img{max-width:90vw; max-height:80vh; border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.4);}
.gallery-lightbox .lb-caption{
  position:absolute; bottom:34px; left:50%; transform:translateX(-50%); color:white; font-family:'Montserrat',sans-serif;
  font-weight:700; font-size:14.5px; background:rgba(0,0,0,.4); padding:8px 20px; border-radius:999px; white-space:nowrap;
}
.gallery-lightbox .lb-close{
  position:absolute; top:22px; right:26px; color:white; font-size:30px; font-weight:800; cursor:pointer; line-height:1;
}
@media(max-width:760px){
  .story-feature{grid-template-columns:1fr; gap:14px;}
  .story-feature.reverse{grid-template-columns:1fr;}
  .story-feature.reverse .story-feature-media{order:1;}
  .story-feature.reverse .story-feature-text{order:2;}
  .story-hero h3{font-size:26px;}
  .story-feature-media{min-height:260px;}
  .story-feature-media img{max-height:320px;}
  .story-feature-media.two-photos img:first-child{max-height:280px; margin-right:-30px;}
  .story-feature-media.two-photos img:last-child{max-height:210px;}
  .story-hero-photo{min-height:260px;}
  .story-hero-photo img{max-height:320px;}
  .story-feature-text h4{font-size:15px;}
  .story-feature-text p{font-size:12.5px;}
}
@media(max-width:560px){ .gallery-lightbox .lb-caption{font-size:13px; padding:7px 16px;} }

.compare-table-wrap{margin-bottom:50px;}
.compare-table-wrap h3, .specs-box h3{font-size:20px; font-weight:800; margin-bottom:18px; color:var(--ink);}
.compare-scroll{overflow-x:auto; border:1px solid var(--line); border-radius:16px;}
.compare-table{width:100%; border-collapse:collapse; font-size:13.5px; min-width:640px;}
.compare-table th{
  background:var(--blue-deep); color:white; text-align:left; padding:14px 18px; font-weight:700; font-size:13px;
  position:sticky; top:0;
}
.compare-table td{padding:12px 18px; border-bottom:1px solid var(--line); color:var(--ink);}
.compare-table tr.cat-row td{
  background:var(--blue-soft); font-weight:700; color:var(--blue); font-size:12.5px; text-transform:uppercase; letter-spacing:.03em;
}
.compare-table tr:last-child td{border-bottom:none;}
.compare-table td:first-child{font-weight:600; color:var(--gray); width:26%;}
.compare-table td.dash{color:#C9CED9;}
.compare-table .cell-list{list-style:disc; margin:0; padding-left:16px; font-size:12.5px; line-height:1.6; text-align:left;}
.compare-table .cell-list li{margin-bottom:2px;}

.specs-box{
  background:var(--gray-light); border-radius:18px; padding:30px; margin-bottom:50px;
}
.specs-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.spec-item{background:var(--white); border-radius:12px; padding:14px 16px; border:1px solid var(--line); transition:background .3s ease, border-color .3s ease;}
.spec-item .label{font-size:12px; color:var(--gray); margin-bottom:4px;}
.spec-item .val{font-size:14.5px; font-weight:700; color:var(--ink);}

.promo-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:14px;}
.promo-card{
  border-radius:16px; padding:22px; background:var(--blue-soft); border:1px solid #D7DEF5;
}
.promo-card.alt{background:var(--orange-soft); border-color:#F5DCC4;}
.promo-tag{
  display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  background:var(--blue); color:white; padding:5px 12px; border-radius:100px; margin-bottom:10px;
}
.promo-card.alt .promo-tag{background:var(--orange);}
.promo-tag.alt{background:var(--orange);}
.promo-card p{font-size:14px; line-height:1.5; color:var(--ink);}
.promo-note{font-size:12px; color:var(--gray); text-align:center;}

/* ===== BRAND SECTIONS (3DISC / OWANDY) ===== */
.brand-section{padding:90px 0; scroll-margin-top:96px;}
.brand-section.alt{background:var(--gray-light);}
.brand-banner{
  border-radius:24px; padding:52px 40px; margin-bottom:64px; color:white; position:relative; overflow:hidden;
}
.brand-banner.b-3disc{background:radial-gradient(circle at 15% 20%, #1B3A8C 0%, #0F2563 60%, #081640 100%);}
.brand-banner.b-owandy{background:radial-gradient(circle at 15% 20%, #0F5C4A 0%, #0A3D32 60%, #05201A 100%);}
.brand-banner-inner{position:relative; z-index:2; max-width:760px;}
.brand-eyebrow{
  display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.22); padding:6px 15px; border-radius:100px;
  font-size:12.5px; font-weight:700; letter-spacing:.04em; margin-bottom:18px;
}
.brand-banner h2{font-size:32px; color:white; margin-bottom:12px;}
.brand-banner p{font-size:15px; color:#D8DEEF; line-height:1.65; max-width:620px;}
.brand-stats{display:flex; gap:28px; flex-wrap:wrap; margin-top:28px;}
.brand-stat{min-width:100px;}
.brand-stat .n{font-size:26px; font-weight:800; font-family:'Montserrat',sans-serif; color:#FFB27A;}
.b-owandy .brand-stat .n{color:#7CE8C9;}
.brand-stat .l{font-size:12px; color:#C9D3EE; margin-top:2px;}

.mini-timeline{display:flex; overflow-x:auto; gap:0; margin-bottom:70px; padding-bottom:6px;}
.mini-tl-item{
  flex:0 0 auto; width:190px; padding:0 18px 0 0; position:relative;
}
.mini-tl-item::before{
  content:""; position:absolute; top:9px; left:0; right:18px; height:2px; background:var(--line);
}
.mini-tl-item:first-child::before{left:0;}
.mini-tl-item .yr{
  width:20px; height:20px; border-radius:50%; background:var(--orange); margin-bottom:14px; position:relative; z-index:2;
}
.mini-tl-item h5{font-size:13.5px; font-weight:800; color:var(--blue); margin-bottom:4px;}
.mini-tl-item p{font-size:12.5px; color:var(--gray); line-height:1.5;}

.product-buy-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:26px; margin-bottom:70px;}
.product-buy-grid.three{grid-template-columns:repeat(3,1fr);}
.product-buy-card{
  border:2px solid var(--line); border-radius:20px; padding:28px; background:var(--white); position:relative;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .3s ease, background .3s ease;
  display:flex; flex-direction:column;
}
.product-buy-card:hover{border-color:var(--accent-border, #C9D3EE); transform:translateY(-7px) scale(1.012); box-shadow:0 34px 60px -22px rgba(0,0,0,.55);}
.product-buy-card .tier-tag{
  display:inline-block; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase;
  padding:5px 12px; border-radius:100px; margin-bottom:14px; width:fit-content;
}
.product-buy-card .tier-tag.value{background:var(--blue-soft); color:var(--blue);}
.product-buy-card .tier-tag.premium{background:var(--orange-soft); color:var(--orange);}
.product-buy-card .icon-badge{
  width:64px; height:64px; border-radius:16px; display:flex; align-items:center; justify-content:center;
  font-size:30px; margin-bottom:16px; background:var(--blue-soft);
}
.product-buy-card h4{font-size:20px; font-weight:800; margin-bottom:6px;}
.product-buy-card .brand-line{font-size:12.5px; font-weight:700; color:var(--gray); text-transform:uppercase; letter-spacing:.03em; margin-bottom:10px;}
.product-buy-card .desc{font-size:13.5px; color:var(--gray); line-height:1.6; margin-bottom:16px;}
.product-buy-card ul{list-style:none; font-size:13px; color:var(--ink); line-height:1.85; margin-bottom:18px;}
.product-buy-card ul li{padding-left:20px; position:relative;}
.product-buy-card ul li::before{content:"✓"; position:absolute; left:0; color:var(--orange); font-weight:800;}
.product-buy-card .price-row{
  margin-top:auto; border-top:1px solid var(--line); padding-top:16px; display:flex; align-items:flex-end; justify-content:space-between; gap:10px;
}
.product-buy-card .price-full{font-size:22px; font-weight:800; color:var(--blue); font-family:'Montserrat',sans-serif;}
.product-buy-card .price-full span{display:block; font-size:11.5px; font-weight:600; color:var(--gray); margin-bottom:2px;}
.product-buy-card .price-tag{font-size:11px; color:var(--gray); font-weight:600; text-align:right;}
/* Cuadro fijo y cuadrado (no 100% de ancho) — así el tamaño de la caja no
   depende del ancho de la tarjeta ni de la proporción de cada foto, y no
   queda espacio celeste vacío a los costados de productos angostos (ej. la
   cámara intraoral) como pasaba con una caja ancha de altura fija. */
.pbc-photo{width:140px; height:140px; display:flex; align-items:center; justify-content:center; margin:0 auto 14px;}
.pbc-photo img{max-width:100%; max-height:100%; object-fit:contain;}
/* El detalle del producto necesita una foto más grande que la de la
   ficha, pero mismo criterio (cuadrado centrado, no a todo el ancho) para
   que no vuelva el espacio vacío en productos angostos. */
#adPhoto{width:220px; height:220px; margin:0 auto 18px;}
/* Tarjetas de accesorios Deoca sueltos: más compactas que las de scanners
   (mismo .product-buy-card) — la foto ocupaba media tarjeta de espacio vacío
   alrededor de productos chicos como la cámara intraoral. */
#accesoriosDeocaGrid .product-buy-card{padding:20px; cursor:pointer;}
/* El botón "Comprar" compra directo — no debe heredar el cursor "toda la
   tarjeta abre el detalle" de su contenedor. */
#accesoriosDeocaGrid .reserve-btn-simple{cursor:pointer;}

.software-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:60px;}
.software-card{border:1px solid var(--line); border-radius:16px; padding:18px; background:var(--white); transition:transform .3s ease, border-color .3s ease, background .3s ease;}

/* ===== MINIMALIST LINE ICONS (replacing emoji icons) ===== */
.ico-svg{display:inline-flex; width:26px; height:26px;}
.ico-svg svg{width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
.software-card .ico{color:var(--blue);}
.icon-badge{display:flex; align-items:center; justify-content:center; color:var(--blue);}
#equipo-owandy .software-card .ico, #equipo-owandy .icon-badge{color:var(--ow-cyan);}
#equipo-3disc .software-card .ico, #equipo-3disc .icon-badge{color:var(--acc3d);}
#configurador .software-card .ico, #configurador .icon-badge,
#explorar .software-card .ico, #explorar .icon-badge{color:var(--dc-silver);}
.software-card .ico{font-size:22px; margin-bottom:8px;}
.software-card h5{font-size:13.5px; font-weight:700; margin-bottom:6px;}
.software-card p{font-size:12px; color:var(--gray); line-height:1.5;}
.ai-compare{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:60px;}
.ai-compare-card{border-radius:16px; padding:22px; text-align:center;}
.ai-compare-card.off{background:var(--gray-light); border:1px solid var(--line);}
.ai-compare-card.on{background:var(--blue-soft); border:1px solid #C9D3EE;}
.ai-compare-card .tag2{font-size:11.5px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; margin-bottom:10px; display:block;}
.ai-compare-card.on .tag2{color:var(--blue);}
.ai-compare-card.off .tag2{color:var(--gray);}
.ai-compare-card .emoji{font-size:38px; margin-bottom:10px;}
.ai-compare-card p{font-size:13px; color:var(--gray); line-height:1.5;}

.brand-cta-note{
  display:flex; gap:12px; align-items:flex-start; background:var(--orange-soft); border-radius:14px; padding:16px 20px;
  font-size:13.5px; color:#8A4413; line-height:1.6; margin-bottom:50px;
}

/* ===== FULL-SCREEN PANELS: brand story + brand purchase wizard ===== */
.screen-panel{display:none; opacity:0; transition:opacity .4s ease; scroll-margin-top:96px; padding-top:10px;}
.screen-panel.revealed{display:block; opacity:1;}
.brand-story-cta{display:flex; justify-content:center; margin:10px 0 20px;}

/* ===== NEW LIGHTWEIGHT EQUIPMENT PAGE HELPERS ===== */
.page-back{
  display:block; max-width:1120px; margin:20px auto 0; padding:0 24px; font-size:13.5px; font-weight:600;
  color:var(--gray); text-decoration:none;
}
.page-back:hover{color:var(--blue);}
.photo-showcase{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:30px 0 50px;}
.photo-showcase img{width:100%; height:280px; object-fit:contain; background:transparent; border-radius:0; padding:16px; filter:drop-shadow(0 26px 22px rgba(10,20,50,0.18)); transition:transform .35s cubic-bezier(.2,.8,.2,1);}
.photo-showcase img:hover{transform:translateY(-6px) scale(1.02);}
@media(max-width:700px){.photo-showcase{grid-template-columns:1fr;}}
.reserve-btn-simple{
  margin-top:14px; width:100%; background:var(--orange); color:white; border:none; font-weight:700; font-size:14px;
  padding:12px; border-radius:100px; cursor:pointer; transition:all .2s; font-family:inherit;
}
.reserve-btn-simple:hover{background:#C95F14;}
.ficha-cta-btn{
  margin-top:10px; width:100%; background:transparent; color:var(--blue); border:1.5px solid var(--line); font-weight:700; font-size:13.5px;
  padding:11px; border-radius:100px; cursor:pointer; transition:all .2s; font-family:inherit; text-align:center; display:block; text-decoration:none;
}
.ficha-cta-btn:hover{border-color:var(--blue); background:var(--blue-soft);}
#equipo-owandy .ficha-cta-btn{color:var(--ow-cyan-deep,#0E8073); border-color:rgba(34,230,214,0.4);}
#equipo-owandy .ficha-cta-btn:hover{background:rgba(34,230,214,0.1); border-color:var(--ow-cyan);}
#equipo-3disc .ficha-cta-btn{color:var(--acc3d); border-color:rgba(255,122,41,0.35);}
#equipo-3disc .ficha-cta-btn:hover{background:rgba(255,122,41,0.08); border-color:var(--acc3d);}

/* ===== FICHA: floating hero image ===== */
.ficha-float-stage{
  position:relative; display:flex; align-items:center; justify-content:center;
  min-height:360px; margin:10px 0 46px; overflow:hidden; border-radius:24px;
  background:radial-gradient(circle at 50% 45%, rgba(34,230,214,0.10) 0%, rgba(34,230,214,0.03) 45%, transparent 72%);
}
.ficha-float-stage .glow-ring{
  position:absolute; border-radius:50%; border:1px solid rgba(34,230,214,0.18); pointer-events:none;
}
.ficha-float-stage .glow-ring.r1{width:220px; height:220px; animation:fichaRingPulse 6s ease-in-out infinite;}
.ficha-float-stage .glow-ring.r2{width:360px; height:360px; animation:fichaRingPulse 6s ease-in-out infinite 1s;}
.ficha-float-stage .glow-ring.r3{width:500px; height:500px; animation:fichaRingPulse 6s ease-in-out infinite 2s;}
@keyframes fichaRingPulse{
  0%,100%{opacity:.35; transform:scale(1);}
  50%{opacity:.7; transform:scale(1.04);}
}
.ficha-float-img{
  position:relative; z-index:1; max-width:420px; width:80%;
  filter:drop-shadow(0 34px 30px rgba(10,20,50,0.22));
  animation:scannerFloat 4.8s ease-in-out infinite;
}
@media(max-width:640px){ .ficha-float-stage{min-height:260px;} }

/* ===== FICHA: bloque intuición / facilidad de uso ===== */
.intuitive-card{
  position:relative; background:linear-gradient(135deg, var(--ow-navy) 0%, #0F3D6E 100%);
  border-radius:22px; padding:40px 44px; margin:0 0 40px; overflow:hidden;
}
.intuitive-card::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 85% 20%, rgba(34,230,214,0.22), transparent 55%);
  pointer-events:none;
}
.intuitive-card .eyebrow{
  position:relative; display:inline-block; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ow-cyan); margin-bottom:14px;
}
.intuitive-card h3{
  position:relative; color:white; font-size:24px; line-height:1.35; font-weight:800; max-width:640px; margin-bottom:0;
}
.intuitive-card p{
  position:relative; color:#C9E9E6; font-size:15.5px; line-height:1.75; max-width:640px; margin-top:14px; font-weight:400;
}

/* ===== FICHA: CTA YouTube ===== */
.yt-cta-btn{
  display:inline-flex; align-items:center; gap:10px; background:#FF0000; color:white; font-weight:700; font-size:14.5px;
  padding:13px 26px; border-radius:100px; box-shadow:0 14px 26px -10px rgba(255,0,0,0.45); transition:transform .2s ease, box-shadow .2s ease;
  margin:0 0 46px;
}
.yt-cta-btn:hover{transform:translateY(-2px); box-shadow:0 18px 30px -10px rgba(255,0,0,0.55);}
.yt-cta-btn svg{width:22px; height:22px; flex-shrink:0;}

/* ===== FICHA: specs en tarjetas con icono ===== */
.spec-cards-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:50px;}
.spec-card-v2{
  background:var(--white); border:1px solid var(--line); border-radius:16px; padding:20px;
  display:flex; flex-direction:column; gap:12px;
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;
}
.spec-card-v2:hover{
  transform:translateY(-5px); box-shadow:0 18px 32px -14px rgba(10,20,50,0.22); border-color:var(--ow-cyan);
}
.spec-card-v2 .ico{
  width:38px; height:38px; border-radius:10px; background:rgba(34,230,214,0.12);
  display:flex; align-items:center; justify-content:center; color:var(--ow-cyan-deep);
}
.spec-card-v2 .ico svg{width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.spec-card-v2 .label{font-size:11.5px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--gray);}
.spec-card-v2 .val{font-size:16.5px; font-weight:800; color:var(--ink); line-height:1.3;}
@media(max-width:820px){ .spec-cards-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:520px){ .spec-cards-grid{grid-template-columns:1fr;} }

/* ===== Cone Beam Multi-FOV — capas flotantes ===== */
.fov-stage{
  position:relative; height:340px; margin:30px 0 40px; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 50% 55%, rgba(34,230,214,0.08) 0%, transparent 65%);
  border-radius:24px;
}
.fov-card{
  position:absolute; width:172px; height:112px; border-radius:14px;
  background:linear-gradient(135deg, var(--ow-navy) 0%, #123A63 100%);
  border:1px solid rgba(34,230,214,0.35); box-shadow:0 20px 30px -16px rgba(10,20,50,0.45);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  color:white; cursor:default;
  transition:transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease, border-color .3s ease;
}
.fov-card .fov-size{font-family:'Montserrat',sans-serif; font-weight:800; font-size:16px;}
.fov-card .fov-label{font-size:10.5px; color:#8FDCD4; letter-spacing:.04em; text-transform:uppercase;}
.fov-card:hover{transform:translate(var(--tx), calc(var(--ty) - 16px)) rotate(0deg) scale(1.08) !important; box-shadow:0 26px 40px -14px rgba(10,20,50,0.55); border-color:var(--ow-cyan); z-index:9 !important;}
.fov-card.f1{ --tx:-280px; --ty:64px; transform:translate(-280px,64px) rotate(-10deg); z-index:1;}
.fov-card.f2{ --tx:-150px; --ty:30px; transform:translate(-150px,30px) rotate(-5deg); z-index:2;}
.fov-card.f3{ --tx:0px; --ty:6px; transform:translate(0,6px) rotate(0deg); z-index:3;}
.fov-card.f4{ --tx:150px; --ty:30px; transform:translate(150px,30px) rotate(5deg); z-index:4;}
.fov-card.f5{ --tx:280px; --ty:64px; transform:translate(280px,64px) rotate(10deg); z-index:5;}
@media(max-width:900px){
  .fov-stage{height:auto; flex-wrap:wrap; gap:14px; padding:24px 10px;}
  .fov-card{position:relative; transform:none !important; width:140px; height:96px;}
  .fov-card:hover{transform:translateY(-6px) scale(1.04) !important;}
}

/* ===== Ficha técnica: cephalometric / vistas grid ===== */
.ceph-views-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:50px;}
.ceph-view-card{
  background:var(--white); border:1px solid var(--line); border-radius:16px; padding:18px;
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px;
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;
}
.ceph-view-card:hover{transform:translateY(-5px); box-shadow:0 16px 28px -14px rgba(10,20,50,0.2); border-color:var(--ow-cyan);}
.ceph-view-card .ico{width:40px; height:40px; border-radius:10px; background:rgba(34,230,214,0.12); display:flex; align-items:center; justify-content:center; color:var(--ow-cyan-deep); margin-bottom:2px;}
.ceph-view-card .ico svg{width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}
.ceph-view-card h5{font-size:13.5px; font-weight:700; color:var(--ink); margin:0;}
.ceph-view-card .size{font-size:12.5px; color:var(--gray);}
.ceph-view-card .badge-dose{display:inline-block; margin-top:2px; background:rgba(34,197,94,0.12); color:#15803D; font-size:10.5px; font-weight:700; padding:3px 10px; border-radius:100px;}
@media(max-width:820px){ .ceph-views-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:520px){ .ceph-views-grid{grid-template-columns:1fr;} }

/* ===== Ventajas clave — grid interactivo sobre fondo oscuro ===== */
.advantage-section{
  position:relative; overflow:hidden; background:linear-gradient(135deg, var(--ow-navy) 0%, #0F3D6E 100%);
  border-radius:24px; padding:48px 44px; margin:20px 0 50px;
}
.advantage-section::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 85% 12%, rgba(34,230,214,0.18), transparent 55%);
}
.advantage-section h2{position:relative; color:white; font-size:26px; line-height:1.3; margin-bottom:32px; max-width:600px;}
.advantage-grid{position:relative; display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.advantage-card{display:flex; gap:14px; align-items:flex-start; padding:16px; border-radius:14px; transition:transform .3s cubic-bezier(.2,.8,.2,1), background .3s ease;}
.advantage-card:hover{transform:translateY(-4px); background:rgba(255,255,255,0.07);}
.advantage-card .ico{flex-shrink:0; width:38px; height:38px; border-radius:10px; background:rgba(34,230,214,0.16); display:flex; align-items:center; justify-content:center; color:var(--ow-cyan); font-weight:800; font-size:17px;}
.advantage-card .ico svg{width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.advantage-card h5{color:white; font-size:13px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; margin-bottom:5px;}
.advantage-card p{color:#B8CBE8; font-size:13px; line-height:1.55;}
@media(max-width:760px){ .advantage-grid{grid-template-columns:1fr;} .advantage-section{padding:34px 24px;} }

/* ===== Bloque de precisión diagnóstica — fondo oscuro, imágenes flotantes ===== */
.precision-block{background:#0A0A0C; border-radius:24px; padding:56px 40px; margin:0 0 50px; text-align:center;}
.precision-block .eyebrow{color:#8FDCD4; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px; display:block;}
.precision-block h2{color:white; font-size:27px; line-height:1.35; max-width:720px; margin:0 auto 20px;}
.precision-block p{color:#B4B8C2; font-size:14.5px; line-height:1.75; max-width:660px; margin:0 auto;}
.precision-block p.italic{font-style:italic; margin-top:14px; color:#8FDCD4;}
.precision-xray-row{display:flex; gap:26px; justify-content:center; margin-top:42px; flex-wrap:wrap;}
.precision-xray-row img{max-width:340px; width:100%; border-radius:4px; filter:drop-shadow(0 20px 30px rgba(0,0,0,0.6)); transition:transform .35s ease;}
.precision-xray-row img:hover{transform:translateY(-6px) scale(1.02);}

.ceph-hd-block{background:#0A0A0C; border-radius:24px; padding:56px 40px; margin:0 0 50px; text-align:center;}
.ceph-hd-block .eyebrow{color:#8FDCD4; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px; display:block;}
.ceph-hd-block p.desc{color:#B4B8C2; font-size:14px; font-style:italic; margin-bottom:34px;}
.ceph-hd-block img{max-width:600px; width:100%; border-radius:6px; filter:drop-shadow(0 26px 34px rgba(0,0,0,0.65)); transition:transform .35s ease;}
.ceph-hd-block img:hover{transform:translateY(-6px) scale(1.015);}

/* ===== Panorámica cefalométrica — pestañas interactivas ===== */
.ceph-tabs{display:flex; gap:10px; justify-content:center; margin-bottom:26px; flex-wrap:wrap;}
.ceph-tab-btn{background:var(--white); border:1.5px solid var(--line); border-radius:100px; padding:10px 22px; font-weight:700; font-size:13.5px; color:var(--gray); cursor:pointer; transition:all .25s ease; font-family:inherit;}
.ceph-tab-btn.active, .ceph-tab-btn:hover{border-color:var(--ow-cyan); color:var(--ow-cyan-deep); background:rgba(34,230,214,0.08);}
.ceph-tab-panel{display:none;}
.ceph-tab-panel.active{display:block; animation:cephFadeIn .4s ease;}
@keyframes cephFadeIn{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}
.ceph-tab-content{display:grid; grid-template-columns:auto 1fr; gap:26px; align-items:center; background:var(--gray-light); border-radius:20px; padding:32px; margin-bottom:50px;}
.ceph-tab-content .ico-big{width:72px; height:72px; border-radius:16px; background:rgba(34,230,214,0.14); display:flex; align-items:center; justify-content:center; color:var(--ow-cyan-deep); flex-shrink:0;}
.ceph-tab-content .ico-big svg{width:34px; height:34px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
.ceph-tab-content h4{font-size:18.5px; margin-bottom:8px;}
.ceph-tab-content p{color:var(--gray); font-size:13.5px; line-height:1.6;}
.ceph-tab-content .sizes{display:flex; gap:10px; flex-wrap:wrap; margin-top:14px;}
.ceph-tab-content .size-chip{background:var(--white); border:1px solid var(--line); border-radius:100px; padding:6px 14px; font-size:12.5px; font-weight:700;}
.ceph-tab-content .size-chip.reduced{border-color:rgba(34,197,94,0.4); background:rgba(34,197,94,0.08); color:#15803D;}
@media(max-width:640px){ .ceph-tab-content{grid-template-columns:1fr; text-align:center;} .ceph-tab-content .ico-big{margin:0 auto;} }

/* ===== Sobre Nosotros — hero cálido ===== */
.about-hero-warm{
  position:relative; overflow:hidden; background:linear-gradient(135deg, var(--blue) 0%, var(--blue-deep) 60%, #081538 100%);
  border-radius:26px; padding:52px 46px; margin:24px 0 44px;
}
.about-hero-warm::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 88% 10%, rgba(232,116,31,0.28), transparent 55%);
}
.about-hero-warm .eyebrow{position:relative; display:block; color:#FFB27A; font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; margin-bottom:16px;}
.about-hero-warm h2{position:relative; color:white; font-size:29px; line-height:1.32; max-width:660px; margin-bottom:20px;}
.about-hero-warm p{position:relative; color:#D7DEF2; font-size:15px; line-height:1.85; max-width:660px;}
.about-hero-warm p + p{margin-top:16px;}
.about-hero-warm p b{color:white;}
.about-hero-warm .legal-note{position:relative; margin-top:26px; font-size:11.5px; color:#8592B8;}

/* ===== Sobre Nosotros — galería de equipo ===== */
.team-section{margin:64px 0 10px;}
.team-photo-feature{position:relative; border-radius:26px; overflow:hidden; margin:26px 0 32px; box-shadow:0 26px 44px -20px rgba(10,20,50,0.35);}
.team-photo-feature img{width:100%; display:block; max-height:560px; object-fit:cover; object-position:center 22%;}
.team-photo-feature .caption{
  position:absolute; left:0; right:0; bottom:0; padding:26px 30px 20px;
  background:linear-gradient(to top, rgba(8,16,40,0.88) 0%, rgba(8,16,40,0.35) 60%, transparent 100%);
  color:white; font-weight:700; font-size:15px; letter-spacing:.01em;
}
.team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.team-card{
  background:var(--white); border:1px solid var(--line); border-radius:22px; padding:28px 18px; text-align:center;
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;
}
.team-card:hover{transform:translateY(-6px); box-shadow:0 20px 34px -16px rgba(10,20,50,0.18); border-color:rgba(232,116,31,0.45);}
.team-avatar{
  width:92px; height:92px; border-radius:50%; margin:0 auto 16px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--blue) 0%, var(--orange) 145%);
}
.team-avatar svg{width:40px; height:40px; fill:none; stroke:white; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
.team-card h5{font-size:14px; font-weight:800; margin-bottom:4px;}
.team-card .role{font-size:12px; color:var(--gray); margin-bottom:12px; line-height:1.4;}
.team-card .soon-badge{display:inline-block; font-size:10.5px; font-weight:700; color:var(--orange); background:var(--orange-soft); padding:3px 11px; border-radius:100px;}
@media(max-width:900px){ .team-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:520px){ .team-grid{grid-template-columns:1fr;} }

.about-cta-row{display:flex; justify-content:center; margin:44px 0 10px;}
.about-cta-row a.nav-cta{padding:14px 30px; font-size:14.5px; border-radius:100px;}

/* ===== Soporte Técnico — garantía por marca ===== */
.warranty-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:22px 0 50px;}
.warranty-card{
  border-radius:20px; padding:28px 20px; text-align:center; border:1px solid var(--line); background:var(--white);
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;
}
.warranty-card:hover{transform:translateY(-5px); box-shadow:0 18px 32px -16px rgba(10,20,50,0.18);}
.warranty-card .icon-badge-mini{width:46px; height:46px; border-radius:12px; margin:0 auto 16px; display:flex; align-items:center; justify-content:center;}
.warranty-card .icon-badge-mini svg{width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}
.warranty-card .brand-tag{font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--gray); margin-bottom:12px;}
.warranty-card .years{font-family:'Montserrat',sans-serif; font-weight:900; font-size:40px; line-height:1;}
.warranty-card .years small{font-size:14px; font-weight:700; margin-left:2px;}
.warranty-card .desc{font-size:12px; color:var(--gray); margin-top:10px; line-height:1.5;}
.warranty-card.deoca .icon-badge-mini{background:rgba(107,118,136,0.12); color:#5B6472;}
.warranty-card.deoca .years{color:#5B6472;}
.warranty-card.disc .icon-badge-mini{background:rgba(255,122,41,0.12); color:var(--acc3d);}
.warranty-card.disc .years{color:var(--acc3d);}
.warranty-card.owandy .icon-badge-mini{background:rgba(34,230,214,0.14); color:var(--ow-cyan-deep);}
.warranty-card.owandy .years{color:var(--ow-cyan-deep);}
@media(max-width:760px){ .warranty-grid{grid-template-columns:1fr;} }

/* ===== Soporte Técnico — CTA de protocolo ===== */
.protocol-cta-btn{
  display:inline-flex; align-items:center; gap:9px; background:var(--orange); color:white; font-weight:700; font-size:14px;
  padding:12px 24px; border-radius:100px; margin-top:14px; box-shadow:0 14px 26px -10px rgba(232,116,31,0.45);
  transition:transform .2s ease, box-shadow .2s ease;
}
.protocol-cta-btn:hover{transform:translateY(-2px); box-shadow:0 18px 30px -10px rgba(232,116,31,0.55);}
.protocol-cta-btn svg{width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}

/* ===== Soporte Técnico — folletos / descargas ===== */
.brochure-row{display:flex; gap:16px; overflow-x:auto; padding:6px 2px 16px; margin-top:18px; scrollbar-width:thin;}
.brochure-card{
  flex:0 0 200px; border:1px solid var(--line); border-radius:16px; padding:20px 18px; background:var(--white);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.brochure-card:hover{transform:translateY(-4px); box-shadow:0 16px 28px -14px rgba(10,20,50,0.18); border-color:var(--orange);}
.brochure-card .ico{width:36px; height:36px; border-radius:10px; background:var(--orange-soft); color:var(--orange); display:flex; align-items:center; justify-content:center; margin-bottom:12px;}
.brochure-card .ico svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.brochure-card h5{font-size:13px; font-weight:800; margin-bottom:4px; line-height:1.3;}
.brochure-card .tag{font-size:10.5px; color:var(--gray); margin-bottom:12px; display:block;}
.brochure-card a{font-size:12px; font-weight:700; color:var(--orange);}

/* ===== Soporte Técnico — galería de instalaciones ===== */
.install-gallery{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:20px 0 10px; max-width:640px;}
.install-photo-card{
  position:relative; aspect-ratio:4/3; border-radius:18px; overflow:hidden;
  background:linear-gradient(135deg, var(--blue-soft) 0%, #F4F5F8 100%);
  display:flex; align-items:center; justify-content:center; border:1px solid var(--line);
  transition:transform .3s ease, box-shadow .3s ease;
}
.install-photo-card:hover{transform:translateY(-4px); box-shadow:0 16px 28px -14px rgba(10,20,50,0.18);}
.install-photo-card .ico{color:var(--blue); opacity:.35;}
.install-photo-card .ico svg{width:36px; height:36px; fill:none; stroke:currentColor; stroke-width:1.4;}
.install-photo-card .cap{position:absolute; left:0; right:0; bottom:0; padding:12px 14px; background:rgba(255,255,255,0.92); font-size:11.5px; font-weight:700; color:var(--ink); text-align:center;}
@media(max-width:760px){ .install-gallery{grid-template-columns:1fr 1fr;} }
@media(max-width:520px){ .install-gallery{grid-template-columns:1fr;} }

/* ===== Foto flotante sin recuadro (equipo real) ===== */
.floating-photo{
  display:flex; align-items:center; justify-content:center;
  margin:26px auto 46px; max-width:520px; background:transparent;
}
.floating-photo img{
  width:100%; max-height:380px; object-fit:contain; background:transparent;
  mix-blend-mode:multiply;
  filter:drop-shadow(0 26px 22px rgba(10,20,50,0.18));
  -webkit-mask-image:radial-gradient(ellipse 78% 80% at 50% 48%, #000 62%, transparent 100%);
  mask-image:radial-gradient(ellipse 78% 80% at 50% 48%, #000 62%, transparent 100%);
}

.brand-story-cta button{
  background:var(--orange); color:white; border:none; font-weight:700; font-size:15.5px; font-family:'Montserrat',sans-serif;
  padding:16px 40px; border-radius:100px; cursor:pointer; transition:transform .2s, box-shadow .2s;
  box-shadow:0 14px 30px -10px rgba(232,116,31,0.5);
}
.brand-story-cta button:hover{transform:translateY(-2px);}

@media(max-width:900px){
  .product-buy-grid{grid-template-columns:1fr;}
  .product-buy-grid.three{grid-template-columns:1fr;}
  .software-grid{grid-template-columns:repeat(2,1fr);}
  .ai-compare{grid-template-columns:1fr;}
  .brand-banner h2{font-size:26px;}
}

@media (max-width:980px){
  .config-shell{grid-template-columns:1fr;}
  .config-main{border-right:none; padding:36px 20px;}
  .summary{position:static; padding:0 20px 40px;}
  .model-grid, .acc-grid, .form-grid{grid-template-columns:1fr;}
  .hero h1{font-size:36px;}
  .hero-brand{font-size:38px;}
  .hero-tagline{font-size:16px;}
  .nav-links{display:none;}
  .nav-cta{font-size:12px; padding:7px 14px;}
  .nav-pago-btn{font-size:12px; padding:7px 12px;}
  .nav-actions{gap:8px;}
  .footer-iso{position:static; transform:none; margin-bottom:10px; opacity:0.5;}
  .footer-iso img{height:90px;}
  .footer-links{margin-left:0;}
  .explore-grid{grid-template-columns:1fr;}
  .specs-grid{grid-template-columns:1fr 1fr;}
  .promo-grid{grid-template-columns:1fr;}
}

/* Teléfonos: el logo pasa a ser el elemento dominante, "Reportar pago"
   se reduce a solo ícono para no competir con la marca ni con el CTA
   de WhatsApp (que es la conversión principal, así que ese se mantiene
   legible con texto). */
@media (max-width:560px){
  .nav .wrap{height:76px; gap:8px;}
  .nav-logo{padding:6px 4px;}
  .nav-logo img{height:44px;}
  .nav-pago-btn{padding:9px; border-radius:50%; gap:0;}
  .nav-pago-btn .npb-label{display:none;}
  .nav-pago-btn .npb-icon{font-size:16px;}
  .nav-cta{font-size:11.5px; padding:7px 12px;}
}

/* ===== PAYMENT PORTAL ===== */
.payment-portal{display:none;position:fixed;inset:0;background:rgba(15,37,99,0.92);z-index:500;align-items:center;justify-content:center;padding:20px;}
.payment-portal.show{display:flex;}
.portal-card{background:white;border-radius:24px;padding:36px 32px;max-width:480px;width:100%;box-shadow:0 24px 60px -10px rgba(0,0,0,0.5);max-height:90vh;overflow-y:auto;}
.portal-card h2{font-size:22px;font-weight:800;color:var(--blue);margin:0 0 6px;}
.portal-card .psub{color:var(--gray);font-size:14px;margin-bottom:24px;}
.portal-step{display:none;}.portal-step.active{display:block;}
.cuota-list{display:flex;flex-direction:column;gap:10px;margin:16px 0;}
.cuota-item{border:2px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;transition:all .2s;}
.cuota-item:hover{border-color:#C9D3EE;}.cuota-item.selected{border-color:var(--blue);background:var(--blue-soft);}.cuota-check{transition:all .15s;}
.cuota-item h4{font-size:15px;font-weight:700;margin:0 0 4px;}.cuota-item .cmeta{font-size:13px;color:var(--gray);}
.cuota-item .camount{font-size:18px;font-weight:800;color:var(--orange);}
.portal-btn{background:var(--blue);color:white;border:none;padding:14px;border-radius:100px;font-weight:700;font-size:15px;width:100%;margin-top:16px;cursor:pointer;font-family:inherit;}
.portal-btn.orange{background:var(--orange);}
.portal-btn:disabled{opacity:.5;cursor:not-allowed;}
.portal-close{background:none;border:1.5px solid var(--line);color:var(--gray);padding:10px 20px;border-radius:100px;font-size:13px;font-weight:600;cursor:pointer;margin-top:10px;width:100%;font-family:inherit;}
.portal-success{text-align:center;padding:20px 0;}
.portal-success .picon{font-size:60px;margin-bottom:16px;}

/* ---- Cuadro comparativo 3DISC: fila de categoría + rating por puntos ---- */
.compare-table tr.compare-cat td{
  background:var(--blue-soft); font-weight:800; color:var(--blue); font-size:12px; text-transform:uppercase; letter-spacing:.05em; padding:10px 18px;
}
#equipo-3disc .compare-table tr.compare-cat td{background:rgba(255,122,41,0.14); color:var(--acc3d);}
.compare-table td.dots{white-space:nowrap;}
.compare-table .dot{display:inline-block; width:9px; height:9px; border-radius:50%; background:#DCE1EC; margin-right:4px;}
.compare-table .dot.on{background:var(--blue);}
#equipo-3disc .compare-table .dot.on{background:var(--acc3d);}

/* ---- Pestañas por escáner (OVO / OVO³) ---- */
.scanner-tabs{display:flex; justify-content:center; gap:14px; margin:0 0 40px;}
.scanner-tab{
  padding:13px 34px; border-radius:100px; border:2px solid var(--line); background:var(--white);
  font-weight:800; font-size:15px; color:var(--gray); font-family:'Montserrat',sans-serif; transition:all .25s ease;
}
.scanner-tab:hover{border-color:var(--acc3d); color:var(--acc3d);}
.scanner-tab.active{background:var(--acc3d); color:white; border-color:var(--acc3d); box-shadow:0 14px 26px -10px rgba(255,122,41,0.55);}
.scanner-panel{display:none;}
.scanner-placeholder{
  text-align:center; padding:60px 20px; color:var(--gray); border:1.5px dashed var(--line); border-radius:20px; margin-bottom:10px;
}
.scanner-placeholder .ico{font-size:34px; margin-bottom:10px;}
.scanner-placeholder p{font-size:14.5px;}
.scanner-panel.active{display:block; animation:panelFadeIn .5s ease;}
@keyframes panelFadeIn{from{opacity:0; transform:translateY(18px);} to{opacity:1; transform:translateY(0);}}

.scanner-hero{display:flex; justify-content:center; margin:6px 0 40px;}
.scanner-hero-img{
  max-width:520px; width:100%; mix-blend-mode:multiply;
  filter:drop-shadow(0 30px 26px rgba(10,20,50,.2)); animation:scannerFloat 4.5s ease-in-out infinite;
  -webkit-mask-image:radial-gradient(ellipse 80% 82% at 50% 48%, #000 64%, transparent 100%);
  mask-image:radial-gradient(ellipse 80% 82% at 50% 48%, #000 64%, transparent 100%);
}
.scanner-hero-img.animate-in{animation:scannerEnter 1s cubic-bezier(.2,.8,.2,1), scannerFloat 4.5s ease-in-out 1s infinite;}
@keyframes scannerEnter{
  0%{opacity:0; transform:translateY(70px) scale(.82) rotate(-7deg);}
  55%{opacity:1; transform:translateY(-12px) scale(1.04) rotate(2deg);}
  100%{opacity:1; transform:translateY(0) scale(1) rotate(0);}
}
@keyframes scannerFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-10px);}
}

.ovo3-highlight{
  display:flex; align-items:center; gap:16px; background:rgba(255,122,41,0.1); border:1px solid rgba(255,122,41,0.3);
  border-radius:16px; padding:18px 22px; margin-bottom:40px;
}
.ovo3-highlight-ico{font-size:26px;}
.ovo3-highlight h5{font-size:15px; font-weight:800; color:var(--acc3d); margin-bottom:2px;}
.ovo3-highlight p{font-size:13.5px; color:var(--gray);}

.demo-cta{
  text-align:center; background:var(--blue-deep); border-radius:24px; padding:46px 30px; margin:20px 0 10px; color:white;
}
.demo-cta h3{font-size:24px; font-weight:800; margin-bottom:10px; color:white;}
.demo-cta p{font-size:14.5px; color:#C9D3EE; max-width:560px; margin:0 auto 24px;}
.demo-btn{display:inline-block; width:auto; padding:15px 44px; font-size:15px;}
.scanner-buy-cta{text-align:center; margin:36px 0 10px;}
