/* =========================================
   MOBILE NAVBAR + DRAWER (NO toca desktop)
   ✅ Fix real: drawer estable + no se corta + links visibles
========================================= */

.navbar-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}

/* Burger (hidden desktop) */
.nav-burger{
  display:none;
  width:48px;
  height:48px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.72);
  box-shadow: 0 14px 30px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.55);
  cursor:pointer;
  position:relative;
  padding:0;
  overflow:visible;
}

/* 3 líneas centradas */
.nav-burger span{
  position:absolute;
  left:12px; right:12px;
  height:2px;
  border-radius:999px;
  background: rgba(0,0,0,.78);
  top:50%;
  margin-top:-1px;
  transition: transform .25s ease, opacity .25s ease;
}
.nav-burger span:nth-child(1){ transform: translateY(-8px); }
.nav-burger span:nth-child(2){ transform: translateY(0); }
.nav-burger span:nth-child(3){ transform: translateY(8px); }

/* Drawer base */
.mnav{
  position: fixed;
  inset: 0;
  z-index: 99999;
  pointer-events: none;
  opacity: 0;
  transition: opacity .22s ease;
}
.mnav.is-open{
  opacity: 1;
  pointer-events: auto;
}

.mnav-backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* ✅ Panel: NO se corta (left+right) y queda alineado a la derecha */
.mnav-panel{
  position:absolute;
  top:12px;
  right:12px;
  bottom:12px;
  left:12px;              /* ✅ evita corte lateral */
  width:auto;
  max-width:420px;        /* ✅ tamaño premium */
  margin-left:auto;       /* ✅ empuja a la derecha */

  border-radius: 22px;
  padding: 16px;

  display:flex;
  flex-direction:column;
  overflow:auto;          /* ✅ si no cabe, scrollea */

  background:
    radial-gradient(900px 650px at 20% 20%, rgba(255,45,45,.16), transparent 60%),
    radial-gradient(900px 650px at 85% 85%, rgba(255,255,255,.06), transparent 62%),
    linear-gradient(180deg, #050505 0%, #0a0a0a 50%, #050505 100%);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 26px 80px rgba(0,0,0,.65);

  transform: translateX(16px);
  transition: transform .28s cubic-bezier(.16,1,.3,1);
  color:#fff;
}
.mnav.is-open .mnav-panel{ transform: translateX(0); }

.mnav-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.mnav-brand{
  display:flex;
  align-items:center;
  gap:10px;
}
.mnav-brand img{ height:40px; width:auto; }
.mnav-title{
  font-family:"Oswald",sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
  color: rgba(255,255,255,.92);
  font-weight:800;
  font-size: 14px;
}
.mnav-close{
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.9);
  font-size: 22px;
  cursor:pointer;
}

/* ✅ Links: visibles sí o sí */
.mnav-links{
  display:grid;
  gap: 10px;
  padding: 14px 0 10px;
}
.mnav-links a{
  display:block;
  text-decoration:none;
  padding: 14px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);

  font-family:"Oswald",sans-serif;
  letter-spacing:.14em;
  text-transform: uppercase;
  font-size: 12px;

  opacity:1;
  visibility:visible;
}

/* Bloque services */
.mnav-block{
  margin-top: 10px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
}
.mnav-label{
  display:block;
  margin-bottom: 10px;
  font-family:"Oswald",sans-serif;
  letter-spacing:.18em;
  text-transform: uppercase;
  font-size: 11px;
  color: rgba(255,255,255,.75);
}
.mnav-select{ position:relative; }
.mnav-select select{
  width:100%;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;

  padding: 14px 44px 14px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.25);
  color: rgba(255,255,255,.92);

  font-family:"Oswald",sans-serif;
  letter-spacing:.14em;
  text-transform: uppercase;
  font-size: 12px;
  outline:none;
}
.mnav-caret{
  position:absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255,255,255,.65);
  pointer-events:none;
  display:grid;
  place-items:center;
}

.mnav-actions{
  display:grid;
  gap: 10px;
  margin-top: 12px;
}
.mnav-lang{
  width:100%;
  justify-content:center;
}
.mnav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding: 16px 24px;
   border-radius: 16px;
  text-decoration:none;

  font-family:"Oswald",sans-serif;
   letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 13px;

  color: #fff;
  background: rgba(255,45,45,.18);
  border: 1px solid rgba(255,45,45,.55);
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
}

/* ✅ MOBILE BREAKPOINT */
@media (max-width: 980px){

  /* Oculta menú desktop */
  .navbar-menu{ display:none !important; }

  /* Evita recortes del header */
  header.navbar, .navbar{
    overflow: visible !important;
    min-height: 64px;
    align-items: center;
  }

  /* Muestra burger */
  .nav-burger{ display:grid !important; place-items:center; }

  /* Ajustes logo/lang */
  .navbar-brand{ font-size: 14px; letter-spacing:.16em; }
  .navbar-logo img{ height: 40px; }

  .lang-switch{
    height: 42px;
    padding: 6px 10px 6px 6px;
  }
}

/* bloquear scroll cuando el drawer está abierto */
body.modal-open{ overflow: hidden; }

