/*
 * Legibilidad pública y adaptación móvil.
 * Capa aislada: no altera precios, datos ni procesos de compra/cotización.
 */

:root {
    --cn-touch-target: 44px;
    --cn-meta-size: 12px;
}

/* Catálogo y tarjetas de producto. */
.commerce-card .card-badges span,
.commerce-card .card-badges b,
.commerce-card .card-brand,
.commerce-card dl,
.commerce-card dl dt,
.commerce-card dl dd,
.commerce-price small,
.catalog-result-bar span,
.catalog-result-bar label,
.subcategory-pills span,
.subcategory-pills small {
    font-size: var(--cn-meta-size);
    line-height: 1.35;
}

.commerce-card .card-actions button,
.commerce-card .card-actions a,
.catalog-view-switch a,
.price-list-links a,
.configurator-card-badge {
    min-height: var(--cn-touch-target);
    font-size: 12px;
}

.commerce-card.is-list .commerce-card h3,
.commerce-card.is-list .commerce-card dl div:first-child {
    font-size: 12px;
}

/* Portal e ingreso de clientes. */
.customer-sidebar nav a,
.customer-sidebar button,
.customer-support a,
.customer-section header > a,
.customer-actions a,
.customer-quote-actions a,
.customer-security button,
.customer-login-shell .access-pane form > button,
.customer-login-shell .customer-access-tabs button {
    min-height: var(--cn-touch-target);
    font-size: 13px;
}

.customer-kpis span,
.customer-dashboard-hero > div > span,
.customer-hero-stats span,
.customer-origin,
.customer-dashboard-section header p,
.customer-import-meta span,
.customer-import-events time,
.customer-import-events li,
.customer-quote-card header small,
.customer-quote-client dt,
.customer-quote-table th,
.customer-quote-table td::before,
.customer-profile dt {
    font-size: var(--cn-meta-size);
    line-height: 1.4;
}

.customer-table th,
.customer-quote-table th {
    font-size: 12px;
}

.customer-table td,
.customer-profile dd,
.customer-quote-client dd,
.customer-quote-table td,
.customer-quote-notes p,
.customer-security label {
    font-size: 13px;
    line-height: 1.45;
}

.customer-login-shell .access-consent input,
.customer-login-shell .access-remember input {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
}

/* Evita que textos o enlaces largos ensanchen la página en móviles. */
.managed-footer-main > *,
.managed-footer-brand,
.managed-footer-column,
.customer-content,
.customer-quote-card {
    min-width: 0;
}

.managed-footer-brand > a,
.managed-footer-brand img {
    max-width: 100%;
}

@media (max-width: 700px) {
    .commerce-search input,
    .customer-login-shell .access-pane input,
    .customer-security input,
    .customer-quote-card input,
    .customer-quote-card textarea,
    .customer-quote-card select {
        font-size: 16px;
    }

    .commerce-card .card-actions button,
    .commerce-card .card-actions a,
    .customer-login-shell .access-text-action,
    .customer-login-shell .access-alternatives button {
        min-height: var(--cn-touch-target);
    }

    .managed-footer-main {
        width: calc(100% - 32px);
        grid-template-columns: minmax(0, 1fr);
    }

    .managed-footer-brand,
    .managed-footer-column {
        width: 100%;
        min-width: 0;
    }

    .managed-footer a,
    .managed-footer p,
    .managed-footer address {
        overflow-wrap: anywhere;
    }
}
