/* OPYNARI / AEP Design System — Base */

.opynari-aep-page,
body.aep-ui-admin {
    font-family: var(--opy-font-family);
    color: var(--opy-text);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.opynari-aep-page :where(button, input, select, textarea),
body.aep-ui-admin :where(button, input, select, textarea) {
    font-family: var(--opy-font-family);
}

/* Normal interface copy is intentionally light/medium. */
.opynari-aep-page :where(p, li, dd, dt, label, input, select, textarea),
body.aep-ui-admin :where(p, li, dd, dt, label, input, select, textarea) {
    font-weight: var(--opy-weight-regular);
}

/* Do not globally restyle major H1/hero titles in the foundation phase. */
.opynari-aep-page :where(h2, h3, h4, h5, h6),
body.aep-ui-admin :where(h2, h3, h4, h5, h6) {
    font-family: var(--opy-font-family);
    font-weight: var(--opy-weight-semibold);
}

.opynari-aep-page :where(strong, b),
body.aep-ui-admin :where(strong, b) {
    font-weight: var(--opy-weight-semibold);
}


/* Universal typography contract.
 * The design system owns the readable floor; individual modules may choose a
 * semantic role, but they should not create smaller UI text or heavier UI weights.
 */
.opynari-aep-page,
body.aep-ui-admin #wpbody-content {
    font-size: var(--opy-font-body);
    line-height: var(--opy-line-body);
}

.opynari-aep-page :where(small, .description),
body.aep-ui-admin #wpbody-content :where(small, .description) {
    font-size: var(--opy-font-micro);
    line-height: 1.45;
}

.opynari-aep-page :where(button, input, select, textarea),
body.aep-ui-admin #wpbody-content :where(button, input, select, textarea) {
    font-size: var(--opy-font-secondary);
    font-weight: var(--opy-weight-medium);
}