.mnav-panel{
  position:absolute;
  top:12px;
  right:12px;
  left:12px;
  bottom:auto;                 /* ✅ ya NO estira hasta abajo */

  width:auto;
  max-width:420px;
  margin-left:auto;

  max-height: calc(100vh - 24px); /* ✅ limita altura */
  overflow:auto;                  /* ✅ scroll si se pasa */

  border-radius: 22px;
  padding: 16px;

  display:flex;
  flex-direction:column;

  background:
    radial-gradient(900px 650px at 20% 20%, rgba(255,45,45,.16), transparent 60%),
    radial-gradient(900px 650px at 85% 85%, rgba(255,255,255,.06), transparent 62%),
    linear-gradient(180deg, #050505 0%, #0a0a0a 50%, #050505 100%);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 26px 80px rgba(0,0,0,.65);

  transform: translateX(16px);
  transition: transform .28s cubic-bezier(.16,1,.3,1);
  color:#fff;
}


/* =========================================
   FIX REAL — eliminar espacio vacío inferior
   (NO reduce el botón)
========================================= */
@media (max-width: 980px){

  #mobileNav .mnav-panel{
    top: 10px !important;
    right: 10px !important;
    left: 10px !important;   /* evita corte lateral */
    bottom: auto !important; /* 🔥 elimina el espacio forzado */

    max-height: calc(100vh - 20px); /* solo lo necesario */
    height: auto !important;

    padding-bottom: 18px !important; /* respiración justa */
    overflow-y: auto !important;
  }

  /* El contenido no empuja hacia abajo */
  #mobileNav .mnav-actions{
    margin-bottom: 0 !important;
  }
}
 /* ===== HERO mobile tweaks — FINAL & VISIBLE ===== */
@media (max-width: 768px){

  /* =========================
     CONTENEDOR HERO
  ========================= */
  .hero.hero--mobile{
    padding: 0 18px !important;
    min-height: 100svh !important;
  }

  /* =========================
     CONTENIDO
  ========================= */
  .hero.hero--mobile .hero-content{
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  /* =========================
     CUADRO DE LAS MANOS
     👉 SE MUEVE CLARAMENTE A LA IZQUIERDA
  ========================= */
  .hero.hero--mobile .hero-hands{
    width: 100% !important;
    max-width: 300px !important;
    margin: 0 auto 1.2rem !important;

    /* 🔥 MOVIMIENTO REAL Y NOTORIO */
    transform: translateX(-22px) translateY(-2px) !important;

    box-sizing: border-box !important;
  }

  .hero.hero--mobile .hero-hands-img{
    width: 100% !important;
    display: block !important;
  }

  /* glow siempre centrado */
  .hero.hero--mobile .hero-hands-glow{
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 140% !important;
  }

  /* =========================
     BOTÓN VIEW CATALOG
     👉 MÁS ANGOSTO (NO FULL WIDTH)
  ========================= */
  .hero.hero--mobile .hero-btn.hero-btn--mobile{
    width: 100px !important;      /* 🔥 MÁS PEQUEÑO */
    max-width: 100px !important;

    margin: 18px auto 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;

    border-radius: 18px !important;
    display: inline-flex !important;
    justify-content: center !important;
  }

  /* ajuste extra en pantallas muy pequeñas */
  @media (max-width: 390px){
    .hero.hero--mobile .hero-hands{
      transform: translateX(-18px) translateY(-2px) !important;
    }

    .hero.hero--mobile .hero-btn.hero-btn--mobile{
      width: 240px !important;
      max-width: 240px !important;
    }
  }
}
/* =========================================================
   ABOUT — MOBILE FIXES (centrado + tamaños)
   ✅ Solo móvil
   ✅ Centra los “glass” (about-text + director)
   ✅ Features: cards más compactas, pero img + h3 más grandes
========================================================= */
@media (max-width: 768px){

  /* Asegura cálculo correcto de anchos (evita el “se va a un lado”) */
  .about-section,
  .about-text,
  .about-director,
  .about-features,
  .feature-item{
    box-sizing: border-box;
  }


  .section-tagline{

     font-size: 0.70rem;


      }
  /* =========================
     ABOUT TEXT (glass)
     - letras un poco más pequeñas
     - glass centrado (sin offset)
  ========================= */
  .about-text{
    width: 100% !important;
    max-width: 560px !important;          /* mismo “centro” visual */
    margin: 16px auto 0 !important;       /* ✅ centrado real */
    margin-inline: auto !important;

    font-size: .92rem !important;         /* 👇 un poco más pequeño */
    line-height: 1.75 !important;

    padding: 14px 14px !important;
    border-radius: 18px !important;
  }

  /* =========================
     FEATURES (cards)
     - cards más pequeñas
     - img + h3 más grandes
  ========================= */
  .about-features{
    width: 100% !important;
    max-width: 560px !important;
    margin: 22px auto 0 !important;       /* ✅ centrado */
    margin-inline: auto !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .feature-item{
    padding: 12px 12px 12px !important;   /* 👇 más compacta */
    border-radius: 18px !important;
    min-height: 0 !important;
  }

  .feature-item img{
    width: 104px !important;              /* ✅ más grande */
    height: 104px !important;
    padding: 10px !important;
    margin: 0 auto 12px !important;
  }

  .feature-item h3{
    font-size: .98rem !important;         /* ✅ más grande */
    letter-spacing: .16em !important;
    line-height: 1.15 !important;
  }

  /* phones: 1 columna */
  @media (max-width: 520px){
    .about-features{
      grid-template-columns: 1fr !important;
    }
  }

  /* =========================
     DIRECTOR (glass)
     - texto un poco más pequeño
     - glass centrado
  ========================= */
  .about-director{
    width: 100% !important;
    max-width: 560px !important;
    margin: 26px auto 0 !important;       /* ✅ centrado */
    margin-inline: auto !important;

    padding: 18px 16px !important;
    gap: 14px !important;
    border-radius: 20px !important;

    flex-direction: column !important;
    text-align: center !important;
  }

  .director-description{
    font-size: .92rem !important;         /* 👇 más pequeño */
    line-height: 1.72 !important;
    margin-bottom: 10px !important;
  }
}

  /* =========================
     SERVICES (mobile header)
     ✅ tamaños + spacing premium
  ========================= */
  .services-section{
    padding: 72px 14px 84px;
  }

  .services-header{
    margin: 0 auto 28px;
    max-width: 560px;
  }

  .services-tagline{
    font-size: .78rem;
    letter-spacing: .22em;
  }

  .services-title-wrap{
    gap: 10px;
    margin-top: 10px;
  }

  .services-title{
   
    letter-spacing: .14em;
    white-space: normal; /* por si se necesita romper */
    text-align: center;
    line-height: 1.05;
  }

  .services-title br{ display:none; }

  .services-title-wrap .line2{
    width: 56px;
    height: 2px;
  }

  .services-intro{
    margin-top: 14px;
    font-size: .98rem;
    line-height: 1.8;
  }

  /* ==================================
     EXTRA: evita bug por clases repetidas
     (si algún CSS pisa .left-line/.right-line)
  =================================== */
  .services-title-wrap .left-line{  transform-origin: right center; }
  .services-title-wrap .right-line{ transform-origin: left  center; }



/* =========================================================
   MOBILE — SERVICES 1/2/3 (solo @media)
   ✅ no rompe desktop
========================================================= */
@media (max-width: 768px){

 

  /* =====================================================
     SERVICE 3 — DEALERS (service-dealers)
     - stack vertical
     - título sin <br> forzado en móvil
  ===================================================== */
  .service-dealers{
    height: auto !important;
    grid-template-columns: 1fr !important;
  }

  .sd-left{
    min-height: 320px !important;
  }

  .sd-left-media{
    height: 260px !important;
    left: 14px !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    clip-path: none !important;
    border-radius: 18px !important;
  }

  .sd-right{
    padding: 22px 16px 22px !important;
    gap: 10px !important;
  }

  .sd-right::before{
    inset: 14px !important;
    border-radius: 20px !important;
  }

  .sd-tag{
    font-size: .78rem !important;
    letter-spacing: .22em !important;
    margin-bottom: 6px !important;
  }

  .sd-title{
    font-size: clamp(1.9rem, 7.2vw, 2.4rem) !important;
    line-height: 1.05 !important;
    font-style: normal !important;
  }

  /* ✅ En móvil, quita los <br> para que el texto fluya */
  .sd-title br{ display:none !important; }

  .sd-panel{
    padding: 16px 14px !important;
    border-radius: 18px !important;
  }

  .sd-panel, .sd-text{
    font-size: .98rem !important;
    line-height: 1.85 !important;
  }

  .sd-bullets li{
    font-size: .90rem !important;
    line-height: 1.6 !important;
    padding-left: 22px !important;
  }

  /* Reveal específico dealers (si estás usando tu fix) */
  html.reveal-ready #servicios-dealers:not(.is-visible) .sd-left-media{
    opacity: 0;
    transform: translateY(-50%) translateX(-20px) !important;
  }
  html.reveal-ready #servicios-dealers:not(.is-visible) .sd-panel{
    opacity: 0;
    transform: translateY(14px) !important;
  }

  #servicios-dealers.is-visible .sd-left-media{
    animation: dealersImgMobileIn .85s cubic-bezier(.16,1,.3,1) both !important;
  }
  #servicios-dealers.is-visible .sd-panel{
    animation: dealersPanelMobileIn .85s cubic-bezier(.16,1,.3,1) both !important;
    animation-delay: .10s !important;
  }

  @keyframes dealersImgMobileIn{
    from{ opacity:0; transform: translateY(-50%) translateX(-20px); }
    to  { opacity:1; transform: translateY(-50%) translateX(0); }
  }
  @keyframes dealersPanelMobileIn{
    from{ opacity:0; transform: translateY(14px); }
    to  { opacity:1; transform: translateY(0); }
  }
}


