/* PATH: ./css/c010-base.css */
/* V4.0.0 - IPAX Namespaced Base & Orthogonal Utils */

/* 1. Encapsulated Reset Literal */
body.ipax { margin: 0; padding: 0; min-height: 100vh; }
.ipax, .ipax *, .ipax *::before, .ipax *::after { box-sizing: border-box; margin: 0; padding: 0; }
.ipax { -moz-text-size-adjust: none; -webkit-text-size-adjust: none; text-size-adjust: none; }
.ipax ul[role="list"], .ipax ol[role="list"] { list-style: none; }
.ipax img, .ipax picture { max-width: 100%; display: block; }

/* 2. Elastic Typographic Scale (em-based) */
.ipax {
    --ipax-pt-6:  0.5em; --ipax-pt-7:  0.574em; --ipax-pt-8:  0.66em;
    --ipax-pt-9:  0.758em; --ipax-pt-10: 0.871em; --ipax-pt-11: 0.935em;
    --ipax-pt-12: 1em; --ipax-pt-14: 1.149em; --ipax-pt-16: 1.32em;
    --ipax-pt-18: 1.516em; --ipax-pt-21: 1.741em; --ipax-pt-24: 2em;
    --ipax-pt-28: 2.297em; --ipax-pt-32: 2.639em; --ipax-pt-36: 3.031em;
    --ipax-pt-42: 3.482em; --ipax-pt-48: 4em; --ipax-pt-56: 4.595em;
    --ipax-pt-64: 5.278em; --ipax-pt-72: 6.063em;

    --font-sans: 'Public Sans', system-ui, sans-serif;
    --font-headings:var(--font-sans);
    --font-ui:var(--font-sans);

	--font-apca: "Barlow", sans-serif;

    --font-serif: 'Libre Baskerville', Georgia, serif;
    --font-body:var(--font-serif);
    --font-mono:  monospace;
}

/* 3. Base Ecosystem Rules */
.ipax {
    font-size: 16px; font-family: var(--font-body); line-height: 1.65;
    -webkit-font-smoothing: antialiased; overflow-wrap: break-word; hyphens: auto;
}
.ipax h1, .ipax h2, .ipax h3, .ipax button, .ipax input, .ipax label { line-height: 1.1; text-wrap: balance; }
.ipax p, .ipax li, .ipax blockquote { text-wrap: pretty; }
.ipax a { text-decoration: none; color: inherit; background: none; -webkit-tap-highlight-color: transparent; }

/* 4. Elastic Multipliers */
.ipax-scale-down-2 { font-size: 0.758em; } .ipax-scale-down-1 { font-size: 0.871em; }
.ipax-scale-up-1   { font-size: 1.149em; } .ipax-scale-up-2   { font-size: 1.320em; }
.ipax-scale-up-3   { font-size: 1.516em; }

/* 5. Utility Classes Core */
.ipax .if-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }
.ipax .nobr { white-space: nowrap; }

/* 6. Orthogonal Visiblity Utils (Agnósticas al componente) */
.ipax .u-desktop-only { display: none !important; }
.ipax .u-mobile-only { display: flex !important; } /* Flex es el default estructural del header */

@media (min-width: 769px) {
    .ipax .u-mobile-only { display: none !important; }
    .ipax .u-desktop-only { display: flex !important; } 
}


.modal-color-section-title {
    grid-column: 1 / -1;
    font-size: 9px;
    color: #FFF !important; /* Color fijo para legibilidad de UI */
    opacity: 1;
    text-transform: uppercase;
    margin-top: 8px;
    padding: 4px 0 2px 2px;
    letter-spacing: 1px;
    border-bottom: 1px solid #333;
    margin-bottom: 4px;
}