
/* PreparaTuECEP · navegación y layout móvil estable */

.pte-mobile-toggle,
.pte-mobile-menu { display:none; }

@media (max-width:767.98px) {
    html { scroll-padding-top:76px; }
    html.pte-menu-open,
    html.pte-menu-open body { overflow:hidden; }

    .navbar-wrap {
        position:sticky !important;
        top:0 !important;
        z-index:1100 !important;
        background:#f8f8f4 !important;
        border-bottom:1px solid var(--line,#dedfd8);
        backdrop-filter:none !important;
        overflow:visible !important;
    }

    .navbar-wrap > .container {
        min-height:66px;
        padding-top:.7rem !important;
        padding-bottom:.7rem !important;
        gap:.75rem !important;
    }

    .navbar-wrap .brand {
        font-size:1.02rem;
        white-space:nowrap;
        position:relative;
        z-index:1102;
    }

    .pte-mobile-toggle {
        width:44px;
        height:44px;
        margin-left:auto;
        display:inline-flex !important;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        gap:5px;
        border:1px solid var(--line,#dedfd8);
        background:transparent;
        padding:0;
        position:relative;
        z-index:1102;
    }

    .pte-mobile-toggle span {
        display:block;
        width:19px;
        height:1.5px;
        background:var(--ink,#151713);
        transition:transform .18s ease,opacity .18s ease;
    }

    .pte-mobile-toggle.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
    .pte-mobile-toggle.is-open span:nth-child(2){opacity:0}
    .pte-mobile-toggle.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

    .pte-mobile-menu {
        position:absolute !important;
        display:block;
        top:100%;
        left:0;
        right:0;
        height:calc(100dvh - 66px);
        background:#f8f8f4;
        border-top:1px solid var(--line,#dedfd8);
        z-index:1101;
        overflow-y:auto;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-4px);
        transition:opacity .15s ease,transform .15s ease,visibility .15s;
    }

    .pte-mobile-menu[hidden] { display:none !important; }

    .pte-mobile-menu.is-open {
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:none;
    }

    .pte-mobile-menu-inner {
        min-height:100%;
        padding-top:1.15rem;
        padding-bottom:1.25rem;
        display:flex;
        flex-direction:column;
    }

    .pte-mobile-links {
        border-top:1px solid var(--line,#dedfd8);
    }

    .pte-mobile-link {
        min-height:62px;
        padding:.2rem .05rem;
        display:flex;
        align-items:center;
        justify-content:space-between;
        border-bottom:1px solid var(--line,#dedfd8);
        text-decoration:none;
        color:var(--ink,#151713);
        font-family:Georgia,"Times New Roman",serif;
        font-size:1.35rem;
        letter-spacing:-.025em;
    }

    .pte-mobile-link::after {
        content:"→";
        font-family:Arial,sans-serif;
        color:var(--muted,#68706a);
        font-size:.95rem;
    }

    .pte-mobile-account {
        margin-top:.7rem;
        border-top:1px solid var(--line,#dedfd8);
        font-family:inherit;
        font-size:.9rem;
        font-weight:750;
    }

    .pte-mobile-cta {
        width:100%;
        min-height:52px;
        margin-top:auto;
        display:flex;
        align-items:center;
        justify-content:center;
    }

    #selector,#todas-las-evaluaciones,#como-funciona,#mapa {
        scroll-margin-top:78px;
    }

    .hero {
        padding:2.45rem 0 2.3rem !important;
    }

    .hero .row { --bs-gutter-y:2.2rem; }

    .hero h1 {
        font-size:clamp(2.35rem,10vw,2.8rem) !important;
        line-height:.99 !important;
        letter-spacing:-.045em !important;
    }

    .hero-copy {
        font-size:.98rem;
        line-height:1.6;
        margin-top:1.25rem;
    }

    .hero .d-flex.flex-wrap.gap-2 {
        display:grid !important;
        grid-template-columns:1fr;
        gap:.55rem !important;
    }

    .hero .d-flex.flex-wrap.gap-2 .btn {
        width:100%;
        min-height:50px;
        display:flex;
        align-items:center;
        justify-content:center;
    }

    .hero-meta {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:.65rem .8rem;
        margin-top:1.5rem;
    }

    .hero-meta span:last-child { grid-column:1/-1; }

    .route-panel {
        padding:1.2rem 0 0 !important;
        margin:0 !important;
    }

    #como-funciona.how-section { padding-top:2.4rem !important; }

    .selector-wrap {
        border-left:0;
        border-right:0;
        margin-left:-12px;
        margin-right:-12px;
    }

    .selected-path { max-width:none; }

    .choice-btn,.area-choice { min-height:58px; }
}

@media (max-width:399.98px) {
    .hero h1 { font-size:2.2rem !important; }
    .pte-mobile-link { font-size:1.25rem; }
}