/* Accesibilidad */
@media (max-width: 768px) and (prefers-reduced-motion: reduce){
  html.reveal-ready .sh-text-block,
  html.reveal-ready .sh-card-top,
  html.reveal-ready .sh-card-bottom,
  html.reveal-ready .service-used-panel,
  html.reveal-ready #servicios-dealers .sd-left-media,
  html.reveal-ready #servicios-dealers .sd-panel{
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
  }
}


/* =========================================================
   MOBILE — CONTACT + REGISTER (solo @media)
   ✅ no rompe desktop
========================================================= */
@media (max-width: 768px){

  /* =========================
     CONTACT (full-bleed ya lo tienes)
  ========================= */
  .contact-section{
    padding: 72px 0 78px !important;
    margin-top: 36px !important;
  }

  .contact-inner{
    padding: 0 14px !important;
  }

  .contact-header{
    margin: 0 auto 22px !important;
    max-width: 680px !important;
  }

  .contact-tagline{
    font-size: 0.78rem !important;
    letter-spacing: .22em !important;
  }

  .contact-intro{
    font-size: 0.60rem !important;
    
  }

  /* Título más compacto */
  .contact-title{
    font-size: clamp(2.3rem, 7.9vw, 3rem) !important;
    letter-spacing: .10em !important;
    margin: 10px 0 10px !important;
  }

  .contact-intro{
    font-size: .98rem !important;
    line-height: 1.85 !important;
    max-width: 640px !important;
  }

  /* Líneas laterales (más cortas en móvil) */
  .contact-section .title-line-wrapper{
    gap: 10px !important;
    margin-top: 10px !important;
  }
  .contact-section .line{
    width: 64px !important;
  }

  /* Grid -> 1 columna */
  .contact-grid{
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    align-items: stretch !important;
  }

  /* Info cards */
  .contact-info{
    gap: 12px !important;
  }

  .contact-card{
    padding: 16px 14px !important;
    border-radius: 16px !important;
  }

  .contact-card h3{
    font-size: 1.0rem !important;
    letter-spacing: .10em !important;
  }
  .contact-card p{
    font-size: .96rem !important;
  }

  /* Form */
  .contact-form{
    padding: 18px 14px 16px !important;
    border-radius: 18px !important;
    transform: translateY(14px) !important; /* en móvil mejor Y que X */
  }
  .contact-section.is-visible .contact-form{
    transform: translateY(0) !important;
  }

  .form-row{
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .form-group{
    margin-bottom: 12px !important;
    gap: 6px !important;
  }

  .form-group label{
    font-size: .90rem !important;
  }

  .form-group input,
  .form-group select,
  .form-group textarea{
    padding: 12px 12px !important;
    border-radius: 14px !important;
    font-size: .98rem !important;
  }

  .form-group textarea{
    min-height: 140px !important;
  }

  .contact-btn{
    margin-top: 14px !important;
    min-height: 54px !important;
    border-radius: 18px !important; /* menos “pill” en móvil, más premium */
    font-size: .98rem !important;
    letter-spacing: .16em !important;
  }

  /* Reduce sombras un poco para que no se vea “pesado” */
  .contact-card,
  .contact-form{
    box-shadow:
      0 18px 50px rgba(0,0,0,.46),
      inset 0 1px 0 rgba(255,255,255,.10),
      inset 0 -1px 0 rgba(0,0,0,.55) !important;
  }
  }

/* =========================================
   REGISTER — MOBILE REFINEMENT (SOFT)
   ✔ todo apenas más compacto
   ✔ mantiene presencia premium
========================================= */
/* =========================================
   ✅ REGISTER — MOBILE (NARROW REFINED)
   - glass un poco más angosto
   - tipografía más ligera
   - botón más contenido
========================================= */
/* =========================================
   ✅ REGISTER — MOBILE (NARROW REFINED)
   - glass un poco más angosto
   - tipografía más ligera
   - botón más contenido
========================================= */
@media (max-width: 768px){

  /* sección: aire equilibrado */
  .register-section{
    padding: 36px 0 !important;
  }

  /* GLASS: más angosto pero elegante */
  .register-inner{
    width: min(82vw, 320px) !important;   /* 🔥 ajuste clave */
    margin: 0 auto !important;

    padding: 16px 14px !important;        /* menos alto */
    border-radius: 16px !important;
  }

  /* TAG */
  .register-tag{
    font-size: .68rem !important;
    letter-spacing: .15em !important;
    margin-bottom: 6px !important;
  }

  /* TÍTULO */
  .register-title{
    font-size: 1.26rem !important;
    line-height: 1.10 !important;
    letter-spacing: .06em !important;
    margin-bottom: 8px !important;
  }

  /* TEXTO */
  .register-text{
    font-size: .82rem !important;
    line-height: 1.5 !important;
    margin-bottom: 14px !important;
  }

  /* BOTÓN — más angosto y limpio */
  .register-btn{
    width: auto !important;
    max-width: 230px !important;          /* 🔥 más angosto */
    padding: 11px 16px !important;
    border-radius: 13px !important;

    font-size: .78rem !important;
    letter-spacing: .17em !important;

    display: inline-flex !important;
    justify-content: center !important;
    margin: 0 auto !important;
  }
}

/* =========================================
   ✅ MOMENTS (MOBILE) — CENTER PERFECT + BETTER LOOK
   - padding simétrico real
   - track 100% (sin min() heredado)
   - imagen centrada sin offsets
   Pegar AL FINAL del responsive.css
========================================= */
@media (max-width: 768px){

  .moments-slider{
    width: 100% !important;
    margin: 0 auto !important;
  }

  .moments-viewport{
    width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;

    /* ✅ padding perfectamente simétrico */
    padding: 18px 16px 54px !important;

    /* ✅ centrado real */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* ✅ track sin ancho propio, sin offsets */
  .moments-track{
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    margin: 0 auto !important;

    left: auto !important;
    right: auto !important;
    transform: none !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* ✅ card centrada */
  .moment-card{
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* ✅ imagen: centrada + un poquito más “pro” */
  .moment-card img{
    display: block !important;
    margin: 0 auto !important;

    width: min(92vw, 420px) !important;
    height: min(62vh, 560px) !important;

    object-fit: cover !important;
    border-radius: 18px !important;

    /* opcional: se ve más limpio */
    box-shadow:
      0 18px 55px rgba(0,0,0,.55),
      inset 0 1px 0 rgba(255,255,255,.10) !important;
  }
}

/* =========================================================
   ✅ RESPONSIVE PACK — TuAutoCon (MOBILE/TABLET ONLY)
   PÉGALO AL FINAL DEL CSS
   No afecta escritorio.
========================================================= */

@media (max-width: 980px){

  /* --------- SAFETY: evita scroll horizontal --------- */
  html, body{ overflow-x: hidden; }
  img{ max-width: 100%; height: auto; }

  /* =========================
     ABOUT
  ========================= */
  .about-section{ padding: 78px 14px; }
  .about-title{ font-size: 2.15rem; letter-spacing: .12em; }
  .about-section .line{ width: 70px; }

  .about-text{
    max-width: 100%;
    padding: 14px 14px;
    font-size: .98rem;
  }

  .about-features{
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 28px;
  }
  .feature-item{ max-width: 100%; }

  .about-director{
    flex-direction: column;
    gap: 18px;
    padding: 26px 16px;
  }
  .director-photo-wrapper{ width: 220px; }
  .director-photo{ width: 220px; border-radius: 90px; }
  .director-info{ text-align: center; }
  .director-name{ font-size: 2.3rem; }
  .director-role { font-size: 13px; }


  /* =========================
     SERVICES HEADER
  ========================= */
  .services-section{ padding: 78px 6% 92px; }
  .services-title{ font-size: 2.4rem; }
  .services-title-wrap{ gap: 8px; }
  .services-title-wrap .line2{ width: 70px; }


  



  /* =========================
     SERVICE 3 (DEALERS)
  ========================= */
  .service-dealers{
    grid-template-columns: 1fr;
    height: auto;              /* ✅ quita 740px */
    border-radius: 22px;
  }

  .sd-left{ min-height: 360px; }

  .sd-left-media{
    position: relative;
    left: 16px;
    right: 16px;
    top: auto;
    transform: none;           /* ✅ sin translateY -50% */
    height: 320px;
    clip-path: none;
    border-radius: 18px;
  }

  .sd-right{
    padding: 26px 16px 30px;
  }

  .sd-right::before{
    inset: 14px;
    border-radius: 22px;
  }

  .sd-title{
    font-size: 2.2rem;
    line-height: 1.05;
  }


  /* =========================
     CONTACT
  ========================= */
  .contact-section{
    padding: 78px 0 88px;
  }
  .contact-inner{
    padding: 0 6%;
  }
  .contact-title{
    font-size: 2.15rem;
  }
  .contact-section .line{ width: 70px; }

  .contact-grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .form-row{ grid-template-columns: 1fr; }

  .contact-form{
    padding: 22px 16px;
    min-height: auto;         /* ✅ que no quede gigante */
  }

  .contact-btn{ margin-top: 22px; }


  /* =========================
     REGISTER
  ========================= */
  .register-section{ padding: 38px 0; }
  .register-inner{
    width: calc(100% - 24px);
    padding: 22px 16px;
    border-radius: 20px;
  }
  .register-title{ font-size: 1.55rem; }
  .register-text{ font-size: .92rem; }


/* =========================================
   ✅ MOMENTS (MOBILE) — MÁS ANCHO + FOTO COMPLETA
   Pegar AL FINAL del responsive.css
========================================= */
@media (max-width: 768px){

  /* que el contenedor negro use casi todo el ancho */
  .moments-slider{
    width: 100% !important;
    margin: 0 auto !important;
    border-radius: 22px !important;
  }

  /* viewport más ancho, menos padding lateral */
  .moments-viewport{
    width: 100% !important;
    margin: 0 auto !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 16px 10px 54px !important;  /* 🔥 menos padding */
    height: min(78vh, 680px) !important; /* 🔥 un poco más alto */
  }

  .moments-track{
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
  }

  .moment-card{
    position: absolute !important;
    inset: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* 🔥 imagen MÁS ANCHA y bien proporcionada */
  .moment-card img{
    display: block !important;
    margin: 0 auto !important;

    width: min(520px, 96vw) !important;  /* ✅ más ancho */
    height: min(72vh, 640px) !important; /* ✅ más alto */

    object-fit: contain !important;      /* ✅ NO recorta la foto */
    background: #000 !important;         /* relleno elegante si sobra */
    border-radius: 18px !important;
  }
}


  /* =========================
     CAREERS
  ========================= */
  .careers-section{
    width: calc(100% - 24px) !important;
    margin: 46px auto !important;
    padding: 58px 16px !important;
    border-radius: 22px;
  }

  .careers-title{
    font-size: 2.05rem !important;
    letter-spacing: .10em !important;
    text-align: center;
  }

  .careers-subtitle{
     font-size: 0.90rem !important;
    }

    .careers-cta-text{
     font-size: 0.90rem !important;
    }

  .careers-section .line{ width: 70px; }

  .careers-grid{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .careers-cta{
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }

  .careers-btn{
    width: auto !important;            /* quita el 100% */
    min-width: 210px !important;       /* tamaño mínimo */
    max-width: 260px !important;       /* más angosto */
    padding: 13px 20px !important;     /* un poco más compacto */
    font-size: .92rem !important;
    letter-spacing: .20em !important;
    border-radius: 14px !important;
  }
}
/* iPhone pequeño */
@media (max-width: 390px){
  .careers-btn{
    min-width: 200px !important;
    max-width: 240px !important;
  }
}

/* =========================================================
   ✅ FOOTER — MOBILE CENTERED + RESPONSIVE (OVERRIDE)
   PÉGALO AL FINAL DEL CSS
========================================================= */
@media (max-width: 768px){

  /* contenedor principal */
  .footer-container{
    grid-template-columns: 1fr;     /* ✅ 1 columna */
    gap: 28px;
    padding: 0 18px;
    text-align: center;            /* ✅ centra textos */
    justify-items: center;         /* ✅ centra items del grid */
  }

  /* brand */
  .footer-brand{
    align-items: center;
  }
  .footer-logo{
    margin: 0 auto;
  }
  .footer-slogan{
    max-width: 340px;
    margin: 0 auto;
  }

  /* mini */
  .footer-mini{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 auto;
  }

  /* títulos */
  .footer h4{
    margin: 0 auto 14px;
  }
  .footer h4::after{
    left: 50%;
    transform: translateX(-50%) scaleX(.75); /* ✅ underline centrado */
    transform-origin: center;
  }
  .footer-links:hover h4::after,
  .footer-social:hover h4::after,
  .footer-contact:hover h4::after{
    transform: translateX(-50%) scaleX(1);
  }

  /* links */
  .footer-links ul{
    display: grid;
    gap: 10px;
    justify-items: center;
  }
  .footer-links li{ margin: 0; }

  .footer-links a::after{
    left: 50%;
    transform: translateX(-50%);
  }

  /* social */
  .footer-social{
    align-items: center;
  }
  .social-icons{
    justify-content: center; /* ✅ centra botones */
    margin-top: 12px;
  }

  /* ✅ fix: tus iconos son <i>, no <img> */
  .social-btn i{
    font-size: 18px;
    color: #fff;
    position: relative;
    z-index: 1;
    transition: transform .22s ease;
  }
  .social-btn:hover i{
    transform: scale(1.08);
  }

  /* contacto */
  .footer-contact{
    align-items: center;
  }
  .footer-contact-list{
    align-items: center;
  }
  .footer-contact-item{
    justify-content: center;
    text-align: left; /* se ve mejor para número/email */
  }

  /* botón */
 /* botón */
/* ✅ CTA Quote — más angosto en móvil */
.cta-quote{
  width: auto;                 /* no full width */
  min-width: 200px;            /* tamaño base */
  max-width: 240px;            /* más angosto */
  padding: 12px 20px;          /* compacto */
  justify-content: center;
  margin: 12px auto 0;         /* centrado */
  font-size: .9rem;
  letter-spacing: .18em;
  border-radius: 14px;
}


  /* copyright */
  .footer-copy{
    margin-top: 34px;
    padding: 18px 14px 0;
  }
}


@media (max-width: 390px){
  .cta-quote{
    min-width: 190px;
    max-width: 220px;
    padding: 11px 18px;
    font-size: .88rem;
  }
}





/* =========================================================
   ✅ KILL (MOBILE) — SERVICE 1: quitar imagen 2 + quitar Secure Purchase
   (ultra específico para que nadie lo pise)
========================================================= */

/* =========================================================
   ✅ SERVICE 1 — MOBILE (FIX FINAL)
   - Solo 1 imagen
   - Imagen GRANDE debajo del título y arriba del texto
   - Oculta TODO el panel derecho (evita que se vuelva a ir abajo)
========================================================= */
@media (max-width: 768px){

  /* El layout del servicio en móvil */
  #servicios-asesoria.service-highlight{
    padding: 34px 18px !important;
    gap: 16px !important;
  }

  /* Asegura que el lado izquierdo sea “la columna real” */
  #servicios-asesoria .sh-left{
    width: 100% !important;
  }

  /* ✅ La imagen principal (movimiento.png) cuando el JS la mueve a .sh-left */
  #servicios-asesoria .sh-left > .sh-card-top{
    display: block !important;
    width: 100% !important;

    /* 🔥 aquí controlas la altura sin que se desordene */
    height: clamp(260px, 40vh, 440px) !important;

    margin: 14px 0 14px !important;
    transform: none !important;
    max-width: none !important;
    border-radius: 18px !important;
  }

  #servicios-asesoria .sh-left > .sh-card-top .sh-media,
  #servicios-asesoria .sh-left > .sh-card-top img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: none !important;
  }

  /* ✅ Oculta imagen 2 sí o sí */
  #servicios-asesoria .sh-card-bottom,
  #servicios-asesoria img[src*="volante"]{
    display: none !important;
  }

  /* ✅ Quita Secure purchase sí o sí */
  #servicios-asesoria .sh-metric,
  #servicios-asesoria .sh-benefit,
  #servicios-asesoria [class*="benefit"],
  #servicios-asesoria [class*="metric"]{
    display: none !important;
  }

  /* 🔥 CLAVE: oculta TODO el panel derecho en móvil
     (si no, ese contenedor sigue existiendo y puede reordenar/empújar) */
  #servicios-asesoria .sh-right{
    display: none !important;
  }

  /* Glass del párrafo (sh-text-block) */
  #servicios-asesoria .sh-text-block{
    width: 100% !important;
    max-width: 260px !important;          /* 🔥 más angosto */
    margin: 14px auto 0 !important;       /* centrado real */
    margin-inline: auto !important;

    padding: 14px 14px !important;        /* un poco más compacto */
    border-radius: 18px !important;

    clip-path: none !important;           /* en móvil se ve más limpio */
  }

  /* Texto dentro del glass */
  #servicios-asesoria .sh-text-block p{
    font-size: .80rem !important;         /* 🔥 más pequeño */
    line-height: 1.65 !important;
    margin: 0 0 12px !important;
  }
  #servicios-asesoria .sh-text-block p:last-child{
    margin-bottom: 0 !important;
  }

  /* Bullets */
  #servicios-asesoria .sh-bullets{
    margin-top: 14px !important;
  }
  #servicios-asesoria .sh-bullets li{
    font-size: .78rem !important;         /* 🔥 más pequeño */
    line-height: 1.5 !important;
  }
}


