/* ==========================================================================
   COAC ANGAHUANA — Responsivo
   ========================================================================== */

@media (max-width:1180px){
    .nav-menu>a,.nav-dropdown-toggle{padding:0 10px;font-size:.86rem}
    .nav-menu>a::after,.nav-dropdown-toggle::after{left:10px;right:10px}
    .nav-dropdown>.nav-dropdown-toggle{padding-right:3px}
    .nav-dropdown>.nav-dropdown-toggle::after{right:0}
    .nav-caret{padding:0 8px 0 1px}
    .nav-inner{gap:16px}
    .footer-grid{grid-template-columns:1.2fr 1fr 1fr}
    .footer-grid>:last-child{grid-column:1/-1}
    .rail{height:440px}
    .values-grid{grid-template-columns:repeat(2,1fr)}
    .feature-cards{grid-template-columns:1fr}
}

/* Escritorio estrecho: el menú principal (8 opciones) debe caber en una sola línea */
@media (min-width:1025px) and (max-width:1120px){
    .nav-inner{gap:10px}
    .imagotipo{height:40px}
    .nav-menu>a,.nav-dropdown-toggle{padding:0 7px;font-size:.82rem}
    .nav-menu>a::after,.nav-dropdown-toggle::after{left:7px;right:7px}
    .nav-dropdown>.nav-dropdown-toggle{padding-right:2px}
    .nav-dropdown>.nav-dropdown-toggle::after{right:0}
    .nav-caret{padding:0 6px 0 1px}
}

