/*
 * Autos Esquivel · Legibilidad móvil del sitio público
 * Capa final deliberada: evita textos y acciones demasiado pequeños en celular
 * sin alterar la densidad del layout de escritorio.
 */

@media (max-width: 767px) {
    html {
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    body.public-site-rebuild {
        --ae-mobile-action-font: 14px;
        --ae-mobile-body-font: 13px;
        --ae-mobile-meta-font: 12px;
    }

    /* Controles cómodos y sin zoom automático de iOS en formularios. */
    body.public-site-rebuild :is(input, select, textarea) {
        font-size: 16px !important;
    }

    body.public-site-rebuild button:not(.ae-nav-menu-toggle):not(.ae-nav-mobile-whatsapp) {
        font-size: max(var(--ae-mobile-action-font), 1em);
    }

    /* Navegación móvil: el menú ya no depende de tipografía de 8–11 px. */
    body.public-site-rebuild .ae-mobile-nav__link,
    body.public-site-rebuild .ae-mobile-nav__inventory > summary {
        min-height: 60px;
        font-size: 14px !important;
        line-height: 1.25;
    }

    body.public-site-rebuild .ae-mobile-nav__link span,
    body.public-site-rebuild .ae-mobile-nav__inventory small {
        font-size: 12px !important;
        line-height: 1.35;
    }

    body.public-site-rebuild .ae-mobile-nav__categories a,
    body.public-site-rebuild .ae-mobile-nav__actions a,
    body.public-site-rebuild .ae-mobile-nav__whatsapp {
        min-height: 46px;
        font-size: 13px !important;
        line-height: 1.2;
    }

    /* Botones genéricos del sitio público. */
    body.public-site-rebuild .button {
        min-height: 48px;
        font-size: 14px !important;
        line-height: 1.15;
    }

    /*
     * Tarjetas de inventario.
     * En móvil varias capas históricas bajaban hasta 6–12 px; aquí fijamos
     * un piso legible sin hacer la tarjeta innecesariamente alta.
     */
    body.public-site-rebuild .vehicle-card--compact .vehicle-card__badges .vehicle-card__badge,
    body.public-site-rebuild .vehicle-card--compact .vehicle-card__promotion-badge,
    body.public-site-rebuild .vehicle-card--compact .vehicle-card__certified,
    body.public-site-rebuild .vehicle-card--compact .vehicle-card__photos {
        font-size: 11px !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__identity p {
        font-size: 13px !important;
        line-height: 1.4;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__specs-clean dt {
        font-size: 11.5px !important;
        line-height: 1.25;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__specs-clean dd {
        font-size: 13px !important;
        line-height: 1.3;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__price-clean > span,
    body.public-site-rebuild .vehicle-card--compact .vehicle-card__price-clean > strong small,
    body.public-site-rebuild .vehicle-card--compact .vehicle-card__price-note,
    body.public-site-rebuild .vehicle-card--compact .vehicle-card__status {
        font-size: 11.5px !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__finance-summary > div > span {
        font-size: 11.5px !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__finance-summary > div > strong {
        font-size: 14px !important;
        line-height: 1.3;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__finance-summary > div > small {
        font-size: 12px !important;
        line-height: 1.4;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__finance-action {
        width: 100%;
        min-height: 46px !important;
        padding-inline: 14px;
        font-size: 14px !important;
        font-weight: 650;
        line-height: 1.1;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__primary-action,
    body.public-site-rebuild .vehicle-card--compact .vehicle-card__details-action,
    body.public-site-rebuild .vehicle-card--compact .vehicle-card__finance-options-action,
    body.public-site-rebuild .vehicle-card--compact .vehicle-card__quick-view {
        min-height: 48px !important;
        font-size: 14px !important;
        font-weight: 650;
        line-height: 1.15;
    }

    body.public-site-rebuild .vehicle-card__share-menu > strong {
        font-size: 12px !important;
    }

    body.public-site-rebuild .vehicle-card__share-menu a,
    body.public-site-rebuild .vehicle-card__share-menu button {
        min-height: 44px;
        font-size: 13px !important;
    }

    /* Reverso de la tarjeta: mantener microcopy realmente legible. */
    body.public-site-rebuild .vehicle-card__back :is(
        .vehicle-card__back-eyebrow,
        .vehicle-card__back-intro,
        dt,
        dd,
        small,
        .vehicle-card__back-journey > span
    ) {
        font-size: max(12px, 1em) !important;
        line-height: 1.4;
    }
}

@media (max-width: 390px) {
    body.public-site-rebuild .vehicle-card--compact .vehicle-card__body {
        padding-inline: 15px;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__actions-clean {
        gap: 10px;
    }
}


/* ==========================================================================
   Autos Esquivel · auditoría estructural móvil · 2026-09-30
   Capa final del sitio público: evita solapes, anchos rígidos, texto truncado
   y controles que salen del viewport sin alterar la composición de escritorio.
   ========================================================================== */

@media (max-width: 767px) {
    html,
    body.public-site-rebuild,
    body.public-site-rebuild .public-rebuild-main,
    body.public-site-rebuild .site-shell {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.public-site-rebuild {
        overflow-x: clip !important;
        padding-bottom: calc(84px + env(safe-area-inset-bottom)) !important;
    }

    body.public-site-rebuild .site-shell {
        width: min(calc(100% - 24px), var(--shell)) !important;
    }

    body.public-site-rebuild .public-rebuild-main,
    body.public-site-rebuild .public-rebuild-main > *,
    body.public-site-rebuild .public-rebuild-main :is(
        section,
        article,
        aside,
        form,
        fieldset,
        header,
        footer,
        nav,
        dl
    ) {
        min-width: 0;
    }

    body.public-site-rebuild .public-rebuild-main :is(
        h1,
        h2,
        h3,
        h4,
        p,
        label,
        legend,
        dt,
        dd,
        strong,
        small
    ) {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    body.public-site-rebuild .public-rebuild-main :is(img, video, canvas, iframe, svg) {
        max-width: 100%;
    }

    body.public-site-rebuild .public-rebuild-main :is(input, select, textarea) {
        width: 100%;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    /* Header y navegación: tres columnas estables y menú siempre contenido. */
    body.public-site-rebuild :is(
        .ae-nav-main__inner,
        .ae-nav-meta__inner,
        .ae-mobile-nav__inner,
        .ae-nav-brand,
        .ae-nav-actions
    ) {
        min-width: 0 !important;
    }

    body.public-site-rebuild .ae-mobile-nav {
        right: 10px !important;
        left: 10px !important;
        width: auto !important;
        max-width: calc(100vw - 20px) !important;
        max-height: calc(100dvh - 82px) !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    body.public-site-rebuild .ae-mobile-nav__link,
    body.public-site-rebuild .ae-mobile-nav__inventory > summary,
    body.public-site-rebuild .ae-mobile-nav__categories a {
        min-width: 0 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    body.public-site-rebuild .ae-mobile-nav__categories {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    /*
     * Barra fija inferior. En 320–390 px el texto puede usar dos líneas:
     * ya no se corta con ellipsis ni se pierde el nombre de la acción.
     */
    body.public-site-rebuild .ae-site-quick-actions {
        max-width: 100vw !important;
    }

    body.public-site-rebuild .ae-site-quick-actions__shell,
    body.public-site-rebuild .ae-site-quick-actions__core,
    body.public-site-rebuild .ae-site-quick-action {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.public-site-rebuild .ae-site-quick-action {
        height: 62px !important;
        min-height: 62px !important;
        padding-inline: 3px !important;
    }

    body.public-site-rebuild .ae-site-quick-action > span:not(.sr-only):not(.ae-site-quick-action__theme-icon),
    body.public-site-rebuild .ae-site-quick-action > [data-theme-visible-label] {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        overflow: visible !important;
        font-size: 9.5px !important;
        line-height: 1.12 !important;
        text-align: center !important;
        text-overflow: clip !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    body.public-site-rebuild .ae-site-quick-actions__extras {
        right: 5px !important;
        left: 5px !important;
        max-width: calc(100vw - 26px) !important;
        overflow: visible !important;
    }

    body.public-site-rebuild .ae-site-quick-actions__extras .ae-site-quick-action {
        height: auto !important;
        min-height: 58px !important;
    }

    body.public-site-rebuild .ae-site-quick-actions__extras .ae-site-quick-action > span:not(.sr-only):not(.ae-site-quick-action__theme-icon),
    body.public-site-rebuild .ae-site-quick-actions__extras .ae-site-quick-action > [data-theme-visible-label] {
        text-align: left !important;
    }

    /* Buscadores, filtros y formularios: sin columnas rígidas en teléfono. */
    body.public-site-rebuild :is(
        .vehicle-search--inventory,
        .vehicle-search__main,
        .vehicle-search__advanced-grid,
        .public-quote-form,
        .public-quote-form__grid,
        .sell-car-form,
        .sell-car-form__grid,
        .finance-calculator,
        .vehicle-detail__contact-form
    ) {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.public-site-rebuild :is(
        .vehicle-search__main,
        .vehicle-search__advanced-grid,
        .public-quote-form__grid,
        .sell-car-form__grid,
        .vehicle-detail__contact-form
    ) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.public-site-rebuild :is(
        .vehicle-search__quick,
        .vehicle-search__advanced,
        .vehicle-search__actions,
        .public-quote-actions,
        .sell-car-form__actions
    ) {
        max-width: 100% !important;
        flex-wrap: wrap !important;
    }

    /* Inventario: una sola columna real y cards sin contenido recortado. */
    body.public-site-rebuild .vehicle-grid {
        width: 100% !important;
        max-width: 100% !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.public-site-rebuild :is(
        .vehicle-card,
        .vehicle-card__flip,
        .vehicle-card__face,
        .vehicle-card__front,
        .vehicle-card__back,
        .vehicle-card__media,
        .vehicle-card__body,
        .vehicle-card__identity,
        .vehicle-card__pricing-row,
        .vehicle-card__finance-summary,
        .vehicle-card__actions-clean
    ) {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__identity h3 {
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        display: block !important;
        white-space: normal !important;
        text-overflow: clip !important;
        -webkit-line-clamp: unset !important;
        line-clamp: unset !important;
        overflow-wrap: anywhere !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__identity p,
    body.public-site-rebuild .vehicle-card--compact .vehicle-card__price-note,
    body.public-site-rebuild .vehicle-card--compact .vehicle-card__status {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__specs-clean {
        width: 100% !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__specs-clean > div,
    body.public-site-rebuild .vehicle-card--compact .vehicle-card__specs-clean :is(dt, dd) {
        min-width: 0 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__pricing-row {
        align-items: flex-start !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__price-clean {
        min-width: 0 !important;
        flex: 1 1 190px !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__status {
        flex: 0 1 auto !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__finance-summary {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__actions-clean {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__actions-clean > * {
        min-width: 0 !important;
        width: 100% !important;
        white-space: normal !important;
        text-align: center !important;
    }

    body.public-site-rebuild .vehicle-card__share-menu {
        right: 0 !important;
        left: auto !important;
        width: min(260px, calc(100vw - 32px)) !important;
        max-width: calc(100vw - 32px) !important;
    }

    body.public-site-rebuild .vehicle-card__back {
        overflow-y: auto !important;
        overscroll-behavior: contain;
    }

    body.public-site-rebuild .vehicle-card__back :is(
        h3,
        p,
        dt,
        dd,
        strong,
        small
    ) {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    /* Ficha de unidad: galería y bloque comercial apilados, sin sticky invasivo. */
    body.public-site-rebuild :is(
        .vehicle-detail--premium,
        .vehicle-detail__layout,
        .vehicle-detail__gallery,
        .vehicle-detail__summary,
        .vehicle-detail__information,
        .vehicle-detail__financing,
        .vehicle-detail__contact,
        .vehicle-detail__branch,
        .vehicle-detail__advisor
    ) {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.public-site-rebuild .vehicle-detail__layout {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.public-site-rebuild .vehicle-detail__summary {
        position: static !important;
        top: auto !important;
    }

    body.public-site-rebuild .vehicle-detail__financing,
    body.public-site-rebuild .vehicle-detail__finance-options,
    body.public-site-rebuild .vehicle-detail__contact-form {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.public-site-rebuild .vehicle-detail__quick-actions,
    body.public-site-rebuild .vehicle-detail__branch-links,
    body.public-site-rebuild .vehicle-detail__advisor-actions {
        width: 100% !important;
        flex-wrap: wrap !important;
    }

    body.public-site-rebuild .vehicle-detail__quick-actions > *,
    body.public-site-rebuild .vehicle-detail__branch-links > *,
    body.public-site-rebuild .vehicle-detail__advisor-actions > * {
        min-width: 0 !important;
        flex: 1 1 150px !important;
        white-space: normal !important;
    }

    /* Comparador: el modal cabe y la tabla conserva scroll horizontal intencional. */
    body.public-site-rebuild .vehicle-comparison-tray {
        right: max(8px, env(safe-area-inset-right)) !important;
        bottom: calc(82px + env(safe-area-inset-bottom)) !important;
        left: max(8px, env(safe-area-inset-left)) !important;
        width: auto !important;
        max-width: none !important;
    }

    body.public-site-rebuild :is(
        .vehicle-comparison-modal,
        .finance-modal
    ) {
        padding: 10px !important;
    }

    body.public-site-rebuild :is(
        .vehicle-comparison-dialog,
        .finance-modal__dialog,
        [role="dialog"],
        [role="alertdialog"]
    ) {
        width: min(100%, calc(100vw - 20px)) !important;
        max-width: calc(100vw - 20px) !important;
        max-height: calc(100dvh - 20px) !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
    }

    body.public-site-rebuild .vehicle-comparison-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    body.public-site-rebuild .vehicle-comparison-table {
        min-width: 680px;
    }
}

@media (max-width: 430px) {
    body.public-site-rebuild .site-shell {
        width: min(calc(100% - 20px), var(--shell)) !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__specs-clean {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__specs-clean > div:last-child {
        grid-column: 1 / -1;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__actions-clean {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.public-site-rebuild .ae-site-quick-action {
        gap: 4px !important;
    }

    body.public-site-rebuild .ae-site-quick-action > svg,
    body.public-site-rebuild .ae-site-quick-action__theme-icon {
        width: 19px !important;
        height: 19px !important;
        min-width: 19px !important;
        min-height: 19px !important;
    }

    body.public-site-rebuild .vehicle-detail__quick-actions > *,
    body.public-site-rebuild .vehicle-detail__branch-links > *,
    body.public-site-rebuild .vehicle-detail__advisor-actions > * {
        flex-basis: 100% !important;
    }
}

@media (max-width: 360px) {
    body.public-site-rebuild .ae-nav-main__inner {
        grid-template-columns: 42px minmax(0, 1fr) 42px !important;
        gap: 6px !important;
    }

    body.public-site-rebuild .ae-nav-brand {
        width: min(108px, 100%) !important;
    }

    body.public-site-rebuild .ae-site-quick-action > span:not(.sr-only):not(.ae-site-quick-action__theme-icon),
    body.public-site-rebuild .ae-site-quick-action > [data-theme-visible-label] {
        font-size: 9px !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__specs-clean {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.public-site-rebuild .vehicle-card--compact .vehicle-card__specs-clean > div:last-child {
        grid-column: auto;
    }
}