/* =========================================================
   ✅ SERVICE 2 — MOBILE: flecha.png debajo del título
   (Pegar al FINAL del responsive.css)
/* =========================================================
   ✅ SERVICE 2 — MOBILE: Head + Flecha arriba del texto y bullets
========================================================= */
@media (max-width: 768px){

  /* Contenedor principal en columna */
  #servicios-usados .service-used-inner{
    display: flex !important;
    flex-direction: column !important;
    padding-top: 24px !important;
    padding-bottom: 28px !important;
  }

  /* 1) Título arriba */
  #servicios-usados .service-used-head{
    order: 1 !important;
    margin: 18px 16px 10px !important;
  }

  /* 2) Flecha/imagen debajo del título */
  #servicios-usados .service-used-arrow{
    order: 2 !important;

    display: block !important;
    position: relative !important;

    margin: 14px 10px 20px 26px !important;

    height: 260px !important;
    max-width: 92% !important;

    background-image: url("../images/services/flecha.png") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;

    overflow: hidden !important;
    filter: drop-shadow(0 24px 60px rgba(0,0,0,.35)) !important;
    z-index: 4 !important;
  }

  /* 3) Párrafos debajo de la flecha */
  #servicios-usados .service-used-panel{
    order: 3 !important;
  }

  /* 4) Bullets al final */
  #servicios-usados .su-bullets-box{
    order: 4 !important;
     font-size: .78rem !important;
  }

  .su-text{

     font-size: .90rem !important;
}

  .su-bullets{
        font-size: .90rem !important;
 }
}


