/* ============================================================
   BASE CSS — SportZone Pro
   Typography, layout base, blog articles
   ============================================================ */

/* ── Typography ───────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--sz-font-head);
    font-weight: 700;
    color: var(--sz-text);
    line-height: 1.15;
}
p { margin-bottom: 16px; line-height: 1.7; }
p:last-child { margin-bottom: 0; }

/* ── Inputs global ────────────────────────────────────────── */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="password"],
input[type="number"],
select,
textarea {
    appearance: none;
    -webkit-appearance: none;
    color-scheme: dark;
}
input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(1) opacity(0.4); }

/* ── Site main ────────────────────────────────────────────── */
.site-main { min-height: 60vh; }

/* ── Blog article fallback ────────────────────────────────── */
.sz-blog-article {
    max-width: 760px;
    margin: 0 auto 60px;
    padding-bottom: 60px;
    border-bottom: 1px solid var(--sz-border);
}
.sz-blog-article h2 { font-size: 1.6rem; margin-bottom: 8px; }
.sz-blog-article h2 a { transition: color 0.2s; }
.sz-blog-article h2 a:hover { color: var(--sz-green); }
.sz-article-meta { font-size: 0.8rem; color: var(--sz-muted); margin-bottom: 16px; }
.sz-article-excerpt { color: var(--sz-text2); margin: 16px 0; }
.sz-no-results { color: var(--sz-muted); font-size: 1rem; }
.sz-no-results a { color: var(--sz-green); }

/* ── WP page content ──────────────────────────────────────── */
.entry-content {
    color: var(--sz-text);
    line-height: 1.8;
    font-size: 1rem;
}
.entry-content a { color: var(--sz-green); text-decoration: underline; }
.entry-content ul { list-style: disc; padding-left: 24px; margin-bottom: 16px; }
.entry-content ol { list-style: decimal; padding-left: 24px; margin-bottom: 16px; }
.entry-content img { border-radius: var(--sz-radius3); max-width: 100%; margin: 16px 0; }
.entry-content blockquote {
    border-left: 3px solid var(--sz-green);
    padding: 12px 20px;
    margin: 24px 0;
    background: var(--sz-surface);
    border-radius: 0 var(--sz-radius3) var(--sz-radius3) 0;
    font-style: italic;
    color: var(--sz-text2);
}

/* ── Alignment utilities ──────────────────────────────────── */
.alignleft  { float: left; margin: 0 20px 16px 0; }
.alignright { float: right; margin: 0 0 16px 20px; }
.aligncenter { display: block; margin: 0 auto 16px; text-align: center; }
.alignwide  { width: 100%; }
.alignfull  { width: 100vw; position: relative; left: 50%; transform: translateX(-50%); }
