/* mobile-overrides.css — 2025-10-14 */
:root{ --neon-cyan:#00e5ff; --naranja:#ff8c00; }

/* Cian para "Tu socio tecnológico" (sin fucsia) */
.tu-socio-tecnologico, .socio-tecnologico, .tagline, .tagline .accent{
  color: var(--neon-cyan) !important;
  text-shadow: 0 0 6px rgba(0,229,255,.9), 0 0 16px rgba(0,229,255,.6), 0 0 28px rgba(0,229,255,.4);
}

/* Neón cian "Siempre Conectados" y "Tu socio tecnológico" */
.siempre-conectados, .tu-socio-tecnologico{
  color: var(--neon-cyan) !important;
  text-shadow: 0 0 6px rgba(0,229,255,.9), 0 0 16px rgba(0,229,255,.6), 0 0 28px rgba(0,229,255,.4);
  letter-spacing:.3px;
}

/* Firma */
.site-footer .firma-profull{
  display:block; text-align:center; font-size:.95rem; padding:14px 8px; color:#cfd8dc;
}
.site-footer .firma-profull a{
  color:var(--neon-cyan); text-decoration:none; border-bottom:1px dotted rgba(0,229,255,.5);
}
.site-footer .firma-profull a:hover{
  text-shadow:0 0 6px rgba(0,229,255,.9),0 0 16px rgba(0,229,255,.6);
}

/* Móvil */
@media (max-width:768px){
  /* Botones naranja: bajar y más sólidos */
  #soporte-pc .cta-naranja, section[data-section="soporte-pc"] .cta-naranja,
  #redes .cta-naranja, section[data-section="redes"] .cta-naranja{
    position:static !important; display:block; width:100%;
    margin:12px 0 0 0 !important;
  }
  .cta-naranja{ background:rgba(255,140,0,.95)!important; color:#111!important; backdrop-filter:none!important; box-shadow:0 6px 18px rgba(255,140,0,.35); }
  .hero, .section-media, .section-content{ overflow:visible; }

  /* Mapa arriba del formulario */
  .contact-wrapper{ display:flex; flex-direction:column; gap:12px; }
  .contact-wrapper .mapa{ order:0; }
  .contact-wrapper .formulario{ order:1; }
  .contact-wrapper .mapa iframe, .contact-wrapper .mapa, .map-container{
    width:100%!important; height:300px!important;
  }
}

/* === Animación sutil de brillo neón para "TU SOCIO TECNOLÓGICO" (solo móvil) === */
@media (max-width:768px){
  .tu-socio-tecnologico{
    animation: cyanGlow 2.8s ease-in-out infinite;
  }
}
@keyframes cyanGlow{
  0%, 100%{
    text-shadow:
      0 0 4px rgba(0,229,255,.6),
      0 0 10px rgba(0,229,255,.45),
      0 0 18px rgba(0,229,255,.25);
  }
  50%{
    text-shadow:
      0 0 6px rgba(0,229,255,.9),
      0 0 16px rgba(0,229,255,.6),
      0 0 28px rgba(0,229,255,.4);
  }
}

/* Respeto accesibilidad: si el usuario prefiere reducir movimiento, desactivo animación */
@media (prefers-reduced-motion: reduce){
  .tu-socio-tecnologico{ animation: none !important; }
}



@media (max-width:768px){
  .siempre-conectados{
    animation: cyanGlow 2.8s ease-in-out infinite;
  }
}
@media (prefers-reduced-motion: reduce){
  .siempre-conectados{ animation: none !important; }
}


/* ====== Header: restaurar menú hamburguesa ====== */
@media (max-width: 992px){
  header .menu-toggle, .menu-toggle{
    display: inline-flex !important;
    align-items: center; justify-content: center;
    width: 44px; height: 44px; cursor: pointer;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 10px;
    background: rgba(0,0,0,.35);
  }
  .menu-toggle .bar{ 
    display:block; width:22px; height:2px; margin:3px 0; 
    background:#e6eef3; 
  }
  header nav, .site-nav{
    display: none;
  }
  body.menu-open header nav,
  body.menu-open .site-nav{
    display: block;
  }
  header nav ul, .site-nav ul{ 
    display:block; padding:10px 0; margin:0; 
  }
  header nav li, .site-nav li{ 
    display:block; margin:8px 0; 
  }
}

/* ====== Contacto: centrar área y eliminar fondo negro viejo ====== */
#contacto .contact-wrapper, .contact-wrapper{
  max-width: 980px;
  margin: 0 auto;
  align-items: center;
}
/* El "cuadrado negro" probable placeholder del mapa */
.mapa, .map-container, .old-map, .map-placeholder{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.mapa:empty, .map-container:empty, .old-map:empty, .map-placeholder:empty{
  display: none !important;
}

/* Firma nueva (gris, más pequeña) */
.site-footer .firma-sti{
  display:block; text-align:center; font-size:.85rem; padding:14px 8px; color:#9aa5ad;
}


/* ====== Hamburguesa a la derecha y acordeón ====== */
@media (max-width: 992px){
  header { position: relative; }
  header .menu-toggle, .menu-toggle{
    position: absolute;
    right: 12px;
    top: 12px;
  }
  /* Nav estilo acordeón */
  header nav, .site-nav{
    width: 100%;
  }
  header nav ul, .site-nav ul{
    list-style: none;
    margin: 0; padding: 0;
  }
  header nav li, .site-nav li{
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .nav-accordion-item > a{
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 10px;
  }
  .nav-accordion-item .submenu{
    max-height: 0; overflow: hidden;
    transition: max-height .3s ease;
  }
  .nav-accordion-item.open .submenu{
    max-height: 400px; /* suficiente para 6-8 items */
  }
}

/* ====== Título/Frase junto al logo (centrado, fucsia, subrayado y link) ====== */
.brand-title{
  display:block;
  text-align:center;
  font-size: .95rem; /* más pequeño */
  color: #ff4fbf; /* fucsia */
  margin: 8px auto 0;
  text-decoration: underline;
}
.brand-title a{ color:#ff4fbf; text-decoration: underline; }
.brand-title a:hover{ opacity:.9; }

/* ====== Contacto centrado e inputs con borde fucsia ====== */
.contact-wrapper, .contacto, .contacto-wrapper, .form-wrapper{
  max-width: 780px;
  margin: 0 auto;
}
form input[type="text"],
form input[type="email"],
form input[type="tel"],
form input[type="number"],
form input[type="search"],
form input[type="url"],
form select,
form textarea{
  border: 1.5px solid #ff4fbf !important; /* fucsia */
  border-radius: 8px;
}
form input:focus, form select:focus, form textarea:focus{
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(255,79,191,.15);
  border-color: #ff4fbf !important;
}


/* ====== Firma al pie (v6) ====== */
.site-footer .firma-sti{
  display:block;
  text-align:center;
  font-size:.8rem; /* más pequeña */
  padding:12px 8px;
  color:#9aa5ad; /* gris suave */
}
.site-footer .firma-sti a{
  color: inherit; /* mantiene gris */
  text-decoration: none;
  border-bottom: 1px dotted rgba(154,165,173,.7);
}
.site-footer .firma-sti a:hover{
  opacity:.9;
}


/* ====== v7 Mobile layout & visuals ====== */
@media (max-width: 768px){
  html, body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    margin:0;
    padding:0;
  }
  *, *::before, *::after{ box-sizing:border-box; }

  /* Asegurar que no quede franja azul a la derecha por desbordes */
  .page, .wrapper, .container, .container-fluid, .site, .site-wrap,
  header, footer, .header, .footer, .header-inner, .footer-inner{
    max-width:100vw !important;
    width:100% !important;
    margin:0 auto !important;
  }

  /* Encabezado y pie negros, mismo ancho del viewport y centrados */
  header, .header, footer, .footer{
    background:#000 !important;
  }
  /* Reducir paddings si se ve "muy grande" en mobile */
  header .header-inner, .header .header-inner, header .container, .header .container{
    padding-left:12px !important; padding-right:12px !important;
    padding-top:10px !important; padding-bottom:10px !important;
  }
  footer .footer-inner, .footer .footer-inner, footer .container, .footer .container{
    padding-left:12px !important; padding-right:12px !important;
  }

  img, video, iframe{ max-width:100%; height:auto; }

  /* Hamburguesa a la derecha (ya aplicado) */
  .menu-toggle{ right:12px; top:12px; }

  /* WhatsApp: forzar visible abajo a la derecha */
  .whatsapp, .whatsapp-float, .btn-whatsapp, a[href*="wa.me"], a[href*="api.whatsapp.com"]{
    position: fixed !important;
    right: 16px !important;
    bottom: 16px !important;
    z-index: 9999 !important;
    transform: none !important;
    opacity: 1 !important;
    display: inline-flex !important;
    align-items: center; justify-content: center;
    width: 56px; height: 56px;
    border-radius: 50%;
  }
}

/* Estilo de las barritas del ícono (4 líneas) */
.menu-toggle .bar{
  display:block; width:22px; height:2px; margin:3px 0;
  background:#e6eef3;
}


/* ====== v8: Botones naranja grandes tipo "pill", debajo de imagen, y legibles ====== */
@media (max-width: 768px){
  .cta-naranja, .btn-naranja, button[data-cta="naranja"]{
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 520px !important;
    margin: 12px auto 0 !important;
    padding: 14px 18px !important;
    border-radius: 999px !important; /* oval/pill */
    background: rgba(255,140,0,0.95) !important;
    color: #111 !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
    white-space: normal !important; /* que no corte el texto */
    text-align: center !important;
    box-shadow: 0 8px 22px rgba(255,140,0,.35) !important;
  }
  /* Si algún tema les da alto/alto fijo, lo neutralizamos */
  .cta-naranja *, .btn-naranja *{ font-size: inherit !important; line-height: inherit !important; }

  /* Colocar inmediatamente después de la imagen/video */
  .section-media + .cta-naranja,
  .media + .cta-naranja,
  .imagen + .cta-naranja{
    margin-top: 12px !important;
  }
}

/* ====== v8: Header: evitar superposición del menú con el título/logo ====== */
@media (max-width: 992px){
  header, .header{ position: relative; }
  /* Dar espacio arriba para la hamburguesa y que no se superponga con el título */
  header .header-inner, .header .header-inner, header .container, .header .container{
    padding-top: 56px !important;
  }
  .menu-toggle{
    top: 10px !important; right: 12px !important; z-index: 1001 !important;
  }
  /* Dropdown más prolijo */
  header nav, .site-nav{
    background: #000 !important;
    z-index: 1000 !important;
  }
  header nav ul li a, .site-nav ul li a{
    display: block; padding: 12px 14px;
  }
  .nav-accordion-item .submenu{ border-top: 1px solid rgba(255,255,255,.06); }
}

/* Por si algún botón quedó redondo por width/height fijas del tema */
@media (max-width: 768px){
  .cta-naranja, .btn-naranja{
    height: auto !important;
    min-height: 44px !important;
  }
}


/* ====== v9: Soporte para PC → botón full-width debajo de la imagen, no redondo ni diminuto ====== */
@media (max-width: 768px){
  #soporte-pc .cta-naranja,
  section[data-section="soporte-pc"] .cta-naranja{
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 12px 0 0 0 !important; /* debajo de la imagen */
    padding: 14px 18px !important;
    border-radius: 14px !important; /* NO redondo */
    height: auto !important;
    min-height: 48px !important;
    white-space: normal !important;
    text-align: center !important;
    font-size: 1.05rem !important;
    line-height: 1.25 !important;
    /* NO tocar el background/transparencia existente */
  }
  /* Heredados raros del tema dentro del botón */
  #soporte-pc .cta-naranja *,
  section[data-section="soporte-pc"] .cta-naranja *{
    font-size: inherit !important;
    line-height: inherit !important;
  }
}


/* ====== v10: FULL-BLEED (BORDE A BORDE) EN MÓVIL, DEBAJO DE LA IMAGEN ====== */
@media (max-width: 768px){
  /* Contención general para evitar scroll horizontal por full-bleed */
  html, body{ overflow-x:hidden; }
  /* Soporte para PC */
  #soporte-pc .cta-naranja,
  section[data-section="soporte-pc"] .cta-naranja,
  /* Soporte Remoto (nombres alternativos) */
  #soporte-remoto .cta-naranja,
  section[data-section="soporte-remoto"] .cta-naranja,
  section[data-section="soporte remoto"] .cta-naranja{
    position: relative !important;
    display: block !important;
    width: 100vw !important;         /* ancho completo del viewport */
    max-width: 100vw !important;
    left: 50% !important;            /* centrar respecto al viewport */
    right: auto !important;
    transform: translateX(-50%) !important;
    margin: 12px 0 0 0 !important;   /* debajo de la imagen */
    padding: 16px 18px !important;   /* legible */
    border-radius: 14px !important;  /* no redondo */
    height: auto !important;
    min-height: 50px !important;
    white-space: normal !important;
    text-align: center !important;
    font-size: 1.06rem !important;
    line-height: 1.28 !important;
  }
  /* Neutralizar estilos internos que achiquen el texto */
  #soporte-pc .cta-naranja *, section[data-section="soporte-pc"] .cta-naranja *,
  #soporte-remoto .cta-naranja *, section[data-section="soporte-remoto"] .cta-naranja *,
  section[data-section="soporte remoto"] .cta-naranja *{
    font-size: inherit !important;
    line-height: inherit !important;
  }
}


/* ====== v11: Eliminar TODOS los botones naranja del sitio ====== */
.cta-naranja,
.btn-naranja,
button[data-cta="naranja"],
button.btn-orange,
a.btn-orange,
.button-orange,
a[href*="cta-naranja"],
a[href*="btn-naranja"]{
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* Si algún contenedor esperaba el botón, colapsar huecos */
.cta-container, .cta-wrap, .cta-wrapper{
  display: none !important;
}

/* ====== v12: En lugar de botones naranjas -> link de texto WhatsApp ====== */
.cta-whatsapp-text{
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:1rem; line-height:1.3; text-decoration:underline;
  color:#128C7E; /* color WhatsApp */
}
.cta-whatsapp-text:hover{ opacity:.9; }
/* En móvil, que quede debajo de la imagen con buena separación y ancho auto */
@media (max-width:768px){
  .cta-whatsapp-text{
    display:block; width:fit-content; margin:12px 0 0 0;
  }
}


/* ====== v14: "Soporte técnico remoto" link: debajo de la nube, responsive, margen a margen ====== */
@media (max-width: 768px){
  #soporte-remoto .cta-whatsapp-text,
  section[data-section="soporte-remoto"] .cta-whatsapp-text,
  section[data-section="soporte remoto"] .cta-whatsapp-text{
    position: relative !important;
    display: block !important;
    width: 100vw !important;
    max-width: 100vw !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 12px 0 0 0 !important;
    padding: 14px 18px !important;
    border-radius: 14px !important;
    text-align: center !important;
    /* aumentar área de toque */
    min-height: 48px !important;
  }

  /* Evitar que quede pegado al botón flotante de WhatsApp en la parte inferior */
  #soporte-remoto .cta-whatsapp-text,
  section[data-section="soporte-remoto"] .cta-whatsapp-text,
  section[data-section="soporte remoto"] .cta-whatsapp-text{
    margin-bottom: 18vh; /* resguardo visual respecto del flotante en pantallas chicas */
  }
}


/* ====== v15: Eliminar de TODO el sitio: botones naranja y CTAs de WhatsApp (texto, flotantes, etc.) ====== */
.cta-naranja,
.btn-naranja,
button[data-cta="naranja"],
button.btn-orange,
a.btn-orange,
.button-orange,
a[href*="cta-naranja"],
a[href*="btn-naranja"],
/* WhatsApp text links and floats */
.cta-whatsapp-text,
.whatsapp,
.whatsapp-float,
.btn-whatsapp,
a[href*="wa.me/"],
a[href*="api.whatsapp.com"],
a[href*="web.whatsapp.com"]{
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Cajas contenedoras típicas de CTAs para evitar huecos */
.cta-container, .cta-wrap, .cta-wrapper{
  display: none !important;
}


/* ====== v16: Botón naranja principal (no se oculta por reglas v11/v15) ====== */
.cta-naranja-principal{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  padding: 14px 18px;
  border-radius: 14px;
  background: rgba(255,140,0,0.95); /* naranja */
  color: #111;
  text-decoration: none;
  font-size: 1.05rem;
  line-height: 1.25;
  box-shadow: 0 8px 22px rgba(255,140,0,.35);
  cursor: pointer;
}
.cta-naranja-principal:hover{ opacity:.95; }
.cta-naranja-principal:active{ transform: translateY(1px); }

/* Ubicación bajo imagen y alineado a la izquierda por defecto */
.cta-naranja-principal-wrap{
  margin-top: 12px;
  text-align: left;
}

/* Responsive */
@media (max-width: 768px){
  .cta-naranja-principal{
    width: auto;               /* que no sea full-bleed, solo se adapta al texto */
    max-width: 92vw;           /* que no se rompa el layout */
    white-space: normal;       /* permitir varias líneas si hace falta */
  }
  .cta-naranja-principal-wrap{
    margin-left: 0;
    margin-right: 0;
  }
}


/* ====== v17: CTA principal con icono y efecto brillo ====== */
.cta-naranja-principal{
  position: relative;
  overflow: hidden;
}
.cta-naranja-principal .icon{
  display:inline-block;
  width: 1.1em; height: 1.1em;
}
/* Brillo sutil al hover (desktop) */
.cta-naranja-principal:hover{
  box-shadow: 0 0 8px rgba(255,140,0,.55), 0 0 24px rgba(255,140,0,.35);
}
/* Shine sweep */
.cta-naranja-principal::after{
  content:'';
  position:absolute;
  top:0; left:-120%;
  width: 60%;
  height: 100%;
  transform: skewX(-20deg);
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.35) 50%, rgba(255,255,255,0) 100%);
  opacity:.0;
  transition: left .6s ease, opacity .4s ease;
}
.cta-naranja-principal:hover::after{
  left: 150%;
  opacity:.6;
}

/* En móvil, mantener el brillo suave sin mover layout */
@media (max-width:768px){
  .cta-naranja-principal:hover::after{ opacity:.45; }
}


/* ====== v18: Hardening para que el CTA se vea sí o sí ====== */
.cta-naranja-principal-wrap{
  display:block !important;
  position: relative !important;
  z-index: 2 !important;
  margin-top: 12px !important;
  text-align: left !important;
}
.cta-naranja-principal{
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 3 !important;
  padding: 14px 18px !important;
  border-radius: 14px !important;
  background: rgba(255,140,0,0.95) !important;
  color: #111 !important;
  text-decoration: none !important;
  font-size: 1.05rem !important;
  line-height: 1.25 !important;
  box-shadow: 0 8px 22px rgba(255,140,0,.35) !important;
}
/* Evitar que padres oculten el CTA por overflow/ocultamiento */
.cta-naranja-principal-wrap *{ box-sizing: border-box; }
.hero, .banner, .section, section, .bloque, .section-media, .media, .imagen{
  overflow: visible !important;
}

/* Responsive safety */
@media (max-width: 768px){
  .cta-naranja-principal{ max-width: 92vw !important; white-space: normal !important; }
}


/* ====== v19: CTA principal con ícono WhatsApp blanco ====== */
.cta-naranja-principal .icon{
  color:#fff; /* icono blanco */
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:.35rem;
}
.cta-naranja-principal .icon svg{
  width: 1.05em; height: 1.05em; display:block;
}

/* ===== Fix puntual: Contacto mobile stack (form + mapa 100%) ===== */
@media (max-width: 768px){
  #contacto .container,
  #contacto .grid,
  #contacto .full,
  #contacto .img-wrap {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    float: none !important;
    margin: 0 auto !important;
  }
  #contacto iframe{
    width: 100% !important;
    height: auto;
    min-height: 340px;
    display: block;
  }
  /* Oculta el cuadrado oscuro a la derecha si es un pseudo-elemento o fondo */
  #contacto .img-wrap::before,
  #contacto .img-wrap::after{
    content: none !important;
    display: none !important;
  }
  #contacto .img-wrap{
    background: none !important;
    box-shadow: none !important;
  }
}