/* =========================================================
   ✅ SERVICE 3 (DEALERS) — MOBILE REFINEMENT
   - Imagen centrada + más angosta
   - Título más grande
========================================================= */
@media (max-width: 768px){

  /* =========================
     IMAGEN (sd-left-media)
  ========================= */
  #servicios-dealers .sd-left{
    display: flex !important;
    justify-content: center !important;
  }

  #servicios-dealers .sd-left-media{
    position: relative !important;

    width: min(88%, 420px) !important;   /* 🔥 más angosta */
    height: 300px !important;

    margin: 0 auto !important;           /* 🔥 centrado real */
    left: auto !important;
    right: auto !important;
    transform: none !important;

    clip-path: none !important;
    border-radius: 22px !important;

    box-shadow:
      0 22px 60px rgba(0,0,0,.55),
      inset 0 1px 0 rgba(255,255,255,.10) !important;
  }

  #servicios-dealers .sd-left-img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 22px !important;
  }

  /* =========================
     TÍTULO (más grande)
  ========================= */
  #servicios-dealers .sd-title{
    font-size: clamp(2.4rem, 8.8vw, 2.9rem) !important; /* 🔥 más grande */
    line-height: 1.05 !important;
    letter-spacing: .06em !important;
    margin-bottom: 14px !important;
  }

  /* opcional: elimina saltos forzados en móvil */
  #servicios-dealers .sd-title br{
    display: none !important;
  }


  
}