/* ---------- Tablet: menú lateral ---------- */
@media (max-width:1024px){
    /* Con las columnas apiladas, las animaciones laterales empezarían fuera de pantalla
       (y crearían un espacio en blanco a la derecha): aquí entran en vertical */
    .reveal-ready [data-reveal="left"],.reveal-ready [data-reveal="right"]{transform:translateY(28px)}

    .nav-toggle{display:block}
    .nav-menu{position:fixed;top:0;right:0;bottom:0;width:min(88vw,390px);background:#fff;flex-direction:column;align-items:stretch;align-self:auto;gap:0;padding:86px 22px 30px;overflow-y:auto;transform:translateX(102%);transition:transform .45s var(--ease);z-index:999;box-shadow:-20px 0 60px rgba(0,0,0,.2)}
    .nav-menu.open{transform:none}
    .nav-toggle{z-index:1001}
    .nav-menu>a,.nav-dropdown-toggle{padding:16px 6px;font-size:1.02rem;width:100%;justify-content:space-between;border-bottom:1px solid var(--line)}
    .nav-menu>a::after,.nav-dropdown-toggle::after{display:none}
    .nav-dropdown{display:grid;grid-template-columns:1fr auto;align-items:stretch;border-bottom:1px solid var(--line)}
    .nav-dropdown>.nav-dropdown-toggle{border-bottom:0;padding-right:6px}
    .nav-dropdown>.dropdown-menu{grid-column:1/-1}
    .nav-caret{width:48px;justify-content:center;padding:0;border-left:1px solid var(--line);margin:10px 0}
    .nav-caret i{font-size:.85rem}
    .nav-dropdown .dropdown-menu,.dropdown-products{position:static;display:none;opacity:1;visibility:visible;transform:none;width:auto;margin:0;border:0;box-shadow:none;padding:6px 0 10px 8px;max-height:none;overflow:visible;transition:none;border-radius:0}
    .nav-dropdown.open>.dropdown-menu{display:block;animation:faq-open .35s var(--ease)}
    .nav-dropdown:hover>.dropdown-menu{display:none}
    .nav-dropdown.open:hover>.dropdown-menu,.nav-dropdown.open>.dropdown-menu{display:block}
    .dropdown-products{grid-template-columns:1fr}
    .nav-dropdown.open>.dropdown-products{display:grid}
    .dropdown-group+.dropdown-group{border-left:0;padding-left:0;border-top:1px solid var(--line);margin-top:6px;padding-top:6px}
    .dropdown-feature-card{min-height:auto;margin-top:8px}
    .nav-dropdown:focus-within>.dropdown-menu{display:none}
    .nav-dropdown.open:focus-within>.dropdown-menu{display:block}
    .nav-dropdown.open:focus-within>.dropdown-products{display:grid}

    .slide-inner{grid-template-columns:1fr}
    .slide-art{display:none}
    .slide-copy{max-width:680px}
    .detail-layout{grid-template-columns:1fr}
    .side-stack{position:static}
    .about-grid,.identity-story,.identity-head,.contact-layout,.simulator-layout,.promo-card{grid-template-columns:1fr}
    .promo-media{min-height:300px;clip-path:none}
    .promo-content{padding:clamp(28px,5vw,44px)}
    .about-photo{aspect-ratio:16/11}
    .about-badge{right:16px;bottom:-30px}
    .mv-grid{grid-template-columns:1fr}
    .quick-grid{grid-template-columns:repeat(2,1fr)}
    .hub-grid,.agency-grid,.news-grid-large{grid-template-columns:repeat(2,1fr)}
    .news-grid{grid-template-columns:1fr}
    .news-card.is-featured{grid-row:auto;min-height:400px}

    /* Riel de productos → carrusel táctil */
    .rail{height:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 26px;margin:0 -4px;scrollbar-width:none}
    .rail::-webkit-scrollbar{display:none}
    .rail-item{flex:0 0 min(78%,340px);min-height:400px;scroll-snap-align:start}
    .rail-item.is-active{flex-grow:0}
    .rail-more{max-height:none;opacity:1}
    .rail-item .rail-more p{max-width:none}
}

/* ---------- Móvil ---------- */
@media (max-width:700px){
    body{font-size:1.03rem}
    .hub-grid.is-pair{grid-template-columns:1fr}
    .container{width:min(calc(100% - 32px),var(--container))}
    /* Barra superior en una sola línea */
    .topbar{font-size:.8rem}
    .topbar-tagline .tb-full{display:none}
    .topbar-tagline .tb-short{display:inline}
    .topbar-inner{justify-content:space-between;gap:10px}
    .topbar-tagline,.topbar-links a{white-space:nowrap}
    .topbar-links{gap:2px}
    .topbar-links a{padding:4px 8px}
    .topbar-links a:nth-child(n+3){display:none}
    .nav-inner{min-height:68px}
    .imagotipo{height:40px}
    .hero-track{height:auto;min-height:calc(100svh - 106px);min-height:calc(100vh - 106px);min-height:max(640px,calc(100svh - 106px))}
    .slide-inner{padding-bottom:132px;align-items:center}
    /* En vertical la foto queda detrás del texto: velo blanco más parejo para que se lea */
    .hero-slide.has-photo .slide-photo{object-position:84% center}
    .hero-slide.has-photo .slide-shade{background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.78) 60%,rgba(255,255,255,.55) 100%)}
    /* Controles del carrusel: puntos compactos y botones que siempre caben en pantalla */
    .hero-controls{bottom:100px}
    .hero-controls-inner{gap:12px}
    .hero-dots{gap:6px;flex:1;min-width:0}
    .hero-dot{flex:1;width:auto;max-width:44px}
    .hero-arrows{gap:8px;flex:none}
    .hero-arrows .hero-btn{width:42px;height:42px}
    .quick-links{margin-top:-52px}
    .quick-grid{grid-template-columns:1fr 1fr;gap:12px}
    .quick-card{flex-direction:column;align-items:flex-start;padding:18px;gap:12px}
    .quick-card>i.bi-arrow-right{display:none}
    .section-heading.split{flex-direction:column;align-items:flex-start}
    .steps{grid-template-columns:1fr;gap:34px;text-align:left}
    .steps::before{left:47px;right:auto;top:0;bottom:0;width:2px;height:auto;transform:scaleY(0);transform-origin:50% 0}
    .steps.is-in::before{transform:scaleY(1)}
    .step{display:grid;grid-template-columns:96px 1fr;gap:0 20px;text-align:left;align-items:center}
    .step .hexicon{margin:0;grid-row:span 2}
    .step h3{align-self:end}
    .step p{align-self:start}
    .stats-grid{grid-template-columns:1fr 1fr}
    .values-grid,.feature-cards,.hub-grid,.agency-grid,.news-grid-large,.form-grid{grid-template-columns:1fr}
    .news-card.is-side{flex-direction:column}
    .news-card.is-side .media{width:100%;aspect-ratio:16/10}
    .cta-band-inner,.footer-bottom{flex-direction:column;align-items:flex-start}
    .cookie-dialog-actions .btn{flex:1 1 auto}
    .cookie-cat-icon{display:none}
    .cookie-cat{gap:12px;padding:12px 14px}
    .cookie-cat:not(label){flex-direction:column;align-items:flex-start;gap:6px}
    .footer-grid{grid-template-columns:1fr;gap:34px}
    .page-hero{min-height:280px}
    .ph-inner{grid-template-columns:1fr}
    .ph-art{display:none}
    .ph-title{flex-direction:column;align-items:flex-start;gap:14px}
    .result-top{grid-template-columns:1fr;justify-items:start}
    .result-summary{grid-template-columns:1fr}
    .about-badge{width:120px;height:104px}
    .document-row{flex-wrap:wrap}
    .back-to-top{right:14px;bottom:14px}
    .admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static}.admin-main{padding:25px 15px}.admin-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:420px){
    .topbar-links a:nth-child(n+2){display:none}
    .quick-grid{grid-template-columns:1fr}
    .quick-card{flex-direction:row;align-items:center}
    .stats-grid{grid-template-columns:1fr}
    .admin-grid{grid-template-columns:1fr}
}

@media (max-width:900px){
    .admin-grid{grid-template-columns:repeat(2,1fr)}
}