/* ===== Fix puntual 2: #contacto en mobile (stack real y fuerza de visibilidad) ===== */
@media (max-width: 768px){
  #contacto .grid{
    display: block !important;
    grid-template-columns: 1fr !important;
  }
  #contacto .grid > div{
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    float: none !important;
    overflow: visible !important;
  }
  #contacto form{
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    position: static !important;
    transform: none !important;
    clip: auto !important;
    z-index: 3 !important;
  }
  #contacto label, #contacto input, #contacto textarea, #contacto button{
    display: block;
    width: 100%;
  }
}

/* ===== Fix puntual 3: Espaciado y alturas del formulario en #contacto (solo mobile) ===== */
@media (max-width: 768px){
  /* separarlo del mapa y dar respiro general */
  #contacto .img-wrap{ margin-bottom: 20px !important; }
  #contacto form{ margin-top: 16px !important; padding-top: 4px; }

  /* grid a 1 col con gap vertical adicional por si el tema no respeta margin */
  #contacto .grid{ row-gap: 16px !important; }

  /* espaciado entre controles */
  #contacto label{ display:block; margin-top: 10px; margin-bottom: 6px; }
  #contacto input[type="text"],
  #contacto input[type="email"],
  #contacto input[type="tel"],
  #contacto input[type="search"],
  #contacto input[type="password"],
  #contacto textarea,
  #contacto button{
    display:block;
    width:100%;
    margin-top: 6px;
    margin-bottom: 14px;
  }

  /* aumentar altura de renglón de inputs */
  #contacto input[type="text"],
  #contacto input[type="email"],
  #contacto input[type="tel"],
  #contacto input[type="search"],
  #contacto input[type="password"]{
    height: 48px !important;
    line-height: 48px !important;
    padding: 12px 14px !important;
    border-radius: 8px !important;
  }

  /* textarea más alto y cómodo para escribir */
  #contacto textarea{
    min-height: 140px !important;
    line-height: 1.4 !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
  }

  /* botón separado del textarea y con altura cómoda */
  #contacto button{
    height: 48px !important;
    padding: 12px 18px !important;
    border-radius: 10px !important;
    margin-top: 6px !important;
  }
}

