/* Appearance control and the dark palette for the public WordPress theme. */
:root { color-scheme: light; }
.header-inner > .brand { margin-right: auto; }
.header-actions { display: flex; align-items: center; gap: 18px; flex-shrink: 0; }
.appearance-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: transparent;
    color: var(--ink);
    transition: background-color .18s, border-color .18s;
}
.appearance-toggle[hidden] { display: none; }
.appearance-toggle:hover { background: var(--soft); border-color: var(--muted); }
.appearance-sun { display: none; }
[data-theme="dark"] .appearance-moon { display: none; }
[data-theme="dark"] .appearance-sun { display: block; }
:root[data-theme="dark"] {
    color-scheme: dark;
    --ink: #edf0f2;
    --muted: #adbac5;
    --paper: #101923;
    --white: #182531;
    --red: #ed879a;
    --line: #34434f;
    --soft: #1d2c39;
}
[data-theme="dark"] body { background: var(--paper); color: var(--ink); }
[data-theme="dark"] .header { background: rgba(16,25,35,.98); }
[data-theme="dark"] .preview-note { background: #1b2935; color: #b5c0c9; }

[data-theme="dark"] .skip { background: #243544; color: var(--ink); }
[data-theme="dark"] .text-link { color: var(--ink); }
[data-theme="dark"] .text-link:hover { color: var(--red); }
[data-theme="dark"] .hero,
[data-theme="dark"] .schedule-band,
[data-theme="dark"] .regular-event { background: #101d2b; }
[data-theme="dark"] .results-home,
[data-theme="dark"] .contact-form { background: #162330; }
[data-theme="dark"] .notice,
[data-theme="dark"] .home-club-facts p:first-child { background: #202d37; }
[data-theme="dark"] .button:not(.secondary),
[data-theme="dark"] .fp-contact input[type="submit"] { background: #bc2441 !important; color: #fff !important; }
[data-theme="dark"] .button:not(.secondary):hover,
[data-theme="dark"] .fp-contact input[type="submit"]:hover { background: #d23654 !important; }
[data-theme="dark"] .button.secondary:hover { background: var(--soft); }
[data-theme="dark"] .document-content { color: #c1cbd3; }
[data-theme="dark"] .mini-table th,
[data-theme="dark"] .mini-table td,
[data-theme="dark"] .partner-links a { border-color: var(--line); }
[data-theme="dark"] .honour.season { background: var(--soft); }
[data-theme="dark"] .table-scroll { background: var(--paper); }
[data-theme="dark"] .fp-ranking,
[data-theme="dark"] .fp-honours { scrollbar-color: #718392 #1a2935; }
[data-theme="dark"] .fp-ranking table,
[data-theme="dark"] .fp-honours table { --row-surface: #182531; }
[data-theme="dark"] .fp-ranking table td,
[data-theme="dark"] .fp-ranking table th,
[data-theme="dark"] .fp-honours table td,
[data-theme="dark"] .fp-honours table th { border-bottom-color: #30404c !important; }
[data-theme="dark"] .fp-ranking table .fp-row-alt,
[data-theme="dark"] .fp-honours table .fp-row-alt { --row-surface: #1d2c38; }
[data-theme="dark"] .fp-ranking table .fp-leading-rank { --row-surface: #342b35; }
[data-theme="dark"] .fp-ranking table tbody tr:not(.fp-table-labels):hover,
[data-theme="dark"] .fp-honours table tbody tr:not(.fp-season-heading):hover { --row-surface: #2a3c49; }
[data-theme="dark"] .fp-ranking table .fp-table-labels { --row-surface: #253746; }
[data-theme="dark"] .fp-ranking table .fp-table-labels td,
[data-theme="dark"] .fp-ranking table thead th,
[data-theme="dark"] .fp-honours table .fp-season-heading td { background: #253746 !important; color: #edf0f2 !important; }
[data-theme="dark"] .fp-ranking table td:nth-child(4),
[data-theme="dark"] .fp-ranking table .fp-top-rank td:first-child,
[data-theme="dark"] .fp-honours table .fp-season-winner td:last-child { color: #f09aae !important; }
[data-theme="dark"] .fp-ranking table .fp-table-labels td:nth-child(4) { color: #edf0f2 !important; }
[data-theme="dark"] .fp-ranking table td:nth-child(3),
[data-theme="dark"] .fp-ranking table th:nth-child(3) { box-shadow: 1px 0 #3d505e !important; }
[data-theme="dark"] .fp-honours table .fp-season-winner td { background: #263543 !important; }
[data-theme="dark"] .fp-contact input:not([type="submit"]):not([type="checkbox"]):not([type="hidden"]),
[data-theme="dark"] .fp-contact textarea { background: #101c27 !important; border-color: #5a6e7d !important; }
[data-theme="dark"] .fp-contact input::placeholder,
[data-theme="dark"] .fp-contact textarea::placeholder { color: #a8b8c4; opacity: 1; }
[data-theme="dark"] .fp-contact .sow-form-field-error { color: #ffb3c0 !important; }
[data-theme="dark"] .fp-contact .sow-contact-form-error { background: #412632 !important; color: #ffccd6 !important; }
[data-theme="dark"] .fp-contact .sow-contact-form-success { background: #193a31 !important; color: #c3ecd6 !important; border-left-color: #70b992 !important; }
[data-theme="dark"] footer { border-top: 1px solid var(--line); }
[data-theme="dark"] a:focus-visible,
[data-theme="dark"] button:focus-visible,
[data-theme="dark"] summary:focus-visible,
[data-theme="dark"] input:focus-visible,
[data-theme="dark"] textarea:focus-visible,
[data-theme="dark"] [tabindex]:focus-visible { outline-color: #f09aae; }
@media (max-width: 1050px) and (min-width: 721px) {
    .header-inner { gap: 20px; }
    #navigation ul { gap: 24px; }
}
@media (max-width: 720px) {
    .header-inner { gap: 14px; }
    .header-actions { gap: 14px; }
    [data-theme="dark"] #navigation { box-shadow: 0 15px 20px #0003; }
}
@media (max-width: 420px) {
    .header-inner, .header-actions { gap: 8px; }
    .brand { gap: 9px; }
    .brand img { width: 54px; height: 36px; }
    .brand > span { font-size: 11px; }
    .brand small { font-size: 8px; }
    .menu-toggle { justify-content: center; width: 44px; height: 44px; }
    .menu-toggle > span:first-child { display: none; }
}
@media (max-width: 360px) { .brand > span { display: none; } }
@media (prefers-reduced-motion: reduce) { .appearance-toggle { transition: none; } }

/* WordPress moves its mobile admin bar out of the viewport when scrolling. */
@media (max-width: 600px) { .admin-bar .header { top: 0; } }