/* =========================================================
   SERVICE 3 — MOBILE FIX (imagen centrada, más angosta, NO cortada)
   Pegar al FINAL del responsive.css
========================================================= */
@media (max-width: 768px){

  /* el contenedor izquierdo ya no “centra” con top/translate */
  #servicios-dealers .sd-left{
    min-height: 0 !important;
    padding: 18px 16px 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important; /* queda más arriba */
    overflow: visible !important;
  }

  /* imagen: centrada + más angosta + altura controlada */
  #servicios-dealers .sd-left-media{
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;

    width: min(520px, calc(100% - 32px)) !important; /* mismo aire a ambos lados */
    height: 280px !important;                         /* ✅ sube altura aquí */
    margin: 12px auto 0 !important;

    border-radius: 18px !important;
    clip-path: none !important;
    overflow: hidden !important; /* asegura border-radius real */
  }

  /* asegura que la imagen llene el frame */
  #servicios-dealers .sd-left-img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: inherit !important;
    display: block !important;
  }


    .sd-text{

       font-size: .85rem !important;

  }
  .sd-bullets{
 
       font-size: .75rem !important;

  }

  
}

@media (max-width: 768px){
  /* El tamaño real está aquí (en los spans) */
  .moments-title .moments-title-line{
    font-size: 35px !important;
    line-height: 1.05;
  }
}



