/**
 * Base condiviso — token e reset pagine pubbliche
 * Le pagine specifiche: assets/css/pages/*.css
 */

:root {
    --brand-red: oklch(54% 0.20 22);
    --brand-red-dark: oklch(45% 0.18 22);
    --surface-page: oklch(97% 0.004 22);
    --surface-card: oklch(99% 0.004 22);
    --text-primary: oklch(15% 0.01 22);
    --text-muted: oklch(50% 0.01 22);
    --text-on-dark: oklch(96% 0.005 22);
    --border-subtle: oklch(0% 0.005 22 / 0.08);
    --font-body: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-display: 'Oswald', Impact, 'Arial Narrow', sans-serif;
    --page-gutter: clamp(16px, 4vw, 28px);
    --container-max: 1200px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Wrapper pagina interna (sostituisce reset inline duplicato) */
[class$="-page"],
.sq-page,
.cnt-page,
.priv-page {
    font-family: var(--font-body);
    color: var(--text-primary);
    background: var(--surface-page);
}

.container {
    max-width: var(--container-max);
    margin: 0 auto;
    padding-left: var(--page-gutter);
    padding-right: var(--page-gutter);
}

/* Sezioni sotto la piega: rendering differito */
.partners,
.academy,
.about,
.sq-youth,
.sq-mini,
.sq-senior,
.news-body,
.cal-body {
    content-visibility: auto;
    contain-intrinsic-size: auto 480px;
}

/* Pattern sezione numerata (condiviso tra pagine editoriali) */
.section-label,
[class*="-hero-eyebrow"],
[class*="-section-num"] {
    font-family: var(--font-body);
}

[class*="-section-heading"],
[class*="-hero-title"]:not(.hero-title) {
    font-family: var(--font-display);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.3px;
}
