  :root{
    --bg-base:#0A0A0A;
    --bg-surface:#1C1C1E;
    --bg-surface-2:#2A2A2C;
    --amber:#F5A93F;
    --teal:#9CA3A8;
    --text:#F5F5F5;
    --text-muted:#A8A8AA;
    --line:#3A3A3C;
    --radius:10px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-base);
    color:var(--text);
    font-family:'Inter',sans-serif;
    line-height:1.55;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{
    font-family:'Inter',sans-serif;
    text-transform:none;
    letter-spacing:-0.01em;
    font-weight:800;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1120px;margin:0 auto;padding:0 24px;}

  /* Road surface: asphalt texture + center lane band, sits behind all content */
  .road-surface{
    position:fixed;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
      radial-gradient(ellipse 60% 40% at 50% 0%, rgba(245,169,63,0.05), transparent 65%),
      repeating-linear-gradient(115deg, rgba(255,255,255,0.012) 0px, rgba(255,255,255,0.012) 1px, transparent 1px, transparent 5px);
  }
  .road-lane{
    position:fixed;
    left:50%;
    top:0;bottom:0;
    width:160px;
    transform:translateX(-50%);
    background:linear-gradient(to right, transparent, rgba(0,0,0,0.18) 30%, rgba(0,0,0,0.18) 70%, transparent);
    z-index:0;
    pointer-events:none;
  }
  @media (max-width:760px){ .road-lane{ display:none; } }

  /* Signature element: dashed road line running down the page */
  .road-line{
    position:fixed;
    left:50%;
    top:0;
    bottom:0;
    width:5px;
    transform:translateX(-50%);
    background-image:repeating-linear-gradient(
      to bottom,
      var(--amber) 0px, var(--amber) 28px,
      transparent 28px, transparent 56px
    );
    opacity:0.16;
    z-index:0;
    pointer-events:none;
    filter:drop-shadow(0 0 3px rgba(245,169,63,0.4));
  }
  @media (max-width:760px){ .road-line{ display:none; } }
  @media (prefers-reduced-motion:no-preference){
    .road-line{ animation:drive 2.4s linear infinite; }
  }
  @keyframes drive{
    from{background-position-y:0;}
    to{background-position-y:-56px;}
  }

  .site-header-sticky{
    position:sticky;top:0;z-index:20;
  }
  .bottom-bar-yellow{
    position:relative;z-index:5;
    background:#FFCC00;height:10px;width:100%;
  }
  header{
    position:relative;z-index:5;
    background:#0A0A0A;
    border-bottom:3px solid #FFCC00;
    overflow:hidden;
  }
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 24px;max-width:1120px;margin:0 auto;
  }
  .logo{font-family:'Oswald',sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:0.06em;}
  .logo span{color:var(--amber);}
  .logo-img{height:65px;width:auto;object-fit:contain;}
  .nav-links{display:flex;align-items:center;gap:28px;font-size:0.92rem;color:#FFFFFF;font-weight:600;}
  .nav-links a:hover{color:#FFCC00;text-decoration:underline;}
  @media (max-width:640px){ .nav-links{display:none;} }
  .nav-actions{display:flex;align-items:center;gap:16px;}
  .nav-auth{display:flex;align-items:center;gap:8px;}
  .nav-login{
    font-size:0.9rem;color:#FFFFFF;font-weight:600;
    white-space:nowrap;
  }
  .nav-login:hover{color:#FFCC00;}
  .nav-boxed{
    background:rgba(255,255,255,0.18);border:1px solid rgba(255,255,255,0.3);
    padding:8px 16px;border-radius:8px;
    color:#FFFFFF;font-weight:600;
    transition:background 0.15s ease;
  }
  .nav-boxed:hover{background:rgba(255,255,255,0.3);color:#FFFFFF !important;}

  .nav-boxed.nav-socio{border-color:transparent;}
  .nav-dropdown{position:relative;}
  .nav-dropdown-menu{
    display:none;position:fixed;top:0;left:0;
    background:rgba(60,60,60,0.88);backdrop-filter:blur(6px);
    border:1px solid rgba(255,255,255,0.15);border-radius:10px;
    box-shadow:0 10px 30px rgba(0,0,0,0.35);
    min-width:270px;padding:8px;z-index:130;
  }
  .nav-dropdown-menu.open{display:block;}
  .nav-dropdown-menu a{
    display:flex;flex-direction:column;gap:2px;
    padding:10px 12px;border-radius:8px;
    color:#FFFFFF;text-decoration:none;
  }
  .nav-dropdown-menu a:hover{background:rgba(255,255,255,0.12);}
  .nav-dropdown-title{font-size:0.88rem;font-weight:600;color:#FFFFFF;}
  .nav-dropdown-sub{font-size:0.78rem;color:rgba(255,255,255,0.7);}

  .logo-stage{
    position:relative;height:130px;width:229px;flex-shrink:0;
    display:block;cursor:pointer;text-decoration:none;
  }
  .logo-text{
    position:absolute;left:0;top:0;height:130px;width:auto;display:block;
    mix-blend-mode:lighten;
  }
  .logo-cap-sc{
    position:absolute;left:0;top:0;height:130px;width:auto;display:block;
    opacity:0;
  }

  /* Logo principal del encabezado: mismo logo y animación del cotizador, ampliado 1.5x */
  .logo-stage.logo-stage-plate{width:250px;height:66px;align-self:center;}
  .hdr-logo-track{position:absolute;inset:0;overflow:visible;}
  .hdr-logo-text{
    position:absolute;top:19px;left:27px;height:36px;width:auto;display:block;
  }
  .hdr-logo-outline{
    position:absolute;top:0;left:0;height:66px;width:auto;display:block;
    opacity:1;pointer-events:none;z-index:1;
  }
  @media (prefers-reduced-motion:no-preference){
    .hdr-logo-outline{animation:logo-outline-cycle-hdr 20s linear infinite;}
  }
  @keyframes logo-outline-cycle-hdr{
    0%{ left:-30vw; opacity:0.45; }
    11.8%{ left:0; opacity:1; }
    41.2%{ left:0; opacity:1; }
    100%{ left:112vw; opacity:0.45; }
  }
  @media (prefers-reduced-motion:no-preference){
  }
  @keyframes logo-cap-crossfade-text{
    0%{opacity:1;} 52%{opacity:1;} 60%{opacity:0;} 92%{opacity:0;} 100%{opacity:1;}
  }
  @keyframes logo-cap-crossfade-sc{
    0%{opacity:0;} 52%{opacity:0;} 60%{opacity:1;} 92%{opacity:1;} 100%{opacity:0;}
  }
  .logo-outline-anim{
    position:absolute;left:0;top:0;height:65px;width:auto;display:block;
    opacity:1;pointer-events:none;z-index:1;
  }
  @media (prefers-reduced-motion:no-preference){
    .logo-outline-anim{animation:logo-outline-cycle 24s linear infinite;}
  }
  @keyframes logo-outline-cycle{
    0%{left:-30vw; height:65px; opacity:0.45;}
    11.8%{left:0; height:65px; opacity:1;}
    41.2%{left:0; height:65px; opacity:1;}
    100%{left:112vw; height:65px; opacity:0.45;}
  }
  .nav-lang{
    background:rgba(255,255,255,0.18);border:1px solid rgba(255,255,255,0.3);
    color:#FFFFFF;font-size:0.85rem;font-weight:600;
    padding:6px 10px;border-radius:8px;cursor:pointer;
  }
  @media (max-width:480px){ .nav-login{display:none;} }
  .btn-wsp-nav{
    background:var(--teal);color:#0A0A0A;font-weight:600;
    padding:10px 18px;border-radius:999px;font-size:0.9rem;
  }

  /* HERO */
  .hero{
    position:relative;z-index:1;
    padding:44px 24px 0;
    text-align:center;
    overflow:hidden;
    background:
      radial-gradient(ellipse at 50% 0%, rgba(245,169,63,0.10), transparent 60%),
      linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%),
      linear-gradient(180deg, #0A0A0A 0%, #141414 100%);
  }
  .eyebrow{
    color:var(--amber);font-family:'IBM Plex Mono',monospace;
    font-size:0.8rem;letter-spacing:0.18em;text-transform:uppercase;
    margin-bottom:18px;
  }
  .hero h1{
    font-size:clamp(2.4rem,6vw,4.6rem);
    line-height:1.02;
    max-width:820px;margin:0 auto;
  }
  .hero h1 em{font-style:normal;color:var(--amber);}
  .hero p.lead{
    max-width:560px;margin:16px auto 0;
    color:var(--text-muted);font-size:1.05rem;
  }
  .hero-mid{
    max-width:700px;margin:14px auto 0;
    font-size:clamp(1.4rem,3.2vw,2.1rem);font-weight:700;
    color:var(--text);
  }
  .hero-ctas{
    display:flex;gap:16px;justify-content:center;flex-wrap:wrap;
    margin-top:20px;
  }
  .hero-ctas .btn-ghost{text-shadow:0 2px 2px rgba(190,190,190,0.55);}
  .hero-fleet-panel{
    margin:30px calc(50% - 50vw) 0;width:100vw;max-width:100vw;
    background:#F5F5F7;border-radius:0;
    display:flex;flex-direction:column;
    box-shadow:0 20px 50px rgba(0,0,0,0.35);
  }
  .hero-fleet-row-dark{
    background:
      radial-gradient(ellipse at 50% 50%, rgba(245,169,63,0.08), transparent 60%),
      linear-gradient(135deg, rgba(255,255,255,0.06) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.04) 100%),
      #0A0A0A;
  }
  .hero-fleet-row-light{background:#FFFFFF;}
  .hero-fleet-inner{
    max-width:1000px;margin:0 auto;padding:10px 20px;
  }
  .hero-fleet-row-light .hero-fleet-inner{max-width:1250px;}
  .hero-fleet-inner img{width:100%;height:auto;display:block;}
  .hero-fleet-label{
    font-family:'Inter',sans-serif;text-transform:none;letter-spacing:normal;
    font-size:1.25rem;font-weight:700;margin-bottom:6px;text-align:center;
  }
  .hero-fleet-label-dark{color:var(--amber);font-size:1.1rem;}
  .hero-fleet-label-light{color:var(--amber);}
  .hero-fleet-slider{position:relative;overflow:hidden;}
  .hero-fleet-track{display:flex;width:300%;transition:transform 3s cubic-bezier(0.65,0,0.35,1);}
  .hero-fleet-track.no-transition{transition:none;}
  .hero-fleet-slide{width:33.3334%;flex-shrink:0;display:flex;align-items:center;}
  .hero-fleet-slide-promo{justify-content:center;position:relative;overflow:hidden;}
  .hero-fleet-slide-promo::before{
    content:'';position:absolute;inset:0;
    background:
      radial-gradient(ellipse at 15% 20%, rgba(255,255,255,0.06), transparent 55%),
      linear-gradient(135deg, #0B1B3A 0%, #0E2350 55%, #0A1730 100%);
    z-index:0;
  }
  .hero-promo-cinema-deco{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0.9;}
  .hero-promo-cinema-deco svg{position:absolute;}
  .hero-promo-inner{position:relative;z-index:1;display:flex;align-items:center;gap:20px;justify-content:center;flex-wrap:wrap;text-align:left;width:100%;}
  .hero-promo-icon{width:56px;height:56px;flex-shrink:0;}
  .hero-promo-title{font-family:'Inter',sans-serif;font-size:1.55rem;font-weight:800;letter-spacing:0.01em;margin-bottom:6px;line-height:1.15;color:#FFFFFF;text-shadow:0 2px 10px rgba(0,0,0,0.35);}
  .hero-promo-desc{font-size:0.95rem;line-height:1.45;max-width:540px;color:#EAEFFA;}
  .hero-promo-desc .hero-promo-movie{
    font-weight:800;
    background:linear-gradient(90deg,#C9D6C9 0%,#8FAE8F 35%,#3E7A3E 65%,#9CA79C 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .hero-fleet-row-dark .hero-promo-title{color:#FFFFFF;}
  .hero-fleet-row-dark .hero-promo-desc{color:#EAEFFA;opacity:0.95;}
  .hero-fleet-row-light .hero-promo-title{color:#FFFFFF;}
  .hero-fleet-row-light .hero-promo-desc{color:#EAEFFA;opacity:0.95;}
  @media (max-width:640px){
    .hero-promo-inner{flex-direction:column;text-align:center;}
    .hero-promo-desc{max-width:none;}
  }

  /* ===== Promo con imagen: la imagen ocupa la franja de arriba + 60% de la de abajo ===== */
  .hero-fleet-panel{--promo-dark-h:270px;--promo-combo-h:430px;--promo-franja-h:106px;}
  .hero-fleet-slide-promo-img{position:relative;overflow:hidden;background:#050505;}
  .hero-fleet-slide-promo-img::before{display:none;}
  .hero-promo-img-capa{position:absolute;left:0;right:0;top:0;height:var(--promo-combo-h);}
  .hero-promo-split-top .hero-promo-img-capa{top:calc(-1 * var(--promo-dark-h));}
  .hero-promo-img-bg,.hero-promo-img-fg{background-image:url('../img/img-ce1b77b155c4.webp');background-repeat:no-repeat;}
  .hero-promo-img-bg{
    position:absolute;inset:-30px;background-size:cover;background-position:center 45%;
    filter:blur(22px) brightness(0.45) saturate(1.15);
  }
  .hero-promo-img-fg{
    position:absolute;inset:8px 0;background-size:contain;background-position:center;
    filter:drop-shadow(0 10px 30px rgba(0,0,0,0.6));
  }
  .hero-fleet-slide-promo-split{position:relative;overflow:hidden;align-self:stretch;}
  .hero-fleet-slide-promo-split::before{display:none;}
  .hero-promo-split-top{
    position:absolute;left:0;right:0;top:0;bottom:var(--promo-franja-h);
    overflow:hidden;background:#050505;
  }
  .hero-promo-franja{
    position:absolute;left:0;right:0;bottom:0;height:var(--promo-franja-h);
    display:flex;align-items:center;justify-content:center;overflow:hidden;
  }
  .hero-promo-franja::before{
    content:'';position:absolute;inset:0;
    background:
      radial-gradient(ellipse at 15% 20%, rgba(255,255,255,0.06), transparent 55%),
      linear-gradient(135deg, #0B1B3A 0%, #0E2350 55%, #0A1730 100%);
    z-index:0;
  }
  .hero-promo-franja .hero-promo-cinema-deco{opacity:1;}
  .hero-promo-esquina{position:absolute;top:50%;transform:translateY(-50%);height:94%;width:auto;max-width:22%;object-fit:contain;}
  .hero-promo-esquina-izq{left:3%;}
  .hero-promo-esquina-der{right:3%;}
  @media (max-width:640px){
    .hero-promo-esquina{height:auto;max-height:60%;max-width:24%;top:12px;transform:none;}
    .hero-promo-esquina-izq{left:2%;}
    .hero-promo-esquina-der{right:2%;}
  }
  .hero-promo-movie-centro{display:block;text-align:center;}
  .hero-promo-franja .hero-promo-desc{width:fit-content;}
  .hero-banner-nav{display:flex;justify-content:center;align-items:center;gap:6px;padding:2px 16px 4px;}
  .hero-banner-nav-btn{
    width:10px;height:10px;padding:0;border:none;border-radius:50%;cursor:pointer;
    background:rgba(255,255,255,0.35);transition:background .25s, transform .25s;
    box-sizing:content-box;background-clip:content-box;border:5px solid transparent; /* área de toque más grande */
  }
  .hero-banner-nav-btn:hover{background-color:rgba(255,255,255,0.7);}
  .hero-banner-nav-btn[aria-pressed="true"]{background-color:#FFFFFF;transform:scale(1.15);}
  .hero-banner-nav-btn:focus-visible{outline:2px solid #FFFFFF;outline-offset:1px;}
  .hero-promo-disclaimer{
    max-width:1000px;margin:0 auto;padding:0 20px;
    font-size:0.7rem;line-height:1.3;color:#8A8A8A;text-align:center;
    max-height:0;opacity:0;overflow:hidden;
    transition:max-height 0.4s ease, opacity 0.4s ease, padding 0.4s ease;
  }
  .hero-promo-disclaimer.visible{max-height:60px;opacity:1;padding:5px 20px 0;}
  .promo-tyc-link{background:none;border:none;padding:2px 4px;margin:0;font:inherit;color:#A8A8A8;text-decoration:underline;text-underline-offset:2px;cursor:pointer;}
  .promo-tyc-link:hover,.promo-tyc-link:focus-visible{color:var(--amber);}
  .promo-tyc-list{margin:0 0 14px 18px;padding:0;}
  .promo-tyc-list li{margin-bottom:10px;line-height:1.5;}
  @media (max-width:640px){
    .hero-fleet-panel{margin-top:22px;}
    .hero-fleet-inner{padding:8px 10px;}
  }
  .btn{
    display:inline-block;padding:14px 28px;border-radius:999px;
    font-weight:600;font-size:0.95rem;border:1px solid transparent;
    transition:transform 0.15s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--amber);color:#141414;}
  .btn-ghost{border-color:var(--line);color:var(--text);}

  /* SECTION HEADERS */
  section{position:relative;z-index:1;padding:80px 24px;}
  #flotilla{padding-top:32px;}
  .section-tag{
    font-family:'IBM Plex Mono',monospace;font-size:0.78rem;
    color:var(--teal);letter-spacing:0.14em;text-transform:uppercase;
    margin-bottom:10px;
  }
  .section-title{font-size:clamp(1.7rem,3.6vw,2.4rem);margin-bottom:14px;}
  .section-desc{color:var(--text-muted);max-width:600px;margin-bottom:48px;}

  /* SERVICIOS */
  .servicios-grid{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:20px;
  }
  @media (max-width:860px){ .servicios-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:540px){ .servicios-grid{grid-template-columns:1fr;} }
  .servicio-card .num.serv-icono{font-size:1.35rem;line-height:22px;height:22px;display:block;margin-bottom:14px;}
  .servicio-card{
    background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-surface);border:1px solid var(--line);
    border-radius:var(--radius);padding:26px;
  }
  .servicio-card .num{
    font-family:'IBM Plex Mono',monospace;color:var(--amber);
    font-size:0.85rem;margin-bottom:14px;display:block;
  }
  .servicio-card h3{font-size:1.05rem;margin-bottom:8px;text-transform:none;letter-spacing:0;}
  .servicio-card p{color:var(--text-muted);font-size:0.92rem;}
  .servicio-contact{
    grid-column:span 2;
    background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-surface);border:1px solid var(--line);
    border-radius:var(--radius);padding:26px;
  }
  @media (max-width:760px){ .servicio-contact{grid-column:span 1;} }
  .servicio-contact .section-tag{margin-bottom:8px;}
  .servicio-contact h3{font-size:1.3rem;margin-bottom:16px;text-transform:none;letter-spacing:normal;}
  .servicio-contact .contacto-qa{margin-top:0;gap:12px;}
  .servicio-contact .contacto-qa-q{font-size:0.88rem;}
  .servicio-contact .contacto-qa-a{font-size:0.84rem;}

  /* FLOTILLA */
  .flotilla-grid{
    display:grid;grid-template-columns:repeat(3, 1fr);
    gap:22px;
  }
  @media (max-width:900px){
    .flotilla-grid{grid-template-columns:repeat(2, 1fr);}
  }
  @media (max-width:600px){
    .flotilla-grid{grid-template-columns:1fr;}
  }
  .unidad-card{
    background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-surface);border:1px solid var(--line);
    border-radius:var(--radius);overflow:hidden;
    display:flex;flex-direction:column;
  }
  .unidad-photo{
    aspect-ratio:1000/982;overflow:hidden;background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-surface-2);
    display:flex;align-items:center;justify-content:center;
    position:relative;
  }
  .unidad-photo svg{width:56%;color:var(--line);}
  .unidad-photo .ph-label{
    position:absolute;bottom:10px;left:12px;right:12px;
    font-family:'IBM Plex Mono',monospace;font-size:0.68rem;
    color:var(--text-muted);
  }
  .unidad-thumbs{
    display:flex;gap:0;justify-content:center;flex-wrap:wrap;padding:0;
    background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-surface);
  }
  .thumb-dot{
    box-sizing:content-box;width:16px;height:16px;border-radius:50%;
    background:var(--line);background-clip:content-box;border:none;cursor:pointer;
    padding:14px 9px;margin:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation;
  }
  .thumb-dot.active{background:var(--amber);background-clip:content-box;}
  .unidad-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1;}
  .amenidades-block{margin-top:2px;}
  .amenidades-title{
    font-family:'IBM Plex Mono',monospace;font-size:0.7rem;
    color:var(--amber);text-transform:uppercase;letter-spacing:0.06em;
    margin-bottom:8px;
  }
  .amenidades-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;}
  .amenidad-icon{
    width:30px;height:30px;color:var(--text-muted);
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
    background:none;border:none;cursor:pointer;padding:0;
    border-radius:6px;
    transition:color 0.15s ease, background 0.15s ease;
  }
  .amenidad-icon:hover, .amenidad-icon:focus-visible{
    color:var(--amber);background:var(--bg-surface-2);
  }
  .amenidad-icon svg{width:22px;height:22px;}
  .unidad-body h3{font-size:1.15rem;}

  /* Amenity explanation modal */
  .amenidad-modal-backdrop{
    position:fixed;inset:0;z-index:100;
    background:rgba(0,0,0,0.6);
    display:none;align-items:center;justify-content:center;
    padding:20px;
  }
  .amenidad-modal-backdrop.open{display:flex;}
  .amenidad-modal{
    background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-surface);
    border:1px solid var(--line);border-radius:14px;
    padding:32px 28px;max-width:340px;width:100%;
    text-align:center;position:relative;
  }
  .amenidad-modal-close{
    position:absolute;top:12px;right:14px;
    background:none;border:none;color:var(--text-muted);
    font-size:1.3rem;line-height:1;cursor:pointer;padding:4px;
  }
  .amenidad-modal-close:hover{color:var(--amber);}
  .amenidad-modal-icon{
    width:56px;height:56px;margin:0 auto 16px;color:var(--amber);
  }
  .amenidad-modal-icon svg{width:100%;height:100%;}
  .amenidad-modal-title{
    font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:0.03em;
    font-size:1.1rem;margin-bottom:10px;color:var(--text);
  }
  .amenidad-modal-desc{color:var(--text-muted);font-size:0.92rem;line-height:1.5;}

  .confirm-modal-backdrop{
    position:fixed;inset:0;z-index:110;
    background:rgba(0,0,0,0.65);
    display:none;align-items:center;justify-content:center;
    padding:20px;
  }
  .confirm-modal-backdrop.open{display:flex;}
  .confirm-modal{
    background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-surface);
    border:1px solid var(--line);border-radius:14px;
    padding:32px 28px;max-width:420px;width:100%;
    text-align:center;position:relative;max-height:85vh;overflow-y:auto;
  }
  .confirm-check{
    width:52px;height:52px;margin:0 auto 14px;
    color:#3EBD6B;
  }
  .confirm-check svg{width:100%;height:100%;}
  .confirm-title{
    font-size:1.25rem;font-weight:800;color:var(--text);margin-bottom:6px;
  }
  .confirm-folio{
    font-family:'IBM Plex Mono',monospace;font-size:0.78rem;
    color:var(--amber);letter-spacing:0.04em;margin-bottom:18px;
  }
  .confirm-body{
    text-align:left;background:rgba(255,255,255,0.03);
    border:1px solid var(--line);border-radius:10px;
    padding:16px;font-size:0.86rem;color:var(--text-muted);
    line-height:1.7;margin-bottom:16px;
  }
  .confirm-body strong{color:var(--text);font-weight:600;}
  .confirm-note{color:var(--text-muted);font-size:0.82rem;line-height:1.5;}

  .socio-modal-backdrop{
    position:fixed;inset:0;z-index:120;
    background:rgba(0,0,0,0.7);
    display:none;align-items:center;justify-content:center;
    padding:20px;overflow-y:auto;
  }
  .socio-modal-backdrop.open{display:flex;}
  .socio-modal{
    background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-base);
    border:1px solid var(--line);border-radius:14px;
    padding:36px 30px;max-width:480px;width:100%;
    position:relative;max-height:90vh;overflow-y:auto;
    margin:auto;
  }
  .socio-modal .socio-gate{
    max-width:none;background:none;border:none;padding:0;
  }
  .socio-modal .quote-box{border:none;padding:0;}

  .empresas-modal-backdrop{
    position:fixed;inset:0;z-index:120;
    background:rgba(0,0,0,0.7);
    display:none;align-items:center;justify-content:center;
    padding:20px;overflow-y:auto;
  }
  .empresas-modal-backdrop.open{display:flex;}
  .empresas-modal{
    background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-base);
    border:1px solid var(--line);border-radius:14px;
    padding:36px 34px;max-width:560px;width:100%;
    position:relative;max-height:85vh;overflow-y:auto;
    margin:auto;
  }
  .empresas-modal .section-title{margin-bottom:16px;}
  .empresas-modal-body p{
    color:var(--text-muted);font-size:0.95rem;line-height:1.65;
    margin-bottom:14px;
  }
  .empresas-modal-body p:last-child{margin-bottom:0;}
  .empresas-modal-body strong{color:var(--text);font-weight:600;}

  .legal-modal{max-width:680px;}
  .legal-modal-body{max-height:60vh;overflow-y:auto;padding-right:6px;}
  .legal-modal-body p{margin-bottom:14px;}
  .legal-modal-body em{color:var(--text-muted);font-size:0.85rem;}

  /* ---- Contacto: icono de audífonos y ventana de contacto ---- */
  .nav-contacto-link{display:inline-flex;align-items:center;gap:7px;}
  .nav-contacto-icon{width:24px;height:24px;flex-shrink:0;}
  .nav-cotizar-link{display:inline-flex;align-items:center;gap:7px;}
  .nav-cotizar-icon{width:22.6px;height:22.6px;flex-shrink:0;position:relative;top:1.1px;}
  .cot-title-icon{width:1em;height:1em;margin-left:0.3em;vertical-align:-0.12em;flex-shrink:0;}
  .contacto-opciones{display:flex;flex-direction:column;gap:12px;margin-top:18px;}
  .contacto-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;border-radius:999px;font-weight:600;font-size:0.98rem;text-decoration:none;transition:transform 0.15s ease;}
  .contacto-btn:hover{transform:translateY(-2px);}
  .contacto-btn-wsp{background:#25D366;color:#0A0A0A;}
  .contacto-btn-mail{background:var(--amber);color:#1a1200;}
  .contacto-btn.deshabilitado{opacity:0.45;pointer-events:none;}
  .contacto-wsp-sub{display:none;flex-direction:column;gap:9px;margin-top:-3px;}
  .contacto-wsp-sub.open{display:flex;}
  .contacto-btn-wsp-sub{display:flex;align-items:center;padding:11px 16px;border-radius:14px;background:rgba(37,211,102,0.14);border:1px solid rgba(37,211,102,0.35);color:var(--text);text-decoration:none;font-size:0.9rem;font-weight:500;transition:transform 0.15s ease,background 0.15s ease;}
  .contacto-btn-wsp-sub:hover{transform:translateY(-2px);background:rgba(37,211,102,0.24);}

  /* ---- Contrato (descarga con número de cliente) y tabla del panel admin ---- */
  .contrato-modal .field{margin-bottom:14px;}
  .contrato-modal input[type="text"]{text-transform:uppercase;letter-spacing:0.08em;}
  .contrato-msg{color:var(--text-muted);font-size:0.9rem;margin:10px 0;}
  .contrato-acciones{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
  .contrato-acciones .btn{text-align:center;}
  /* Contrato grande para leer cómodamente */
  .empresas-modal.contrato-modal.contrato-grande{max-width:min(1080px,96vw);max-height:95vh;padding:24px 26px;}
  .contrato-modal.contrato-grande .contrato-acciones{flex-direction:row;flex-wrap:wrap;}
  .contrato-modal.contrato-grande .contrato-acciones .btn,.contrato-modal.contrato-grande .contrato-acciones .submit-wsp{flex:1 1 220px;}
  #contrato-preview{width:100%;height:64vh;min-height:360px;border:1px solid var(--line);border-radius:8px;background:#fff;}
  @media (max-width:640px){
    #contrato-modal-backdrop{padding:8px;}
    .empresas-modal.contrato-modal.contrato-grande{padding:18px 12px;max-height:97vh;}
    #contrato-preview{height:60vh;}
  }
  /* Ventanas a pantalla completa: contrato del cliente y panel admin */
  .empresas-modal-backdrop.pantalla-completa,.socio-modal-backdrop.pantalla-completa{padding:0;overflow:hidden;align-items:stretch;}
  .empresas-modal.contrato-modal.contrato-grande{max-width:none;width:100vw;height:100vh;height:100dvh;max-height:none;border-radius:0;border:none;margin:0;padding:22px 32px;display:flex;flex-direction:column;overflow:hidden;}
  .contrato-modal.contrato-grande .empresas-modal-body{flex:1;min-height:0;display:flex;flex-direction:column;}
  .contrato-modal.contrato-grande #contrato-paso2{flex:1;min-height:0;display:flex;flex-direction:column;}
  .contrato-modal.contrato-grande #contrato-paso2 .contrato-msg{margin:4px 0 8px;}
  .contrato-modal.contrato-grande #contrato-preview{flex:1;min-height:240px;height:auto;}
  .contrato-modal.contrato-grande .section-title{margin-bottom:6px;}
  .socio-modal.pantalla-completa{max-width:none;width:100vw;height:100vh;height:100dvh;max-height:none;border-radius:0;border:none;margin:0;padding:24px 34px;overflow-y:auto;}
  @media (max-width:640px){
    .empresas-modal.contrato-modal.contrato-grande{padding:16px 12px;}
    .socio-modal.pantalla-completa{padding:18px 12px;}
  }
  /* ---- Ficha del contrato, pagos y servicios finalizados ---- */
  .admin-badge:empty{display:none;}
  .socio-modal.pantalla-completa > .section-tag,.socio-modal.pantalla-completa > .section-desc{display:none;}
  .socio-modal.pantalla-completa > .section-title{font-size:1.7rem;margin-bottom:12px;}
  .cficha-card select{width:100%;box-sizing:border-box;padding:10px;border-radius:8px;border:1px solid var(--line);background:var(--bg-2,#14140f);color:inherit;font-family:inherit;}
  .socio-modal.pantalla-completa .admin-tab-content{max-height:none;overflow:visible;}
  .admin-tab-btn.primary{background:var(--amber);color:#1a1200;border-color:var(--amber);}
  .admin-tab-btn[disabled]{opacity:.45;cursor:not-allowed;}
  .cficha{position:fixed;inset:0;z-index:250;background:rgba(0,0,0,0.82);display:none;align-items:center;justify-content:center;padding:14px;}
  .cficha.open{display:flex;}
  .cficha-box{background:var(--bg-base);border:1px solid var(--line);border-radius:14px;width:min(1180px,98vw);height:96vh;display:flex;flex-direction:column;padding:16px 18px;gap:10px;}
  .cficha-body{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start;padding-right:4px;}
  .cficha-body .full{grid-column:1 / -1;}
  @media (max-width:820px){ .cficha-body{grid-template-columns:1fr;} }
  .cficha-card{border:1px solid var(--line);border-radius:12px;padding:14px;font-size:14px;line-height:1.55;}
  .cficha-card h4{margin:0 0 8px;font-family:'Oswald',sans-serif;font-weight:500;font-size:1.05rem;letter-spacing:0.04em;}
  .cficha-card .meta{font-size:12px;color:var(--text-muted);margin-bottom:6px;}
  .cficha-card .titulo{font-weight:700;font-size:1.05rem;margin-bottom:8px;}
  .cficha-card label{font-size:12px;color:var(--text-muted);display:block;margin-bottom:3px;}
  .ct-table{width:100%;border-collapse:collapse;font-size:13px;}
  .ct-table th{text-align:left;color:var(--text-muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap;}
  .ct-table td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top;}
  .ct-scroll{overflow-x:auto;}
  .ct-totales{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;}
  .ct-totales div{border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:12px;color:var(--text-muted);}
  .ct-totales strong{display:block;font-size:1.1rem;color:var(--text);margin-top:2px;}
  .ct-totales .pend strong{color:#ffb84d;}
  .ct-totales .pend.cero strong{color:#4cd471;}
  .cficha-pagoform{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:12px;}
  .cficha-pagoform input,.cficha-pagoform select{width:100%;box-sizing:border-box;padding:10px;border-radius:8px;border:1px solid var(--line);background:var(--bg-2,#14140f);color:inherit;font-family:inherit;}
  .cficha-acciones{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
  .cficha-acciones .submit-wsp{margin:0;width:auto;display:inline-block;padding:10px 18px;font-size:13px;}
  .cbox{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid var(--line);color:var(--text);padding:12px 14px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;text-align:left;width:100%;margin-bottom:8px;font-family:inherit;}
  .cbox small{display:block;font-weight:400;color:var(--text-muted);}
  .cbox .cbox-mark{width:32px;height:32px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:19px;border:2px solid #d9483b;color:#d9483b;flex:none;}
  .cbox.on{border-color:#2e9e5b;}
  .cbox.on .cbox-mark{border-color:#2e9e5b;color:#2e9e5b;background:rgba(46,158,91,0.15);}
  #admin-tab-promociones select,

  .sc-descargas-contratos{margin:0 0 14px;}
  .sc-lista-descargas{margin-top:10px;display:flex;flex-direction:column;gap:8px;}
  .sc-descarga-item{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg-2,#14140f);}
  .sc-descarga-item span{display:block;font-size:12px;color:var(--text-muted);margin-top:2px;}
  .sc-descarga-item .btn{margin:0;}
  .sc-descarga-item:has(> .btn.sc-perm-oculto){display:none;}
  #admin-tab-contratos select{width:100%;box-sizing:border-box;margin-bottom:8px;padding:10px;border-radius:8px;border:1px solid var(--line);background:var(--bg-2,#14140f);color:inherit;font-family:inherit;}
  /* Visor grande del contrato en el panel admin */
  .cvisor{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,0.82);display:none;align-items:center;justify-content:center;padding:14px;}
  .cvisor.open{display:flex;}
  .cvisor-box{background:var(--bg-base);border:1px solid var(--line);border-radius:14px;width:min(1180px,98vw);height:96vh;display:flex;flex-direction:column;padding:16px 18px;gap:10px;}
  .cvisor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
  .cvisor-titulo{font-family:'Oswald',sans-serif;font-size:1.2rem;letter-spacing:0.04em;}
  .cvisor-sub{font-size:13px;color:var(--text-muted);margin-top:2px;}
  .cvisor-aviso{font-size:13px;padding:8px 12px;border-radius:8px;border:1px solid var(--line);}
  .cvisor-aviso.ok{border-color:#2e9e5b;background:rgba(46,158,91,0.14);}
  .cvisor-aviso.warn{border-color:#d9a21b;background:rgba(217,162,27,0.16);}
  .cvisor-aviso.bad{border-color:#d9483b;background:rgba(217,72,59,0.16);}
  #admin-contrato-iframe{flex:1;min-height:0;width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;}
  .cvisor-foot{display:flex;gap:8px;flex-wrap:wrap;}
  .admin-table-wrap{overflow-x:auto;margin-top:12px;}
  .admin-table{width:100%;border-collapse:collapse;font-size:13px;}
  .admin-table th,.admin-table td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top;}
  .admin-table th{background:var(--bg-surface-2);color:var(--amber);font-weight:600;white-space:nowrap;}
  .admin-table td.num{font-family:'IBM Plex Mono',monospace;white-space:nowrap;}
  .admin-si{color:#4cd471;font-weight:600;} .admin-no{color:var(--text-muted);}
  .admin-inline-form input{width:100%;box-sizing:border-box;margin-bottom:8px;padding:10px;border-radius:8px;border:1px solid var(--line);background:var(--bg-2, #14140f);color:inherit;font-family:inherit;}
  .admin-inline-form select{width:100%;box-sizing:border-box;margin-bottom:8px;padding:10px;border-radius:8px;border:1px solid var(--line);background:var(--bg-2, #14140f);color:inherit;font-family:inherit;font-size:14px;}
  .admin-table select.un-edit{border-color:var(--line);}
  .admin-inline-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
  @media (max-width:640px){ .admin-inline-form{grid-template-columns:1fr;} }
  .admin-nuevo-num{background:var(--bg-surface-2);border:1px dashed var(--amber);border-radius:10px;padding:12px;margin:10px 0;font-size:14px;}
  .admin-nuevo-num strong{font-family:'IBM Plex Mono',monospace;color:var(--amber);font-size:18px;letter-spacing:0.08em;}
  .admin-filtros{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:10px 0;}

  .unidad-pax{
    font-family:'IBM Plex Mono',monospace;color:var(--teal);
    font-size:0.85rem;
  }
  .unidad-body p{color:var(--text-muted);font-size:0.88rem;flex:1;}
  .unidad-body .btn{width:100%;text-align:center;padding:10px;font-size:0.88rem;}

  /* COTIZADOR */
  #cotizar{padding-top:24px;padding-bottom:64px;}

  .empresas-banner{
    position:relative;z-index:1;
    background:linear-gradient(135deg, rgba(255,255,255,0.06) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.04) 100%), var(--bg-surface);
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    padding:18px 24px;
  }
  .empresas-banner p{
    text-align:center;color:var(--text-muted);font-size:0.92rem;margin:0;
    max-width:820px;margin-left:auto;margin-right:auto;line-height:1.6;
  }
  .empresas-banner strong{color:var(--text);font-weight:600;}
  .empresas-banner-link{
    color:var(--amber);font-weight:700;text-decoration:underline;
    text-underline-offset:3px;cursor:pointer;
  }
  .empresas-banner-link:hover{opacity:0.85;}
  #cotizar .section-title{font-size:clamp(1.6rem,2.8vw,2.1rem);margin-bottom:10px;}
  #cotizar .section-desc{margin-bottom:0;max-width:none;font-size:1rem;}
  .cotizar-heading{text-align:center;margin-bottom:76px;}
  .cotizar-heading .section-tag{justify-content:center;}
  .cotizar-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;
    position:relative;
  }
  @media (max-width:900px){
    .cotizar-grid{grid-template-columns:1fr;}
  }
  .quote-box{
    background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-surface);border:1px solid var(--line);
    border-radius:14px;padding:30px;
    position:relative;align-self:start;
    overflow:visible;
  }
  .quote-box::before{
    content:"";position:absolute;left:0;right:0;top:0;height:4px;
    background:repeating-linear-gradient(to right, var(--amber) 0 14px, transparent 14px 26px);
    background-size:26px 4px;
    border-radius:14px 14px 0 0;
    z-index:2;
  }
  /* Marca de agua S/C en el cotizador (como en los contratos) */
  #quote-form::after, #cs-form::after{
    content:"";position:absolute;left:50%;top:50%;
    width:min(800px,94%);aspect-ratio:900/415;transform:translate(-50%,-50%);
    background:url('../img/img-4d49482cc123.webp') center/contain no-repeat;
    opacity:.035;pointer-events:none;z-index:3;
  }
  @media (min-width:901px){
    #quote-form::after{top:142px;transform:translate(-50%,0);}
    #cs-form::after{top:104px;transform:translate(-50%,0);}
  }
  /* Cotizador: ambos recuadros simétricos y del mismo alto */
  #quote-form.cotizar-grid, #cs-form.cotizar-grid{align-items:stretch;}
  #quote-form .quote-box, #cs-form .quote-box{align-self:stretch;}
  #quote-form .quote-box-right, #cs-form .quote-box-right{display:flex;flex-direction:column;}
  #cs-form .sc-recorrido[hidden] + .form-group-title, #cs-form .sc-recorrido[hidden] + .sc-tipo-nota{margin-top:0;}
  #quote-form .quote-box-right > .submit-wsp, #cs-form .quote-box-right > .submit-wsp{margin-top:auto;}
  .quote-box form{position:relative;z-index:1;}
  .quote-box-logo{
    position:absolute;top:6px;left:24px;height:34px;width:auto;z-index:5;pointer-events:none;
  }
  .quote-box-logo-text{
    position:absolute;left:22px;top:11px;height:20px;width:auto;display:block;
    opacity:0.95;
  }
  .quote-box-logo-outline{
    position:absolute;left:0;top:0;height:34px;width:auto;display:block;
    opacity:0.95;pointer-events:none;z-index:1;
  }
  @media (prefers-reduced-motion:no-preference){
    .quote-box-logo-outline{animation:logo-outline-cycle 24s linear infinite;}
  }
  form .field{margin-bottom:12px;}
  form label{
    display:block;font-size:0.78rem;color:var(--text-muted);
    margin-bottom:5px;font-family:'IBM Plex Mono',monospace;letter-spacing:0.03em;
  }
  form input, form select, form textarea{
    width:100%;background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-surface-2);border:1px solid var(--line);
    color:var(--text);padding:11px 13px;border-radius:8px;font-family:'Inter',sans-serif;
    font-size:0.92rem;
  }
  .field-with-map{display:flex;gap:8px;align-items:center;}
  .field-with-map input{flex:1;}
  .map-btn{
    flex-shrink:0;background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-surface-2);border:1px solid var(--line);
    color:var(--teal);font-family:'IBM Plex Mono',monospace;font-size:0.74rem;
    padding:11px 13px;border-radius:8px;cursor:pointer;white-space:nowrap;
  }
  .map-btn:hover{border-color:var(--teal);}
  form input:focus, form select:focus, form textarea:focus{
    outline:2px solid var(--amber);outline-offset:1px;
  }
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:0;}
  @media (max-width:600px){ .form-row{grid-template-columns:1fr;} }
  .form-group-title{
    font-family:'IBM Plex Mono',monospace;font-size:0.74rem;color:var(--amber);
    text-transform:uppercase;letter-spacing:0.1em;margin:16px 0 8px;
  }
  .form-group-title:first-child{margin-top:0;}
  textarea{resize:vertical;min-height:68px;}
  .submit-wsp{
    width:100%;background:var(--teal);color:#0A0A0A;border:none;
    padding:13px;border-radius:8px;font-weight:600;font-size:0.94rem;cursor:pointer;
    margin-top:6px;
  }
  .submit-wsp:hover{filter:brightness(1.06);}
  .form-note{color:var(--text-muted);font-size:0.76rem;margin-top:10px;}

  .socio-note{
    display:flex;gap:12px;align-items:flex-start;
    background:rgba(245,169,63,0.08);border:1px solid rgba(245,169,63,0.3);
    border-radius:10px;padding:14px 16px;margin:20px 0 28px;
    color:var(--text-muted);font-size:0.88rem;line-height:1.5;
    max-width:640px;
  }
  .socio-note svg{width:20px;height:20px;flex-shrink:0;color:var(--amber);margin-top:1px;}

  .socio-gate{
    max-width:380px;
    background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-surface);
    border:1px solid var(--line);border-radius:14px;
    padding:32px 28px;text-align:center;
  }
  .socio-gate-icon{width:44px;height:44px;margin:0 auto 14px;color:var(--amber);}
  .socio-gate-icon svg{width:100%;height:100%;}
  .socio-gate-title{font-family:'Inter',sans-serif;font-weight:800;font-size:1.2rem;color:var(--text);margin-bottom:8px;}
  .socio-gate-desc{color:var(--text-muted);font-size:0.86rem;line-height:1.5;margin-bottom:20px;}
  .socio-gate-form{display:flex;flex-direction:column;gap:10px;}
  .socio-gate-form input{
    background:var(--bg-surface-2);border:1px solid var(--line);border-radius:8px;
    padding:11px 14px;color:var(--text);font-size:0.9rem;
  }
  .socio-gate-form input::placeholder{color:var(--text-muted);}
  .socio-gate-pass-wrap{position:relative;}
  .socio-gate-pass-wrap input{padding-right:44px;}
  .socio-gate-pass-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);background:none;border:none;padding:6px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;}
  .socio-gate-pass-toggle svg{width:20px;height:20px;}
  .socio-gate-pass-toggle:hover{color:var(--amber);}
  .admin-panel-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;}
  .admin-tab-btn{background:transparent;border:1px solid var(--line);color:var(--text-muted);padding:8px 14px;border-radius:999px;font-size:13px;cursor:pointer;font-weight:600;}
  .admin-tab-btn.active{background:var(--amber);color:#1a1200;border-color:var(--amber);}
  .admin-badge{display:inline-block;background:#c0392b;color:#fff;border-radius:999px;font-size:11px;padding:1px 7px;margin-left:4px;}
  .admin-tab-content{max-height:60vh;overflow-y:auto;}
  .admin-item{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px;}
  .admin-item-meta{font-size:12px;color:var(--text-muted);margin-bottom:6px;}
  .admin-item-pregunta{font-weight:600;margin-bottom:8px;}
  .admin-item textarea, .admin-item input{width:100%;box-sizing:border-box;margin-bottom:8px;padding:10px;border-radius:8px;border:1px solid var(--line);background:var(--bg-2, #14140f);color:inherit;font-family:inherit;}
  .admin-item-actions{display:flex;gap:8px;flex-wrap:wrap;}
  .admin-empty{color:var(--text-muted);font-size:14px;padding:10px 0;}
  .socio-gate-error{display:none;color:#E5484D;font-size:0.82rem;text-align:left;}
  .socio-gate-error.show{display:block;}
  .socio-gate-link{
    display:block;margin-top:16px;color:var(--text-muted);font-size:0.82rem;text-decoration:underline;
  }
  .socio-gate-link:hover{color:var(--amber);}

  .socio-checkboxes{display:flex;flex-direction:column;gap:8px;margin-top:4px;}
  .socio-check{
    display:flex;align-items:center;gap:8px;
    font-size:0.9rem;color:var(--text);cursor:pointer;font-weight:400;
    text-transform:none;letter-spacing:normal;
  }
  .socio-check input{width:16px;height:16px;accent-color:var(--amber);cursor:pointer;}

  /* CONTACTO */
  .contact-grid{
    display:grid;grid-template-columns:1.2fr 1fr;gap:40px;
  }
  @media (max-width:760px){ .contact-grid{grid-template-columns:1fr;} }
  .contacto-qa{
    display:flex;flex-direction:column;gap:16px;margin-top:26px;
  }
  .contacto-qa-item{
    border-left:2px solid var(--amber);padding-left:14px;
  }
  .contacto-qa-q{
    font-weight:700;color:var(--text);font-size:0.95rem;margin-bottom:4px;
  }
  .contacto-qa-a{
    color:var(--text-muted);font-size:0.9rem;line-height:1.5;
  }
  .contact-list{display:flex;flex-direction:column;gap:18px;margin-top:24px;}
  .contact-item{
    display:flex;gap:14px;align-items:flex-start;
    padding:16px;background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-surface);border:1px solid var(--line);
    border-radius:10px;
  }
  .contact-item .k{
    font-family:'IBM Plex Mono',monospace;color:var(--amber);font-size:0.78rem;
    text-transform:uppercase;display:block;margin-bottom:2px;
  }

  .social-box{text-align:center;}
  #pagos{padding:36px 24px 48px;text-align:center;}
  #pagos .section-tag{margin-bottom:6px;justify-content:center;}
  #pagos .section-title{font-size:clamp(1.15rem,2vw,1.4rem);margin-bottom:0;}
  .pagos-grid{
    display:grid;grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
    gap:16px;margin:20px auto 0;max-width:760px;text-align:center;
  }
  .pago-card{
    background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-surface);
    border:1px solid var(--line);border-radius:12px;
    padding:22px 16px;text-align:center;
  }
  .pago-icon{
    width:34px;height:34px;margin:0 auto 12px;color:var(--amber);
  }
  .pago-icon svg{width:100%;height:100%;}
  .pago-title{font-size:0.86rem;color:var(--text);margin-bottom:12px;line-height:1.3;}
  .pago-brands{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;}
  .pago-brand{
    font-family:'IBM Plex Mono',monospace;font-size:0.72rem;font-weight:700;
    color:var(--text-muted);border:1px solid var(--line);
    padding:4px 11px;border-radius:999px;letter-spacing:0.02em;
  }
  .pago-brand-visa{color:#1A1F71;background:rgba(255,255,255,0.85);border-color:#1A1F71;}
  .pago-brand-mc{background:rgba(255,255,255,0.85);border-color:#EB001B;}
  .pago-brand-mc-text{
    background:linear-gradient(90deg, #EB001B 0%, #EB001B 50%, #C87A0A 50%, #C87A0A 100%);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  }
  .pago-brand-mp{color:#00B1EA;background:rgba(255,255,255,0.85);border-color:#00B1EA;}
  .pago-brand-spei{color:#0B2A6B;background:rgba(255,255,255,0.85);border-color:#0B2A6B;}
  .pago-brand-spei-e{color:#F5A93F;}
  .pago-brand-oxxo{color:#E2231A;background:rgba(255,255,255,0.85);border-color:#E2231A;}
  .pago-brand-7eleven{color:#00874A;background:rgba(255,255,255,0.85);border-color:#00874A;}
  .pago-brand-7eleven-7{color:#F26A1B;}
  .social-icons{
    display:flex;justify-content:center;gap:20px;
  }
  .social-btn{
    width:56px;height:56px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-surface);
    border:1px solid var(--line);color:var(--text);
    transition:transform 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  }
  .social-btn svg{width:26px;height:26px;}
  .social-btn:hover{
    color:var(--amber);border-color:var(--amber);
    transform:translateY(-3px);
  }

  footer{
    position:relative;z-index:1;
    border-top:1px solid var(--amber);
    padding:28px 24px;text-align:center;
    color:var(--text-muted);font-size:0.85rem;
  }
  /* Logo animado sobre la línea naranja del pie de página */
  /* Logo animado del pie: SERVICE CAP™ (3 s) → S/C letra por letra (3 s) → SERVICE CAP™ */
  .footer-logo-track{position:absolute;left:50%;bottom:100%;margin-left:-100px;margin-bottom:8px;width:200px;height:auto;overflow:visible;z-index:5;pointer-events:none;}
  .sclogo-anim{display:block;width:100%;height:auto;overflow:visible;}
  /* Acceso oculto al panel: 3 toques/clics seguidos sobre el logo del pie */
  .footer-logo-track .sclogo-anim{pointer-events:auto;cursor:default;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;}
  @media (prefers-reduced-motion:no-preference){
    .sclogo-m{animation-duration:10.8s;animation-iteration-count:infinite;animation-timing-function:cubic-bezier(.3,0,.7,1);}
    .sclogo-l{animation-duration:10.8s;animation-iteration-count:infinite;animation-timing-function:linear;}
    .sclogo-s{animation-name:sclogo-s}.sclogo-sl{animation-name:sclogo-sl}.sclogo-c{animation-name:sclogo-c}
    .sclogo-e1{animation-name:sclogo-e1}
    .sclogo-c1{animation-name:sclogo-c1}
    .sclogo-tm{animation-name:sclogo-tm}
    .sclogo-tm2{animation-name:sclogo-tm2}
    .sclogo-p{animation-name:sclogo-p}
    .sclogo-r{animation-name:sclogo-r}
    .sclogo-a{animation-name:sclogo-a}
    .sclogo-e2{animation-name:sclogo-e2}
    .sclogo-v{animation-name:sclogo-v}
  }
  @keyframes sclogo-s{0%,27.78%{transform:translateX(0)}50.00%,77.78%{transform:translateX(585px)}100%{transform:translateX(0)}}
  @keyframes sclogo-sl{0%,27.78%{transform:translateX(0)}50.00%,77.78%{transform:translateX(160px)}100%{transform:translateX(0)}}
  @keyframes sclogo-c{0%,27.78%{transform:translateX(0)}50.00%,77.78%{transform:translateX(-192px)}100%{transform:translateX(0)}}
  @keyframes sclogo-e1{0%,28.07%{opacity:1}29.92%,97.86%{opacity:0}99.71%,100%{opacity:1}}
  @keyframes sclogo-c1{0%,29.58%{opacity:1}31.43%,96.35%{opacity:0}98.20%,100%{opacity:1}}
  @keyframes sclogo-tm{0%,30.94%{opacity:1}32.79%,94.98%{opacity:0}96.84%,100%{opacity:1}}
  @keyframes sclogo-p{0%,32.11%{opacity:1}33.97%,93.81%{opacity:0}95.66%,100%{opacity:1}}
  @keyframes sclogo-r{0%,33.01%{opacity:1}34.86%,92.92%{opacity:0}94.77%,100%{opacity:1}}
  @keyframes sclogo-a{0%,34.35%{opacity:1}36.20%,91.57%{opacity:0}93.43%,100%{opacity:1}}
  @keyframes sclogo-e2{0%,35.63%{opacity:1}37.48%,90.29%{opacity:0}92.15%,100%{opacity:1}}
  @keyframes sclogo-v{0%,36.73%{opacity:1}38.58%,89.20%{opacity:0}91.05%,100%{opacity:1}}
  @keyframes sclogo-tm2{0%,47.22%{opacity:0}50.00%,77.78%{opacity:1}80.56%,100%{opacity:0}}
  .sclogo-tm2{opacity:0}
  @media (prefers-reduced-motion:reduce){.sclogo-tm2{display:none}}
  .footer-legal{margin-top:8px;}
  .footer-legal a{color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;}
  .footer-legal a:hover{color:var(--amber);}
  .footer-legal-sep{margin:0 8px;opacity:0.5;}

  /* Floating WhatsApp button */
  .wsp-float{
    position:fixed;bottom:22px;right:22px;z-index:30;
    width:58px;height:58px;border-radius:50%;
    background:#25D366;display:flex;align-items:center;justify-content:center;
    box-shadow:0 6px 18px rgba(0,0,0,0.4);
  }
  .wsp-float svg{width:28px;height:28px;color:#FFFFFF;}
  .wsp-menu{
    position:fixed;bottom:90px;right:22px;z-index:29;
    width:270px;max-width:calc(100vw - 32px);
    background:var(--bg-surface);border:1px solid var(--line);border-radius:16px;
    padding:14px;box-shadow:0 12px 30px rgba(0,0,0,0.45);
    display:none;flex-direction:column;gap:8px;
  }
  .wsp-menu.open{display:flex;}
  .wsp-menu-title{font-weight:600;font-size:0.92rem;color:var(--text);margin-bottom:2px;}
  .wsp-menu-opt{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:12px;background:rgba(37,211,102,0.14);border:1px solid rgba(37,211,102,0.35);color:var(--text);text-decoration:none;font-size:0.9rem;font-weight:500;transition:transform 0.15s ease,background 0.15s ease;}
  .wsp-menu-opt:hover{transform:translateY(-2px);background:rgba(37,211,102,0.24);}
  @media (max-width:480px){ .wsp-menu{bottom:86px;right:14px;} }

  /* FAQ bot */
  .bot-float{
    position:fixed;bottom:90px;right:22px;z-index:30;
    width:52px;height:52px;border-radius:50%;
    background:#FFCC00;color:#111111;border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
  }
  @media (prefers-reduced-motion:no-preference){
    .bot-float{animation:bot-float-bounce 3.2s ease-in-out infinite;}
  }
  .bot-float:hover{animation-play-state:paused;}
  @keyframes bot-float-bounce{
    0%, 100%{transform:translateY(0) scale(1);}
    50%{transform:translateY(0) scale(1);}
    58%{transform:translateY(-9px) scale(1.05);}
    66%{transform:translateY(0) scale(0.97);}
    72%{transform:translateY(-4px) scale(1.02);}
    78%{transform:translateY(0) scale(1);}
  }
  .bot-float svg{width:24px;height:24px;}
  /* Botones flotantes siempre visibles en celular: capa propia para que las animaciones del banner no los borren */
  .wsp-float, .bot-float{
    -webkit-transform:translateZ(0);transform:translateZ(0);
    -webkit-backface-visibility:hidden;backface-visibility:hidden;
    will-change:transform;
  }
  .hero-fleet-slider{overflow:hidden;contain:paint;}

  /* ===== Banner exclusivo de promociones ===== */
  .promo-panel{background:#050505;overflow:hidden;}
  .promo-viewport{position:relative;overflow:hidden;contain:paint;}
  .promo-track{display:flex;transition:transform 3s cubic-bezier(0.65,0,0.35,1);will-change:transform;}
  .promo-track.no-transition{transition:none;}
  .promo-slide{flex-shrink:0;display:flex;flex-direction:column;position:relative;}
  .promo-visual{--h:clamp(300px,34vw,460px);height:var(--h);position:relative;overflow:hidden;}
  .promo-visual-cine{background:#050505;}
  .promo-slide .hero-promo-franja{position:relative;height:auto;flex:1;min-height:112px;padding:10px 0;}
  /* Promoción redes: fondo negro con destellos dorados */
  .promo-visual-redes{
    background:
      radial-gradient(ellipse at 50% 58%, rgba(255,204,0,0.20) 0%, rgba(245,169,63,0.08) 32%, transparent 58%),
      linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.035) 38%, transparent 39%, transparent 61%, rgba(255,255,255,0.03) 62%, transparent 63%),
      linear-gradient(160deg, #111111 0%, #060606 55%, #0E0B05 100%);
  }
  .redes-halo{position:absolute;left:50%;top:54%;width:calc(var(--h)*0.95);height:calc(var(--h)*0.95);transform:translate(-50%,-50%);border-radius:50%;
    background:radial-gradient(circle, rgba(255,204,0,0.16) 0%, transparent 65%);}
  .redes-orbita{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid rgba(255,204,0,0.20);transform:translate(-50%,-50%) rotate(-12deg);}
  .redes-orbita-1{width:calc(var(--h)*1.25);height:calc(var(--h)*0.62);}
  .redes-orbita-2{width:calc(var(--h)*1.6);height:calc(var(--h)*0.86);border-color:rgba(255,204,0,0.10);transform:translate(-50%,-50%) rotate(8deg);}
  .redes-destellos{position:absolute;inset:0;pointer-events:none;
    background-image:
      radial-gradient(circle at 12% 22%, rgba(255,215,90,0.7) 0 1.5px, transparent 2.5px),
      radial-gradient(circle at 86% 18%, rgba(255,215,90,0.6) 0 1.2px, transparent 2px),
      radial-gradient(circle at 22% 78%, rgba(255,215,90,0.5) 0 1px, transparent 2px),
      radial-gradient(circle at 78% 84%, rgba(255,215,90,0.6) 0 1.5px, transparent 2.5px),
      radial-gradient(circle at 64% 8%, rgba(255,215,90,0.5) 0 1px, transparent 2px),
      radial-gradient(circle at 36% 12%, rgba(255,215,90,0.45) 0 1px, transparent 2px),
      radial-gradient(circle at 92% 60%, rgba(255,215,90,0.5) 0 1px, transparent 2px),
      radial-gradient(circle at 6% 55%, rgba(255,215,90,0.45) 0 1px, transparent 2px);}
  .redes-phone{position:absolute;bottom:0;left:50%;height:calc(var(--h)*0.95);width:auto;max-width:none;
    transform:translateX(-66%);filter:drop-shadow(0 18px 30px rgba(0,0,0,0.65));z-index:2;pointer-events:none;}
  .redes-icono{--s:calc(var(--h)*0.13);position:absolute;z-index:3;width:var(--s);height:var(--s);border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(145deg, rgba(40,40,40,0.95), rgba(10,10,10,0.95));
    border:1px solid rgba(255,204,0,0.55);box-shadow:0 6px 18px rgba(0,0,0,0.55), 0 0 18px rgba(255,204,0,0.18);
    left:calc(50% + var(--x) * var(--h) - var(--s) / 2);top:calc(var(--y) - var(--s) / 2);}
  .redes-icono svg{width:52%;height:52%;}
  a.redes-icono{cursor:pointer;text-decoration:none;transition:border-color .2s ease, box-shadow .2s ease;}
  a.redes-icono:hover,a.redes-icono:focus-visible{border-color:#FFCC00;box-shadow:0 6px 18px rgba(0,0,0,0.55),0 0 22px rgba(255,204,0,0.45);}
  .ri-web{--x:-0.40;--y:18%;}
  .ri-fb{--x:0.34;--y:14%;}
  .ri-ig{--x:-0.48;--y:48%;}
  .ri-tt{--x:0.42;--y:44%;}
  .ri-wa{--x:0.36;--y:76%;}
  @media (prefers-reduced-motion:no-preference){
    .redes-icono{animation:redes-rondar 9s linear infinite;}
    .ri-fb{animation-duration:11s;animation-direction:reverse;animation-delay:-3s;}
    .ri-ig{animation-duration:10s;animation-delay:-6s;}
    .ri-tt{animation-duration:12s;animation-direction:reverse;animation-delay:-2s;}
    .ri-wa{animation-duration:8.5s;animation-delay:-4s;}
    .redes-orbita-1{animation:redes-orbita-giro 40s linear infinite;}
  }
  @keyframes redes-rondar{
    0%{transform:rotate(0deg) translateX(calc(var(--h)*0.035)) rotate(0deg) translateY(0);}
    50%{transform:rotate(180deg) translateX(calc(var(--h)*0.035)) rotate(-180deg) translateY(calc(var(--h)*-0.02));}
    100%{transform:rotate(360deg) translateX(calc(var(--h)*0.035)) rotate(-360deg) translateY(0);}
  }
  @keyframes redes-orbita-giro{from{transform:translate(-50%,-50%) rotate(-12deg);}to{transform:translate(-50%,-50%) rotate(348deg);}}
  .promo-franja-redes{position:relative;flex:1;min-height:112px;display:flex;align-items:center;justify-content:center;padding:12px 20px;text-align:center;
    background:
      radial-gradient(ellipse at 50% 0%, rgba(255,204,0,0.14), transparent 60%),
      linear-gradient(135deg, #121212 0%, #1A1407 50%, #0A0A0A 100%);
    border-top:2px solid rgba(255,204,0,0.75);}  .promo-visual-dyn{background:#050505;}
  .promo-dyn-bg{position:absolute;inset:-30px;width:calc(100% + 60px);height:calc(100% + 60px);max-width:none;object-fit:cover;filter:blur(22px) brightness(0.45);}
  .promo-dyn-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
  .ap-slots-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px;}
  .ap-slot{border:1px solid var(--line);border-radius:10px;padding:10px;}
  .ap-slot-t{font-size:12px;font-weight:700;color:var(--amber);margin-bottom:6px;}
  .ap-slot input{width:100%;box-sizing:border-box;margin:0 0 6px;}
  .ap-slot.hecho{border-color:rgba(245,169,63,0.7);}
  .ap-tabla-slots{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:6px;}
  .ap-tabla-slots .ap-slot{padding:6px;}
  .ap-tabla-slots input{padding:6px;font-size:12px;}
  @media (max-width:640px){ .ap-slots-grid{grid-template-columns:1fr;} .ap-tabla-slots{grid-template-columns:1fr 1fr;} }
  .vis-chart-wrap{overflow-x:auto;padding:6px 0;color:var(--text);}
  .vis-aviso{border:1px dashed rgba(245,169,63,0.7);background:rgba(245,169,63,0.08);color:var(--amber);border-radius:10px;padding:10px 12px;font-size:12.5px;margin-bottom:10px;}
  .vis-leyenda{display:flex;gap:14px;font-size:12px;color:var(--text-muted);margin:4px 0;}
  .vis-leyenda i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px;}
  .vis-estados{display:flex;flex-direction:column;gap:5px;}
  .vis-fila{display:grid;grid-template-columns:150px 1fr 90px;gap:8px;align-items:center;font-size:12.5px;}
  .vis-barra{height:10px;border-radius:99px;background:rgba(255,255,255,0.08);overflow:hidden;}
  .vis-barra span{display:block;height:100%;background:var(--amber);border-radius:99px;}
  .vis-num{text-align:right;}
  .vis-num small{color:var(--text-muted);}
  @media (max-width:640px){ .vis-fila{grid-template-columns:110px 1fr 70px;font-size:11.5px;} }
  .promo-count{display:inline-flex;flex-direction:column;gap:4px;min-width:200px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;margin:0 10px 10px 0;}
  .promo-count strong{font-size:1.4rem;color:var(--amber);}
  .promo-count-bar{height:6px;border-radius:99px;background:rgba(255,255,255,0.1);overflow:hidden;}
  .promo-count-bar span{display:block;height:100%;background:var(--amber);}

  .promo-redes-title{font-family:'Inter',sans-serif;font-size:1.55rem;font-weight:800;line-height:1.15;color:#FFCC00;margin-bottom:6px;text-shadow:0 2px 10px rgba(0,0,0,0.4);}
  .promo-redes-desc{font-size:0.95rem;line-height:1.45;color:#EDEDED;max-width:620px;margin:0 auto;}
  @media (max-width:640px){
    .promo-visual{--h:72vw;}
    .promo-slide .hero-promo-franja,.promo-franja-redes{min-height:92px;}
    .promo-redes-title{font-size:1.02rem;margin-bottom:4px;}
    .promo-redes-desc{font-size:0.74rem;line-height:1.35;}
    .promo-franja-redes{padding:10px 16px;}
  }
  .hero-fleet-panel, .hero-fleet-panel img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;}
  .hero-fleet-panel{cursor:pointer;touch-action:pan-y;}
  .hero-fleet-track{will-change:transform;}
  .bot-panel{
    position:fixed;bottom:150px;right:22px;z-index:31;
    width:330px;max-width:calc(100vw - 32px);height:440px;max-height:70vh;
    background:linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 45%, transparent 55%, rgba(255,255,255,0.08) 100%), var(--bg-surface);
    border:1px solid var(--line);border-radius:14px;
    display:none;flex-direction:column;overflow:hidden;
    box-shadow:0 20px 50px rgba(0,0,0,0.5);
  }
  .bot-panel.open{display:flex;}
  .bot-header{
    background:var(--bg-surface-2);padding:14px 16px;
    display:flex;align-items:center;justify-content:space-between;
    font-family:'Inter',sans-serif;font-weight:700;color:var(--text);
    border-bottom:1px solid var(--line);
  }
  .bot-header-info{display:flex;align-items:center;gap:10px;}
  .bot-avatar{
    width:34px;height:34px;border-radius:50%;flex-shrink:0;
    background:#FFCC00;color:#111111;
    display:flex;align-items:center;justify-content:center;
  }
  .bot-avatar svg{width:18px;height:18px;}
  .bot-name{font-size:0.88rem;font-weight:700;}
  .bot-status{
    font-size:0.72rem;font-weight:400;color:var(--text-muted);
    display:flex;align-items:center;gap:5px;
  }
  .bot-status-dot{
    width:6px;height:6px;border-radius:50%;background:#3EBD6B;display:inline-block;
  }
  .bot-msg-row{display:flex;align-items:flex-end;gap:8px;}
  .bot-msg-row.user{flex-direction:row-reverse;}
  .bot-msg-avatar{
    width:24px;height:24px;border-radius:50%;flex-shrink:0;
    background:#FFCC00;color:#111111;
    display:flex;align-items:center;justify-content:center;
  }
  .bot-msg-avatar svg{width:13px;height:13px;}
  .bot-typing{
    display:flex;gap:4px;padding:11px 14px;
    background:var(--bg-surface-2);border-radius:12px;border-bottom-left-radius:3px;
    align-self:flex-start;
  }
  .bot-typing span{
    width:6px;height:6px;border-radius:50%;background:var(--text-muted);
    animation:bot-typing-bounce 1.2s infinite ease-in-out;
  }
  .bot-typing span:nth-child(2){animation-delay:0.2s;}
  .bot-typing span:nth-child(3){animation-delay:0.4s;}
  @keyframes bot-typing-bounce{
    0%, 60%, 100%{transform:translateY(0);opacity:0.5;}
    30%{transform:translateY(-4px);opacity:1;}
  }
  .bot-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.1rem;padding:2px;}
  .bot-close:hover{color:var(--amber);}
  .bot-messages{
    flex:1;overflow-y:auto;padding:14px 16px;
    display:flex;flex-direction:column;gap:10px;
  }
  .bot-msg{max-width:85%;padding:9px 12px;border-radius:12px;font-size:0.85rem;line-height:1.45;}
  .bot-msg.bot{background:var(--bg-surface-2);color:var(--text);align-self:flex-start;border-bottom-left-radius:3px;}
  .bot-msg.user{background:var(--amber);color:#0A0A0A;align-self:flex-end;border-bottom-right-radius:3px;}
  .bot-msg a{color:inherit;text-decoration:underline;}
  .bot-chips{
    display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px;
  }
  .bot-chip{
    background:var(--bg-surface-2);border:1px solid var(--line);color:var(--text-muted);
    font-size:0.75rem;padding:6px 10px;border-radius:999px;cursor:pointer;
  }
  .bot-chip:hover{color:var(--amber);border-color:var(--amber);}
  .bot-inputbar{
    display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line);
  }
  .bot-inputbar input{
    flex:1;background:var(--bg-surface-2);border:1px solid var(--line);border-radius:8px;
    padding:9px 12px;color:var(--text);font-size:0.85rem;
  }
  .bot-inputbar input::placeholder{color:var(--text-muted);}
  .bot-inputbar button{
    background:#FFCC00;border:none;border-radius:8px;width:38px;
    display:flex;align-items:center;justify-content:center;color:#111111;cursor:pointer;
  }

  /* ================= ENCABEZADO ADAPTABLE (tablet, celular y ventana reducida) ================= */
  .nav{gap:12px;}
  .nav-actions{flex-shrink:0;}
  .nav-links{flex-shrink:1;white-space:nowrap;}
  @media (max-width:1100px){
    .nav{padding:12px 16px;}
    .nav-links{gap:18px;font-size:0.88rem;}
    .nav-actions{gap:10px;}
    .nav-boxed{padding:7px 12px;font-size:0.86rem;}
    .nav-lang{font-size:0.8rem;padding:6px 8px;}
    .logo-stage.logo-stage-plate{transform:scale(0.82);transform-origin:left center;margin-right:-45px;}
  }
  @media (max-width:900px){
    .nav{flex-wrap:wrap;row-gap:6px;}
    .nav-links{display:flex !important;order:3;flex-basis:100%;justify-content:center;gap:26px;padding-top:2px;}
    .nav-actions{order:2;}
    .logo-stage.logo-stage-plate{order:1;}
    .nav-login{display:inline-block;}
  }
  @media (max-width:560px){
    .site-header-sticky{position:static;}
    .nav{justify-content:center;padding:10px 12px;row-gap:4px;}
    .logo-stage.logo-stage-plate{order:1;flex-basis:100%;margin:-6px auto -6px;transform:translateX(30px) scale(0.74);transform-origin:center center;}
    .nav-links{order:2;gap:18px;font-size:0.84rem;}
    .nav-links a{display:inline-flex;align-items:center;gap:5px;}
    .nav-contacto-icon,.nav-cotizar-icon{width:20px;height:20px;}
    .nav-actions{order:3;width:100%;justify-content:space-between;padding-top:4px;}
    .nav-auth{gap:6px;}
    .nav-boxed{padding:6px 10px;font-size:0.82rem;}
    .nav-lang{font-size:0.78rem;padding:6px;}
  }

  /* ---- Confirmación propia (Sí / No) ---- */
  .sn-backdrop{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,0.72);display:none;align-items:center;justify-content:center;padding:20px;}
  .sn-backdrop.open{display:flex;}
  .sn-box{background:var(--bg-surface);border:1px solid var(--line);border-radius:14px;padding:28px 26px;max-width:400px;width:100%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,0.5);}
  .sn-title{font-size:1.2rem;font-weight:800;color:var(--text);margin-bottom:8px;}
  .sn-msg{font-size:0.9rem;color:var(--text-muted);line-height:1.5;margin-bottom:20px;white-space:pre-line;}
  .sn-actions{display:flex;gap:12px;justify-content:center;}
  .sn-actions button{flex:1;padding:11px 16px;border-radius:10px;font-weight:700;font-size:0.95rem;cursor:pointer;border:1px solid var(--line);font-family:inherit;}
  .sn-no{background:transparent;color:var(--text);}
  .sn-si{background:#d93a3a;border-color:#d93a3a;color:#fff;}

  .hero-ctas .btn{padding:10px 22px;font-size:0.86rem;}
  @media (max-width:640px){ .hero-ctas .btn{padding:8px 18px;font-size:0.8rem;} }

  /* ===== Ajustes para celular ===== */
  @media (max-width:640px){
    section{padding:52px 12px;}
    .wrap{padding:0 8px;}
    .section-desc{font-size:0.95rem;}
    /* Promo compacta en la franja azul */
    .hero-promo-franja .hero-promo-inner{flex-direction:row;text-align:center;justify-content:center;gap:0;padding:10px 19%;}
    .hero-promo-franja .hero-promo-icon{display:none;}
    .hero-promo-franja .hero-promo-title{font-size:1.02rem;line-height:1.2;margin-bottom:4px;}
    .hero-promo-franja .hero-promo-desc{font-size:0.74rem;line-height:1.35;margin:0 auto;}
    .hero-promo-esquina{height:auto;max-height:78%;max-width:17%;top:50%;transform:translateY(-50%);}
    .hero-promo-esquina-izq{left:1.5%;}
    .hero-promo-esquina-der{right:1.5%;}
    .hero-promo-disclaimer.visible{padding:5px 14px 0;}
    .hero-promo-disclaimer{font-size:0.62rem;}
    /* Campos con botón de mapa: el campo ocupa todo el ancho y el botón va abajo */
    .field-with-map{flex-wrap:wrap;gap:6px;}
    .field-with-map input{flex:1 1 100%;}
    .field-with-map .map-btn{flex:1 1 100%;width:100%;text-align:center;padding:9px 10px;font-size:0.74rem;}
    /* Formas de pago en 2 columnas */
    .pagos-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
    .pago-card{padding:16px 10px;}
    .pago-card .pago-badges, .pago-card .badges{flex-wrap:wrap;justify-content:center;}
    img{max-width:100%;}
  }
  @media (max-width:380px){
    .hero-promo-franja .hero-promo-title{font-size:0.92rem;}
    .hero-promo-franja .hero-promo-desc{font-size:0.7rem;}
  }
  /* Celular: encabezado principal más compacto para que el banner de promociones se vea más */
  @media (max-width:640px){
    .hero{padding-top:24px;}
    .hero h1{font-size:1.9rem;line-height:1.08;}
    .hero-mid{font-size:1.05rem;margin-top:8px;line-height:1.35;}
    .hero-ctas{margin-top:12px;}
    .hero-ctas .btn{padding:7px 16px;font-size:0.76rem;}
    .hero-fleet-panel{margin-top:16px;}
  }

  .sc-ac-caja{position:relative;}
  .sc-ac-lista{position:absolute;left:0;z-index:80;margin:0;padding:4px;list-style:none;background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 30px rgba(0,0,0,.5);max-height:min(300px,45vh);overflow:auto;text-transform:none;letter-spacing:0;box-sizing:border-box;-webkit-overflow-scrolling:touch;}
  .sc-ac-lista li{padding:10px 12px;min-height:44px;justify-content:center;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:2px;text-align:left;-webkit-tap-highlight-color:transparent;}
  .sc-ac-lista li strong,.sc-ac-lista li span{overflow-wrap:anywhere;}
  .sc-ac-lista li strong{color:var(--text);font-weight:600;font-size:.92rem;}
  .sc-ac-lista li span{color:var(--text-muted);font-size:.8rem;}
  .sc-ac-lista li.activo,.sc-ac-lista li:hover{background:rgba(245,169,63,.16);}
  .sc-ac-lista li.sc-ac-pie{cursor:default;padding:4px 10px 2px;font-size:.7rem;color:var(--text-muted);align-items:flex-end;}
  .sc-ac-lista li.sc-ac-pie:hover{background:none;}
  #sc-aviso{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:9999;background:#1C1C1E;color:#F5F5F5;border:1px solid #3A3A3C;border-radius:999px;padding:8px 16px;font:500 13px/1.3 Inter,system-ui,sans-serif;transition:opacity .2s,transform .2s;max-width:90vw;text-align:center;}
  #sc-aviso.ver{opacity:1;transform:translate(-50%,0);}
  #sc-aviso.error{border-color:#F5A93F;}
  #admin-tab-usuarios input[type=checkbox]{width:18px;height:18px;min-width:18px;flex:0 0 18px;margin:2px 0 0;padding:0;accent-color:#F5A93F;}
  #admin-tab-usuarios label{justify-content:flex-start;text-align:left;}
  .contacto-btn span{min-width:0;white-space:nowrap;text-align:center;overflow:hidden;}
  @media (max-width:420px){.contacto-btn{padding:13px 12px;gap:8px;}.contacto-btn svg{width:22px;height:22px;}#contacto-modal-backdrop .empresas-modal{padding:30px 18px;}}
  @media (max-width:360px){.contacto-btn{padding:12px 10px;gap:6px;}.contacto-btn svg{width:20px;height:20px;}#contacto-modal-backdrop .empresas-modal{padding:28px 14px;}}
  .vis-pista{font-weight:400;font-size:12px;color:var(--text-muted);}
  .vis-fila-clic{cursor:pointer;border-radius:8px;padding:2px 4px;margin:0 -4px;}
  .vis-fila-clic:hover,.vis-fila-clic:focus-visible{background:rgba(245,169,63,.10);outline:none;}
  .vis-flecha{display:inline-block;width:12px;color:var(--amber);font-weight:700;transition:transform .15s;}
  .vis-fila-clic.abierta .vis-flecha{transform:rotate(90deg);}
  .vis-municipios{margin:2px 0 8px 18px;padding:8px 10px;border-left:2px solid var(--amber);background:rgba(255,255,255,.03);border-radius:0 8px 8px 0;display:flex;flex-direction:column;gap:4px;}
  .vis-municipios[hidden]{display:none;}
  .vis-dia-selector{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:10px;}
  .vis-dia-selector[hidden]{display:none;}
  .vis-dia-selector > *{width:auto !important;flex:0 0 auto;margin:0 !important;display:inline-block;}
  .vis-dia-selector > button{min-width:38px;}
  .vis-dia-selector input[type=date]{background:rgba(255,255,255,.06);color:var(--text);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:7px 10px;font:inherit;font-size:13px;color-scheme:dark;}
  .vis-dia-selector button:disabled{opacity:.35;cursor:default;}
  .sc-info{position:fixed;inset:0;z-index:100001;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;padding:16px;}
  .sc-info.open{display:flex;}
  .sc-info-caja{background:var(--bg-2, #14140f);border:1px solid var(--amber);border-radius:16px;max-width:560px;width:100%;max-height:86vh;overflow:auto;padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.6);}
  .sc-info-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;}
  .sc-info-cab #sc-info-titulo{font-size:18px;font-weight:700;}
  .sc-info-cab #sc-info-titulo small{display:block;font-size:12px;font-weight:400;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;}
  .sc-info-lista{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;font-size:14px;}
  .sc-info-lista > span:nth-child(odd){color:var(--text-muted);}
  @media (max-width:520px){ .sc-info-lista{grid-template-columns:1fr;} .sc-info-lista > span:nth-child(odd){margin-top:6px;} }
  .sc-info-acciones{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
  .sc-link-info{background:none;border:0;padding:0;font:inherit;color:var(--amber);font-weight:600;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer;text-align:left;}
  .sc-link-info:hover{text-decoration-style:solid;}
  .sc-link-info.num{font-family:inherit;}
  .asig-chofer{display:block;font-size:12px;margin-top:2px;}
  .asig-chofer .sc-link-info{color:var(--text);font-weight:500;}
  .soc-par-sel{min-width:170px;padding:6px 8px;border-radius:7px;border:1px solid var(--line);background:var(--bg-2, #14140f);color:inherit;font:inherit;font-size:13px;}
  .un-tabla .un-col-cod{width:1%;white-space:nowrap;}
  .un-tabla td.num{white-space:nowrap;width:1%;}
  .un-tabla .un-col-desc{min-width:260px;width:40%;}
  .un-tabla tr.un-editando td:first-child{width:110px;}
  .un-tabla tr.un-editando td:first-child input{min-width:0;width:100px;}
  .un-acciones{white-space:normal !important;min-width:150px;}
  .un-acciones .admin-tab-btn{padding:6px 11px;font-size:12px;margin:2px 0;}
  @media (min-width:1000px){ .un-acciones{white-space:nowrap !important;} .un-tabla .un-col-desc{width:auto;min-width:220px;} }
  .btn-disp.es-disp{color:#5fd68f;border-color:rgba(95,214,143,.45);}
  .btn-disp.es-nodisp{color:#ff8a7f;border-color:rgba(255,107,94,.55);background:rgba(255,107,94,.08);}
  button.un-badge-nodisp{color:#ff6b5e !important;font-family:Inter,sans-serif !important;font-size:11px;font-weight:700;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;}
  .srv-chip{white-space:nowrap;}
  .srv-chip.cancelcliente{background:rgba(255,160,60,.16);color:#ffae5c;}
  .srv-chip.incumplio{background:rgba(255,80,80,.18);color:#ff7070;}
  .pago-chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;}
  .pago-chip.pagado{background:rgba(70,200,120,.18);color:#5fd68f;}
  .pago-chip.pendiente{background:rgba(245,200,60,.18);color:#f5c83c;}
  .pago-chip.na{background:rgba(255,255,255,.07);color:var(--text-muted);}
  .pago-chip.programado{background:rgba(107,138,253,.14);color:#8fa6ff;}
  .rep-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px 10px;}
  .rep-grid [hidden]{display:none !important;}
  .rep-grid label{font-size:12px;color:var(--text-muted);display:block;margin-bottom:3px;}
  @media (max-width:800px){ .rep-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
  .rep-resumen{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
  .rep-resumen > div{flex:1;min-width:130px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;display:flex;flex-direction:column;gap:2px;}
  .rep-resumen span{font-size:12px;color:var(--text-muted);}
  .rep-resumen strong{font-size:17px;}
  .rep-resumen small{font-size:11.5px;color:var(--text-muted);}
  .rep-resumen .rep-socio{border-color:rgba(245,200,60,.55);}
  .rep-resumen .rep-socio strong{color:#f5c83c;}
  .rep-resumen .rep-sc{border-color:rgba(95,214,143,.5);}
  .rep-resumen .rep-sc strong{color:#5fd68f;}
  .sp-vista-cab{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 8px;}
  .sp-vp{display:flex;flex-direction:column;align-items:center;}
  .sp-vp-marco{width:100%;border:1px dashed rgba(245,169,63,.5);border-radius:14px;padding:10px;background:#0b0b0b;box-sizing:border-box;}
  .sp-vp-movil .sp-vp-marco{max-width:410px;border-radius:28px;padding:14px 10px;border:2px solid #333;}
  .sp-vp-escala{margin:0 auto;overflow:hidden;border-radius:8px;}
  .sp-vp-iframe{border:0;display:block;transform-origin:0 0;background:#050505;}
  .sp-vp-tyc-link{text-align:center;font-size:12px;color:var(--text-muted);text-decoration:underline;margin-top:8px;}
  .sp-sin-imagen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px;border:2px dashed rgba(255,255,255,.15);margin:14px;border-radius:10px;}
  .sp-vp-estado{margin-top:10px;font-size:13px;}
  .sp-vp-tycbox{border:1px solid var(--line);border-radius:10px;padding:10px 14px;max-height:220px;overflow:auto;font-size:13px;background:rgba(255,255,255,.02);}
  /* Subtítulos sobre la parte baja del video (el video llega hasta la línea amarilla) */
  .pv-subs{position:absolute;left:54px;right:54px;bottom:10px;z-index:3;display:flex;justify-content:center;pointer-events:none;}
  .pv-subs span{display:inline-block;max-width:100%;color:#fff;font:600 clamp(13px,1.35vw,17px)/1.35 Inter,system-ui,sans-serif;text-align:center;
    background:rgba(0,0,0,.62);border-radius:6px;padding:4px 12px;opacity:0;transition:opacity .15s;text-shadow:0 1px 2px rgba(0,0,0,.6);}
  .pv-subs.activo span{opacity:1;}
  @media (max-width:640px){ .pv-subs{left:46px;right:46px;bottom:8px;} .pv-subs span{font-size:12.5px;padding:3px 8px;} }
  #sp-subs-box[hidden],#sp-lang-prev[hidden]{display:none !important;}
  /* Controles del video: pausa/reproducir al centro y sonido pequeño en la esquina, discretos */
  .promo-visual-dyn .pv-ctrl{display:contents;}
  .pv-btn{position:absolute;z-index:4;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;cursor:pointer;color:#fff;padding:0;
    background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);transition:opacity .2s, background .2s, transform .15s;}
  .pv-btn span{display:none;}
  /* Pausa: esquina inferior izquierda · Sonido: esquina inferior derecha (discretos) */
  .pv-play{left:10px;bottom:10px;width:32px;height:32px;opacity:.6;}
  .pv-play.pausado{opacity:.95;}
  .pv-sonido{right:10px;bottom:10px;width:32px;height:32px;opacity:.6;}
  .pv-sonido:not(.on){opacity:.9;}
  .pv-btn:hover,.pv-btn:focus-visible{opacity:1;background:rgba(0,0,0,.55);}
  .pv-btn svg{display:block;}
  @media (max-width:640px){ .pv-play{left:8px;bottom:8px;width:30px;height:30px;} .pv-sonido{right:8px;bottom:8px;width:30px;height:30px;} }
  #sp-fila-sonido[hidden]{display:none !important;}
  .promo-mini-play{position:absolute;left:4px;bottom:4px;font-size:10px;font-weight:700;background:rgba(0,0,0,.7);color:#fff;border-radius:4px;padding:1px 5px;}
  video.promo-dyn-bg,video.promo-dyn-img{pointer-events:none;}
  .promo-mini-ico{width:84px;height:56px;border-radius:8px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:28px;background:rgba(255,255,255,.04);}
  .pag-barra{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:8px 0 4px;}
  .pag-barra .admin-tab-btn{padding:6px 14px;font-size:12.5px;}
  .pag-barra .admin-tab-btn:disabled{opacity:.35;cursor:default;}
  .pag-info{font-size:12.5px;color:var(--text-muted);}
  .pag-info strong{color:var(--text);}
  .hist-filtro{border:1px solid transparent;cursor:pointer;font:inherit;font-size:12.5px;font-weight:700;padding:5px 12px;border-radius:999px;transition:transform .1s, box-shadow .1s;}
  .hist-filtro:hover{transform:translateY(-1px);}
  .hist-filtro.hist-todos{background:rgba(255,255,255,.08);color:var(--text);}
  .hist-filtro.activo{box-shadow:0 0 0 2px var(--amber);border-color:transparent;}
  .hist-filtro.vacio{opacity:.45;}
  .hist-resumen{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 8px;font-size:13px;}
  .canc-chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;margin-left:4px;}
  .cal-estrellas{color:#F5A93F;letter-spacing:1px;white-space:nowrap;}
  .cal-estrellas .cal-vacia{color:rgba(255,255,255,.18);}
  .cal-selector{display:flex;align-items:center;gap:2px;flex-wrap:wrap;}
  .cal-star{background:none;border:0;padding:0 2px;font-size:26px;line-height:1;color:rgba(255,255,255,.2);cursor:pointer;}
  .cal-star.on{color:#F5A93F;}
  .cal-star:hover{transform:scale(1.12);}
  .cal-num{margin-left:6px;font-weight:600;}
  .cal-fila{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:center;margin:6px 0;}
  @media (max-width:640px){ .cal-fila{grid-template-columns:1fr;} }
  .un-badge-nodisp{display:inline-block;margin-top:3px;font-size:11px;font-weight:700;color:#ff6b5e;font-family:Inter,sans-serif;}
  .srv-filtros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px;}
  .srv-filtros input,.srv-filtros select{width:100%;box-sizing:border-box;margin:0;padding:9px;border-radius:8px;border:1px solid var(--line);background:var(--bg-2, #14140f);color:inherit;font:inherit;font-size:13px;color-scheme:dark;}
  @media (max-width:800px){ .srv-filtros{grid-template-columns:repeat(2,minmax(0,1fr));} }
  .srv-chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;border:0;cursor:pointer;font-family:inherit;}
  .srv-chip.apartada{background:rgba(107,138,253,.18);color:#8fa6ff;}
  .srv-chip.servicio{background:rgba(255,184,77,.18);color:#ffb84d;}
  .srv-chip.porfinalizar{background:rgba(255,107,94,.16);color:#ff8a7f;}
  .srv-chip.finalizado{background:rgba(70,200,120,.16);color:#5fd68f;}
  .srv-link{background:none;border:0;padding:0;color:var(--amber);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
  .srv-sub{display:block;font-size:11.5px;color:var(--text-muted);}
  .soc-ficha{border:1px solid var(--amber);border-radius:14px;padding:16px;margin-bottom:14px;background:rgba(245,169,63,.04);}
  .soc-ficha h4{margin:14px 0 8px;font-size:15px;color:var(--amber);}
  .soc-ficha-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;}
  .soc-datos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;font-size:13.5px;}
  @media (max-width:640px){ .soc-datos{grid-template-columns:1fr;} }
  .soc-datos span{color:var(--text-muted);}
  .soc-resumen{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;}
  .lic-vencida{color:#ff6b5e;font-weight:600;}
  .lic-pronto{color:#ffb84d;font-weight:600;}
  .ref-tel{color:var(--amber);text-decoration:none;font-weight:600;}
  .un-estado-link{display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:none;border:0;padding:3px 6px;margin:0 -6px 3px;border-radius:7px;cursor:pointer;font:inherit;color:inherit;text-align:left;}
  .un-estado-link:hover,.un-estado-link:focus-visible{background:rgba(255,255,255,.07);outline:none;}
  .un-estado-link .un-estado-txt{font-weight:700;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;}
  .un-estado-link.apartada .un-estado-txt,.un-c-apartada{color:#6B8AFD;}
  .un-estado-link.servicio .un-estado-txt,.un-c-servicio{color:#ffb84d;}
  .un-estado-link:hover .un-estado-txt{text-decoration-style:solid;}
  .un-estado-nodisp{display:flex;flex-direction:column;gap:1px;margin-bottom:4px;}
  .un-estado-nodisp .un-estado-txt,.un-c-nodisp{color:#ff6b5e;font-weight:700;}
  .un-sub{display:block;font-size:11.5px;color:var(--text-muted);font-weight:400;}
  .un-aviso{color:#ffb84d;margin-top:2px;}
  .un-link-simple{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer;}
  .un-acciones{white-space:nowrap;}
  .admin-table tr.un-fila-nodisp td:not(.un-acciones){opacity:.8;}
  .admin-table tr.un-fila-nodisp td.num{text-decoration:line-through;text-decoration-color:rgba(255,107,94,.7);}
  .admin-table input.un-edit{width:100%;min-width:110px;box-sizing:border-box;padding:7px 9px;border-radius:7px;border:1px solid var(--amber);background:var(--bg-2, #14140f);color:inherit;font:inherit;font-size:13px;}
  .admin-table tr.un-editando td{background:rgba(245,169,63,.07);}
  .vis-titulo-periodo{font-weight:700;font-size:15px;color:var(--amber);margin:2px 0 2px;}
  .vis-titulo-periodo::first-letter{text-transform:uppercase;}
  .vis-mun-nota{font-size:11.5px;color:var(--text-muted);margin-bottom:2px;}
  .vis-fila-mun{font-size:12px;}
  .vis-fila-mun .vis-barra span{background:#6B8AFD;}
  .contacto-btn-tel{background:transparent;color:var(--text);border:1.5px solid var(--amber);}
  .contacto-btn-tel[hidden]{display:none;}
  .contacto-btn-tel svg{color:var(--amber);}
  .footer-legal a.footer-socio{color:var(--amber);font-weight:600;}
  .sj-modal{max-width:760px;}
  .sj-titulo{font-size:clamp(1.45rem,3.2vw,2rem);line-height:1.2;}
  .sj-sub{color:var(--text-muted);font-size:.98rem;line-height:1.6;margin:0 0 20px;max-width:62ch;}
  .sj-h3{font-size:1rem;margin:22px 0 12px;color:var(--text);}
  .sj-beneficios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .sj-ben{display:flex;gap:12px;align-items:flex-start;background:var(--bg-surface);border:1px solid var(--line);border-radius:12px;padding:14px;}
  .sj-ben svg{flex:0 0 26px;width:26px;height:26px;fill:none;stroke:var(--amber);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-top:2px;}
  .sj-ben strong{display:block;font-size:.95rem;margin-bottom:4px;color:var(--text);}
  .sj-ben p{margin:0;font-size:.86rem;line-height:1.5;color:var(--text-muted);}
  .sj-req{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
  .sj-req li{position:relative;padding-left:26px;font-size:.9rem;line-height:1.55;color:var(--text-muted);}
  .sj-req li::before{content:"✓";position:absolute;left:0;top:0;color:var(--amber);font-weight:700;}
  .sj-req li strong{color:var(--text);}
  .sj-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;width:100%;padding:15px 22px;border:none;border-radius:12px;background:var(--amber);color:#0A0A0A;font:700 1.02rem Inter,system-ui,sans-serif;cursor:pointer;text-decoration:none;transition:filter .15s,transform .15s;}
  .sj-cta:hover{filter:brightness(1.08);}
  .sj-cta:active{transform:translateY(1px);}
  .sj-cta:focus-visible,.sj-volver:focus-visible{outline:2px solid #fff;outline-offset:3px;}
  .sj-volver{background:none;border:none;color:var(--text-muted);cursor:pointer;font:inherit;font-size:.9rem;padding:0;margin-bottom:14px;}
  .sj-volver:hover{color:var(--amber);}
  #sj-form .field{margin-bottom:14px;}
  #sj-form input[type=text]{text-transform:none;letter-spacing:0;}
  .sj-tipos{border:1px solid var(--line);border-radius:10px;padding:10px 14px 12px;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:8px 18px;}
  .sj-tipos legend{font-size:.85rem;color:var(--text-muted);padding:0 6px;}
  .sj-tipos label,.sj-acepto{display:flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer;color:var(--text);}
  .sj-tipos input,.sj-acepto input{width:18px;height:18px;min-width:18px;margin:0;accent-color:#F5A93F;}
  .sj-acepto a{color:var(--amber);}
  .sj-error{color:#FF8A7A;font-size:.88rem;min-height:20px;margin-top:10px;}
  #sj-form .sj-cta{margin-top:8px;}
  #sj-ok{text-align:center;padding:10px 0;}
  .sj-ok-ico{width:58px;height:58px;border-radius:50%;background:var(--amber);color:#0A0A0A;font-size:30px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:6px auto 16px;}
  #sj-ok .sj-sub{margin-left:auto;margin-right:auto;}
  @media (max-width:640px){.sj-beneficios{grid-template-columns:1fr;}.empresas-modal.sj-modal{padding:30px 20px;}}
  #sc-recuperar{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:20px;}
  .sc-rec-caja{background:var(--bg-surface);border:1px solid var(--line);border-radius:14px;padding:26px 24px;max-width:420px;width:100%;color:var(--text);}
  .sc-rec-caja h2{margin:0 0 8px;font-size:1.25rem;}
  .sc-rec-caja p{margin:0 0 14px;color:var(--text-muted);font-size:14px;line-height:1.5;}
  .sc-rec-caja label{display:block;font-size:12px;color:var(--text-muted);margin:10px 0 4px;}
  .sc-rec-caja input{width:100%;text-transform:none;letter-spacing:0;}
  .sc-rec-err{color:#FF8A7A;font-size:13px;min-height:18px;margin-top:8px;}
  .sc-rec-btns{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px;}

  /* ===== Promoción sin texto en la franja: la imagen o el video ocupan todo el recuadro ===== */
  .promo-slide.promo-sin-franja .promo-visual{height:auto;flex:1;min-height:calc(var(--h) + 112px);}
  @media (max-width:640px){ .promo-slide.promo-sin-franja .promo-visual{min-height:calc(var(--h) + 92px);} }
  .promo-dyn-bg-liso{filter:none !important;background:radial-gradient(ellipse at 50% 45%, #2a2a2a 0%, #0c0c0c 60%, #050505 100%);}

  /* ===== Rendimiento: página fluida en celular, tablet y computadora ===== */
  /* Las secciones de abajo no se dibujan hasta que el visitante se acerca a ellas */
  #servicios, #pagos, #redes{content-visibility:auto;contain-intrinsic-size:auto 900px;}
  /* Animaciones infinitas en pausa cuando su sección no está en pantalla o la pestaña está oculta */
  .sc-fuera, .sc-fuera *{animation-play-state:paused !important;}
  html.sc-oculta *{animation-play-state:paused !important;}
  /* Celular y tablet: sin desenfoques en vivo (backdrop-filter) y desenfoques más ligeros */
  @media (hover:none), (pointer:coarse), (max-width:1024px){
    .nav-dropdown-menu{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(48,48,48,0.97);}
    .pv-btn{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(0,0,0,.5);}
    .promo-dyn-bg{filter:blur(12px) brightness(0.45);}
    .hero-promo-img-bg{filter:blur(12px) brightness(0.45) saturate(1.15);}
    .hero-promo-img-fg{filter:none;}
  }

  /* Unidades adicionales de un contrato (control interno) */
  .extras-titulo{font-size:13px;font-weight:700;color:var(--gold,#FFCC00);margin:12px 0 2px;letter-spacing:.02em;}
  .extras-nota{font-size:12px;color:var(--text-muted);margin:0 0 4px;}
  .extra-fila{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line,#333);}
  .extra-fila > div{flex:1;min-width:220px;}
  .extra-fila select{width:100%;}

  /* ===== Editor de secciones del pie de página (panel) ===== */
  .tx-barra{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;align-items:center;}
  .tx-barra button,.tx-barra label{background:#1d1d1d;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:7px 11px;font-size:13px;cursor:pointer;font-family:inherit;}
  .tx-barra button:hover,.tx-barra label:hover{border-color:#FFCC00;color:#FFCC00;}
  .tx-barra .tx-sep{width:1px;height:22px;background:var(--line);margin:0 4px;}
  .tx-marco.empresas-modal{max-width:none;max-height:none;overflow:visible;margin:0;padding:22px 22px;}
  .tx-editor{min-height:260px;max-height:62vh;overflow-y:auto;outline:none;border:1px dashed rgba(255,204,0,.45);border-radius:10px;padding:14px 16px;}
  .tx-editor:focus{border-color:#FFCC00;}
  .tx-editor.legal-modal-body{max-height:62vh;}
  .tx-textarea{width:100%;min-height:420px;font:13px/1.55 ui-monospace,Menlo,Consolas,monospace;background:#0f0f0f;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:12px;resize:vertical;}
  .tx-botones{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
  .tx-adjunto{margin-top:10px;font-size:13px;color:var(--text-muted);}
  .tx-prev{width:100%;height:70vh;border:1px solid var(--line);border-radius:10px;background:#fff;margin-top:12px;}
  .sc-tx-img{max-width:100%;height:auto;border-radius:8px;display:block;margin:10px 0;}
  .sc-tx-pdf{border:1px solid var(--line);border-left:4px solid #FFCC00;border-radius:10px;padding:12px 14px;margin:0 0 16px;background:rgba(255,204,0,.05);}
  .sc-tx-pdf-tit{font-weight:600;color:var(--text);margin-bottom:8px;word-break:break-word;}
  .sc-tx-pdf iframe{width:100%;height:55vh;border:0;border-radius:6px;background:#fff;}
  .sc-tx-pdf-acc{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
  .sc-tx-pdf-acc a{display:inline-block;padding:7px 12px;border-radius:8px;border:1px solid #FFCC00;color:#FFCC00;text-decoration:none;font-size:13px;}
  @media (max-width:760px){ .sc-tx-pdf iframe{display:none;} }
  .empresas-modal-backdrop.sc-encima{z-index:200;}

  /* ===== Celular: botones flotantes un poco más arriba y la página termina por encima de ellos ===== */
  @media (max-width:640px){
    .wsp-float{bottom:calc(72px + env(safe-area-inset-bottom,0px));right:12px;width:50px;height:50px;}
    .wsp-float svg{width:25px;height:25px;}
    .bot-float{bottom:calc(132px + env(safe-area-inset-bottom,0px));right:14px;width:46px;height:46px;}
    .bot-float svg{width:22px;height:22px;}
    /* Mientras escribes en un campo (teclado abierto) los botones se ocultan para no tapar lo que escribes */
    body.sc-escribiendo .wsp-float, body.sc-escribiendo .bot-float{opacity:0;pointer-events:none;transition:opacity .2s;}
    .footer-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;}
    .footer-legal-sep{display:none;}
    .wsp-menu{bottom:calc(136px + env(safe-area-inset-bottom,0px));right:14px;z-index:31;}
    .bot-panel{bottom:calc(196px + env(safe-area-inset-bottom,0px));right:12px;left:12px;width:auto;max-width:none;max-height:calc(100vh - 290px);max-height:calc(100dvh - 290px);}
    body{padding-bottom:calc(150px + env(safe-area-inset-bottom,0px));}
  }

  /* Tablet: el texto de la franja no se encima con las imágenes de las esquinas */
  @media (min-width:641px) and (max-width:1199px){
    .hero-promo-franja .hero-promo-inner{padding-left:23%;padding-right:23%;}
    .hero-promo-franja .hero-promo-icon{display:none;}
    .hero-promo-franja .hero-promo-title{font-size:clamp(1.05rem,2.5vw,1.4rem);}
  }

  .sc-recorrido{margin:0 0 4px;}
  .sc-tr-caja{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#111214;}
  .sc-tr-mapa{position:relative;aspect-ratio:16/8;background:#1a1c1f;}
  .sc-tr-mapa:empty{display:none;}
  .sc-tr-mapa iframe,.sc-tr-mapa svg{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
  .sc-tr-espera{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-muted);font-size:.85rem;background:linear-gradient(100deg,#1a1c1f 30%,#23262a 50%,#1a1c1f 70%) 0 0/220% 100%;}
  @media (prefers-reduced-motion:no-preference){ .sc-tr-espera{animation:sc-tr-brillo 1.4s linear infinite;} }
  @keyframes sc-tr-brillo{to{background-position:-220% 0;}}
  .sc-tr-datos{display:flex;flex-wrap:wrap;gap:8px;padding:12px 12px 2px;}
  .sc-tr-datos:empty{display:none;}
  .sc-tr-dato{background:var(--bg-surface-2);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:.84rem;line-height:1.4;}
  .sc-tr-dato b{color:var(--amber);font-weight:700;}
  .sc-tr-pie{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;padding:8px 12px 12px;font-size:.8rem;}
  .sc-tr-pie:empty{display:none;}
  .sc-tr-pie a{color:#7fb8ff;text-decoration:underline;text-underline-offset:2px;}
  .sc-tr-nota{color:var(--text-muted);flex:1 1 100%;}
  .sc-tr-demo{font-style:italic;}
  .sc-punto-ok{color:#58d68d;font-size:.78rem;margin-top:5px;}
  .sc-tr-aviso{color:#ffcf7a;}
  .sc-oculto{display:none!important;}
  .sc-pax-aviso{margin-top:6px;color:#ffb84d;font-size:.8rem;line-height:1.4;}
  .sc-tipo-nota{margin-top:6px;padding:8px 12px;border-radius:10px;background:rgba(245,169,63,.08);border:1px solid rgba(245,169,63,.35);color:var(--text);font-size:.8rem;line-height:1.45;}
  .sc-tipo-nota[hidden]{display:none;}
  .sc-ruta-interna{margin-top:6px;padding:8px 10px;border-left:3px solid var(--amber);background:rgba(245,169,63,.07);border-radius:6px;display:grid;gap:3px;}
  .sc-ruta-interna a{color:#7fb8ff;text-decoration:underline;}
  .sc-rep{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:8px;}
  .sc-rep div{background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:10px;padding:10px;}
  .sc-rep span{display:block;font-size:12px;color:var(--text-muted);}
  .sc-rep strong{font-size:15px;}
  .sc-rep small{font-weight:400;color:var(--text-muted);}
  .sc-wa-chat{background:#0b141a;border-radius:12px;padding:12px;max-height:52vh;overflow:auto;margin-bottom:10px;}
  .sc-wa-burbuja{background:#005c4b;color:#e9edef;border-radius:10px 0 10px 10px;padding:10px 12px;margin-left:auto;max-width:96%;font-size:13.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;}
  .sc-wa-link{color:#53bdeb;}
  .sc-ac-tip{flex:1 1 100%;width:100%;margin-top:6px;padding:8px 12px;border-radius:10px;background:#2a2410;border:1px solid rgba(255,204,0,.55);color:var(--text);font-size:.8rem;line-height:1.4;box-sizing:border-box;}