/* ✅ FIX GLOBAL: quita margen por defecto y evita “bleed” lateral */
html, body{
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  max-width: 100%;
  overflow-x: clip; /* mejor que hidden */
}

/* evita que algo empuje el layout */
body{
  position: relative;
}


/* === FIX ORILLO BLANCO / OVERFLOW X (GLOBAL) === */
html, body{
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  background: #050505; /* por si algo “asoma” */
  overflow-x: hidden;
}

/* si tu navegador soporta clip, es mejor que hidden */
@supports (overflow: clip){
  html, body{ overflow-x: clip; }
}

/* evita que elementos grandes empujen */
img, video, svg, canvas{
  max-width: 100%;
  height: auto;
}

/* ayuda con wrappers/sections full width */
section, header, footer{
  max-width: 100%;
  overflow-x: clip;
}



/*botones servicios */

@media (max-width: 768px){

  .service-cta{
    min-width: unset;
    padding: 11px 14px;

    font-size: .78rem;
    letter-spacing: .10em;

    border-radius: 12px;
    gap: 8px;
  }

  .service-cta-icon{
    width: 26px;
    height: 26px;
    font-size: .85rem;
    border-radius: 9px;
  }

}

@media (max-width: 768px){

  .service-cta{
    width: auto;           /* ❌ ya no ocupa todo el ancho */
    max-width: max-content;

    padding: 10px 14px;    /* más compacto */
  }

}

