/* ============================================================
   Grupo Integral VC — Responsive V128
   Ajustes móviles finales solicitados (sin tocar desktop):
   - Qué ofrecemos: ocultar el paginador numérico en móvil.
   - Acerca: Misión / Visión / Valores más compactos y proporcionados.
   - Contacto: formulario inmediatamente bajo el header, sin cordón/clip móvil.
   - Soluciones: modales flotantes, compactos, centrados y con scroll interno.
   ============================================================ */

/* ------------------------------------------------------------
   HOME · QUÉ OFRECEMOS
   En móvil eliminamos por completo 01/02/03/04 y recuperamos el aire.
   ------------------------------------------------------------ */
@media (max-width:900px){
  body.home-v42 .v42-scene-offers .v55-offer-pager{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    position:absolute!important;
    width:0!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  body.home-v42 .v42-scene-offers .v42-offer::before{
    display:none!important;
    content:none!important;
  }
}

/* ------------------------------------------------------------
   ACERCA · Misión / Visión / Valores
   Conserva el storytelling y swipe, pero la tarjeta deja de ocupar casi
   toda la pantalla. La información queda más arriba y con menos vacío.
   ------------------------------------------------------------ */
@media (max-width:700px){
  body.about-v74-page .about-v74-sticky{
    min-height:560px!important;
  }
  body.about-v74-page .about-v74-eyebrow{
    top:72px!important;
    font-size:9px!important;
    letter-spacing:.27em!important;
  }
  body.about-v74-page .about-v74-eyebrow::after{
    margin-top:10px!important;
    width:64px!important;
  }
  body.about-v74-page .about-v74-stage{
    inset:102px 0 86px!important;
  }
  body.about-v74-page .about-v74-card{
    width:min(calc(100vw - 46px),410px)!important;
    height:clamp(340px,48dvh,390px)!important;
    max-height:390px!important;
    min-height:340px!important;
    border-radius:24px!important;
  }
  body.about-v74-page .about-v74-surface,
  body.about-v74-page .about-v74-float,
  body.about-v74-page .about-v74-shell,
  body.about-v74-page .about-v74-electric::after{
    border-radius:24px!important;
  }

  /* Misión / Visión: título e icono arriba, texto inmediatamente después. */
  body.about-v74-page .about-v74-card:not(.about-v113-values-card) .about-v113-title-line{
    left:8.2%!important;
    top:15%!important;
    transform:none!important;
    gap:10px!important;
    max-width:84%!important;
  }
  body.about-v74-page .about-v74-card:not(.about-v113-values-card) .about-v113-title-line h2{
    font-size:clamp(27px,7.4vw,34px)!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  body.about-v74-page .about-v74-card:not(.about-v113-values-card) .about-v113-title-line h2::after{
    bottom:-14px!important;
    width:39px!important;
  }
  body.about-v74-page .about-v74-card:not(.about-v113-values-card) .about-v113-title-line .about-v113-card-icon{
    width:46px!important;
    height:46px!important;
    flex-basis:46px!important;
  }
  body.about-v74-page .about-v74-card:not(.about-v113-values-card) .about-v74-content p{
    left:8.2%!important;
    top:38%!important;
    width:83.6%!important;
    font-size:clamp(12.2px,3.25vw,13.5px)!important;
    line-height:1.48!important;
    text-wrap:pretty!important;
  }

  /* Valores: título y 2x2 más compactos. */
  body.about-v74-page .about-v113-values-card .about-v74-content>h2{
    left:8.2%!important;
    top:15%!important;
    transform:none!important;
    max-width:84%!important;
    text-align:left!important;
    font-size:clamp(25px,6.7vw,32px)!important;
    line-height:1.02!important;
  }
  body.about-v74-page .about-v113-values-card .about-v74-content>h2::after{
    width:39px!important;
    margin:13px 0 0!important;
  }
  body.about-v74-page .about-v113-values-grid,
  body.about-v74-page .about-v114-values-grid{
    left:7%!important;
    right:7%!important;
    top:35%!important;
    gap:10px!important;
  }
  body.about-v74-page .about-v113-value,
  body.about-v74-page .about-v114-value{
    min-height:82px!important;
    padding:10px 7px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    text-align:center!important;
    border-radius:15px!important;
  }
  body.about-v74-page .about-v113-value>img,
  body.about-v74-page .about-v114-value>img{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
  }
  body.about-v74-page .about-v113-value h3,
  body.about-v74-page .about-v114-value h3{
    margin:0!important;
    font-size:11px!important;
    line-height:1.15!important;
  }

  body.about-v74-page .about-v74-progress{
    bottom:19px!important;
    width:88vw!important;
  }
  body.about-v74-page .about-v74-hint{
    bottom:45px!important;
    font-size:9px!important;
  }
}

@media (max-width:380px){
  body.about-v74-page .about-v74-card{
    width:calc(100vw - 34px)!important;
    height:clamp(330px,47dvh,370px)!important;
    min-height:330px!important;
  }
  body.about-v74-page .about-v74-card:not(.about-v113-values-card) .about-v74-content p{
    font-size:12px!important;
    line-height:1.44!important;
  }
  body.about-v74-page .about-v113-value,
  body.about-v74-page .about-v114-value{min-height:78px!important}
}

/* ------------------------------------------------------------
   CONTACTO · formulario arriba
   La V108 tenía una regla con más especificidad que V127 y empujaba la
   credencial hacia abajo. Aquí se corrige usando el selector completo.
   En teléfono se retira el adorno de cordón/clip para priorizar el formulario.
   ------------------------------------------------------------ */
@media (max-width:680px){
  body.contact-v108-page.contact-v102-page .contact-v93-hero{
    min-height:606px!important;
    padding:2px 5px 14px!important;
    align-items:start!important;
    place-items:start center!important;
    overflow:visible!important;
  }
  body.contact-v108-page.contact-v102-page .contact-v93-stage{
    width:100%!important;
    height:610px!important;
    margin:0!important;
  }
  body.contact-v108-page.contact-v102-page .contact-v93-card-shell{
    top:2px!important;
    width:min(calc(100vw - 12px),520px)!important;
    max-width:520px!important;
    height:594px!important;
  }
  body.contact-v108-page.contact-v102-page .contact-v93-lanyard,
  body.contact-v108-page.contact-v102-page .contact-v93-drag-handle,
  body.contact-v108-page.contact-v102-page .contact-v93-card-shell::after{
    display:none!important;
    content:none!important;
  }
  body.contact-v108-page.contact-v102-page .contact-v93-stage::before,
  body.contact-v108-page.contact-v102-page .contact-v93-stage::after{
    top:48%!important;
  }
}

@media (max-width:390px){
  body.contact-v108-page.contact-v102-page .contact-v93-hero{
    min-height:598px!important;
    padding-top:0!important;
  }
  body.contact-v108-page.contact-v102-page .contact-v93-stage{height:602px!important}
  body.contact-v108-page.contact-v102-page .contact-v93-card-shell{
    top:0!important;
    width:calc(100vw - 8px)!important;
    height:586px!important;
  }
}

/* ------------------------------------------------------------
   SOLUCIONES · Modal móvil premium
   Ya no funciona como una sábana pegada al fondo. Es una ventana flotante,
   centrada, con borde, aire lateral y desplazamiento interno del contenido.
   ------------------------------------------------------------ */
@media (max-width:760px){
  body.solutions-v81-page .solutions-v81-modal{
    display:grid!important;
    place-items:center!important;
    align-items:center!important;
    justify-items:center!important;
    padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;
  }
  body.solutions-v81-page .solutions-v81-modal-backdrop{
    background:rgba(1,5,14,.80)!important;
    backdrop-filter:blur(14px) saturate(112%)!important;
    -webkit-backdrop-filter:blur(14px) saturate(112%)!important;
  }
  body.solutions-v81-page .solutions-v81-modal-panel,
  body.solutions-v81-page .solutions-v81-modal-panel.is-compact,
  body.solutions-v81-page .solutions-v81-modal-panel.is-tight{
    width:min(calc(100vw - 24px),440px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:min(82dvh,680px)!important;
    margin:0!important;
    padding:22px 18px 20px!important;
    border-radius:22px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    transform:translateY(10px) scale(.985)!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.08),
      0 24px 70px rgba(0,0,0,.58),
      0 0 32px rgba(65,157,255,.10)!important;
  }
  body.solutions-v81-page .solutions-v81-modal.is-open .solutions-v81-modal-panel{
    transform:none!important;
  }
  body.solutions-v81-page .solutions-v81-modal-panel::-webkit-scrollbar{display:none!important}

  body.solutions-v81-page .solutions-v81-modal-close{
    top:12px!important;
    right:12px!important;
    width:36px!important;
    height:36px!important;
    font-size:23px!important;
    background:rgba(5,17,34,.82)!important;
    border-color:rgba(151,210,249,.24)!important;
  }
  body.solutions-v81-page .solutions-v114-modal-head{
    padding-right:38px!important;
  }
  body.solutions-v81-page .solutions-v114-modal-title-line,
  body.solutions-v81-page .solutions-v114-modal-title-wrap{
    width:100%!important;
    max-width:100%!important;
  }
  body.solutions-v81-page .solutions-v114-modal-title-line h2,
  body.solutions-v81-page .solutions-v81-modal-panel h2,
  body.solutions-v81-page .solutions-v81-modal-panel.is-compact h2,
  body.solutions-v81-page .solutions-v81-modal-panel.is-tight h2{
    max-width:100%!important;
    font-size:clamp(27px,7.7vw,33px)!important;
    line-height:1.02!important;
  }
  body.solutions-v81-page .solutions-v122-modal-title-tail{
    gap:6px!important;
  }
  body.solutions-v81-page .solutions-v114-modal-title-line .solutions-v113-modal-icon,
  body.solutions-v81-page .solutions-v81-modal-panel.is-compact .solutions-v114-modal-title-line .solutions-v113-modal-icon,
  body.solutions-v81-page .solutions-v81-modal-panel.is-tight .solutions-v114-modal-title-line .solutions-v113-modal-icon{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
  }
  body.solutions-v81-page .solutions-v114-modal-title-line::after{
    width:72px!important;
    height:2px!important;
    margin-top:10px!important;
  }
  body.solutions-v81-page .solutions-v88-modal-content,
  body.solutions-v81-page .solutions-v81-modal-panel.is-compact .solutions-v88-modal-content,
  body.solutions-v81-page .solutions-v81-modal-panel.is-tight .solutions-v88-modal-content{
    margin-top:18px!important;
  }
  body.solutions-v81-page .solutions-v88-modal-lead,
  body.solutions-v81-page .solutions-v81-modal-panel.is-compact .solutions-v88-modal-lead,
  body.solutions-v81-page .solutions-v81-modal-panel.is-tight .solutions-v88-modal-lead{
    font-size:13.4px!important;
    line-height:1.48!important;
  }
  body.solutions-v81-page .solutions-v88-modal-grid,
  body.solutions-v81-page .solutions-v88-modal-grid[data-sections="4"],
  body.solutions-v81-page .solutions-v81-modal-panel.is-compact .solutions-v88-modal-grid,
  body.solutions-v81-page .solutions-v81-modal-panel.is-tight .solutions-v88-modal-grid{
    grid-template-columns:1fr!important;
    gap:13px!important;
    margin-top:17px!important;
  }
  body.solutions-v81-page .solutions-v88-modal-section,
  body.solutions-v81-page .solutions-v81-modal-panel.is-compact .solutions-v88-modal-section,
  body.solutions-v81-page .solutions-v81-modal-panel.is-tight .solutions-v88-modal-section{
    padding-top:11px!important;
  }
  body.solutions-v81-page .solutions-v88-modal-section h3,
  body.solutions-v81-page .solutions-v81-modal-panel.is-compact .solutions-v88-modal-section h3,
  body.solutions-v81-page .solutions-v81-modal-panel.is-tight .solutions-v88-modal-section h3{
    margin-bottom:5px!important;
    font-size:11.3px!important;
    line-height:1.25!important;
  }
  body.solutions-v81-page .solutions-v88-modal-section p,
  body.solutions-v81-page .solutions-v88-modal-section li,
  body.solutions-v81-page .solutions-v81-modal-panel.is-compact .solutions-v88-modal-section p,
  body.solutions-v81-page .solutions-v81-modal-panel.is-compact .solutions-v88-modal-section li,
  body.solutions-v81-page .solutions-v81-modal-panel.is-tight .solutions-v88-modal-section p,
  body.solutions-v81-page .solutions-v81-modal-panel.is-tight .solutions-v88-modal-section li{
    font-size:12.2px!important;
    line-height:1.38!important;
  }
  body.solutions-v81-page .solutions-v88-modal-section ul{gap:5px!important}
  body.solutions-v81-page .solutions-v90-modal-footer,
  body.solutions-v81-page .solutions-v81-modal-panel.is-compact .solutions-v90-modal-footer,
  body.solutions-v81-page .solutions-v81-modal-panel.is-tight .solutions-v90-modal-footer{
    margin-top:14px!important;
    gap:9px!important;
  }
  body.solutions-v81-page .solutions-v88-modal-highlight,
  body.solutions-v81-page .solutions-v81-modal-panel.is-compact .solutions-v88-modal-highlight,
  body.solutions-v81-page .solutions-v81-modal-panel.is-tight .solutions-v88-modal-highlight{
    margin-top:0!important;
    padding:11px 12px!important;
    border-radius:0 11px 11px 0!important;
    font-size:12.3px!important;
    line-height:1.38!important;
  }
  body.solutions-v81-page .solutions-v88-modal-link{
    margin-top:8px!important;
    font-size:11.5px!important;
  }
}

@media (max-width:380px){
  body.solutions-v81-page .solutions-v81-modal{padding-inline:8px!important}
  body.solutions-v81-page .solutions-v81-modal-panel,
  body.solutions-v81-page .solutions-v81-modal-panel.is-compact,
  body.solutions-v81-page .solutions-v81-modal-panel.is-tight{
    width:calc(100vw - 16px)!important;
    max-height:84dvh!important;
    padding:20px 15px 18px!important;
  }
  body.solutions-v81-page .solutions-v114-modal-title-line h2,
  body.solutions-v81-page .solutions-v81-modal-panel h2{
    font-size:26px!important;
  }
}