/* ===== Fix puntual 4 (mobile): Inputs premium + separación extra ===== */
@media (max-width: 768px){
  /* Más separación del mapa al formulario */
  #contacto .img-wrap{ margin-bottom: 40px !important; }
  #contacto form{ margin-top: 28px !important; padding-top: 6px; }

  /* Inputs con fuente un poco más grande, borde más grueso y fondo gris claro */
  #contacto input[type="text"],
  #contacto input[type="email"],
  #contacto input[type="tel"],
  #contacto input[type="search"],
  #contacto input[type="password"],
  #contacto textarea,
  #contacto button{
    font-size: 17px !important;
  }

  #contacto input[type="text"],
  #contacto input[type="email"],
  #contacto input[type="tel"],
  #contacto input[type="search"],
  #contacto input[type="password"],
  #contacto textarea{
    background: #f2f5f7 !important;
    border: 2px solid #c8d0d6 !important;
  }

  #contacto input[type="text"]:focus,
  #contacto input[type="email"]:focus,
  #contacto input[type="tel"]:focus,
  #contacto input[type="search"]:focus,
  #contacto input[type="password"]:focus,
  #contacto textarea:focus{
    outline: none !important;
    border-color: #aeb9c1 !important;
    box-shadow: 0 0 0 3px rgba(174,185,193,.25) !important;
  }

  /* Extra gap entre campos por si el tema colapsa márgenes */
  #contacto .grid{ row-gap: 18px !important; }
  #contacto label{ margin-top: 12px; margin-bottom: 8px; }
  #contacto button{ margin-top: 10px !important; }
}

/* Honeypot (oculto visualmente pero presente en el DOM) */
.hp-field-wrap{ position: absolute !important; left: -5000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