/* =========================================================
   ✅ FIX: SERVICE 2 — CTA debajo de bullets en MOBILE
========================================================= */
@media (max-width: 768px){

  /* ya tienes flex en .service-used-inner, aquí solo ordenamos el CTA */
  #servicios-usados .service-cta-wrap{
    order: 5 !important;            /* ✅ después de bullets (order 4) */
    margin: 18px 0 0 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    justify-content: center !important;
  }

  /* opcional: asegura que panel y bullets estén antes */
  #servicios-usados .service-used-panel{ order: 3 !important; }
  #servicios-usados .su-bullets-box{     order: 4 !important; }

    #servicios-usados .service-cta-wrap{
    position: relative !important;
    top: auto !important;
  }

}


/* =========================================================
   ✅ CENTRAR “OUR SERVICES” EN MÓVIL
========================================================= */
@media (max-width:768px){

  .services-title-wrap{
    display:flex;
    align-items:center;
    justify-content:center;   /* 🔥 centra todo el bloque */
    text-align:center;
    width:100%;
  }

  .services-title{
    margin:0 auto;
  }

}
/* =========================================================
   ✅ WE ARE HIRING — TODO CENTRADO EN MÓVIL
========================================================= */
/* =========================================
   ✅ WE ARE HIRING — CENTER FIX (MOBILE)
   - anula offsets raros de desktop
========================================= */
@media (max-width: 980px){

  .careers-hiring{
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 22px 16px;     /* un poco más mobile-friendly (opcional) */
  }

  /* 🔥 EL PROBLEMA: este padding-left fijo rompe el centrado */
  .hiring-left{
    padding-left: 0 !important;
    flex: 1 1 auto;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;    /* centra badge/titulo/texto */
  }

  .hiring-badge{
    margin: 0 auto 10px;
  }

  .hiring-title,
  .hiring-sub{
    margin-left: auto;
    margin-right: auto;
  }

  /* 🔥 EL OTRO PROBLEMA: margin-right en la imagen */
  .hiring-right{
    width: 100%;
    max-width: 100%;
    min-width: 0;
    justify-content: center;
  }

  .hiring-img{
    margin-right: 0 !important;
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 265px;  /* ajusta si la quieres más grande */
  }
}

/* =========================================================
   ✅ CTA — BOTÓN ARRIBA Y TEXTO ABAJO EN MÓVIL
========================================================= */

@media (max-width:768px){

  .careers-cta{
    display:flex;
    flex-direction:column;
    text-align:center;
    gap:14px;
  }

  .careers-btn{
    order:-1;          /* 🔥 botón arriba */
    margin-inline:auto;
  }

  .careers-cta-text{
    order:2;
    max-width:520px;
    margin-inline:auto;
  }

}
/* ===========================
   LANG SWITCH — FLAG PREMIUM (CATALOGO)
=========================== */
.lang-switch{
  position: relative;
  z-index: 2;

  height: 44px;
  padding: 6px 10px 6px 6px;

  display: inline-flex;
  align-items: center;
  gap: 10px;

  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);

  background: rgba(255,255,255,.72);
  box-shadow:
    0 14px 30px rgba(0,0,0,.10),
    inset 0 1px 0 rgba(255,255,255,.55);

  cursor: pointer;
  user-select: none;

  transition:
    transform .18s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background .22s ease;
}

@supports ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))){
  .lang-switch{
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
}

.lang-switch::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  pointer-events:none;
  background: linear-gradient(135deg, rgba(255,45,45,.14), rgba(255,255,255,0) 55%);
  opacity:.55;
}

.lang-switch > *{
  position: relative;
  z-index: 1;
}

/* 🔥 bandera más compacta (NO redonda) */
.lang-flag{
  width: 36px !important;
  height: 26px !important;
  min-width: 36px !important;
  min-height: 26px !important;
  border-radius: 8px !important;
  overflow: hidden !important;

  border: 1px solid rgba(0,0,0,.12);
  box-shadow:
    0 10px 22px rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.35);

  background: rgba(255,255,255,.35);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.lang-flag img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
  border-radius: 0 !important; /* evita redondeos externos */
}

/* texto EN / ES */
.lang-code{
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  color: rgba(0,0,0,.80);
  text-transform: uppercase;
  transform: translateY(0.5px);
  line-height: 1;
}

.lang-caret{
  display: grid;
  place-items: center;
  color: rgba(0,0,0,.55);
  transition: color .22s ease, transform .22s ease;
}

/* hover */
.lang-switch:hover{
  transform: translateY(-1px);
  border-color: rgba(255,45,45,.28);
  box-shadow:
    0 18px 40px rgba(0,0,0,.14),
    0 0 0 3px rgba(255,45,45,.10),
    inset 0 1px 0 rgba(255,255,255,.55);
  background: rgba(255,255,255,.82);
}

.lang-switch:hover .lang-caret{
  color: rgba(0,0,0,.80);
  transform: translateY(1px);
}

.lang-switch:active{
  transform: translateY(0);
  box-shadow:
    0 12px 26px rgba(0,0,0,.12),
    inset 0 1px 0 rgba(255,255,255,.50);
}

/* MOBILE */
@media (max-width: 980px){
  .lang-switch{
    height: 42px;
    padding: 6px 10px 6px 6px;
  }

  .lang-flag{
    width: 34px !important;
    height: 24px !important;
    min-width: 34px !important;
    min-height: 24px !important;
    border-radius: 7px !important;
  }

  .lang-code{
    font-size: 11px;
    letter-spacing: .16em;
  }
}
