:root {
    --fzs-primary: #176b4d;
    --fzs-primary-dark: #0d4d37;
    --fzs-primary-soft: #e8f4ee;
    --fzs-support: #b4682f;
    --fzs-support-soft: #f7e3d3;
    --fzs-ink: #14231d;
    --fzs-muted: #56645e;
    --fzs-muted-strong: #405049;
    --fzs-page: #faf8f2;
    --fzs-sand: #f4f0e7;
    --fzs-surface: #fffdf8;
    --fzs-surface-muted: #f7f9f8;
    --fzs-line: #d9ded6;
    --fzs-line-strong: #b9c3bd;
    --fzs-white: #ffffff;
    --fzs-success: #176b4d;
    --fzs-success-soft: #e8f4ee;
    --fzs-warning: #8a4b08;
    --fzs-warning-soft: #fff0df;
    --fzs-danger: #9d2f22;
    --fzs-danger-soft: #fdecea;
    --fzs-green: var(--fzs-primary);
    --fzs-green-dark: var(--fzs-primary-dark);
    --fzs-green-light: var(--fzs-primary-soft);
    --fzs-accent: var(--fzs-support);
    --fzs-accent-light: var(--fzs-support-soft);
    --fzs-content-width: 1180px;
    --fzs-section-space: 5rem;
    --fzs-inner-space: 1.25rem;
    --fzs-h1-size: 3.35rem;
    --fzs-h2-size: 2.25rem;
    --fzs-h3-size: 1.22rem;
    --fzs-body-size: 1rem;
    --fzs-radius: 10px;
    --fzs-radius-sm: 10px;
    --fzs-radius-lg: 16px;
    --fzs-border: 1px solid var(--fzs-line);
    --fzs-shadow: 0 16px 38px rgba(20, 35, 29, 0.08);
    --fzs-shadow-soft: 0 8px 22px rgba(20, 35, 29, 0.06);
    --fzs-button-radius: 10px;
    --fzs-card-radius: 10px;
    --fzs-badge-radius: 999px;
    --fzs-focus-ring: 0 0 0 5px var(--fzs-surface), 0 0 0 8px var(--fzs-support);
    --fzs-touch-target: 44px;
}

.fzs-portal,
.fzs-portal * {
    box-sizing: border-box;
}

.fzs-portal {
    color: var(--fzs-ink);
    font-size: var(--fzs-body-size);
    line-height: 1.6;
    margin-left: auto;
    margin-right: auto;
    max-width: var(--fzs-content-width);
    overflow-wrap: break-word;
}

.fzs-portal h1,
.fzs-portal h2,
.fzs-portal h3,
.fzs-portal h4,
.fzs-portal p {
    margin-top: 0;
}

.fzs-portal h1,
.fzs-portal h2,
.fzs-portal h3,
.fzs-portal h4 {
    color: var(--fzs-ink);
    font-weight: 800;
}

.fzs-portal h1 {
    font-size: var(--fzs-h1-size);
    letter-spacing: 0;
    line-height: 1.04;
    max-width: 15ch;
}

.fzs-portal h2 {
    font-size: var(--fzs-h2-size);
    letter-spacing: 0;
    line-height: 1.12;
}

.fzs-intro h1 {
    font-size: var(--fzs-h2-size);
    letter-spacing: 0;
    line-height: 1.12;
    max-width: none;
    overflow-wrap: normal;
    word-break: normal;
}

.fzs-portal h3 {
    font-size: var(--fzs-h3-size);
    line-height: 1.3;
}

.fzs-portal a {
    color: var(--fzs-green-dark);
    text-underline-offset: 0.22em;
}

.fzs-portal a:focus-visible,
.fzs-portal button:focus-visible,
.fzs-portal input:focus-visible,
.fzs-portal select:focus-visible,
.fzs-portal textarea:focus-visible,
.fzs-portal summary:focus-visible {
    box-shadow: var(--fzs-focus-ring);
    outline: 0;
    outline-offset: 3px;
}

.entry-content a {
    text-underline-offset: 0.22em;
}

.entry-content .wp-block-button__link,
.entry-content .wp-element-button {
    align-items: center;
    background: var(--fzs-green);
    border: 2px solid var(--fzs-green);
    border-radius: var(--fzs-button-radius);
    color: var(--fzs-white);
    display: inline-flex;
    font-weight: 750;
    justify-content: center;
    line-height: 1.2;
    min-height: 48px;
    padding: 0.8rem 1.35rem;
    text-decoration: none;
}

.entry-content .wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent;
    color: var(--fzs-green-dark);
}

.entry-content .fzs-external-events-actions {
    margin: 0.4rem 0 1.35rem;
}

.entry-content .fzs-external-events-link {
    background: rgba(255, 253, 248, 0.82);
    border: 1px solid rgba(13, 77, 55, 0.32);
    box-shadow: none;
    color: var(--fzs-green-dark);
    font-size: 0.9rem;
    min-height: 42px;
    padding: 0.62rem 0.95rem;
}

.entry-content .fzs-external-events-link::after {
    content: '\2197';
    font-size: 0.86em;
    line-height: 1;
    margin-left: 0.35rem;
}

.entry-content .fzs-external-events-link:hover,
.entry-content .fzs-external-events-link:focus-visible {
    background: var(--fzs-green-light);
    border-color: rgba(13, 77, 55, 0.54);
    color: var(--fzs-green-dark);
}

.entry-content .wp-block-table {
    overflow-x: auto;
}

.entry-content table {
    border-color: var(--fzs-line);
    width: 100%;
}

.entry-content th,
.entry-content td {
    border-color: var(--fzs-line);
    padding: 0.7rem 0.85rem;
    vertical-align: top;
}

.entry-content th {
    background: var(--fzs-surface-muted);
    color: var(--fzs-ink);
    font-weight: 800;
}

@media (min-width: 769px) {
    body.page.right-sidebar #primary,
    body.single-fzs_course.right-sidebar #primary,
    body.single-fzs_club.right-sidebar #primary {
        max-width: none !important;
        width: 100% !important;
    }

    body.page.right-sidebar main.site-main,
    body.single-fzs_course.right-sidebar main.site-main,
    body.single-fzs_club.right-sidebar main.site-main {
        margin-right: 0 !important;
    }

    body.page.right-sidebar #right-sidebar,
    body.single-fzs_course.right-sidebar #right-sidebar,
    body.single-fzs_club.right-sidebar #right-sidebar {
        display: none !important;
    }
}

body:has(.fzs-portal--calendar) .entry-header,
body:has(.fzs-portal--calendar) .wp-block-post-title,
body:has(.fzs-portal--calendar) .entry-content > p.wp-block-paragraph:first-child,
body:has(.fzs-portal--results) .entry-header,
body:has(.fzs-portal--results) .wp-block-post-title,
body:has(.fzs-portal--results) .entry-content > p.wp-block-paragraph:first-child,
body:has(.fzs-portal--documents) .entry-header,
body:has(.fzs-portal--documents) .wp-block-post-title,
body:has(.fzs-portal--documents) .entry-content > p.wp-block-paragraph:first-child,
body:has(.fzs-portal--courses) .entry-header,
body:has(.fzs-portal--courses) .wp-block-post-title,
body:has(.fzs-portal--courses) .entry-content > p.wp-block-paragraph:first-child,
body:has(.fzs-portal--clubs) .entry-header,
body:has(.fzs-portal--clubs) .wp-block-post-title,
body:has(.fzs-portal--clubs) .entry-content > p.wp-block-paragraph:first-child,
body:has(.fzs-portal--sdgl) .entry-header,
body:has(.fzs-portal--sdgl) .wp-block-post-title,
body:has(.fzs-portal--sdgl) .entry-content > p.wp-block-paragraph:first-child,
body:has(.fzs-portal--championships) .entry-header,
body:has(.fzs-portal--championships) .wp-block-post-title,
body:has(.fzs-portal--championships) .entry-content > p.wp-block-paragraph:first-child,
body:has(.fzs-portal--home) .entry-header,
body:has(.fzs-portal--home) .wp-block-post-title,
body:has(.fzs-portal--sport) .entry-header,
body:has(.fzs-portal--sport) .wp-block-post-title,
body:has(.fzs-portal--start) .entry-header,
body:has(.fzs-portal--start) .wp-block-post-title,
body:has(.fzs-portal--equipment) .entry-header,
body:has(.fzs-portal--equipment) .wp-block-post-title,
body:has(.fzs-portal--organizations) .entry-header,
body:has(.fzs-portal--organizations) .wp-block-post-title,
body:has(.fzs-portal--teambuilding) .entry-header,
body:has(.fzs-portal--course-setup) .entry-header,
body:has(.dg-org-page--teambuilding) .entry-header,
body:has(.dg-org-page--course-setup) .entry-header {
    display: none !important;
}

body:has(.fzs-notifications) .entry-header,
body:has(.fzs-notifications) .wp-block-post-title {
    display: none !important;
}

.fzs-portal .screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal;
}

body:has(.fzs-about-shell) .entry-header,
body:has(.fzs-about-shell) .wp-block-post-title {
    display: none !important;
}

.fzs-about-shell {
    display: grid;
    gap: clamp(1.2rem, 2.6vw, 1.8rem);
}

.fzs-about-hero {
    background:
        linear-gradient(135deg, rgba(232, 244, 238, 0.92), rgba(255, 253, 248, 0.98) 58%, rgba(244, 240, 231, 0.82)),
        var(--fzs-surface);
    border: 1px solid rgba(13, 77, 55, 0.14);
    border-radius: var(--fzs-radius-lg);
    box-shadow: var(--fzs-shadow-soft);
    overflow: hidden;
    padding: clamp(1.6rem, 4.5vw, 3.2rem);
    position: relative;
}

.fzs-about-hero::before {
    background: var(--fzs-green);
    content: '';
    height: 100%;
    left: 0;
    opacity: 0.9;
    position: absolute;
    top: 0;
    width: 6px;
}

.fzs-about-hero h1 {
    font-size: clamp(2.25rem, 5vw, 3.4rem);
    letter-spacing: 0;
    line-height: 1.04;
    margin-bottom: 0.8rem;
    max-width: 18ch;
}

.fzs-about-hero__lead {
    color: var(--fzs-muted-strong);
    font-size: clamp(1.02rem, 1.7vw, 1.18rem);
    line-height: 1.62;
    margin: 0;
    max-width: 72ch;
}

.fzs-about-nav {
    align-items: center;
    background: rgba(255, 253, 248, 0.82);
    border: 1px solid rgba(13, 77, 55, 0.12);
    border-radius: var(--fzs-radius);
    box-shadow: var(--fzs-shadow-soft);
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0.5rem;
}

.fzs-about-nav a {
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(--fzs-button-radius);
    color: var(--fzs-green-dark);
    display: inline-flex;
    font-size: 0.94rem;
    font-weight: 800;
    justify-content: center;
    line-height: 1.2;
    min-height: var(--fzs-touch-target);
    padding: 0.62rem 0.86rem;
    text-decoration: none;
}

.fzs-about-nav a:hover,
.fzs-about-nav a:focus-visible {
    background: var(--fzs-green-light);
    color: var(--fzs-green-dark);
}

.fzs-about-nav a.is-active {
    background: var(--fzs-green);
    border-color: var(--fzs-green);
    color: var(--fzs-white);
}

.fzs-about-nav-mobile {
    display: none;
}

.fzs-about-content {
    min-width: 0;
}

.fzs-about-content > .fzs-portal {
    max-width: none;
}

.fzs-about-content--kontakt .fzs-portal--contact > .fzs-hero:first-child {
    display: none;
}

.fzs-about-content .fzs-portal--documents,
.fzs-about-content .fzs-portal--clubs,
.fzs-about-content .fzs-detail,
.fzs-about-content .fzs-portal--contact {
    margin-bottom: 0;
}

.fzs-about-content--o-nas,
.fzs-about-content--organi-in-komisije {
    color: var(--fzs-ink);
    font-size: 1rem;
    line-height: 1.64;
}

.fzs-about-content--o-nas > p,
.fzs-about-content--organi-in-komisije > p,
.fzs-about-content--o-nas > ul,
.fzs-about-content--organi-in-komisije > ul {
    max-width: 74ch;
}

.fzs-about-content--o-nas h2,
.fzs-about-content--organi-in-komisije h2 {
    font-size: clamp(1.55rem, 2.8vw, 2.05rem);
    line-height: 1.14;
    margin-bottom: 0.75rem;
    margin-top: clamp(1.8rem, 4vw, 2.6rem);
    max-width: 24ch;
}

.fzs-about-content--o-nas h3,
.fzs-about-content--organi-in-komisije h3 {
    font-size: 1.12rem;
    line-height: 1.25;
}

.fzs-about-content--o-nas .wp-block-columns {
    gap: 1rem;
    margin: 1.35rem 0 2rem;
}

.fzs-about-content--o-nas .wp-block-column {
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-card-radius);
    min-width: 0;
    padding: clamp(1rem, 2vw, 1.25rem);
}

.fzs-about-content--o-nas .wp-block-column p:last-child,
.fzs-about-content--organi-in-komisije details p:last-child {
    margin-bottom: 0;
}

.fzs-about-content--o-nas .wp-block-table,
.fzs-about-content--organi-in-komisije .wp-block-table {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-card-radius);
    box-shadow: var(--fzs-shadow-soft);
    margin: 1rem 0 1.7rem;
    overflow: auto;
}

.fzs-about-content--o-nas table,
.fzs-about-content--organi-in-komisije table {
    border: 0;
    border-collapse: collapse;
    margin: 0;
    table-layout: auto;
}

.fzs-about-content--o-nas th,
.fzs-about-content--o-nas td,
.fzs-about-content--organi-in-komisije th,
.fzs-about-content--organi-in-komisije td {
    border-color: var(--fzs-line);
    line-height: 1.45;
}

.fzs-about-content--o-nas tbody tr:nth-child(even) td,
.fzs-about-content--organi-in-komisije tbody tr:nth-child(even) td {
    background: rgba(247, 249, 248, 0.72);
}

.fzs-about-content--organi-in-komisije details {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-card-radius);
    box-shadow: var(--fzs-shadow-soft);
    margin: 0 0 0.85rem;
    overflow: hidden;
    padding: 0;
}

.fzs-about-content--organi-in-komisije details[open] {
    border-color: rgba(23, 107, 77, 0.28);
}

.fzs-about-content--organi-in-komisije summary {
    align-items: center;
    color: var(--fzs-ink);
    cursor: pointer;
    display: flex;
    font-weight: 850;
    gap: 0.7rem;
    justify-content: space-between;
    line-height: 1.25;
    list-style: none;
    min-height: 56px;
    padding: 0.95rem 1.1rem;
}

.fzs-about-content--organi-in-komisije summary::-webkit-details-marker {
    display: none;
}

.fzs-about-content--organi-in-komisije summary::after {
    background: var(--fzs-green-light);
    border-radius: 999px;
    color: var(--fzs-green-dark);
    content: '+';
    flex: 0 0 auto;
    font-weight: 900;
    height: 1.55rem;
    line-height: 1.55rem;
    text-align: center;
    width: 1.55rem;
}

.fzs-about-content--organi-in-komisije details[open] summary {
    border-bottom: 1px solid var(--fzs-line);
}

.fzs-about-content--organi-in-komisije details[open] summary::after {
    content: '\2212';
}

.fzs-about-content--organi-in-komisije details > :not(summary) {
    margin-left: 1.1rem;
    margin-right: 1.1rem;
}

.fzs-about-content--organi-in-komisije details > :last-child {
    margin-bottom: 1.1rem;
}

.fzs-about-content--organi-in-komisije details ul {
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius-sm);
    margin-top: 0.8rem;
    padding: 0.95rem 1.1rem 0.95rem 2rem;
}

.fzs-about-content--organi-in-komisije details li + li {
    margin-top: 0.35rem;
}

.fzs-about-content--organi-in-komisije > .wp-block-table:last-child {
    margin-bottom: 0;
}

.fzs-about-content--kontakt .fzs-contact-form-shell {
    margin-left: auto;
    margin-right: auto;
    max-width: 760px;
}

.fzs-about-content--kontakt .fzs-portal--contact {
    display: grid;
    gap: clamp(1.4rem, 3vw, 2rem);
}

.fzs-about-content--kontakt .fzs-portal--contact > section,
.fzs-about-content--kontakt .fzs-portal--contact > div {
    margin-bottom: 0;
}

.fzs-about-content--kontakt .fzs-path-card {
    min-height: 0;
}

.fzs-about-content--kontakt .fzs-contact-form-shell .wpcf7-form {
    display: grid;
    gap: 0.9rem;
}

.fzs-about-content--kontakt .fzs-contact-form-shell .wpcf7-form p {
    display: grid;
    gap: 0.38rem;
    margin: 0;
}

.fzs-about-content--kontakt .fzs-contact-form-shell label {
    color: var(--fzs-ink);
    font-weight: 800;
}

.fzs-about-content--kontakt .fzs-contact-form-shell .wpcf7-form-control-wrap {
    display: block;
    min-width: 0;
    width: 100%;
}

.fzs-about-content--kontakt .fzs-contact-form-shell input:not([type='submit']),
.fzs-about-content--kontakt .fzs-contact-form-shell select,
.fzs-about-content--kontakt .fzs-contact-form-shell textarea {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line-strong);
    border-radius: var(--fzs-button-radius);
    box-sizing: border-box;
    color: var(--fzs-ink);
    font: inherit;
    min-height: 48px;
    min-width: 0;
    padding: 0.68rem 0.8rem;
    width: 100%;
}

.fzs-about-content--kontakt .fzs-contact-form-shell textarea {
    min-height: 160px;
}

.fzs-about-content--kontakt .fzs-contact-form-shell input[type='submit'] {
    background: var(--fzs-green);
    border: 2px solid var(--fzs-green);
    border-radius: var(--fzs-button-radius);
    color: var(--fzs-white);
    cursor: pointer;
    font-weight: 850;
    min-height: 48px;
    padding: 0.75rem 1.2rem;
}

.fzs-about-content--kontakt .fzs-contact-form-shell input[type='submit']:hover,
.fzs-about-content--kontakt .fzs-contact-form-shell input[type='submit']:focus-visible {
    background: var(--fzs-green-dark);
    border-color: var(--fzs-green-dark);
}

.fzs-muted-value {
    color: var(--fzs-muted);
    font-style: italic;
}

.fzs-eyebrow {
    color: var(--fzs-green);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    margin-bottom: 0.7rem;
    text-transform: uppercase;
}

.fzs-hero {
    align-items: center;
    background: linear-gradient(135deg, #f4f0e7 0%, #eef3ed 58%, #e3e8df 100%);
    border: var(--fzs-border);
    border-radius: var(--fzs-radius-lg);
    display: grid;
    gap: 2.5rem;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    margin-bottom: var(--fzs-section-space);
    overflow: hidden;
    padding: 2.5rem;
    position: relative;
}

.fzs-hero::after {
    background: linear-gradient(135deg, rgba(250, 248, 242, 0.48), rgba(217, 222, 214, 0.56));
    content: '';
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 34%;
}

.fzs-home-hero {
    background: #0d271e;
    color: var(--fzs-white);
    grid-template-columns: 1fr;
    isolation: isolate;
    min-height: clamp(520px, 48vw, 660px);
    padding: clamp(2.4rem, 5vw, 4rem);
}

.fzs-home-hero::after {
    display: none;
}

.fzs-hero--photo {
    background:
        linear-gradient(90deg, rgba(13, 39, 30, 0.9), rgba(13, 39, 30, 0.62) 48%, rgba(13, 39, 30, 0.14)),
        var(--fzs-hero-photo, linear-gradient(135deg, #0f3d2d, #275b6d));
    background-position: var(--fzs-hero-photo-position, center);
    background-size: cover;
    border: 0;
    color: var(--fzs-white);
    min-height: clamp(360px, 42vw, 520px);
}

.fzs-hero--photo::after {
    display: none;
}

.fzs-hero--photo .fzs-hero__content {
    max-width: 760px;
}

.fzs-hero--photo .fzs-eyebrow {
    color: #bde7ce;
}

.fzs-hero--photo h1,
.fzs-hero--photo h2,
.fzs-hero--photo h3 {
    color: var(--fzs-white);
}

.fzs-hero--photo .fzs-hero__lead {
    color: rgba(255, 253, 248, 0.88);
}

.fzs-hero-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
}

.fzs-hero-facts li {
    background: rgba(255, 253, 248, 0.14);
    border: 1px solid rgba(255, 253, 248, 0.26);
    border-radius: 999px;
    color: var(--fzs-white);
    font-size: 0.88rem;
    font-weight: 760;
    line-height: 1.25;
    padding: 0.42rem 0.7rem;
}

.fzs-hero--photo .fzs-button--primary {
    background: var(--fzs-white);
    border-color: rgba(255, 253, 248, 0.9);
    color: var(--fzs-green-dark);
}

.fzs-hero--photo .fzs-button--primary:hover {
    background: #f4f0e7;
    border-color: #f4f0e7;
    color: var(--fzs-green-dark);
}

.fzs-hero--photo .fzs-button--secondary {
    background: rgba(255, 253, 248, 0.12);
    border-color: rgba(255, 253, 248, 0.5);
    color: var(--fzs-white);
}

.fzs-hero--photo .fzs-button--secondary:hover {
    background: rgba(255, 253, 248, 0.22);
    border-color: rgba(255, 253, 248, 0.82);
    color: var(--fzs-white);
}

.fzs-start-hero.fzs-hero--photo,
.fzs-sport-hero.fzs-hero--photo {
    grid-template-columns: 1fr;
}

.fzs-start-hero.fzs-hero--photo {
    --fzs-hero-photo-position: 44% 44%;
    background:
        linear-gradient(90deg, rgba(13, 39, 30, 0.92), rgba(13, 39, 30, 0.66) 52%, rgba(13, 39, 30, 0.22)),
        var(--fzs-hero-photo, linear-gradient(135deg, #0f3d2d, #275b6d));
    background-position: var(--fzs-hero-photo-position, center);
    background-size: cover;
}

.fzs-start-hero.fzs-hero--photo .fzs-hero__content {
    text-shadow: 0 2px 16px rgba(13, 39, 30, 0.55);
}

.fzs-start-hero.fzs-hero--photo .fzs-actions {
    text-shadow: none;
}

.fzs-sport-hero.fzs-hero--photo {
    --fzs-hero-photo-position: 52% 48%;
    background:
        linear-gradient(90deg, rgba(13, 39, 30, 0.92), rgba(13, 39, 30, 0.68) 48%, rgba(13, 39, 30, 0.14)),
        var(--fzs-hero-photo, linear-gradient(135deg, #0f3d2d, #275b6d));
    background-position: var(--fzs-hero-photo-position, center);
    background-size: cover;
}

.fzs-start-hero.fzs-hero--photo .fzs-hero__media-card,
.fzs-sport-hero.fzs-hero--photo .fzs-hero__media-card {
    display: none;
}

.fzs-calendar-hero.fzs-hero--photo {
    --fzs-hero-photo-position: 56% 46%;
    background:
        linear-gradient(90deg, rgba(13, 39, 30, 0.94), rgba(13, 39, 30, 0.7) 45%, rgba(13, 39, 30, 0.16)),
        var(--fzs-hero-photo, linear-gradient(135deg, #0f3d2d, #275b6d));
    background-position: var(--fzs-hero-photo-position, center);
    background-size: cover;
    grid-template-columns: 1fr;
    margin-bottom: clamp(0.95rem, 2.2vw, 1.45rem);
    max-width: none;
    min-height: clamp(300px, 32vw, 430px);
    padding: clamp(1.75rem, 4.2vw, 3.25rem);
}

.fzs-calendar-hero.fzs-hero--photo .fzs-hero__content {
    text-shadow: 0 2px 18px rgba(13, 39, 30, 0.62);
}

.fzs-calendar-hero.fzs-hero--photo .fzs-hero__lead {
    font-size: clamp(1.08rem, 1.5vw, 1.25rem);
    max-width: 52ch;
}

.fzs-calendar-hero.fzs-hero--photo .fzs-actions {
    margin-top: 1.35rem;
    text-shadow: none;
}

.fzs-calendar-hero + .fzs-external-events-actions,
.fzs-calendar-views + .fzs-external-events-actions {
    margin: clamp(-0.25rem, -0.8vw, 0rem) 0 clamp(1.45rem, 3vw, 2rem);
}

.fzs-championship-hero.fzs-hero--photo {
    --fzs-hero-photo-position: 52% 45%;
    align-items: end;
    background:
        linear-gradient(90deg, rgba(13, 39, 30, 0.94), rgba(13, 39, 30, 0.72) 46%, rgba(13, 39, 30, 0.18)),
        var(--fzs-hero-photo, linear-gradient(135deg, #0f3d2d, #275b6d));
    background-position: var(--fzs-hero-photo-position, center);
    background-size: cover;
    gap: clamp(1rem, 3vw, 2rem);
    grid-template-columns: 1fr;
    margin-bottom: clamp(1rem, 2.4vw, 1.5rem);
    max-width: none;
    min-height: clamp(320px, 34vw, 460px);
    padding: clamp(1.85rem, 4.4vw, 3.5rem);
    width: 100%;
}

.fzs-championship-hero.fzs-hero--photo .fzs-hero__content {
    text-shadow: 0 2px 18px rgba(13, 39, 30, 0.66);
}

.fzs-championship-hero.fzs-hero--photo .fzs-hero__lead {
    font-size: clamp(1.08rem, 1.5vw, 1.25rem);
    max-width: 58ch;
}

.fzs-course-finder-hero.fzs-hero--photo {
    --fzs-hero-photo-position: 50% 56%;
    background:
        linear-gradient(90deg, rgba(13, 39, 30, 0.94), rgba(13, 39, 30, 0.72) 45%, rgba(13, 39, 30, 0.18)),
        var(--fzs-hero-photo, linear-gradient(135deg, #0f3d2d, #275b6d));
    background-position: var(--fzs-hero-photo-position, center);
    background-size: cover;
    grid-template-columns: 1fr;
    margin-bottom: clamp(1.25rem, 2.6vw, 1.85rem);
    min-height: clamp(280px, 30vw, 380px);
    padding: clamp(1.65rem, 4.2vw, 3.1rem);
}

.fzs-course-finder-hero.fzs-hero--photo .fzs-hero__content {
    text-shadow: 0 2px 16px rgba(13, 39, 30, 0.58);
}

.fzs-course-finder-hero.fzs-hero--photo .fzs-hero__lead {
    font-size: clamp(1.08rem, 1.5vw, 1.25rem);
    max-width: 56ch;
}

@media (min-width: 961px) {
    .fzs-home-hero__media img {
        transform: translateX(2%) scale(1.04);
    }
}

.fzs-hero--compact {
    grid-template-columns: 1fr;
}

.fzs-hero__lead {
    color: var(--fzs-muted);
    font-size: 1.18rem;
    line-height: 1.65;
    margin-bottom: 0;
    max-width: 62ch;
}

.fzs-hero__content,
.fzs-hero__media-card,
.fzs-product-card {
    position: relative;
    z-index: 1;
}

.fzs-hero__media-card {
    border-radius: var(--fzs-radius-lg);
    box-shadow: var(--fzs-shadow);
    margin: 0;
    min-height: 320px;
    overflow: hidden;
}

.fzs-hero__media-card img {
    display: block;
    height: 100%;
    min-height: 320px;
    object-fit: cover;
    width: 100%;
}

.fzs-hero__media-card figcaption {
    background: rgba(255, 253, 248, 0.92);
    border: 1px solid rgba(217, 222, 214, 0.82);
    border-radius: var(--fzs-radius-sm);
    bottom: 1rem;
    display: grid;
    gap: 0.15rem;
    left: 1rem;
    max-width: calc(100% - 2rem);
    padding: 0.85rem 1rem;
    position: absolute;
}

.fzs-hero__media-card figcaption span {
    color: var(--fzs-muted);
    font-size: 0.9rem;
}

.fzs-hero__fact {
    background: var(--fzs-white);
    border-left: 5px solid var(--fzs-green);
    border-radius: 0 var(--fzs-radius) var(--fzs-radius) 0;
    box-shadow: var(--fzs-shadow);
    display: grid;
    gap: 0.5rem;
    padding: 1.5rem;
    position: relative;
    z-index: 1;
}

.fzs-hero__fact span {
    color: var(--fzs-muted);
}

.fzs-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.7rem;
}

.fzs-button,
.fzs-portal a.fzs-button {
    align-items: center;
    background: var(--fzs-green);
    border: 2px solid var(--fzs-green);
    border-radius: var(--fzs-button-radius);
    color: var(--fzs-white);
    display: inline-flex;
    gap: 0.35rem;
    font-weight: 750;
    justify-content: center;
    line-height: 1.2;
    min-height: 48px;
    padding: 0.8rem 1.35rem;
    text-align: center;
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.fzs-button:hover,
.fzs-portal a.fzs-button:hover {
    background: var(--fzs-green-dark);
    border-color: var(--fzs-green-dark);
    color: var(--fzs-white);
    transform: translateY(-1px);
}

.fzs-button--secondary,
.fzs-portal a.fzs-button--secondary {
    background: transparent;
    color: var(--fzs-green-dark);
}

.fzs-hero--photo .fzs-button--primary,
.fzs-portal .fzs-hero--photo a.fzs-button--primary {
    background: var(--fzs-white);
    border-color: rgba(255, 253, 248, 0.9);
    color: var(--fzs-green-dark);
}

.fzs-hero--photo .fzs-button--primary:hover,
.fzs-portal .fzs-hero--photo a.fzs-button--primary:hover {
    background: #f4f0e7;
    border-color: #f4f0e7;
    color: var(--fzs-green-dark);
}

.fzs-hero--photo .fzs-button--secondary,
.fzs-portal .fzs-hero--photo a.fzs-button--secondary {
    background: rgba(255, 253, 248, 0.12);
    border-color: rgba(255, 253, 248, 0.58);
    color: var(--fzs-white);
}

.fzs-hero--photo .fzs-button--secondary:hover,
.fzs-hero--photo .fzs-button--secondary:focus-visible,
.fzs-portal .fzs-hero--photo a.fzs-button--secondary:hover,
.fzs-portal .fzs-hero--photo a.fzs-button--secondary:focus-visible {
    background: rgba(255, 253, 248, 0.24);
    border-color: rgba(255, 253, 248, 0.9);
    color: var(--fzs-white);
}

.fzs-button:disabled,
.fzs-button[aria-disabled='true'] {
    cursor: not-allowed;
    opacity: 0.58;
    transform: none;
}

.fzs-button--small,
.fzs-portal a.fzs-button--small {
    min-height: 40px;
    padding: 0.55rem 1rem;
}

.fzs-button--wide,
.fzs-portal a.fzs-button--wide {
    max-width: 100%;
    white-space: normal;
}

.fzs-text-link {
    font-weight: 750;
    text-underline-offset: 0.2em;
}

.fzs-button--small,
.fzs-text-link,
.fzs-result-views a,
.fzs-sdgl-nav a,
.fzs-championship-nav a {
    min-height: var(--fzs-touch-target);
}

.fzs-section-heading {
    align-items: end;
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    margin-bottom: 1.6rem;
}

.fzs-section-heading h2 {
    margin-bottom: 0;
}

.fzs-section-heading p:not(.fzs-eyebrow) {
    color: var(--fzs-muted);
    margin: 0.65rem 0 0;
    max-width: 68ch;
}

.fzs-paths,
.fzs-home-journeys,
.fzs-home-courses,
.fzs-home-events,
.fzs-home-league,
.fzs-portal--next-events,
.fzs-portal--calendar,
.fzs-portal--results,
.fzs-portal--documents,
.fzs-portal--courses,
.fzs-portal--clubs,
.fzs-portal--start > section {
    margin-bottom: var(--fzs-section-space);
}

.fzs-card-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fzs-content-card,
.fzs-path-card,
.fzs-home-course-card,
.fzs-home-event-card,
.fzs-course-card,
.fzs-club-card,
.fzs-result-card,
.fzs-document-card,
.fzs-championship-card,
.fzs-champion-card,
.fzs-sdgl-event,
.fzs-rental-card {
    min-width: 0;
}

.fzs-path-card,
.fzs-home-course-card,
.fzs-home-event-card,
.fzs-course-card,
.fzs-club-card,
.fzs-result-card,
.fzs-championship-card,
.fzs-rental-card,
.fzs-info-grid article {
    border-color: var(--fzs-line);
    border-radius: var(--fzs-card-radius);
}

.fzs-card-grid--paths {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fzs-path-card {
    background: var(--fzs-surface);
    border: var(--fzs-border);
    border-radius: var(--fzs-card-radius);
    color: var(--fzs-ink);
    display: grid;
    gap: 0.55rem;
    min-height: 205px;
    padding: 1.35rem;
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.fzs-path-card:hover,
.fzs-path-card:focus-visible {
    border-color: var(--fzs-green);
    box-shadow: var(--fzs-shadow);
    transform: translateY(-2px);
}

.fzs-card-icon {
    align-items: center;
    background: var(--fzs-green-light);
    border-radius: 50%;
    color: var(--fzs-green-dark);
    display: inline-flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.fzs-card-icon svg {
    height: 22px;
    width: 22px;
}

.fzs-path-card > strong {
    color: var(--fzs-ink);
    font-size: 1.18rem;
    margin-top: 0.35rem;
}

.fzs-path-card > small {
    color: var(--fzs-muted);
    font-size: 0.94rem;
    line-height: 1.5;
}

.fzs-card-arrow {
    color: var(--fzs-green-dark);
    font-size: 0.88rem;
    font-weight: 800;
    margin-top: auto;
}

.fzs-path-card > span:not(.fzs-card-icon):not(.fzs-card-arrow) {
    color: var(--fzs-green);
    font-size: 0.8rem;
    font-weight: 800;
}

.fzs-portal--home {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--fzs-content-width);
}

.fzs-portal--sport > section,
.fzs-portal--equipment > section {
    margin-bottom: var(--fzs-section-space);
}

.fzs-portal--equipment > section.fzs-equipment-hero {
    margin-bottom: 1rem;
}

.fzs-equipment-nav {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: var(--fzs-section-space);
}

.fzs-equipment-nav a {
    align-items: center;
    background: var(--fzs-surface);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-button-radius);
    color: var(--fzs-ink);
    display: grid;
    gap: 0.1rem;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: var(--fzs-touch-target);
    padding: 0.68rem 0.8rem;
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.fzs-equipment-nav a:hover,
.fzs-equipment-nav a:focus-visible {
    background: var(--fzs-primary-soft);
    border-color: rgba(23, 107, 77, 0.42);
    color: var(--fzs-green-dark);
    transform: translateY(-1px);
}

.fzs-equipment-nav span {
    color: var(--fzs-green);
    font-size: 0.75rem;
    font-weight: 850;
    margin-right: 0.45rem;
}

.fzs-equipment-nav strong {
    font-size: 0.92rem;
    line-height: 1.25;
}

.fzs-term-grid,
.fzs-equipment-type-grid,
.fzs-start-promise-list,
.fzs-start-course-grid {
    display: grid;
    gap: 1rem;
}

.fzs-term-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fzs-equipment-type-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fzs-term-grid article,
.fzs-term-card,
.fzs-equipment-type-card,
.fzs-start-course-card {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-card-radius);
    min-width: 0;
    padding: 1.15rem;
}

.fzs-term-grid article h3,
.fzs-term-card h3,
.fzs-equipment-type-card h3 {
    margin-bottom: 0.45rem;
}

.fzs-term-grid article p,
.fzs-term-card p,
.fzs-equipment-type-card p {
    color: var(--fzs-muted);
    margin-bottom: 0;
}

.fzs-term-card {
    color: var(--fzs-ink);
    text-decoration: none;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.fzs-term-card:hover,
.fzs-term-card:focus-visible {
    border-color: var(--fzs-green);
    box-shadow: var(--fzs-shadow-soft);
    transform: translateY(-2px);
}

.fzs-process-list {
    counter-reset: fzs-process;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.fzs-process-list li {
    background: var(--fzs-surface);
    border-top: 4px solid var(--fzs-green);
    display: grid;
    gap: 0.8rem;
    grid-template-columns: 52px 1fr;
    padding: 1.25rem 0;
}

.fzs-process-list li > span {
    align-items: center;
    background: var(--fzs-green-light);
    border-radius: 50%;
    color: var(--fzs-green-dark);
    display: flex;
    font-weight: 800;
    height: 42px;
    justify-content: center;
    margin-left: 0.45rem;
    width: 42px;
}

.fzs-start-club-panel {
    scroll-margin-top: 120px;
}

.fzs-start-club-panel .fzs-section-heading {
    margin-bottom: 1rem;
}

.fzs-start-promise-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
}

.fzs-start-promise-list li {
    background: rgba(255, 253, 248, 0.86);
    border: 1px solid rgba(23, 107, 77, 0.18);
    border-radius: var(--fzs-card-radius);
    display: flex;
    flex-direction: column;
    gap: 0.42rem;
    min-width: 0;
    padding: 0.95rem;
}

.fzs-start-promise-list strong {
    color: var(--fzs-green-dark);
    display: block;
    line-height: 1.25;
}

.fzs-start-promise-list span {
    color: var(--fzs-muted);
    display: block;
    font-size: 0.92rem;
    line-height: 1.5;
}

.fzs-start-course-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fzs-start-course-card {
    display: grid;
    gap: 0.85rem;
}

.fzs-start-course-card__header {
    display: grid;
    gap: 0.28rem;
}

.fzs-start-course-card__header h3 {
    font-size: 1rem;
    line-height: 1.25;
    margin: 0;
}

.fzs-start-course-card__header h3 a {
    color: var(--fzs-ink);
    text-decoration: none;
}

.fzs-start-course-card__header h3 a:hover,
.fzs-start-course-card__header h3 a:focus-visible {
    color: var(--fzs-green-dark);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.fzs-start-course-card__header p,
.fzs-start-course-card__meta {
    color: var(--fzs-muted);
    font-size: 0.9rem;
    line-height: 1.45;
    margin: 0;
}

.fzs-start-course-card:hover {
    border-color: var(--fzs-green);
}

.fzs-product-card {
    background: var(--fzs-surface);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius-lg);
    box-shadow: var(--fzs-shadow);
    display: grid;
    gap: 1rem;
    margin: 0;
    overflow: hidden;
    padding: 1.25rem;
    place-items: center;
}

.fzs-product-card img {
    aspect-ratio: 1 / 1;
    border-radius: var(--fzs-radius);
    display: block;
    height: auto;
    object-fit: contain;
    width: min(100%, 440px);
}

.fzs-product-card figcaption {
    display: grid;
    gap: 0.45rem;
    justify-self: stretch;
    width: 100%;
}

.fzs-product-card strong {
    font-size: 1.2rem;
    line-height: 1.25;
}

.fzs-product-card small {
    color: var(--fzs-muted);
}

.fzs-equipment-hero.fzs-hero--photo {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.58fr);
}

.fzs-equipment-hero.fzs-hero--photo .fzs-product-card {
    background: rgba(255, 253, 248, 0.92);
    border-color: rgba(255, 253, 248, 0.7);
    box-shadow: 0 24px 60px rgba(13, 39, 30, 0.28);
    color: var(--fzs-ink);
}

.fzs-equipment-hero.fzs-hero--photo .fzs-product-card strong {
    color: var(--fzs-ink);
}

.fzs-equipment-hero.fzs-hero--photo .fzs-product-card small {
    color: var(--fzs-muted);
}

.fzs-equipment-type-card span {
    color: var(--fzs-green);
    display: block;
    font-size: 0.82rem;
    font-weight: 800;
    margin-bottom: 0.3rem;
    text-transform: uppercase;
}

.fzs-equipment-fit {
    align-items: center;
    background: var(--fzs-primary-soft);
    border: 1px solid rgba(23, 107, 77, 0.2);
    border-radius: var(--fzs-card-radius);
    display: grid;
    gap: 0.65rem 1rem;
    grid-template-columns: minmax(190px, 1.3fr) repeat(3, minmax(0, 1fr));
    margin-top: 1rem;
    padding: 1rem 1.1rem;
}

.fzs-equipment-fit strong {
    color: var(--fzs-green-dark);
}

.fzs-equipment-fit span {
    color: var(--fzs-muted-strong);
    font-size: 0.9rem;
    line-height: 1.4;
}

.fzs-equipment-choice__actions {
    align-content: center;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr);
}

.fzs-equipment-choice__actions .fzs-button,
.fzs-equipment-choice__actions .fzs-text-link {
    justify-content: center;
    width: 100%;
}

.fzs-equipment-choice__actions .fzs-text-link {
    align-items: center;
    background: rgba(255, 253, 248, 0.94);
    border: 2px solid rgba(255, 253, 248, 0.94);
    border-radius: var(--fzs-button-radius);
    color: var(--fzs-green-dark);
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: var(--fzs-touch-target);
    padding: 0.78rem 1.3rem;
    text-decoration: none;
}

.fzs-equipment-choice__actions .fzs-text-link:hover,
.fzs-equipment-choice__actions .fzs-text-link:focus-visible {
    background: var(--fzs-white);
    border-color: var(--fzs-white);
    color: var(--fzs-green-dark);
    text-decoration: none;
}

.fzs-equipment-choice h2 {
    color: var(--fzs-white);
}

.fzs-equipment-choice .fzs-eyebrow {
    color: #bde7ce;
}

.fzs-equipment-choice p {
    color: rgba(255, 255, 255, 0.82);
}

.fzs-portal .fzs-equipment-choice a.fzs-button--secondary,
.fzs-equipment-choice .fzs-button--secondary {
    background: rgba(255, 253, 248, 0.94);
    border-color: rgba(255, 253, 248, 0.94);
    color: var(--fzs-green-dark);
}

.fzs-portal .fzs-equipment-choice a.fzs-button--secondary:hover,
.fzs-portal .fzs-equipment-choice a.fzs-button--secondary:focus-visible,
.fzs-equipment-choice .fzs-button--secondary:hover,
.fzs-equipment-choice .fzs-button--secondary:focus-visible {
    background: var(--fzs-white);
    border-color: var(--fzs-white);
    color: var(--fzs-green-dark);
}

.fzs-portal--equipment .fzs-equipment-sale,
.fzs-portal--equipment .fzs-payment-panel,
.fzs-portal--equipment .fzs-order-process,
.fzs-portal--equipment .fzs-equipment-set-summary,
.fzs-portal--equipment .fzs-equipment-faq {
    scroll-margin-top: 120px;
}

.fzs-portal--equipment .fzs-equipment-set-summary h2[id],
.fzs-portal--equipment .fzs-equipment-sale h2[id],
.fzs-portal--equipment .fzs-payment-panel h2[id],
.fzs-portal--equipment .fzs-equipment-faq h2[id] {
    scroll-margin-top: 120px;
}

.fzs-portal--equipment .fzs-equipment-sale__grid,
.fzs-portal--equipment .fzs-payment-panel__grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
}

.fzs-portal--equipment .fzs-order-form,
.fzs-portal--equipment .fzs-order-summary,
.fzs-portal--equipment .fzs-payment-details,
.fzs-portal--equipment .fzs-payment-note {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-card-radius);
    box-shadow: var(--fzs-shadow-soft);
    min-width: 0;
}

.fzs-portal--equipment .fzs-order-form,
.fzs-portal--equipment .fzs-order-summary,
.fzs-portal--equipment .fzs-payment-details,
.fzs-portal--equipment .fzs-payment-note {
    padding: 1.15rem;
}

.fzs-portal--equipment .fzs-equipment-offer {
    align-content: start;
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.fzs-portal--equipment .fzs-equipment-price-card {
    background: linear-gradient(135deg, var(--fzs-primary-soft) 0%, var(--fzs-surface) 100%);
    border: 1px solid rgba(23, 107, 77, 0.2);
    border-radius: var(--fzs-card-radius);
    display: grid;
    gap: 0.18rem;
    padding: 1rem;
}

.fzs-portal--equipment .fzs-equipment-price-card span,
.fzs-portal--equipment .fzs-equipment-price-card small {
    color: var(--fzs-muted-strong);
    font-size: 0.9rem;
}

.fzs-portal--equipment .fzs-equipment-price-card strong {
    color: var(--fzs-green-dark);
    font-size: clamp(2rem, 5vw, 3rem);
    line-height: 1;
}

.fzs-portal--equipment .fzs-equipment-highlights {
    display: grid;
    gap: 0.65rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.fzs-portal--equipment .fzs-equipment-highlights li {
    border-top: 1px solid var(--fzs-line);
    color: var(--fzs-muted-strong);
    padding-top: 0.65rem;
}

.fzs-portal--equipment .fzs-equipment-pickup-locations {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-card-radius);
    padding: 1rem;
}

.fzs-portal--equipment .fzs-equipment-pickup-locations h3 {
    margin-bottom: 0.65rem;
}

.fzs-portal--equipment .fzs-equipment-pickup-locations ul {
    display: grid;
    gap: 0.65rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.fzs-portal--equipment .fzs-equipment-pickup-locations li {
    border-top: 1px solid var(--fzs-line);
    display: grid;
    gap: 0.15rem;
    padding-top: 0.65rem;
}

.fzs-portal--equipment .fzs-equipment-pickup-locations li:first-child {
    border-top: 0;
    padding-top: 0;
}

.fzs-portal--equipment .fzs-equipment-pickup-locations strong {
    color: var(--fzs-ink);
    line-height: 1.35;
}

.fzs-portal--equipment .fzs-equipment-pickup-locations span {
    color: var(--fzs-muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.fzs-portal--equipment .fzs-equipment-delivery-options {
    display: grid;
    gap: 0.7rem;
}

.fzs-portal--equipment .fzs-equipment-delivery-options article {
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-card-radius);
    display: grid;
    gap: 0.24rem;
    padding: 0.9rem 1rem;
}

.fzs-portal--equipment .fzs-equipment-delivery-options strong {
    color: var(--fzs-ink);
}

.fzs-portal--equipment .fzs-equipment-delivery-options span {
    color: var(--fzs-muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.fzs-portal--equipment .fzs-starter-order {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.42fr);
    min-width: 0;
}

.fzs-portal--equipment .fzs-order-form {
    display: grid;
    gap: 1rem;
}

.fzs-portal--equipment .fzs-order-form fieldset {
    border: 0;
    margin: 0;
    min-width: 0;
    padding: 0;
}

.fzs-portal--equipment .fzs-order-form legend,
.fzs-portal--equipment .fzs-choice-fieldset legend {
    color: var(--fzs-ink);
    font-size: 1rem;
    font-weight: 850;
    margin-bottom: 0.65rem;
    padding: 0;
}

.fzs-portal--equipment .fzs-order-form__grid,
.fzs-portal--equipment .fzs-choice-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fzs-portal--equipment .fzs-field {
    color: var(--fzs-ink);
    display: grid;
    font-weight: 800;
    gap: 0.35rem;
    min-width: 0;
}

.fzs-portal--equipment .fzs-field small {
    color: var(--fzs-muted);
    font-size: 0.82rem;
    font-weight: 650;
}

.fzs-portal--equipment .fzs-field input,
.fzs-portal--equipment .fzs-field select,
.fzs-portal--equipment .fzs-field textarea {
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line-strong);
    border-radius: var(--fzs-button-radius);
    color: var(--fzs-ink);
    font: inherit;
    font-weight: 500;
    min-height: 48px;
    min-width: 0;
    padding: 0.68rem 0.8rem;
    width: 100%;
}

.fzs-portal--equipment .fzs-field textarea {
    min-height: 118px;
    resize: vertical;
}

.fzs-portal--equipment .fzs-field [aria-invalid='true'] {
    border-color: var(--fzs-danger);
    box-shadow: 0 0 0 3px var(--fzs-danger-soft);
}

.fzs-portal--equipment .fzs-choice-card {
    align-items: flex-start;
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-card-radius);
    cursor: pointer;
    display: grid;
    gap: 0.72rem;
    grid-template-columns: auto 1fr;
    min-width: 0;
    padding: 0.9rem;
}

.fzs-portal--equipment .fzs-choice-card:has(input:checked) {
    background: var(--fzs-success-soft);
    border-color: rgba(23, 107, 77, 0.42);
}

.fzs-portal--equipment .fzs-choice-card input {
    margin-top: 0.2rem;
}

.fzs-portal--equipment .fzs-choice-card strong,
.fzs-portal--equipment .fzs-choice-card small {
    display: block;
}

.fzs-portal--equipment .fzs-choice-card small,
.fzs-portal--equipment .fzs-field-help,
.fzs-portal--equipment .fzs-order-submit-help,
.fzs-portal--equipment .fzs-order-privacy,
.fzs-portal--equipment .fzs-order-fallback,
.fzs-portal--equipment .fzs-order-summary p,
.fzs-portal--equipment .fzs-payment-note p,
.fzs-portal--equipment .fzs-order-process p {
    color: var(--fzs-muted);
    font-size: 0.94rem;
    line-height: 1.5;
}

.fzs-portal--equipment .fzs-order-conditional {
    display: grid;
    gap: 0.5rem;
}

.fzs-portal--equipment .fzs-order-conditional[hidden] {
    display: none;
}

.fzs-portal--equipment .fzs-order-notice,
.fzs-portal--equipment .fzs-order-errors,
.fzs-portal--equipment .fzs-order-status {
    border-radius: var(--fzs-card-radius);
    margin: 0;
    padding: 0.85rem 0.95rem;
}

.fzs-portal--equipment .fzs-order-notice {
    background: var(--fzs-warning-soft);
    color: var(--fzs-warning);
    font-weight: 750;
}

.fzs-portal--equipment .fzs-order-submit-help {
    margin: -0.35rem 0 0;
}

.fzs-portal--equipment .fzs-equipment-faq {
    border-top: 1px solid var(--fzs-line);
    padding-top: var(--fzs-section-space);
}

.fzs-portal--equipment .fzs-equipment-faq__grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fzs-portal--equipment .fzs-equipment-faq details {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-card-radius);
    padding: 0;
}

.fzs-portal--equipment .fzs-equipment-faq summary {
    color: var(--fzs-ink);
    cursor: pointer;
    font-weight: 800;
    line-height: 1.35;
    padding: 0.95rem 1rem;
}

.fzs-portal--equipment .fzs-equipment-faq details p {
    color: var(--fzs-muted);
    line-height: 1.5;
    margin: 0 1rem 1rem;
}

.fzs-portal--equipment .fzs-order-errors {
    background: var(--fzs-danger-soft);
    color: var(--fzs-danger);
}

.fzs-portal--equipment .fzs-order-errors ul {
    margin: 0;
    padding-left: 1.1rem;
}

.fzs-portal--equipment .fzs-order-status {
    background: var(--fzs-success-soft);
    color: var(--fzs-green-dark);
    font-weight: 750;
}

.fzs-portal--equipment .fzs-order-status:empty,
.fzs-portal--equipment .fzs-copy-feedback:empty {
    display: none;
}

.fzs-portal--equipment .fzs-order-summary {
    align-self: start;
    display: grid;
    gap: 0.75rem;
    position: sticky;
    top: 110px;
}

.fzs-portal--equipment .fzs-order-summary h3,
.fzs-portal--equipment .fzs-payment-note h3 {
    margin-bottom: 0;
}

.fzs-portal--equipment .fzs-order-summary dl,
.fzs-portal--equipment .fzs-payment-details {
    display: grid;
    gap: 0;
}

.fzs-portal--equipment .fzs-order-summary dl {
    margin: 0;
}

.fzs-portal--equipment .fzs-order-summary dl > div,
.fzs-portal--equipment .fzs-payment-details > div {
    border-top: 1px solid var(--fzs-line);
    display: grid;
    gap: 0.35rem;
    grid-template-columns: minmax(120px, 0.36fr) minmax(0, 1fr);
    padding: 0.65rem 0;
}

.fzs-portal--equipment .fzs-order-summary dl > div:first-child,
.fzs-portal--equipment .fzs-payment-details > div:first-child {
    border-top: 0;
    padding-top: 0;
}

.fzs-portal--equipment .fzs-order-summary dt,
.fzs-portal--equipment .fzs-payment-details dt {
    color: var(--fzs-muted);
    font-weight: 750;
}

.fzs-portal--equipment .fzs-order-summary dd,
.fzs-portal--equipment .fzs-payment-details dd {
    color: var(--fzs-ink);
    font-weight: 750;
    margin: 0;
    min-width: 0;
}

.fzs-portal--equipment .fzs-order-summary__total {
    align-items: center;
}

.fzs-portal--equipment .fzs-order-summary__total dd strong {
    color: var(--fzs-green-dark);
    font-size: 1.65rem;
    line-height: 1.1;
}

.fzs-portal--equipment .fzs-payment-details dd {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.fzs-portal--equipment .fzs-copy-button {
    align-items: center;
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line-strong);
    border-radius: var(--fzs-button-radius);
    color: var(--fzs-green-dark);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 800;
    justify-content: center;
    min-height: var(--fzs-touch-target);
    padding: 0.45rem 0.75rem;
}

.fzs-portal--equipment .fzs-copy-button:hover,
.fzs-portal--equipment .fzs-copy-button:focus-visible {
    background: var(--fzs-green-light);
    border-color: rgba(23, 107, 77, 0.36);
}

.fzs-portal--equipment .fzs-copy-button:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.fzs-portal--equipment .fzs-payment-note {
    align-content: start;
    display: grid;
    gap: 0.75rem;
}

.fzs-portal--equipment .fzs-copy-feedback {
    background: var(--fzs-success-soft);
    border-radius: var(--fzs-card-radius);
    color: var(--fzs-green-dark);
    font-weight: 800;
    margin: 0;
    padding: 0.75rem 0.9rem;
}

.fzs-portal--equipment .fzs-order-steps {
    counter-reset: fzs-order-step;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
}

.fzs-portal--equipment .fzs-order-steps li {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-card-radius);
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 42px 1fr;
    min-width: 0;
    padding: 1rem;
}

.fzs-portal--equipment .fzs-order-steps span {
    align-items: center;
    background: var(--fzs-green-light);
    border-radius: 50%;
    color: var(--fzs-green-dark);
    display: flex;
    font-weight: 850;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.fzs-portal--equipment .fzs-order-steps p {
    margin: 0;
}

.fzs-home-hero__media {
    border-radius: inherit;
    box-shadow: none;
    height: 100%;
    inset: 0;
    margin: 0;
    min-height: 0;
    overflow: hidden;
    position: absolute;
    width: 100%;
    z-index: 0;
}

.fzs-home-journey-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fzs-home-journey-grid a {
    background: var(--fzs-surface);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-card-radius);
    color: var(--fzs-ink);
    display: grid;
    gap: 0.32rem;
    min-height: 154px;
    padding: 1rem 1.05rem;
    position: relative;
    text-decoration: none;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.fzs-home-journey-grid a::after {
    color: var(--fzs-green);
    content: '\2192';
    font-size: 1.2rem;
    font-weight: 850;
    position: absolute;
    right: 1rem;
    top: 0.82rem;
}

.fzs-home-journey-grid a:hover,
.fzs-home-journey-grid a:focus-visible {
    border-color: rgba(23, 107, 77, 0.48);
    box-shadow: var(--fzs-shadow-soft);
    transform: translateY(-2px);
}

.fzs-home-journey-grid a > span {
    color: var(--fzs-green);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.05em;
}

.fzs-home-journey-grid strong {
    color: var(--fzs-ink);
    font-size: 1.08rem;
    line-height: 1.25;
    padding-right: 1.6rem;
}

.fzs-home-journey-grid small {
    color: var(--fzs-muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.fzs-home-hero__media::after {
    background:
        linear-gradient(90deg, rgba(13, 39, 30, 0.91), rgba(13, 39, 30, 0.68) 48%, rgba(13, 39, 30, 0.08)),
        linear-gradient(180deg, rgba(13, 39, 30, 0.12), rgba(13, 39, 30, 0.36));
    content: '';
    inset: 0;
    position: absolute;
    z-index: 1;
}

.fzs-home-hero .fzs-hero__content {
    max-width: 720px;
    position: relative;
    z-index: 2;
}

.fzs-home-hero .fzs-eyebrow {
    color: #bde7ce;
}

.fzs-home-hero h1,
.fzs-home-hero .fzs-hero__lead {
    color: var(--fzs-white);
}

.fzs-home-hero .fzs-hero__lead {
    color: rgba(255, 253, 248, 0.88);
}

.fzs-home-paths {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1.35rem;
    max-width: 48rem;
}

.fzs-home-paths .fzs-button,
.fzs-portal .fzs-home-hero .fzs-home-paths a.fzs-button {
    backdrop-filter: blur(4px);
    background: rgba(255, 253, 248, 0.68);
    border-color: rgba(255, 253, 248, 0.82);
    box-shadow: 0 10px 24px rgba(6, 37, 28, 0.2);
    color: var(--fzs-green-dark);
    justify-content: center;
    min-height: 54px;
    min-width: 0;
    padding-left: 0.85rem;
    padding-right: 0.85rem;
    text-align: center;
    width: 100%;
}

.fzs-home-paths .fzs-button:hover,
.fzs-home-paths .fzs-button:focus-visible,
.fzs-portal .fzs-home-hero .fzs-home-paths a.fzs-button:hover,
.fzs-portal .fzs-home-hero .fzs-home-paths a.fzs-button:focus-visible {
    background: var(--fzs-green);
    border-color: var(--fzs-green);
    box-shadow: 0 14px 28px rgba(6, 37, 28, 0.25);
    color: var(--fzs-white);
}

.fzs-home-paths .fzs-button--primary,
.fzs-portal .fzs-home-hero .fzs-home-paths a.fzs-button--primary {
    background: var(--fzs-green);
    border-color: var(--fzs-green);
    color: var(--fzs-white);
}

.fzs-home-paths .fzs-button--primary:hover,
.fzs-home-paths .fzs-button--primary:focus-visible,
.fzs-portal .fzs-home-hero .fzs-home-paths a.fzs-button--primary:hover,
.fzs-portal .fzs-home-hero .fzs-home-paths a.fzs-button--primary:focus-visible {
    background: var(--fzs-green-dark);
    border-color: var(--fzs-green-dark);
}

.fzs-home-utility-paths {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1rem;
    margin-top: 0.95rem;
}

.fzs-home-utility-paths a,
.fzs-hero__utility-link {
    color: rgba(255, 253, 248, 0.9);
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
}

.fzs-home-utility-paths a:hover,
.fzs-home-utility-paths a:focus-visible,
.fzs-hero__utility-link:hover,
.fzs-hero__utility-link:focus-visible {
    color: var(--fzs-white);
}

.fzs-portal .fzs-hero--photo a.fzs-hero__utility-link {
    align-items: center;
    background: rgba(255, 253, 248, 0.14);
    border: 1px solid rgba(255, 253, 248, 0.58);
    border-radius: var(--fzs-button-radius);
    color: var(--fzs-white);
    display: inline-flex;
    font-weight: 800;
    margin-top: 0.85rem;
    min-height: var(--fzs-touch-target);
    padding: 0.55rem 0.8rem;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
}

.fzs-portal .fzs-hero--photo a.fzs-hero__utility-link:hover,
.fzs-portal .fzs-hero--photo a.fzs-hero__utility-link:focus-visible {
    background: rgba(255, 253, 248, 0.24);
    border-color: var(--fzs-white);
    color: var(--fzs-white);
}

.fzs-home-hero__media img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform-origin: center;
    width: 100%;
}

.fzs-home-hero__media figcaption {
    backdrop-filter: blur(4px);
    background: rgba(255, 253, 248, 0.74);
    border: 1px solid rgba(255, 253, 248, 0.72);
    border-radius: var(--fzs-radius-sm);
    bottom: 1.25rem;
    color: var(--fzs-ink);
    display: grid;
    gap: 0.15rem;
    left: auto;
    max-width: min(360px, calc(100% - 2.5rem));
    padding: 0.85rem 1rem;
    position: absolute;
    right: 1.25rem;
    z-index: 2;
}

.fzs-home-hero__media figcaption strong {
    color: var(--fzs-ink);
    line-height: 1.35;
}

.fzs-home-hero__media figcaption span {
    color: var(--fzs-muted);
    font-size: 0.9rem;
}

.fzs-home-hero__notes {
    border-top: var(--fzs-border);
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.2rem;
    list-style: none;
    margin: 1.5rem 0 0;
    padding: 1rem 0 0;
}

.fzs-home-hero__notes li {
    align-items: center;
    color: var(--fzs-muted);
    display: inline-flex;
    font-size: 0.92rem;
    font-weight: 700;
    gap: 0.45rem;
}

.fzs-home-hero__notes li::before {
    background: var(--fzs-accent);
    border-radius: 50%;
    content: '';
    height: 0.45rem;
    width: 0.45rem;
}

.fzs-home-course-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fzs-content-card,
.fzs-home-course-card,
.fzs-home-event-card {
    min-width: 0;
}

.fzs-home-course-card {
    background: var(--fzs-surface);
    border: var(--fzs-border);
    border-radius: var(--fzs-radius-sm);
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;
    padding: 1.15rem;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.fzs-home-course-card:hover {
    border-color: rgba(23, 107, 77, 0.5);
    box-shadow: var(--fzs-shadow-soft);
    transform: translateY(-2px);
}

.fzs-home-course-card__media {
    align-items: center;
    aspect-ratio: 4 / 3;
    background:
        radial-gradient(circle at 75% 22%, rgba(180, 104, 47, 0.22), transparent 22%),
        linear-gradient(135deg, #dfece3, #f5f1e8);
    border-radius: 10px;
    color: var(--fzs-green-dark);
    display: flex;
    font-size: 1.4rem;
    font-weight: 850;
    justify-content: center;
    margin-bottom: 1rem;
    overflow: hidden;
}

.fzs-home-course-card__media img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.fzs-home-course-card h3 {
    font-size: 1.2rem;
    margin: 0.75rem 0 0.25rem;
}

.fzs-home-course-card h3 a,
.fzs-home-event-card h3 a {
    color: var(--fzs-ink);
    text-decoration: none;
}

.fzs-home-course-card h3 a:hover,
.fzs-home-event-card h3 a:hover {
    color: var(--fzs-green-dark);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.fzs-home-course-card p {
    color: var(--fzs-muted);
    margin-bottom: 0;
}

.fzs-home-course-card__meta {
    font-weight: 700;
}

.fzs-home-card-facts {
    border-top: var(--fzs-border);
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 1rem 0;
    padding-top: 0.85rem;
}

.fzs-home-card-facts dt {
    color: var(--fzs-muted);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.fzs-home-card-facts dd {
    font-weight: 750;
    margin: 0.2rem 0 0;
}

.fzs-home-event-list {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fzs-home-event-card {
    background: var(--fzs-surface);
    border: var(--fzs-border);
    border-radius: var(--fzs-radius-sm);
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    min-height: 100%;
    padding: 1rem;
}

.fzs-home-event-card > time {
    align-items: center;
    background: var(--fzs-accent-light);
    border: 1px solid rgba(180, 104, 47, 0.18);
    border-radius: 12px;
    color: #6f3d19;
    display: flex;
    flex-direction: column;
    font-size: 0.78rem;
    font-weight: 850;
    justify-content: center;
    min-height: 74px;
    text-transform: uppercase;
    width: 78px;
}

.fzs-home-event-card > time span {
    font-size: 1.55rem;
    line-height: 1;
}

.fzs-home-event-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.72rem;
    min-width: 0;
}

.fzs-home-event-card h3 {
    font-size: 1.25rem;
    line-height: 1.22;
    margin: 0.1rem 0 0;
}

.fzs-home-event-card p {
    color: var(--fzs-muted);
    margin-bottom: 0;
}

.fzs-home-event-facts {
    display: grid;
    gap: 0.46rem;
    margin: 0;
}

.fzs-home-event-facts div {
    display: grid;
    gap: 0.1rem;
}

.fzs-home-event-facts dt {
    color: var(--fzs-muted);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.fzs-home-event-facts dd {
    font-weight: 650;
    margin: 0;
}

.fzs-home-card-actions {
    border-top: 1px solid rgba(217, 222, 214, 0.78);
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: auto;
    padding-top: 0.75rem;
}

.fzs-home-card-actions .fzs-button {
    flex: 1 1 125px;
    min-width: 0;
}

.fzs-home-course-card__presentation {
    flex-basis: 100%;
    line-height: 1.25;
    width: 100%;
}

.fzs-local-club-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    width: 100%;
}

.fzs-local-club-cta--start {
    align-self: end;
    margin-top: auto;
}

.fzs-local-club-cta .fzs-button {
    min-width: 0;
}

.fzs-start-course-card__club-cta {
    flex: 1 1 100%;
    line-height: 1.25;
}

.fzs-home-card-actions .fzs-button--secondary,
.fzs-event-card__action .fzs-button--secondary {
    background: rgba(255, 253, 248, 0.72);
    border-color: rgba(23, 107, 77, 0.38);
    color: var(--fzs-green-dark);
    font-weight: 700;
}

.fzs-home-card-actions .fzs-button--secondary:hover,
.fzs-home-card-actions .fzs-button--secondary:focus-visible,
.fzs-event-card__action .fzs-button--secondary:hover,
.fzs-event-card__action .fzs-button--secondary:focus-visible {
    background: var(--fzs-green-light);
    border-color: rgba(23, 107, 77, 0.46);
    color: var(--fzs-green-dark);
}

.fzs-home-clubs {
    background:
        linear-gradient(135deg, rgba(231, 240, 233, 0.96), rgba(255, 253, 248, 0.98)),
        var(--fzs-surface);
    border: var(--fzs-border);
    border-radius: var(--fzs-radius-sm);
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(220px, 0.58fr) minmax(0, 1.42fr);
    margin-bottom: var(--fzs-section-space);
    padding: clamp(1.15rem, 3vw, 1.8rem);
}

.fzs-home-clubs__intro {
    align-content: start;
    display: grid;
    gap: 0.65rem;
}

.fzs-home-clubs__intro h2 {
    font-size: clamp(1.55rem, 2.4vw, 1.95rem);
    margin-bottom: 0;
}

.fzs-home-clubs__intro p {
    color: var(--fzs-muted);
    margin-bottom: 0.25rem;
}

.fzs-home-clubs__intro .fzs-button {
    justify-self: start;
}

.fzs-home-club-grid {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fzs-home-club-card {
    background: rgba(255, 253, 248, 0.88);
    border: var(--fzs-border);
    border-radius: var(--fzs-radius-sm);
    display: grid;
    gap: 0.45rem;
    min-width: 0;
    padding: 1rem;
}

.fzs-home-club-card > span {
    color: var(--fzs-green);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.04em;
    min-height: 1rem;
    text-transform: uppercase;
}

.fzs-home-club-card h3 {
    font-size: 1rem;
    line-height: 1.25;
    margin: 0;
}

.fzs-home-club-card h3 a {
    color: var(--fzs-ink);
    text-decoration: none;
}

.fzs-home-club-card h3 a:hover,
.fzs-home-club-card h3 a:focus-visible {
    color: var(--fzs-green-dark);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.fzs-home-club-card p {
    color: var(--fzs-muted);
    font-size: 0.9rem;
    margin-bottom: 0;
}

.fzs-home-club-card__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.3rem;
}

.fzs-home-club-card__actions .fzs-button {
    flex: 1 1 110px;
    min-width: 0;
}

.fzs-home-cta {
    background:
        linear-gradient(135deg, rgba(13, 61, 45, 0.96), rgba(20, 35, 29, 0.98)),
        var(--fzs-green-dark);
    color: var(--fzs-white);
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: var(--fzs-section-space);
}

.fzs-home-cta .fzs-eyebrow {
    color: #a6dec2;
}

.fzs-home-cta h2,
.fzs-home-cta p {
    color: var(--fzs-white);
}

.fzs-home-cta p {
    max-width: 62ch;
}

.fzs-home-cta__paths {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1.4rem;
}

.fzs-home-cta__paths a {
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: var(--fzs-radius-sm);
    color: var(--fzs-white);
    display: grid;
    gap: 0.2rem;
    min-height: 110px;
    padding: 1rem;
    text-decoration: none;
}

.fzs-home-cta__paths strong {
    color: var(--fzs-white);
}

.fzs-home-cta__paths span {
    color: rgba(255, 255, 255, 0.78);
}

.fzs-home-cta__paths a:hover,
.fzs-home-cta__paths a:focus-visible {
    background: rgba(255, 255, 255, 0.12);
}

.fzs-home-cta__visual {
    align-self: stretch;
    background:
        linear-gradient(135deg, rgba(227, 241, 233, 0.16), rgba(180, 104, 47, 0.16)),
        repeating-linear-gradient(145deg, rgba(255, 255, 255, 0.16) 0 1px, transparent 1px 18px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 16px;
    display: grid;
    gap: 0.8rem;
    min-height: 220px;
    padding: 1.2rem;
    place-content: end start;
}

.fzs-home-cta__visual span {
    background: rgba(255, 253, 248, 0.9);
    border-radius: var(--fzs-button-radius);
    color: var(--fzs-green-dark);
    font-weight: 850;
    padding: 0.55rem 0.8rem;
    width: fit-content;
}

.fzs-home-league {
    align-items: center;
    background: var(--fzs-green-light);
    border: var(--fzs-border);
    border-radius: var(--fzs-radius-sm);
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
    padding: clamp(1.25rem, 3vw, 2rem);
}

.fzs-home-league h2 {
    font-size: clamp(1.65rem, 3vw, 2.1rem);
}

.fzs-home-league p {
    color: var(--fzs-muted);
    margin-bottom: 0;
}

.fzs-home-link-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fzs-home-link-grid a {
    background: var(--fzs-surface);
    border: var(--fzs-border);
    border-radius: var(--fzs-radius-sm);
    color: var(--fzs-ink);
    display: grid;
    gap: 0.25rem;
    min-height: 96px;
    padding: 1rem;
    text-decoration: none;
}

.fzs-home-link-grid a:hover,
.fzs-home-link-grid a:focus-visible {
    border-color: var(--fzs-green);
    box-shadow: var(--fzs-shadow-soft);
}

.fzs-home-link-grid span {
    color: var(--fzs-muted);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.fzs-home-link-grid strong {
    color: var(--fzs-ink);
    font-size: 1rem;
    line-height: 1.35;
}

.fzs-event-list {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.fzs-event-card {
    background: var(--fzs-surface);
    border: var(--fzs-border);
    border-radius: var(--fzs-radius-sm);
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    min-height: 100%;
    padding: 1rem;
}

.fzs-event-card > time {
    align-items: center;
    background: var(--fzs-accent-light);
    border: 1px solid rgba(180, 104, 47, 0.18);
    border-radius: 12px;
    color: #6f3d19;
    display: flex;
    flex-direction: column;
    font-size: 0.8rem;
    font-weight: 850;
    justify-content: center;
    min-height: 74px;
    text-transform: uppercase;
    width: 78px;
}

.fzs-event-card > time span {
    font-size: 1.55rem;
    line-height: 1;
}

.fzs-event-card h3 {
    font-size: 1.25rem;
    line-height: 1.22;
    margin: 0.1rem 0 0;
}

.fzs-event-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.72rem;
    min-width: 0;
}

.fzs-event-card__facts {
    display: grid;
    gap: 0.46rem;
    margin: 0;
}

.fzs-event-card__facts div {
    display: grid;
    gap: 0.1rem;
}

.fzs-event-card__facts dt {
    color: var(--fzs-muted);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.fzs-event-card__facts dd {
    font-weight: 650;
    margin: 0;
}

.fzs-event-card__action {
    border-top: 1px solid rgba(217, 222, 214, 0.78);
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: auto;
    padding-top: 0.75rem;
}

.fzs-event-card__action .fzs-button,
.fzs-event-card__action .fzs-text-link {
    flex: 1 1 125px;
    min-width: 0;
}

.fzs-event-card h3 a,
.fzs-course-card h3 a,
.fzs-club-card h2 a {
    color: var(--fzs-ink);
    text-decoration: none;
}

.fzs-event-card__facts a {
    color: var(--fzs-green-dark);
    text-underline-offset: 0.2em;
}

.fzs-event-list--compact .fzs-event-card {
    gap: 0.85rem;
    padding: 1rem;
}

.fzs-event-list--compact .fzs-event-card > time {
    min-height: 60px;
    width: 68px;
}

.fzs-event-list--compact .fzs-event-card > time span {
    font-size: 1.25rem;
}

.fzs-event-card--compact .fzs-event-card__body {
    gap: 0.6rem;
}

.fzs-event-card--compact h3 {
    font-size: 1.16rem;
    margin-top: 0;
}

.fzs-event-card--compact .fzs-event-card__summary {
    color: var(--fzs-muted);
    font-weight: 600;
    line-height: 1.42;
    margin: 0;
}

.fzs-event-card--compact .fzs-event-card__summary a {
    color: var(--fzs-green-dark);
    text-underline-offset: 0.2em;
}

.fzs-event-card p,
.fzs-course-card p,
.fzs-club-card p {
    color: var(--fzs-muted);
    margin-bottom: 0;
}

.fzs-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.fzs-badge {
    background: var(--fzs-green);
    border-radius: var(--fzs-badge-radius);
    color: var(--fzs-white);
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0;
    padding: 0.2rem 0.55rem;
    text-transform: uppercase;
}

.fzs-badge--muted {
    background: #eef1ef;
    color: var(--fzs-muted-strong);
}

.fzs-badge--positive {
    background: var(--fzs-success-soft);
    color: var(--fzs-green-dark);
}

.fzs-badge--warning {
    background: var(--fzs-warning-soft);
    color: var(--fzs-warning);
}

.fzs-badge--danger {
    background: var(--fzs-danger-soft);
    color: var(--fzs-danger);
}

.fzs-home-event-card .fzs-badge,
.fzs-event-card .fzs-badge {
    background: #eef3ef;
    border: 1px solid rgba(64, 80, 73, 0.08);
    color: var(--fzs-muted-strong);
    font-size: 0.75rem;
    padding: 0.16rem 0.48rem;
}

.fzs-home-event-card .fzs-badge--positive,
.fzs-event-card .fzs-badge--positive,
.fzs-event-card .fzs-badge:not(.fzs-badge--muted) {
    background: var(--fzs-success-soft);
    border-color: rgba(23, 107, 77, 0.1);
    color: var(--fzs-green-dark);
}

.fzs-intro {
    margin-bottom: 2rem;
    max-width: 68ch;
}

.fzs-intro > p:last-child {
    color: var(--fzs-muted);
    font-size: 1.1rem;
}

.fzs-portal--calendar .fzs-intro {
    margin-bottom: 1.45rem;
}

.fzs-calendar-views {
    align-items: center;
    border-bottom: 1px solid var(--fzs-line);
    border-top: 1px solid var(--fzs-line);
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.8rem;
    margin: 0.35rem 0 1.5rem;
    padding: 0.75rem 0;
}

.fzs-calendar-views a {
    border: 1px solid transparent;
    border-radius: var(--fzs-button-radius);
    color: var(--fzs-green-dark);
    font-weight: 760;
    min-height: 42px;
    padding: 0.55rem 0.8rem;
    text-decoration: none;
}

.fzs-calendar-views a:hover,
.fzs-calendar-views a:focus-visible {
    background: var(--fzs-green-light);
    border-color: rgba(23, 107, 77, 0.22);
}

.fzs-calendar-views a.is-active {
    background: var(--fzs-green);
    border-color: var(--fzs-green);
    color: var(--fzs-white);
}

.fzs-calendar-next {
    margin: 0.35rem 0 1.6rem;
}

.fzs-calendar-next .fzs-section-heading {
    margin-bottom: 0.9rem;
}

.fzs-portal--calendar .fzs-cta--notifications {
    margin: 0.35rem 0 1.6rem;
    padding: clamp(1.05rem, 2.4vw, 1.5rem);
}

.fzs-portal--calendar .fzs-filter {
    margin-top: 0.8rem;
}

.fzs-calendar-list-section {
    margin-top: clamp(1.7rem, 3.4vw, 2.6rem);
    scroll-margin-top: 120px;
}

.fzs-filter {
    align-items: stretch;
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    display: flex;
    flex-wrap: wrap;
    column-gap: 1rem;
    row-gap: 0.9rem;
    margin-bottom: 2rem;
    padding: 1.2rem;
}

.fzs-filter label:not(.fzs-check) {
    color: var(--fzs-muted-strong);
    display: grid;
    flex: 1 1 190px;
    font-size: 0.82rem;
    font-weight: 750;
    gap: 0.35rem;
    min-width: 180px;
}

.fzs-filter input[type='search'],
.fzs-filter select {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-button-radius);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.74);
    color: var(--fzs-ink);
    font: inherit;
    max-width: 100%;
    min-height: 44px;
    min-width: 0;
    padding: 0.55rem 0.7rem;
    width: 100%;
}

.fzs-filter input[type='search']:hover,
.fzs-filter select:hover {
    border-color: var(--fzs-line-strong);
}

.fzs-check {
    align-items: center;
    display: inline-flex;
    gap: 0.5rem;
    min-height: 42px;
}

.fzs-filter .fzs-check {
    align-self: end;
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-button-radius);
    color: var(--fzs-muted-strong);
    font-size: 0.9rem;
    font-weight: 700;
    min-height: 44px;
    padding: 0.58rem 0.8rem;
}

.fzs-check input {
    accent-color: var(--fzs-green);
    flex: 0 0 auto;
    height: 1.15rem;
    width: 1.15rem;
}

.fzs-course-filter-panel {
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    box-shadow: var(--fzs-shadow-soft);
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.fzs-course-filter-advanced > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-weight: 800;
    gap: 0.35rem;
    justify-content: flex-start;
    min-height: 52px;
    padding: 0.85rem 1.2rem;
}

.fzs-course-filter-advanced > summary,
.fzs-result-filters > summary,
.fzs-document-filters > summary {
    list-style: none;
}

.fzs-course-filter-advanced > summary::-webkit-details-marker,
.fzs-result-filters > summary::-webkit-details-marker,
.fzs-document-filters > summary::-webkit-details-marker {
    display: none;
}

.fzs-course-filter-advanced > summary::after,
.fzs-result-filters > summary::after,
.fzs-document-filters > summary::after {
    color: var(--fzs-green-dark);
    content: '▾';
    font-size: 0.85rem;
    margin-left: auto;
    transition: transform 160ms ease;
}

.fzs-course-filter-advanced[open] > summary::after,
.fzs-result-filters[open] > summary::after,
.fzs-document-filters[open] > summary::after {
    transform: rotate(180deg);
}

.fzs-course-filter-advanced > summary span {
    color: var(--fzs-green);
}

.fzs-course-filter-panel .fzs-filter {
    border: 0;
    border-radius: 0 0 var(--fzs-radius) var(--fzs-radius);
    border-top: 1px solid var(--fzs-line);
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.fzs-course-filter-panel .fzs-filter label:not(.fzs-check) {
    min-width: 0;
}

.fzs-filter__actions {
    align-items: center;
    align-self: end;
    display: flex;
    gap: 1rem;
    min-height: 42px;
}

.fzs-course-filter-panel .fzs-filter__actions,
.fzs-document-filter .fzs-filter__actions {
    align-self: auto;
    border-top: 1px solid var(--fzs-line);
    gap: 0.75rem;
    grid-column: 1 / -1;
    justify-content: flex-end;
    margin-top: 0.25rem;
    padding-top: 0.95rem;
}

.fzs-course-filter-panel .fzs-filter__actions .fzs-button,
.fzs-course-filter-panel .fzs-filter__actions .fzs-text-link,
.fzs-document-filter .fzs-filter__actions .fzs-button,
.fzs-document-filter .fzs-filter__actions .fzs-text-link {
    min-height: 44px;
}

.fzs-course-filter-panel--balanced .fzs-filter {
    border: 0;
    border-radius: var(--fzs-radius);
    grid-template-columns: 1fr;
    padding: 1rem;
}

.fzs-course-quick-filters {
    border-bottom: 1px solid var(--fzs-line);
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    padding: 0.9rem 1rem;
}

.fzs-course-quick-filter {
    align-items: center;
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: 999px;
    color: var(--fzs-green-dark);
    display: inline-flex;
    font-size: 0.88rem;
    font-weight: 760;
    line-height: 1.2;
    justify-content: center;
    min-height: var(--fzs-touch-target);
    padding: 0.48rem 0.7rem;
    text-decoration: none;
}

.fzs-course-quick-filter:hover,
.fzs-course-quick-filter:focus-visible {
    background: var(--fzs-green-light);
    border-color: rgba(23, 107, 77, 0.28);
    color: var(--fzs-green-dark);
}

.fzs-course-quick-filter.is-active {
    background: var(--fzs-green);
    border-color: var(--fzs-green);
    color: var(--fzs-white);
}

.fzs-course-quick-filter--clear {
    background: transparent;
    border-color: transparent;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
}

.fzs-course-filter-main {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(220px, 1.4fr) repeat(5, minmax(118px, 1fr));
}

.fzs-course-filter-toggles {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.fzs-course-filter-toggles .fzs-check {
    flex: 1 1 190px;
}

.fzs-course-filter-panel--balanced .fzs-filter__actions {
    align-self: end;
    border-top: 1px solid var(--fzs-line);
    grid-column: auto;
    justify-content: flex-end;
    margin-top: 0.1rem;
    padding-top: 0.85rem;
}

.fzs-filter__actions .fzs-text-link {
    align-items: center;
    display: inline-flex;
    min-height: 40px;
    padding: 0.55rem 0;
}

.fzs-result-filters .fzs-filter > .fzs-text-link,
.fzs-champion-filters > .fzs-text-link {
    align-items: center;
    display: inline-flex;
}

.fzs-course-filter-panel .fzs-filter__actions .fzs-text-link,
.fzs-document-filter .fzs-filter__actions .fzs-text-link,
.fzs-result-filters .fzs-filter > .fzs-text-link,
.fzs-event-filter .fzs-filter__actions .fzs-text-link,
.fzs-champion-filters > .fzs-text-link {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-button-radius);
    color: var(--fzs-green-dark);
    font-weight: 750;
    justify-content: center;
    padding: 0.55rem 0.95rem;
    text-decoration: none;
}

.fzs-course-filter-panel .fzs-filter__actions .fzs-text-link:hover,
.fzs-course-filter-panel .fzs-filter__actions .fzs-text-link:focus-visible,
.fzs-document-filter .fzs-filter__actions .fzs-text-link:hover,
.fzs-document-filter .fzs-filter__actions .fzs-text-link:focus-visible,
.fzs-result-filters .fzs-filter > .fzs-text-link:hover,
.fzs-result-filters .fzs-filter > .fzs-text-link:focus-visible,
.fzs-event-filter .fzs-filter__actions .fzs-text-link:hover,
.fzs-event-filter .fzs-filter__actions .fzs-text-link:focus-visible,
.fzs-champion-filters > .fzs-text-link:hover,
.fzs-champion-filters > .fzs-text-link:focus-visible {
    background: var(--fzs-green-light);
    border-color: var(--fzs-green-light);
    color: var(--fzs-green-dark);
    outline: 0;
}

.fzs-course-filter-panel .fzs-filter__actions .fzs-text-link:focus-visible,
.fzs-document-filter .fzs-filter__actions .fzs-text-link:focus-visible,
.fzs-result-filters .fzs-filter > .fzs-text-link:focus-visible,
.fzs-event-filter .fzs-filter__actions .fzs-text-link:focus-visible,
.fzs-champion-filters > .fzs-text-link:focus-visible {
    box-shadow: var(--fzs-focus-ring);
}

.fzs-course-map-section {
    margin-bottom: clamp(2rem, 4vw, 3rem);
}

.fzs-course-source-card {
    align-items: center;
    background: linear-gradient(135deg, var(--fzs-primary-soft), var(--fzs-surface));
    border: 1px solid rgba(23, 107, 77, 0.22);
    border-radius: var(--fzs-card-radius);
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 1.25rem 0 clamp(2rem, 4vw, 3rem);
    padding: clamp(1rem, 2.4vw, 1.45rem);
}

.fzs-course-source-card h2,
.fzs-course-source-card p {
    margin-bottom: 0;
}

.fzs-course-source-card h2 {
    font-size: clamp(1.35rem, 2.4vw, 1.75rem);
}

.fzs-course-source-card p:not(.fzs-eyebrow) {
    color: var(--fzs-muted-strong);
    margin-top: 0.35rem;
    max-width: 72ch;
}

.fzs-course-list-section {
    margin-top: 0;
}

.fzs-course-map-heading,
.fzs-course-list-heading {
    margin-bottom: 0.9rem;
}

.fzs-course-map-heading h2,
.fzs-course-list-heading h2 {
    font-size: clamp(1.55rem, 2.6vw, 2rem);
}

.fzs-course-result-count {
    color: var(--fzs-muted);
    margin: 0.45rem 0 0;
}

.fzs-portal--courses .fzs-map-shell {
    min-height: 0;
    position: relative;
    top: auto;
}

.fzs-portal--courses .fzs-course-list {
    align-items: stretch;
    gap: clamp(1rem, 2vw, 1.35rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fzs-course-list,
.fzs-club-list,
.fzs-course-card,
.fzs-club-card,
.fzs-course-card__facts,
.fzs-course-card__notes {
    min-width: 0;
}

.fzs-course-card {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    box-shadow: none;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.fzs-course-list .fzs-course-card {
    height: 100%;
}

.fzs-course-card:hover,
.fzs-course-card:focus-within {
    border-color: rgba(23, 107, 77, 0.32);
    box-shadow: var(--fzs-shadow-soft);
    transform: translateY(-2px);
}

.fzs-club-card {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    box-shadow: var(--fzs-shadow-soft);
    display: flex;
    flex-direction: column;
    min-height: 280px;
    padding: clamp(1.2rem, 2.5vw, 1.65rem);
}

.fzs-club-card__header {
    align-items: flex-start;
    display: grid;
    gap: 1rem;
    grid-template-columns: 68px minmax(0, 1fr);
}

.fzs-club-card__header img,
.fzs-club-card__mark {
    aspect-ratio: 1;
    border: 1px solid var(--fzs-line);
    border-radius: 14px;
    width: 68px;
}

.fzs-club-card__header img {
    background: var(--fzs-white);
    object-fit: contain;
    padding: 0.35rem;
}

.fzs-club-card__header--wide-logo {
    align-items: center;
    grid-template-columns: minmax(104px, 124px) minmax(0, 1fr);
}

.fzs-club-card__header--wide-logo img {
    aspect-ratio: 16 / 9;
    height: 68px;
    width: min(124px, 100%);
}

.fzs-club-card__mark {
    align-items: center;
    background: var(--fzs-green-light);
    color: var(--fzs-green-dark);
    display: flex;
    font-weight: 850;
    justify-content: center;
}

.fzs-club-card h2 {
    font-size: 1.35rem;
    margin: 0.75rem 0 0.25rem;
}

.fzs-club-card__facts {
    margin-top: 1.15rem;
}

.fzs-course-card h3 {
    font-size: 1.24rem;
    margin: 0.6rem 0 0.2rem;
}

.fzs-course-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: clamp(0.95rem, 1.8vw, 1.22rem);
}

.fzs-course-card__media,
.fzs-course-detail__media {
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, #e8f0ec 0%, #d9e7df 100%);
    border: 0;
    box-sizing: border-box;
    display: grid;
    margin: 0;
    max-width: 100%;
    min-height: 0;
    overflow: hidden;
    place-items: center;
    position: relative;
    width: 100%;
}

.fzs-course-card__media img,
.fzs-course-detail__media img {
    display: block;
    height: 100% !important;
    inset: 0;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
    position: absolute;
    width: 100%;
}

.fzs-course-card__media img {
    object-fit: cover;
}

.fzs-course-card__media--placeholder,
.fzs-course-detail__media--placeholder {
    color: var(--fzs-green-dark);
    gap: 0.25rem;
}

.fzs-course-card__media--placeholder::before,
.fzs-course-detail__media--placeholder::before {
    background:
        radial-gradient(circle at 20% 20%, rgba(60, 126, 83, 0.16), transparent 28%),
        linear-gradient(135deg, rgba(23, 74, 49, 0.08), rgba(233, 197, 81, 0.16));
    content: "";
    inset: 0;
    position: absolute;
}

.fzs-course-card__media--placeholder span,
.fzs-course-detail__media--placeholder span {
    align-items: center;
    background: var(--fzs-white);
    border: 1px solid rgba(23, 74, 49, 0.14);
    border-radius: 50%;
    box-shadow: var(--fzs-shadow-soft);
    display: flex;
    font-size: 1.25rem;
    font-weight: 850;
    height: 64px;
    justify-content: center;
    position: relative;
    width: 64px;
}

.fzs-course-card__media--placeholder small,
.fzs-course-detail__media--placeholder small {
    font-weight: 750;
    position: relative;
}

.fzs-course-card__facts {
    border-bottom: 1px solid var(--fzs-line);
    border-top: 1px solid var(--fzs-line);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0.85rem 0;
}

.fzs-course-card__facts div {
    display: grid;
    padding: 0.65rem 0.55rem;
}

.fzs-course-card__facts div + div {
    border-left: 1px solid var(--fzs-line);
}

.fzs-course-card__facts div:nth-child(odd) {
    border-left: 0;
}

.fzs-course-card__facts div:nth-child(n + 3) {
    border-top: 1px solid var(--fzs-line);
}

.fzs-course-card__facts dt {
    color: var(--fzs-muted);
    font-size: 0.75rem;
    text-transform: uppercase;
}

.fzs-course-card__facts dd {
    font-weight: 650;
    margin: 0;
    overflow-wrap: anywhere;
}

.fzs-course-card__difficulty {
    background: var(--fzs-green-light);
    border-radius: 10px;
    color: var(--fzs-green-dark) !important;
    padding: 0.65rem 0.8rem;
}

.fzs-course-card__notes {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0.25rem;
}

.fzs-course-card__notes > div {
    background: var(--fzs-surface-muted);
    border-radius: 12px;
    padding: 0.9rem;
}

.fzs-course-card__notes > div:nth-child(3) {
    grid-column: 1 / -1;
}

.fzs-course-card__notes h4 {
    font-size: 0.78rem;
    letter-spacing: 0;
    margin: 0 0 0.4rem;
    text-transform: uppercase;
}

.fzs-course-card__notes p + p {
    margin-top: 0.35rem;
}

.fzs-course-card__notes a {
    display: inline-block;
    font-weight: 700;
    margin-top: 0.4rem;
    margin-right: 0.75rem;
    overflow-wrap: anywhere;
}

.fzs-course-card__community {
    background: var(--fzs-surface-muted);
    border-radius: 10px;
    display: grid;
    gap: 0.55rem;
    margin-bottom: 0.85rem;
    padding: 0.72rem;
}

.fzs-course-card__community p {
    display: grid;
    gap: 0.15rem;
    margin: 0;
}

.fzs-course-card__community strong {
    color: var(--fzs-muted);
    font-size: 0.78rem;
    text-transform: uppercase;
}

.fzs-course-card__community span {
    font-weight: 700;
}

.fzs-course-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: auto;
    padding-top: 0.95rem;
}

.fzs-course-card__actions .fzs-button {
    flex: 1 1 130px;
}

.fzs-map-shell {
    contain: paint;
    min-height: 520px;
    position: sticky;
    top: 2rem;
}

.fzs-course-map,
.fzs-club-map {
    background: #e9efeb;
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    contain: paint;
    height: 520px;
    overflow: hidden;
    width: 100%;
}

.fzs-course-map:has(.fzs-map-fallback),
.fzs-club-map:has(.fzs-map-fallback) {
    display: grid;
    padding: 1rem;
    place-items: center;
}

.fzs-map-fallback {
    margin: 0;
    max-width: 34rem;
    text-align: center;
}

.fzs-portal--courses .fzs-course-map {
    box-shadow: var(--fzs-shadow-soft);
    height: clamp(300px, 34vw, 430px);
}

.fzs-course-map .leaflet-popup-content strong,
.fzs-course-map .leaflet-popup-content span,
.fzs-course-map .leaflet-popup-content a,
.fzs-club-map .leaflet-popup-content strong,
.fzs-club-map .leaflet-popup-content span,
.fzs-club-map .leaflet-popup-content a {
    display: inline-block;
    margin-bottom: 0.2rem;
}

.fzs-course-map .leaflet-popup-content,
.fzs-club-map .leaflet-popup-content {
    line-height: 1.4;
}

.fzs-map-marker-count.leaflet-div-icon {
    background: transparent;
    border: 0;
}

.fzs-map-marker-count > span {
    align-items: center;
    background: var(--fzs-primary);
    border: 2px solid var(--fzs-white);
    border-radius: 50%;
    box-shadow: 0 3px 10px rgba(13, 77, 55, 0.32);
    color: var(--fzs-white);
    display: flex;
    font-size: 0.82rem;
    font-weight: 850;
    height: 34px;
    justify-content: center;
    line-height: 1;
    width: 34px;
}

.fzs-course-map .leaflet-popup-content .fzs-map-popup--multiple > strong,
.fzs-course-map .leaflet-popup-content .fzs-map-popup--multiple > span,
.fzs-club-map .leaflet-popup-content .fzs-map-popup--multiple > strong,
.fzs-club-map .leaflet-popup-content .fzs-map-popup--multiple > span {
    display: block;
}

.fzs-map-popup--multiple > ul {
    list-style: none;
    margin: 0.45rem 0 0;
    padding: 0;
}

.fzs-map-popup--multiple li + li {
    border-top: 1px solid var(--fzs-line);
    margin-top: 0.45rem;
    padding-top: 0.45rem;
}

.fzs-course-map .leaflet-popup-content .fzs-map-popup--multiple li > a,
.fzs-course-map .leaflet-popup-content .fzs-map-popup--multiple .fzs-map-popup__meta,
.fzs-club-map .leaflet-popup-content .fzs-map-popup--multiple li > a,
.fzs-club-map .leaflet-popup-content .fzs-map-popup--multiple .fzs-map-popup__meta {
    display: block;
}

.fzs-map-popup--multiple .fzs-map-popup__meta,
.fzs-map-popup--multiple .fzs-map-popup__place {
    color: var(--fzs-muted);
    font-size: 0.82rem;
}

.fzs-course-detail__hero {
    align-items: stretch;
    display: grid;
    gap: clamp(1rem, 2.4vw, 1.6rem);
    grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.88fr);
    margin-bottom: clamp(1.4rem, 3vw, 2rem);
}

.fzs-course-detail__media {
    aspect-ratio: 4 / 3;
    border: 1px solid var(--fzs-line);
    border-radius: 16px;
    box-shadow: var(--fzs-shadow-soft);
    min-height: clamp(260px, 32vw, 420px);
}

.fzs-course-detail__media img {
    object-fit: cover;
}

.fzs-course-detail__summary {
    align-self: stretch;
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: 16px;
    box-shadow: var(--fzs-shadow-soft);
    display: flex;
    flex-direction: column;
    gap: clamp(0.85rem, 2vw, 1.15rem);
    padding: clamp(1.15rem, 2.4vw, 1.65rem);
}

.fzs-course-detail__summary > p {
    color: var(--fzs-muted);
    font-size: 1.03rem;
    line-height: 1.65;
    margin: 0;
}

.fzs-course-detail__summary .fzs-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.fzs-course-detail__summary .fzs-actions {
    margin-top: auto;
}

.fzs-course-club-list {
    display: grid;
    gap: 0.65rem;
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
}

.fzs-course-club-list li {
    border-bottom: 1px solid var(--fzs-line);
    display: grid;
    gap: 0.15rem;
    padding-bottom: 0.65rem;
}

.fzs-course-club-list a {
    font-weight: 800;
}

.fzs-course-club-list span {
    color: var(--fzs-muted);
}

.fzs-course-gallery,
.fzs-course-events {
    margin-top: var(--fzs-section-space);
}

.fzs-course-gallery__grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fzs-course-gallery__grid a {
    aspect-ratio: 4 / 3;
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: 14px;
    display: block;
    overflow: hidden;
    padding: 0.45rem;
    position: relative;
}

.fzs-course-gallery__grid a:hover,
.fzs-course-gallery__grid a:focus-visible {
    border-color: var(--fzs-green);
    box-shadow: var(--fzs-shadow-soft);
    outline: 0;
}

.fzs-course-gallery__grid img {
    display: block;
    height: calc(100% - 0.9rem) !important;
    inset: 0.45rem;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
    position: absolute;
    width: calc(100% - 0.9rem);
}

.fzs-course-event-list {
    display: grid;
    gap: 0.85rem;
}

.fzs-course-event-card {
    align-items: center;
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1rem;
}

.fzs-course-event-card h3 {
    font-size: 1.05rem;
    margin: 0.35rem 0 0.15rem;
}

.fzs-empty,
.fzs-notice,
.fzs-alert {
    background: var(--fzs-surface-muted);
    border-left: 4px solid var(--fzs-green);
    border-radius: var(--fzs-radius-sm);
    color: var(--fzs-ink);
    padding: 1rem 1.2rem;
}

.fzs-alert {
    background: var(--fzs-warning-soft);
    border-left-color: var(--fzs-warning);
}

.fzs-empty h3,
.fzs-empty p {
    margin-bottom: 0.25rem;
}

.fzs-empty p,
.fzs-notice p,
.fzs-alert p {
    color: var(--fzs-muted);
}

.fzs-freshness {
    color: var(--fzs-muted);
    font-size: 0.78rem;
    margin-top: 1rem;
    text-align: right;
}

.fzs-club-map-help {
    color: var(--fzs-muted);
    font-size: 0.78rem;
    margin: 0.75rem 0 0;
    text-align: right;
}

.fzs-result-views {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-bottom: 1.25rem;
}

.fzs-result-views a {
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-button-radius);
    font-weight: 750;
    min-height: 42px;
    padding: 0.55rem 0.95rem;
    text-decoration: none;
}

.fzs-result-views a:hover,
.fzs-result-views a.is-active {
    background: var(--fzs-green-dark);
    border-color: var(--fzs-green-dark);
    color: var(--fzs-white);
}

.fzs-result-filters {
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    box-shadow: var(--fzs-shadow-soft);
    margin-bottom: 1.25rem;
    overflow: hidden;
}

.fzs-result-filters > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-weight: 800;
    gap: 0.35rem;
    justify-content: flex-start;
    min-height: 48px;
    padding: 0.8rem 1.2rem;
}

.fzs-result-filters .fzs-filter {
    border: 0;
    border-top: 1px solid var(--fzs-line);
    border-radius: 0 0 var(--fzs-radius) var(--fzs-radius);
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
}

.fzs-result-filters .fzs-filter label:first-child {
    grid-column: span 2;
}

.fzs-result-filters .fzs-filter label:not(.fzs-check) {
    min-width: 0;
}

.fzs-result-filters .fzs-filter > .fzs-button,
.fzs-result-filters .fzs-filter > .fzs-text-link {
    align-self: end;
    min-height: 44px;
}

.fzs-event-filter .fzs-filter__actions {
    border-top: 1px solid var(--fzs-line);
    flex: 1 1 100%;
    justify-content: flex-end;
    margin-top: 0.25rem;
    padding-top: 0.95rem;
}

.fzs-document-stats {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 1.25rem;
}

.fzs-document-stats > div {
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: 12px;
    display: grid;
    gap: 0.15rem;
    padding: 1rem;
}

.fzs-document-stats strong {
    color: var(--fzs-green-dark);
    font-size: 1.55rem;
    line-height: 1;
}

.fzs-document-stats span {
    color: var(--fzs-muted);
    font-size: 0.85rem;
}

.fzs-document-filters {
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    box-shadow: var(--fzs-shadow-soft);
    margin-bottom: 1.25rem;
    overflow: hidden;
}

.fzs-document-filters > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-weight: 800;
    gap: 0.35rem;
    justify-content: flex-start;
    min-height: 48px;
    padding: 0.8rem 1.2rem;
}

.fzs-document-filters > summary span {
    color: var(--fzs-green);
}

.fzs-document-filters .fzs-filter {
    border: 0;
    border-top: 1px solid var(--fzs-line);
    border-radius: 0 0 var(--fzs-radius) var(--fzs-radius);
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
}

.fzs-document-filters .fzs-filter label:not(.fzs-check) {
    min-width: 0;
}

.fzs-document-filter .fzs-filter__actions {
    grid-column: 1 / -1;
}

.fzs-document-status-section + .fzs-document-status-section {
    margin-top: 3rem;
}

.fzs-document-category {
    margin-top: 1.5rem;
}

.fzs-document-category > h2,
.fzs-document-category > h3 {
    border-bottom: 1px solid var(--fzs-line);
    font-size: var(--fzs-h3-size);
    line-height: 1.3;
    margin-bottom: 0;
    padding-bottom: 0.65rem;
}

.fzs-document-list {
    display: grid;
}

.fzs-document-card {
    align-items: center;
    border-bottom: 1px solid var(--fzs-line);
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(132px, 160px);
    padding: 1.35rem 0;
}

.fzs-document-card--archived {
    color: var(--fzs-muted);
}

.fzs-document-card__main {
    min-width: 0;
}

.fzs-document-card h3 {
    font-size: 1.35rem;
    margin: 0.55rem 0 0.35rem;
}

.fzs-document-card h3 a {
    color: var(--fzs-ink);
    overflow-wrap: anywhere;
    text-decoration: none;
}

.fzs-document-card p {
    color: var(--fzs-muted);
    margin-bottom: 0.9rem;
}

.fzs-document-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
    margin: 0;
}

.fzs-document-card__meta div {
    align-items: baseline;
    display: inline-flex;
    gap: 0.35rem;
}

.fzs-document-card__meta dt {
    color: var(--fzs-muted);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.fzs-document-card__meta dd {
    margin: 0;
}

.fzs-document-card__action {
    align-items: center;
    border-left: 1px solid rgba(217, 222, 214, 0.86);
    display: flex;
    justify-content: flex-end;
    min-width: 0;
    padding-left: 0.9rem;
}

.fzs-document-card__action .fzs-button {
    width: 100%;
}

.fzs-result-summary {
    color: var(--fzs-muted);
    margin: 1.4rem 0 0.8rem;
}

.fzs-result-list {
    display: grid;
    gap: 1rem;
}

.fzs-result-card {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    box-shadow: var(--fzs-shadow-soft);
    padding: clamp(1.2rem, 3vw, 2rem);
}

.fzs-result-card__header h3 {
    font-size: 1.45rem;
    margin: 0.55rem 0 0.3rem;
}

.fzs-result-card__header h3 a {
    color: var(--fzs-ink);
    text-decoration: none;
}

.fzs-result-card__header p {
    color: var(--fzs-muted);
    margin-bottom: 0;
}

.fzs-result-card__facts {
    display: grid;
    gap: 0.75rem 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0.95rem 0 0;
}

.fzs-result-card__facts div {
    min-width: 0;
}

.fzs-result-card__facts dt {
    color: var(--fzs-muted);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.fzs-result-card__facts dd {
    font-weight: 700;
    margin: 0.16rem 0 0;
}

.fzs-result-card__facts a {
    color: var(--fzs-green-dark);
    overflow-wrap: anywhere;
    text-underline-offset: 0.2em;
}

.fzs-result-card__main-result {
    background: var(--fzs-surface-muted);
    border-left: 4px solid var(--fzs-green);
    display: grid;
    gap: 0.2rem;
    margin-top: 1.25rem;
    padding: 0.85rem 1rem;
}

.fzs-result-card__main-result strong {
    color: var(--fzs-green-dark);
}

.fzs-result-card__main-result span {
    color: var(--fzs-muted);
}

.fzs-result-card__sources,
.fzs-result-card__links,
.fzs-related-links,
.fzs-pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
}

.fzs-result-card__sources {
    border-top: 1px solid var(--fzs-line);
    margin-top: 1.25rem;
    padding-top: 1.25rem;
}

.fzs-result-card__pending {
    background: var(--fzs-surface-muted);
    border-left: 4px solid var(--fzs-line);
    color: var(--fzs-muted);
    margin: 1.25rem 0 0;
    padding: 0.8rem 1rem;
}

.fzs-result-card__links {
    border-top: 1px solid var(--fzs-line);
    margin-top: 1.25rem;
    padding-top: 1rem;
}

.fzs-podiums {
    border-top: 1px solid var(--fzs-line);
    margin-top: 1.25rem;
    padding-top: 1rem;
}

.fzs-podiums > summary {
    cursor: pointer;
    font-weight: 800;
    min-height: 44px;
}

.fzs-podium-format + .fzs-podium-format {
    border-top: 1px solid var(--fzs-line);
    margin-top: 1.4rem;
    padding-top: 1.2rem;
}

.fzs-podium-format h4 {
    margin: 0 0 0.75rem;
}

.fzs-podium-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fzs-podium-category {
    background: var(--fzs-surface-muted);
    border-radius: 12px;
    padding: 0.9rem;
}

.fzs-podium-category h5 {
    font-size: 0.78rem;
    letter-spacing: 0;
    margin: 0 0 0.55rem;
    text-transform: uppercase;
}

.fzs-podium-category ul {
    display: grid;
    gap: 0.4rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.fzs-podium-category li {
    align-items: start;
    display: grid;
    gap: 0.55rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.fzs-podium-category li small {
    color: var(--fzs-muted);
    display: block;
}

.fzs-podium-category li em {
    color: var(--fzs-muted);
    font-style: normal;
    white-space: nowrap;
}

.fzs-pagination {
    justify-content: space-between;
    margin-top: 1.5rem;
}

.fzs-portal--sdgl {
    display: block;
}

.fzs-sdgl-hero {
    align-items: end;
    border-radius: calc(var(--fzs-radius) + 10px);
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(0, 1.35fr) minmax(250px, 0.65fr);
    margin-bottom: 1.2rem;
    padding: clamp(2rem, 6vw, 5rem);
}

.fzs-sdgl-hero.fzs-hero--photo {
    --fzs-hero-photo-position: 56% 48%;
    background:
        linear-gradient(90deg, rgba(13, 39, 30, 0.94), rgba(13, 39, 30, 0.72) 48%, rgba(13, 39, 30, 0.18)),
        var(--fzs-hero-photo, linear-gradient(135deg, #0f3d2d, #275b6d));
    background-position: var(--fzs-hero-photo-position, center);
    background-size: cover;
    min-height: clamp(360px, 38vw, 500px);
}

.fzs-sdgl-hero h1,
.fzs-sdgl-hero h2 {
    font-size: clamp(2.35rem, 6vw, 3.4rem);
    margin-bottom: 1rem;
}

.fzs-sdgl-hero.fzs-hero--photo .fzs-hero__content {
    text-shadow: 0 2px 18px rgba(13, 39, 30, 0.64);
}

.fzs-sdgl-hero.fzs-hero--photo .fzs-actions {
    text-shadow: none;
}

.fzs-sdgl-hero.fzs-hero--photo .fzs-actions .fzs-button,
.fzs-portal .fzs-sdgl-hero.fzs-hero--photo .fzs-actions a.fzs-button {
    backdrop-filter: blur(4px);
    background: rgba(255, 253, 248, 0.68);
    border-color: rgba(255, 253, 248, 0.82);
    box-shadow: 0 10px 24px rgba(6, 37, 28, 0.2);
    color: var(--fzs-green-dark);
}

.fzs-sdgl-hero.fzs-hero--photo .fzs-actions .fzs-button:hover,
.fzs-sdgl-hero.fzs-hero--photo .fzs-actions .fzs-button:focus-visible,
.fzs-portal .fzs-sdgl-hero.fzs-hero--photo .fzs-actions a.fzs-button:hover,
.fzs-portal .fzs-sdgl-hero.fzs-hero--photo .fzs-actions a.fzs-button:focus-visible {
    background: var(--fzs-green);
    border-color: var(--fzs-green);
    box-shadow: 0 14px 28px rgba(6, 37, 28, 0.25);
    color: var(--fzs-white);
}

.fzs-sdgl-stats {
    backdrop-filter: blur(4px);
    background: rgba(255, 253, 248, 0.68);
    border: 1px solid rgba(255, 253, 248, 0.72);
    border-radius: var(--fzs-radius);
    box-shadow: 0 10px 24px rgba(6, 37, 28, 0.2);
    display: grid;
    gap: 0.75rem;
    margin: 0;
    padding: 1.4rem;
}

.fzs-sdgl-stats div {
    align-items: baseline;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

.fzs-sdgl-stats dt {
    color: rgba(13, 39, 30, 0.72);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.fzs-sdgl-stats dd {
    color: var(--fzs-green-dark);
    font-size: 1.7rem;
    font-weight: 850;
    line-height: 1;
    margin: 0;
}

.fzs-sdgl-nav {
    background: var(--fzs-white);
    border-bottom: 1px solid var(--fzs-line);
    border-top: 1px solid var(--fzs-line);
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 1.2rem;
    margin-bottom: clamp(3.5rem, 7vw, 6rem);
    padding: 0.9rem 0;
}

.fzs-sdgl-nav a {
    font-weight: 750;
    min-height: 42px;
    padding: 0.55rem 0;
    text-decoration: none;
}

.fzs-sdgl-section {
    margin-bottom: clamp(3.5rem, 7vw, 6rem);
    scroll-margin-top: 1.5rem;
}

.fzs-sdgl-note,
.fzs-sdgl-faq p {
    color: var(--fzs-muted);
}

.fzs-sdgl-next-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fzs-sdgl-next-card {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-card-radius);
    box-shadow: var(--fzs-shadow-soft);
    display: grid;
    gap: 1rem;
    min-width: 0;
    padding: 1.25rem;
}

.fzs-sdgl-next-card .fzs-badges {
    align-items: center;
}

.fzs-sdgl-next-card .fzs-badge {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    min-height: 1.55rem;
    padding: 0.18rem 0.55rem;
}

.fzs-sdgl-next-card time {
    color: var(--fzs-green-dark);
    display: block;
    font-weight: 800;
    margin-bottom: 0.45rem;
}

.fzs-sdgl-next-card h3 {
    margin: 0 0 0.45rem;
}

.fzs-sdgl-next-card h3 a {
    color: var(--fzs-ink);
    text-decoration: none;
}

.fzs-sdgl-next-card p {
    color: var(--fzs-muted);
    margin: 0;
}

.fzs-sdgl-next-card__actions {
    align-self: end;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.fzs-sdgl-timeline {
    border-top: 1px solid var(--fzs-line);
}

.fzs-sdgl-event {
    align-items: stretch;
    border-bottom: 1px solid var(--fzs-line);
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 70px minmax(0, 1fr) minmax(180px, auto);
    padding: 1.35rem 0;
}

.fzs-sdgl-event > time {
    align-items: center;
    background: var(--fzs-green-light);
    border-radius: 14px;
    color: var(--fzs-green-dark);
    display: flex;
    flex-direction: column;
    font-size: 0.8rem;
    font-weight: 800;
    justify-content: center;
    min-height: 68px;
    text-transform: uppercase;
}

.fzs-sdgl-event > time span {
    font-size: 1.5rem;
    line-height: 1;
}

.fzs-sdgl-event h3 {
    margin: 0.35rem 0;
}

.fzs-sdgl-event h3 a {
    color: var(--fzs-ink);
    text-decoration: none;
}

.fzs-sdgl-event p {
    color: var(--fzs-muted);
    margin-bottom: 0;
}

.fzs-sdgl-event__body {
    align-self: center;
    min-width: 0;
}

.fzs-sdgl-event__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: flex-end;
}

.fzs-sdgl-event__actions .fzs-button,
.fzs-sdgl-event__actions .fzs-text-link {
    white-space: nowrap;
}

.fzs-sdgl-app-shell {
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    overflow: hidden;
}

.fzs-sdgl-app {
    border: 0;
    display: block;
    min-height: 900px;
    width: 100%;
}

.fzs-sdgl-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fzs-sdgl-rules {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}

.fzs-sdgl-rules > div {
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    padding: 1.25rem;
}

.fzs-sdgl-rules ul {
    margin-bottom: 0;
    padding-left: 1.2rem;
}

.fzs-document-list--compact .fzs-document-card:first-child {
    padding-top: 0;
}

.fzs-document-list--compact .fzs-document-card:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.fzs-sdgl-faq {
    display: grid;
    gap: 0.75rem;
}

.fzs-sdgl-faq details {
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: 12px;
    padding: 0.95rem 1rem;
}

.fzs-sdgl-faq summary {
    cursor: pointer;
    font-weight: 800;
}

.fzs-sdgl-faq p {
    margin: 0.7rem 0 0;
}

.fzs-portal--championships {
    display: block;
}

.fzs-championship-hero:not(.fzs-hero--photo) {
    align-items: end;
    background: var(--fzs-sand);
    border-radius: calc(var(--fzs-radius) + 10px);
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(0, 1.4fr) minmax(250px, 0.6fr);
    margin-bottom: 1.2rem;
    padding: clamp(2rem, 6vw, 5rem);
}

.fzs-championship-hero h1,
.fzs-championship-hero h2 {
    font-size: clamp(2.35rem, 6vw, 3.4rem);
    margin-bottom: 1rem;
}

.fzs-championship-card__meta,
.fzs-championship-card__organizer,
.fzs-championship-card__facts dt,
.fzs-championship-card__facts dd,
.fzs-champion-card p,
.fzs-champion-card small {
    color: var(--fzs-muted);
}

.fzs-championship-nav {
    background: var(--fzs-white);
    border-bottom: 1px solid var(--fzs-line);
    border-top: 1px solid var(--fzs-line);
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 1.2rem;
    margin-bottom: clamp(3.5rem, 7vw, 6rem);
    padding: 0.9rem 0;
}

.fzs-championship-nav a {
    font-weight: 750;
    min-height: 42px;
    padding: 0.55rem 0;
    text-decoration: none;
}

.fzs-championship-section {
    margin-bottom: clamp(3.5rem, 7vw, 6rem);
    scroll-margin-top: 1.5rem;
}

.fzs-championship-library__grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fzs-championship-library__grid article {
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 1.25rem;
}

.fzs-championship-library__grid article > span {
    color: var(--fzs-green-dark);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.fzs-championship-library__grid h3 {
    margin: 0.45rem 0 0.35rem;
}

.fzs-championship-library__grid p {
    color: var(--fzs-muted);
    margin: 0 0 1rem;
}

.fzs-championship-library__grid .fzs-button {
    margin-top: auto;
}

.fzs-championship-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fzs-championship-grid--upcoming {
    margin-top: 1rem;
}

.fzs-championship-card {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    box-shadow: var(--fzs-shadow-soft);
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: clamp(1.25rem, 3vw, 2rem);
}

.fzs-championship-card--featured {
    background: linear-gradient(120deg, var(--fzs-green-dark), var(--fzs-green));
    border: 0;
    color: var(--fzs-white);
    padding: clamp(1.6rem, 4vw, 3rem);
}

.fzs-championship-card--featured a:not(.fzs-button),
.fzs-championship-card--featured .fzs-championship-card__meta,
.fzs-championship-card--featured .fzs-championship-card__organizer {
    color: var(--fzs-white);
}

.fzs-championship-card--featured .fzs-badge {
    background: rgba(255, 255, 255, 0.16);
    color: var(--fzs-white);
}

.fzs-championship-card h3 {
    font-size: 1.55rem;
    margin: 0.8rem 0 0.35rem;
}

.fzs-championship-card h3 a {
    color: var(--fzs-ink);
    text-decoration: none;
}

.fzs-championship-card__facts {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0.9rem 0 0;
}

.fzs-championship-card__facts div {
    background: var(--fzs-surface-muted);
    border-radius: 10px;
    min-width: 0;
    padding: 0.75rem;
}

.fzs-championship-card__facts dt {
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.fzs-championship-card__facts dd {
    font-weight: 750;
    margin: 0.2rem 0 0;
}

.fzs-championship-card--featured .fzs-championship-card__facts div {
    background: rgba(255, 255, 255, 0.13);
}

.fzs-championship-card--featured .fzs-championship-card__facts dt,
.fzs-championship-card--featured .fzs-championship-card__facts dd {
    color: var(--fzs-white);
}

.fzs-championship-card__meta,
.fzs-championship-card__organizer {
    margin-bottom: 0.25rem;
}

.fzs-championship-card__actions,
.fzs-championship-card__footer {
    align-items: center;
    border-top: 1px solid var(--fzs-line);
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    margin-top: 1.25rem;
    padding-top: 1.15rem;
}

.fzs-championship-card--featured .fzs-championship-card__actions,
.fzs-championship-card--featured .fzs-championship-card__footer,
.fzs-championship-card--featured .fzs-podiums {
    border-color: rgba(255, 255, 255, 0.28);
}

.fzs-championship-card--featured .fzs-championship-card__actions {
    margin-top: 0.85rem;
    padding-top: 0.9rem;
}

.fzs-championship-card__actions .fzs-text-link,
.fzs-championship-link-list article > div .fzs-text-link {
    align-items: center;
    border: 2px solid var(--fzs-green);
    border-radius: var(--fzs-button-radius);
    color: var(--fzs-green-dark);
    display: inline-flex;
    justify-content: center;
    line-height: 1.2;
    min-height: 40px;
    padding: 0.55rem 1rem;
    text-decoration: none;
}

.fzs-championship-card__actions .fzs-text-link:hover,
.fzs-championship-card__actions .fzs-text-link:focus-visible,
.fzs-championship-link-list article > div .fzs-text-link:hover,
.fzs-championship-link-list article > div .fzs-text-link:focus-visible {
    background: var(--fzs-green-light);
    color: var(--fzs-green-dark);
}

.fzs-championship-card--featured .fzs-championship-card__actions .fzs-text-link {
    border-color: rgba(255, 255, 255, 0.72);
    color: var(--fzs-white);
}

.fzs-championship-card--featured .fzs-championship-card__actions .fzs-text-link:hover,
.fzs-championship-card--featured .fzs-championship-card__actions .fzs-text-link:focus-visible {
    background: rgba(255, 255, 255, 0.14);
    color: var(--fzs-white);
}

.fzs-championship-card__footer {
    margin-top: auto;
}

.fzs-championship-photos {
    border-top: 1px solid var(--fzs-line);
    margin-top: 1.25rem;
    padding-top: 1rem;
}

.fzs-championship-photos > summary {
    cursor: pointer;
    font-weight: 750;
}

.fzs-championship-photos__grid {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 0.75rem;
}

.fzs-championship-photos__grid a {
    aspect-ratio: 1;
    border-radius: 10px;
    display: block;
    overflow: hidden;
}

.fzs-championship-photos__grid img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.fzs-championship-card__champions {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1.25rem;
}

.fzs-championship-card__champions > div {
    background: var(--fzs-green-light);
    border-radius: 12px;
    color: var(--fzs-ink);
    display: grid;
    gap: 0.2rem;
    padding: 0.9rem;
}

.fzs-championship-card__champions span,
.fzs-championship-card__champions small {
    color: var(--fzs-muted);
    font-size: 0.78rem;
}

.fzs-event-champions {
    border-top: 1px solid var(--fzs-line);
    margin-top: 1.5rem;
    padding-top: 1.25rem;
}

.fzs-event-champions .fzs-section-heading {
    margin-bottom: 1rem;
}

.fzs-event-champions .fzs-championship-card__champions {
    margin-top: 0;
}

.fzs-championship-type-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fzs-championship-type-card {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    box-shadow: var(--fzs-shadow-soft);
    display: grid;
    gap: 0.8rem;
    padding: 1.2rem;
}

.fzs-championship-type-card .fzs-badges {
    align-items: flex-start;
    gap: 0.35rem;
}

.fzs-championship-type-card .fzs-badge {
    align-items: center;
    display: inline-flex;
    font-size: 0.75rem;
    line-height: 1;
    min-height: 26px;
    padding: 0.22rem 0.52rem;
    white-space: nowrap;
}

.fzs-championship-type-card h3,
.fzs-championship-type-card p,
.fzs-championship-type-card dl {
    margin: 0;
}

.fzs-championship-type-card dl {
    border-top: 1px solid var(--fzs-line);
    display: grid;
    gap: 0.65rem;
    padding-top: 0.8rem;
}

.fzs-championship-type-card dt,
.fzs-championship-result-row span,
.fzs-championship-link-list span,
.fzs-championship-document-list span,
.fzs-championship-photo-wall span {
    color: var(--fzs-green-dark);
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
}

.fzs-championship-type-card dd {
    color: var(--fzs-muted);
    margin: 0.15rem 0 0;
}

.fzs-championship-result-list,
.fzs-championship-link-list,
.fzs-championship-document-list {
    border-top: 1px solid var(--fzs-line);
}

.fzs-championship-result-row,
.fzs-championship-document-list article {
    align-items: center;
    border-bottom: 1px solid var(--fzs-line);
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(220px, auto);
    padding: 1rem 0;
}

.fzs-championship-result-row h3,
.fzs-championship-document-list h4,
.fzs-championship-link-list h4 {
    margin: 0.15rem 0 0.25rem;
}

.fzs-championship-result-row p,
.fzs-championship-document-list p {
    color: var(--fzs-muted);
    margin: 0;
}

.fzs-championship-result-row__links {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    justify-content: flex-end;
}

.fzs-championship-call-layout {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.fzs-championship-call-panel {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    box-shadow: var(--fzs-shadow-soft);
    padding: clamp(1.2rem, 3vw, 1.8rem);
}

.fzs-championship-call-panel h3 {
    margin-bottom: 1rem;
}

.fzs-championship-link-list article {
    border-bottom: 1px solid var(--fzs-line);
    padding: 1rem 0;
}

.fzs-championship-link-list article:first-child {
    padding-top: 0;
}

.fzs-championship-link-list article:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.fzs-championship-link-list article > div {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.fzs-championship-photo-wall {
    display: grid;
    gap: 1rem;
}

.fzs-championship-photo-wall article {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    box-shadow: var(--fzs-shadow-soft);
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1fr);
    padding: 1rem;
}

.fzs-championship-photo-wall__images {
    display: grid;
    gap: 0.45rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fzs-championship-photo-wall__images a {
    aspect-ratio: 1;
    border-radius: 8px;
    display: block;
    overflow: hidden;
}

.fzs-championship-photo-wall__images img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.fzs-champion-filters {
    align-items: stretch;
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    box-shadow: var(--fzs-shadow-soft);
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-bottom: 1rem;
    padding: 1rem;
}

.fzs-champion-filters label {
    color: var(--fzs-muted-strong);
    display: grid;
    flex: 1 1 160px;
    font-size: 0.78rem;
    font-weight: 750;
    gap: 0.25rem;
}

.fzs-champion-filters select {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: 10px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.74);
    color: var(--fzs-ink);
    font: inherit;
    min-height: 44px;
    padding: 0.55rem 0.7rem;
}

.fzs-champion-filters select:hover {
    border-color: var(--fzs-line-strong);
}

.fzs-champion-filters > .fzs-button,
.fzs-champion-filters > .fzs-text-link {
    align-self: end;
    min-height: 44px;
}

.fzs-champion-list {
    border-top: 1px solid var(--fzs-line);
}

.fzs-champion-card {
    align-items: center;
    border-bottom: 1px solid var(--fzs-line);
    display: grid;
    gap: 1rem;
    grid-template-columns: 64px minmax(0, 1fr) minmax(80px, auto);
    padding: 1.1rem 0;
}

.fzs-champion-card__year {
    color: var(--fzs-green);
    font-size: 1.05rem;
    font-weight: 800;
}

.fzs-champion-card span {
    color: var(--fzs-green-dark);
    font-size: 0.8rem;
    font-weight: 800;
    text-transform: uppercase;
}

.fzs-champion-card h3,
.fzs-champion-card p {
    margin-bottom: 0.2rem;
}

.fzs-champion-card__result {
    align-items: end;
    display: flex;
    flex-direction: column;
}

.fzs-champion-card__result strong {
    font-size: 1.25rem;
}

.fzs-champion-card__result > span {
    color: var(--fzs-muted);
    font-size: 0.78rem;
}

.fzs-championship-note {
    background: var(--fzs-surface-muted);
    border-left: 4px solid var(--fzs-green);
    margin: 1rem 0 0;
    padding: 0.9rem 1rem;
}

.fzs-championship-year {
    border-bottom: 1px solid var(--fzs-line);
    border-top: 1px solid var(--fzs-line);
}

.fzs-championship-year + .fzs-championship-year {
    border-top: 0;
}

.fzs-championship-year > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    min-height: 58px;
    padding: 0.8rem 0;
}

.fzs-championship-year > summary strong {
    font-size: 1.35rem;
}

.fzs-championship-year > summary span {
    color: var(--fzs-muted);
}

.fzs-championship-year > .fzs-championship-grid {
    padding: 0.5rem 0 1.2rem;
}

.fzs-category-grid {
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fzs-category-grid > div {
    background: var(--fzs-surface-muted);
    display: grid;
    gap: 0.35rem;
    padding: 1.1rem;
}

.fzs-category-grid span {
    color: var(--fzs-muted);
}

.fzs-related-links {
    border-top: 1px solid var(--fzs-line);
    margin-top: 2rem;
    padding-top: 1.25rem;
}

.fzs-related-links a {
    font-weight: 750;
}

.fzs-portal--organizations > section,
.fzs-portal--organizations > nav {
    margin-bottom: var(--fzs-section-space);
}

.fzs-portal--organizations > :last-child {
    margin-bottom: 0;
}

.fzs-organization-hero .fzs-hero__lead {
    max-width: 62ch;
}

.fzs-organization-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fzs-organization-card {
    min-height: 230px;
}

.fzs-organization-switch {
    align-items: center;
    background: var(--fzs-support-soft);
    border: 1px solid #e3c1a6;
    border-radius: var(--fzs-card-radius);
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-bottom: var(--fzs-section-space);
    padding: clamp(1.15rem, 3vw, 1.8rem);
}

.fzs-organization-switch h2 {
    font-size: clamp(1.45rem, 2.5vw, 1.9rem);
    margin-bottom: 0.35rem;
    max-width: 28ch;
}

.fzs-organization-switch p:not(.fzs-eyebrow) {
    color: var(--fzs-muted-strong);
    margin-bottom: 0;
    max-width: 66ch;
}

.fzs-organization-switch .fzs-button--secondary {
    background: var(--fzs-surface);
    border-color: rgba(23, 107, 77, 0.3);
    color: var(--fzs-green-dark);
    max-width: 290px;
}

.fzs-organization-switch .fzs-button--secondary:hover,
.fzs-organization-switch .fzs-button--secondary:focus-visible {
    background: var(--fzs-green);
    border-color: var(--fzs-green);
    color: var(--fzs-white);
}

.fzs-organization-faq__grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fzs-organization-faq details {
    background: var(--fzs-surface);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-card-radius);
    min-width: 0;
    padding: 0.95rem 1rem;
}

.fzs-organization-faq summary {
    color: var(--fzs-ink);
    cursor: pointer;
    font-weight: 800;
    line-height: 1.35;
    min-height: 44px;
}

.fzs-organization-faq details p {
    color: var(--fzs-muted);
    margin: 0.65rem 0 0;
}

.fzs-info-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fzs-info-grid article {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    padding: 1.4rem;
}

.fzs-info-grid p {
    color: var(--fzs-muted);
    margin-bottom: 0;
}

.fzs-overview-panel {
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    display: grid;
    gap: 1.25rem;
    padding: clamp(1.2rem, 3vw, 1.8rem);
}

.fzs-overview-panel h2 {
    font-size: clamp(1.45rem, 2.6vw, 1.9rem);
    max-width: 18ch;
}

.fzs-overview-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.fzs-overview-grid div {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius-sm);
    min-width: 0;
    padding: 0.9rem;
}

.fzs-overview-grid dt {
    color: var(--fzs-muted);
    font-size: 0.78rem;
    font-weight: 850;
    text-transform: uppercase;
}

.fzs-overview-grid dd {
    font-weight: 650;
    margin: 0.2rem 0 0;
}

.fzs-organization-inline-block > section {
    margin-bottom: 2rem;
}

.fzs-organization-inline-block > section:last-child {
    margin-bottom: 0;
}

.fzs-organization-scope-factors h2 {
    max-width: 24ch;
}

.fzs-organization-scope-factors p {
    color: var(--fzs-muted);
    margin: 0.35rem 0 0;
}

.fzs-factor-list {
    display: grid;
    gap: 0.7rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.fzs-factor-list li {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius-sm);
    font-weight: 650;
    min-width: 0;
    padding: 0.9rem;
}

.fzs-organization-process ol {
    display: grid;
    gap: 0.75rem;
    margin: 0;
    padding-left: 1.2rem;
}

.fzs-organization-facts {
    margin-bottom: 1.5rem;
}

.fzs-course-scope-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.fzs-course-scope-grid article {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    display: grid;
    gap: 0.85rem;
    min-width: 0;
    padding: 1.2rem;
}

.fzs-course-scope-grid h3,
.fzs-course-scope-grid p {
    margin-bottom: 0;
}

.fzs-course-scope-grid p {
    color: var(--fzs-muted);
}

.fzs-course-scope-grid dl {
    border-top: 1px solid var(--fzs-line);
    display: grid;
    gap: 0.6rem;
    margin: 0;
    padding-top: 0.85rem;
}

.fzs-course-scope-grid dt {
    color: var(--fzs-muted);
    font-size: 0.78rem;
    font-weight: 850;
    text-transform: uppercase;
}

.fzs-course-scope-grid dd {
    font-weight: 650;
    margin: 0.15rem 0 0;
}

.fzs-inquiry-section {
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    padding: clamp(1.2rem, 3vw, 2rem);
}

.fzs-inquiry-form {
    display: grid;
    gap: 1rem;
}

.fzs-form-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
}

.fzs-field {
    color: var(--fzs-ink);
    display: grid;
    font-size: 0.86rem;
    font-weight: 800;
    gap: 0.4rem;
    min-width: 0;
}

.fzs-field span {
    color: var(--fzs-muted);
    font-size: 0.76rem;
    font-weight: 700;
}

.fzs-field input,
.fzs-field select,
.fzs-field textarea {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line-strong);
    border-radius: 10px;
    color: var(--fzs-ink);
    font: inherit;
    min-height: 46px;
    padding: 0.65rem 0.75rem;
    width: 100%;
}

.fzs-field textarea {
    min-height: 130px;
    resize: vertical;
}

.fzs-field input[type='file'] {
    padding: 0.7rem;
}

.fzs-field small,
.fzs-form-note {
    color: var(--fzs-muted);
    font-size: 0.86rem;
    font-weight: 500;
}

.fzs-field--full {
    grid-column: 1 / -1;
}

.fzs-form-consents {
    display: grid;
    gap: 0.65rem;
}

.fzs-consent {
    align-items: flex-start;
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: 12px;
    display: flex;
    max-width: 100%;
    padding: 0.85rem;
}

.fzs-consent input {
    flex: 0 0 auto;
    margin-top: 0.18rem;
}

.fzs-form-note {
    margin-bottom: 0;
}

.fzs-notifications {
    background: linear-gradient(180deg, var(--fzs-surface), var(--fzs-surface-muted));
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    padding: clamp(1.2rem, 4vw, 2.4rem);
}

.fzs-notifications-form {
    margin-top: 1.2rem;
}

.fzs-choice-fieldset {
    border: 0;
    display: grid;
    gap: 0.8rem;
    margin: 0;
    padding: 0;
}

.fzs-choice-fieldset legend {
    color: var(--fzs-ink);
    font-weight: 850;
    margin-bottom: 0.1rem;
    padding: 0;
}

.fzs-choice-card {
    align-items: flex-start;
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius-sm);
    display: flex;
    gap: 0.75rem;
    padding: 1rem;
}

.fzs-choice-card.is-highlighted {
    border-color: var(--fzs-green);
    box-shadow: inset 0 0 0 1px var(--fzs-green);
}

.fzs-choice-card.is-muted {
    background: var(--fzs-surface-muted);
    color: var(--fzs-muted);
}

.fzs-choice-card input {
    flex: 0 0 auto;
    margin-top: 0.32rem;
}

.fzs-choice-card span {
    display: grid;
    gap: 0.12rem;
}

.fzs-choice-card strong {
    color: var(--fzs-ink);
}

.fzs-choice-card small {
    color: var(--fzs-muted);
    font-weight: 600;
}

.fzs-form-notice {
    border-radius: 12px;
    font-weight: 700;
    margin-bottom: 1rem;
    padding: 1rem;
}

.fzs-form-notice--success {
    background: var(--fzs-green-light);
    border: 1px solid #b8d8c8;
    color: var(--fzs-green-dark);
}

.fzs-form-notice--error {
    background: var(--fzs-warning-soft);
    border: 1px solid #e2bc87;
    color: var(--fzs-warning);
}

.fzs-form-notice--pending {
    background: #f4f6f5;
    border: 1px solid var(--fzs-line);
    color: var(--fzs-ink);
}

.fzs-form-notice strong,
.fzs-form-notice span,
.fzs-form-notice small {
    display: block;
}

.fzs-form-notice small {
    font-weight: 600;
    margin-top: 0.45rem;
}

.fzs-rental-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fzs-rental-card {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: 14px;
    display: grid;
    gap: 0.8rem;
    padding: 1.1rem;
}

.fzs-rental-card h3,
.fzs-rental-card p {
    margin: 0.45rem 0 0;
}

.fzs-rental-card .fzs-text-link {
    justify-self: start;
}

.fzs-honeypot {
    clip-path: inset(50%);
    height: 0;
    overflow: hidden;
    position: absolute;
    width: 0;
}

.fzs-step-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.fzs-step-grid li {
    border-top: 4px solid var(--fzs-green);
    display: grid;
    gap: 1rem;
    grid-template-columns: 42px 1fr;
    padding: 1.4rem 0;
}

.fzs-step-grid li > span {
    align-items: center;
    background: var(--fzs-green-light);
    border-radius: 50%;
    color: var(--fzs-green-dark);
    display: flex;
    font-weight: 800;
    height: 42px;
    justify-content: center;
}

.fzs-rule-panel,
.fzs-cta {
    align-items: start;
    background: var(--fzs-green-dark);
    border-radius: var(--fzs-radius);
    color: var(--fzs-white);
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr 1fr;
    padding: clamp(1.5rem, 5vw, 4rem);
}

.fzs-rule-panel .fzs-eyebrow {
    color: #9dd8bd;
}

.fzs-rule-panel h2 {
    color: var(--fzs-white);
}

.fzs-rule-panel ul {
    margin: 0;
}

.fzs-rule-panel li + li {
    margin-top: 0.65rem;
}

.fzs-rule-panel--start,
.fzs-rule-panel--sport {
    background: linear-gradient(135deg, #eef6ef 0%, #fffdf8 100%);
    border: 1px solid #c9dacf;
    box-shadow: var(--fzs-shadow-soft);
    color: var(--fzs-ink);
    gap: clamp(1.4rem, 3vw, 2.5rem);
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
    padding: clamp(1.6rem, 4vw, 3rem);
}

.fzs-rule-panel--start h2,
.fzs-rule-panel--sport h2 {
    color: var(--fzs-ink);
    max-width: 18ch;
}

.fzs-rule-panel--start .fzs-eyebrow,
.fzs-rule-panel--sport .fzs-eyebrow {
    color: var(--fzs-green);
}

.fzs-rule-panel--start ul,
.fzs-rule-panel--sport ul {
    display: grid;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
}

.fzs-rule-panel--start li,
.fzs-rule-panel--sport li {
    background: rgba(255, 253, 248, 0.78);
    border: 1px solid rgba(13, 77, 55, 0.14);
    border-radius: var(--fzs-radius-sm);
    padding: 0.85rem 1rem 0.85rem 2.55rem;
    position: relative;
    text-align: left;
}

.fzs-rule-panel--start li + li,
.fzs-rule-panel--sport li + li {
    margin-top: 0;
}

.fzs-rule-panel--start li::before,
.fzs-rule-panel--sport li::before {
    background: var(--fzs-green);
    border-radius: 50%;
    content: '';
    height: 8px;
    left: 1.1rem;
    position: absolute;
    top: 1.45rem;
    width: 8px;
}

.fzs-cta {
    align-items: center;
    background: var(--fzs-sand);
    color: var(--fzs-ink);
    grid-template-columns: 1fr auto;
}

.fzs-cta h2,
.fzs-cta p {
    margin-bottom: 0.35rem;
}

.fzs-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: flex-end;
}

.fzs-sport-equipment-cta {
    gap: clamp(1rem, 2vw, 1.6rem);
    background: var(--fzs-support-soft);
    border: 1px solid #e6c4a8;
    padding: clamp(1.35rem, 3vw, 2.25rem);
}

.fzs-sport-equipment-cta h2 {
    font-size: clamp(1.75rem, 3vw, 2.55rem);
    max-width: 20ch;
}

.fzs-sport-equipment-cta p {
    max-width: 64ch;
}

.fzs-sport-equipment-cta .fzs-cta__actions {
    gap: 0.55rem;
}

.fzs-sport-equipment-cta .fzs-button {
    min-height: 44px;
    padding: 0.68rem 1.1rem;
}

.fzs-cta--notifications {
    background: var(--fzs-primary-soft);
    border: 1px solid #bfd8ca;
}

.fzs-cta--notifications .fzs-eyebrow {
    color: var(--fzs-green-dark);
}

.fzs-cta--notifications h2,
.fzs-cta--notifications p {
    color: var(--fzs-ink);
}

.fzs-cta.fzs-home-cta.fzs-cta--organizations {
    background:
        linear-gradient(135deg, rgba(13, 77, 55, 0.96), rgba(20, 35, 29, 0.98)),
        var(--fzs-green-dark);
    border: 0;
    color: var(--fzs-white);
}

.fzs-cta.fzs-home-cta.fzs-cta--organizations .fzs-eyebrow {
    color: #b7e0c9;
}

.fzs-cta.fzs-home-cta.fzs-cta--organizations h2,
.fzs-cta.fzs-home-cta.fzs-cta--organizations p {
    color: var(--fzs-white);
}

.fzs-cta.fzs-home-cta.fzs-cta--organizations .fzs-home-cta__paths a {
    background: rgba(255, 253, 248, 0.07);
    border-color: rgba(255, 255, 255, 0.24);
}

.fzs-cta--compact {
    margin-top: 1.25rem;
    padding: clamp(1rem, 3vw, 1.4rem);
}

.fzs-detail {
    margin-top: 1rem;
}

body.single-fzs_event .entry-header,
body.single-fzs_course .entry-header {
    margin-bottom: 0.9rem;
}

body.single-fzs_club .entry-header {
    display: none !important;
}

body.single-fzs_club .wp-block-post-title {
    display: none !important;
}

body.single-fzs_event .entry-title,
body.single-fzs_course .entry-title {
    font-size: clamp(2.35rem, 5vw, 3.65rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.03;
    margin-bottom: 0.12rem;
    max-width: 1040px;
    overflow-wrap: break-word;
}

.fzs-back-link {
    align-items: center;
    border-radius: 10px;
    color: var(--fzs-green-dark);
    display: inline-flex;
    font-size: 0.95rem;
    font-weight: 700;
    gap: 0.45rem;
    line-height: 1.2;
    margin-bottom: 1.15rem;
    min-height: 44px;
    padding: 0.55rem 0.72rem 0.55rem 0;
    text-decoration: none;
    text-underline-offset: 0.22em;
}

.fzs-back-link span {
    align-items: center;
    border: 1px solid var(--fzs-line);
    border-radius: 999px;
    display: inline-flex;
    font-size: 1.05rem;
    height: 2rem;
    justify-content: center;
    width: 2rem;
}

.fzs-back-link:hover,
.fzs-back-link:focus-visible {
    color: var(--fzs-green-dark);
    text-decoration: underline;
}

.fzs-back-link:hover span,
.fzs-back-link:focus-visible span {
    background: var(--fzs-green-light);
    border-color: var(--fzs-green-light);
}

.fzs-back-link:focus-visible {
    box-shadow: var(--fzs-focus-ring);
    outline: 0;
}

.fzs-club-detail__hero {
    align-items: stretch;
    display: grid;
    gap: clamp(1rem, 2.4vw, 1.45rem);
    grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
    margin-bottom: clamp(1.4rem, 3vw, 2rem);
}

.fzs-club-detail__hero--wide-logo {
    grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
}

.fzs-club-detail__logo {
    align-items: center;
    background: linear-gradient(145deg, var(--fzs-white) 0%, var(--fzs-surface-muted) 100%);
    border: 1px solid var(--fzs-line);
    border-radius: 16px;
    box-shadow: var(--fzs-shadow-soft);
    display: flex;
    justify-content: center;
    margin: 0;
    min-height: 200px;
    min-width: 0;
    padding: clamp(1rem, 2.4vw, 1.4rem);
}

.fzs-club-detail__logo img {
    display: block;
    height: auto;
    max-height: 160px;
    max-width: 100%;
    object-fit: contain;
}

.fzs-club-detail__hero--wide-logo .fzs-club-detail__logo img {
    max-height: 120px;
}

.fzs-club-detail__mark {
    align-items: center;
    aspect-ratio: 1;
    background: var(--fzs-green-light);
    border: 1px solid var(--fzs-line);
    border-radius: 18px;
    color: var(--fzs-green-dark);
    display: flex;
    font-size: 1.8rem;
    font-weight: 850;
    justify-content: center;
    width: min(112px, 100%);
}

.fzs-club-detail__facts {
    background: var(--fzs-white);
    border: 1px solid var(--fzs-line);
    border-radius: 16px;
    box-shadow: var(--fzs-shadow-soft);
    margin: 0;
    overflow: hidden;
}

.fzs-facts {
    border-bottom: 1px solid var(--fzs-line);
    border-top: 1px solid var(--fzs-line);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 1.5rem 0;
}

.fzs-facts > div {
    min-width: 0;
    padding: 1rem;
}

.fzs-facts dt {
    color: var(--fzs-muted);
    font-size: 0.75rem;
    font-weight: 750;
    text-transform: uppercase;
}

.fzs-facts dd {
    font-weight: 650;
    margin: 0.3rem 0 0;
    overflow-wrap: break-word;
}

.fzs-event-conditions {
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    box-shadow: var(--fzs-shadow-soft);
    margin: clamp(1rem, 2.4vw, 1.45rem) 0 0;
    padding: clamp(1rem, 2.5vw, 1.35rem);
}

.fzs-event-conditions .fzs-section-heading {
    margin-bottom: 0.95rem;
}

.fzs-event-conditions__grid {
    align-items: start;
    display: grid;
    gap: clamp(0.85rem, 2vw, 1.1rem);
    grid-template-columns: minmax(0, 1.45fr) minmax(220px, 0.8fr);
}

.fzs-event-conditions__facts {
    display: grid;
    gap: 0.75rem 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.fzs-event-conditions__facts > div {
    min-width: 0;
}

.fzs-event-conditions__facts dt {
    color: var(--fzs-muted);
    font-size: 0.75rem;
    font-weight: 750;
    text-transform: uppercase;
}

.fzs-event-conditions__facts dd {
    color: var(--fzs-ink);
    font-weight: 700;
    margin: 0.28rem 0 0;
    overflow-wrap: break-word;
}

.fzs-event-conditions__links {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: flex-end;
}

.fzs-event-conditions__links .fzs-button {
    min-height: 44px;
}

.fzs-event-conditions__notice {
    border-top: 1px solid var(--fzs-line);
    color: var(--fzs-muted);
    font-size: 0.9rem;
    margin: 1rem 0 0;
    padding-top: 0.9rem;
}

.fzs-detail-sections {
    display: grid;
    gap: clamp(0.85rem, 2vw, 1rem);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: clamp(1.4rem, 3vw, 2rem) 0;
}

.fzs-detail-sections > section {
    background: var(--fzs-surface-muted);
    border: 1px solid var(--fzs-line);
    border-radius: var(--fzs-radius);
    min-width: 0;
    padding: clamp(1rem, 2.2vw, 1.25rem);
}

.fzs-detail-sections h2 {
    font-size: 1.15rem;
    line-height: 1.2;
    margin-bottom: 0.65rem;
}

.fzs-detail-sections p:last-child {
    margin-bottom: 0;
}

@media (max-width: 960px) {
    :root {
        --fzs-h1-size: 2.75rem;
        --fzs-h2-size: 1.95rem;
    }

    .fzs-hero,
    .fzs-course-layout,
    .fzs-course-detail__hero,
    .fzs-club-detail__hero,
    .fzs-rule-panel,
    .fzs-sdgl-hero,
    .fzs-home-cta,
    .fzs-sdgl-rules,
    .fzs-organization-switch,
    .fzs-course-source-card {
        grid-template-columns: 1fr;
    }

    .fzs-hero {
        padding: 2rem;
    }

    .fzs-hero--photo,
    .fzs-equipment-hero.fzs-hero--photo {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .fzs-hero--photo {
        background-position: var(--fzs-hero-photo-position, center);
    }

    .fzs-home-hero::after {
        display: none;
    }

    .fzs-home-hero {
        min-height: clamp(640px, 86vw, 700px);
        padding-bottom: clamp(6.5rem, 14vw, 8rem);
    }

    .fzs-home-hero__media {
        aspect-ratio: 4 / 3;
        min-height: 0;
    }

    .fzs-home-hero__media::after {
        background:
            linear-gradient(180deg, rgba(13, 39, 30, 0.9), rgba(13, 39, 30, 0.72)),
            linear-gradient(90deg, rgba(13, 39, 30, 0.7), rgba(13, 39, 30, 0.32));
    }

    .fzs-hero__media-card,
    .fzs-hero__media-card img {
        min-height: 0;
    }

    .fzs-course-filter-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fzs-hero__media-card {
        aspect-ratio: 4 / 3;
    }

    .fzs-card-grid--paths,
    .fzs-card-grid,
    .fzs-organization-grid,
    .fzs-info-grid,
    .fzs-course-scope-grid,
    .fzs-overview-grid,
    .fzs-step-grid,
    .fzs-term-grid,
    .fzs-process-list,
    .fzs-equipment-type-grid,
    .fzs-start-promise-list,
    .fzs-start-course-grid,
    .fzs-sdgl-category-grid,
    .fzs-home-course-grid,
    .fzs-home-event-list,
    .fzs-home-club-grid,
    .fzs-home-paths,
    .fzs-home-link-grid,
    .fzs-championship-type-grid,
    .fzs-championship-library__grid,
    .fzs-factor-list,
    .fzs-home-journey-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fzs-equipment-fit {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fzs-organization-switch .fzs-button,
    .fzs-course-source-card .fzs-button {
        justify-self: start;
    }

    .fzs-home-league,
    .fzs-home-clubs,
    .fzs-championship-call-layout,
    .fzs-championship-photo-wall article {
        grid-template-columns: 1fr;
    }

    .fzs-result-card__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fzs-map-shell {
        min-height: 420px;
        position: static;
    }

    .fzs-course-map {
        height: 420px;
    }

    .fzs-course-filter-panel .fzs-filter,
    .fzs-club-filter-panel .fzs-filter,
    .fzs-document-filters .fzs-filter,
    .fzs-result-filters .fzs-filter,
    .fzs-detail-sections {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fzs-result-filters .fzs-filter label:first-child {
        grid-column: 1 / -1;
    }

    .fzs-championship-hero {
        grid-template-columns: 1fr;
    }

    .fzs-about-content--o-nas .wp-block-columns {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    :root {
        --fzs-section-space: 3.5rem;
        --fzs-h1-size: 2.25rem;
        --fzs-h2-size: 1.65rem;
    }

    .fzs-hero {
        margin-left: -12px;
        margin-right: -12px;
        padding: 1.5rem 1.25rem;
    }

    .fzs-portal--equipment .fzs-equipment-hero {
        margin-left: 0;
        margin-right: 0;
    }

    .fzs-about-shell {
        gap: 1rem;
    }

    .fzs-about-hero {
        border-radius: var(--fzs-radius);
        padding: 1.35rem 1.1rem;
    }

    .fzs-about-hero::before {
        height: 5px;
        width: 100%;
    }

    .fzs-about-hero h1 {
        font-size: 2.05rem;
        max-width: none;
    }

    .fzs-about-hero__lead {
        font-size: 1rem;
        line-height: 1.5;
    }

    .fzs-about-nav {
        display: none;
    }

    .fzs-about-nav-mobile {
        background: rgba(255, 253, 248, 0.9);
        border: 1px solid rgba(13, 77, 55, 0.18);
        border-radius: var(--fzs-radius);
        box-shadow: var(--fzs-shadow-soft);
        display: block;
        overflow: hidden;
    }

    .fzs-about-nav-mobile summary {
        align-items: center;
        color: var(--fzs-green-dark);
        cursor: pointer;
        display: flex;
        gap: 0.35rem;
        line-height: 1.3;
        list-style: none;
        min-height: 48px;
        padding: 0.7rem 2.7rem 0.7rem 0.9rem;
        position: relative;
    }

    .fzs-about-nav-mobile summary::-webkit-details-marker {
        display: none;
    }

    .fzs-about-nav-mobile summary::after {
        border-bottom: 2px solid currentColor;
        border-right: 2px solid currentColor;
        content: '';
        height: 0.55rem;
        position: absolute;
        right: 1rem;
        top: 1rem;
        transform: rotate(45deg);
        transition: transform 160ms ease;
        width: 0.55rem;
    }

    .fzs-about-nav-mobile[open] summary::after {
        transform: translateY(0.25rem) rotate(225deg);
    }

    .fzs-about-nav-mobile summary:hover,
    .fzs-about-nav-mobile summary:focus-visible {
        background: var(--fzs-green-light);
    }

    .fzs-about-nav-mobile summary span {
        color: var(--fzs-muted);
        font-size: 0.88rem;
    }

    .fzs-about-nav-mobile summary strong {
        font-size: 0.92rem;
    }

    .fzs-about-nav-mobile nav {
        border-top: 1px solid rgba(13, 77, 55, 0.12);
        display: grid;
        gap: 0.25rem;
        padding: 0.45rem;
    }

    .fzs-about-nav-mobile a {
        align-items: center;
        border-radius: var(--fzs-button-radius);
        color: var(--fzs-green-dark);
        display: flex;
        font-size: 0.92rem;
        font-weight: 800;
        min-height: 44px;
        padding: 0.65rem 0.75rem;
        text-decoration: none;
    }

    .fzs-about-nav-mobile a:hover,
    .fzs-about-nav-mobile a:focus-visible {
        background: var(--fzs-green-light);
    }

    .fzs-about-nav-mobile a.is-active {
        background: var(--fzs-green);
        color: var(--fzs-white);
    }

    .fzs-about-content--o-nas .wp-block-columns {
        display: grid;
        gap: 0.75rem;
        grid-template-columns: 1fr;
    }

    .fzs-about-content--o-nas .wp-block-column {
        padding: 0.95rem;
    }

    .fzs-about-content--o-nas .wp-block-table,
    .fzs-about-content--organi-in-komisije .wp-block-table {
        margin-left: -2px;
        margin-right: -2px;
    }

    .fzs-about-content--o-nas table,
    .fzs-about-content--organi-in-komisije table {
        min-width: 520px;
    }

    .fzs-about-content--o-nas .wp-block-table:first-of-type table,
    .fzs-about-content--organi-in-komisije details .wp-block-table table {
        min-width: 0;
    }

    .fzs-about-content--organi-in-komisije summary {
        min-height: 50px;
        padding: 0.82rem 0.9rem;
    }

    .fzs-about-content--organi-in-komisije details > :not(summary) {
        margin-left: 0.9rem;
        margin-right: 0.9rem;
    }

    .fzs-about-content--organi-in-komisije details > :last-child {
        margin-bottom: 0.9rem;
    }

    .fzs-about-content--kontakt .fzs-contact-form-shell {
        max-width: none;
        width: 100%;
    }

    .fzs-about-content--kontakt .fzs-contact-form-shell input:not([type='submit']),
    .fzs-about-content--kontakt .fzs-contact-form-shell select,
    .fzs-about-content--kontakt .fzs-contact-form-shell textarea,
    .fzs-about-content--kontakt .fzs-contact-form-shell input[type='submit'] {
        font-size: 16px;
        width: 100%;
    }

    .fzs-card-grid,
    .fzs-card-grid--paths,
    .fzs-home-course-grid,
    .fzs-home-event-list,
    .fzs-home-club-grid,
    .fzs-home-link-grid,
    .fzs-home-paths,
    .fzs-home-cta__paths,
    .fzs-organization-grid,
    .fzs-info-grid,
    .fzs-course-scope-grid,
    .fzs-overview-grid,
    .fzs-form-grid,
    .fzs-course-layout .fzs-card-grid,
    .fzs-step-grid,
    .fzs-term-grid,
    .fzs-process-list,
    .fzs-equipment-type-grid,
    .fzs-start-promise-list,
    .fzs-start-course-grid,
    .fzs-facts,
    .fzs-event-conditions__grid,
    .fzs-event-conditions__facts,
    .fzs-cta,
    .fzs-document-stats,
    .fzs-document-card,
    .fzs-championship-library__grid,
    .fzs-course-gallery__grid,
    .fzs-factor-list {
        grid-template-columns: 1fr;
    }

    .fzs-cta__actions {
        align-items: stretch;
        flex-direction: column;
        justify-content: flex-start;
    }

    .fzs-cta__actions .fzs-button {
        width: 100%;
    }

    .fzs-result-card__facts,
    .fzs-inquiry-section {
        padding: 1rem;
    }

    .fzs-notifications-form,
    .fzs-notifications-form .fzs-form-grid,
    .fzs-notifications-form .fzs-choice-fieldset,
    .fzs-notifications-form .fzs-choice-card,
    .fzs-notifications-form .fzs-field,
    .fzs-notifications-form .fzs-field input,
    .fzs-notifications-form .fzs-consent,
    .fzs-notifications-form .fzs-button {
        max-width: 100%;
        min-width: 0;
        width: 100%;
    }

    .fzs-notifications-form .fzs-choice-card,
    .fzs-notifications-form .fzs-consent {
        overflow-wrap: anywhere;
    }

    .fzs-notifications .fzs-intro h1 {
        font-size: 1.65rem;
    }

    .fzs-inquiry-form .fzs-button {
        width: 100%;
    }

    .fzs-section-heading {
        align-items: start;
        flex-direction: column;
    }

    .fzs-home-hero__media {
        aspect-ratio: 4 / 3;
        min-height: 0;
    }

    .fzs-home-hero__media figcaption {
        border-radius: 10px;
        bottom: 0.6rem;
        left: 0.6rem;
        max-width: calc(100% - 1.2rem);
        padding: 0.55rem 0.65rem;
        position: absolute;
    }

    .fzs-home-journey-grid {
        gap: 0.65rem;
    }

    .fzs-home-journey-grid a {
        min-height: 148px;
        padding: 0.85rem;
    }

    .fzs-home-journey-grid a::after {
        right: 0.75rem;
        top: 0.68rem;
    }

    .fzs-home-journey-grid strong {
        font-size: 0.98rem;
        padding-right: 1.25rem;
    }

    .fzs-home-journey-grid small {
        font-size: 0.8rem;
        line-height: 1.4;
    }

    .fzs-home-hero__media figcaption span {
        display: none;
    }

    .fzs-hero__media-card figcaption {
        border-radius: 10px;
        bottom: 0.6rem;
        left: 0.6rem;
        max-width: calc(100% - 1.2rem);
        padding: 0.55rem 0.65rem;
    }

    .fzs-hero__media-card figcaption span {
        display: none;
    }

    .fzs-home-card-facts {
        grid-template-columns: 1fr;
    }

    .fzs-home-event-card > time {
        min-height: 62px;
    }

    .fzs-home-event-card > time span {
        font-size: 1.25rem;
    }

    .fzs-home-card-actions .fzs-button {
        flex-basis: 100%;
    }

    .fzs-home-clubs__intro .fzs-button,
    .fzs-home-club-card__actions .fzs-button {
        width: 100%;
    }

    .fzs-event-list {
        grid-template-columns: 1fr;
    }

    .fzs-event-card > time {
        min-height: 62px;
    }

    .fzs-event-card > time span {
        font-size: 1.25rem;
    }

    .fzs-event-card__action .fzs-button {
        flex-basis: 100%;
    }

    .fzs-filter {
        align-items: stretch;
        flex-direction: column;
        gap: 0.7rem;
        margin-bottom: 1.25rem;
        padding: 0.85rem;
    }

    .fzs-course-filter-panel .fzs-filter,
    .fzs-club-filter-panel .fzs-filter,
    .fzs-document-filters .fzs-filter,
    .fzs-result-filters .fzs-filter {
        display: flex;
        gap: 0.7rem;
    }

    .fzs-course-filter-advanced > summary,
    .fzs-document-filters > summary,
    .fzs-result-filters > summary {
        min-height: 46px;
        padding: 0.65rem 0.95rem;
    }

    .fzs-filter label:not(.fzs-check) {
        flex: 1 1 auto;
        font-size: 0.8rem;
        gap: 0.28rem;
        min-width: 0;
    }

    .fzs-filter input[type='search'],
    .fzs-filter select {
        box-sizing: border-box;
        font-size: 16px;
        height: 44px;
        line-height: 1.2;
        min-height: 44px;
        padding: 0.45rem 0.65rem;
    }

    .fzs-filter .fzs-check {
        align-self: stretch;
        border-radius: var(--fzs-button-radius);
        justify-content: flex-start;
        min-height: var(--fzs-touch-target);
        padding: 0.48rem 0.7rem;
        width: 100%;
    }

    .fzs-filter .fzs-check input {
        height: 1rem;
        width: 1rem;
    }

    .fzs-filter__actions,
    .fzs-filter__actions .fzs-button,
    .fzs-filter__actions .fzs-text-link,
    .fzs-result-filters .fzs-filter > .fzs-button,
    .fzs-result-filters .fzs-filter > .fzs-text-link {
        width: 100%;
    }

    .fzs-filter__actions {
        gap: 0.5rem;
        min-height: 0;
    }

    .fzs-course-filter-main {
        grid-template-columns: 1fr;
    }

    .fzs-course-filter-toggles .fzs-check {
        flex: 1 1 100%;
        justify-content: flex-start;
    }

    .fzs-course-filter-panel .fzs-filter__actions,
    .fzs-document-filter .fzs-filter__actions,
    .fzs-event-filter .fzs-filter__actions {
        align-items: stretch;
        flex-direction: column;
        gap: 0.5rem;
        margin-top: 0;
        padding-top: 0.7rem;
    }

    .fzs-course-filter-panel .fzs-filter__actions .fzs-text-link {
        width: 100%;
    }

    .fzs-filter__actions .fzs-button {
        flex: 1;
        min-height: var(--fzs-touch-target);
    }

    .fzs-filter__actions .fzs-text-link {
        min-height: var(--fzs-touch-target);
        padding-bottom: 0.48rem;
        padding-top: 0.48rem;
    }

    .fzs-portal--clubs.is-map-view .fzs-club-list {
        display: none;
    }

    .fzs-portal--clubs.is-map-view .fzs-map-shell {
        display: block;
    }

    .fzs-course-card__facts,
    .fzs-course-card__notes,
    .fzs-detail-sections,
    .fzs-rental-grid {
        grid-template-columns: 1fr;
    }

    .fzs-course-card__notes > div:nth-child(3) {
        grid-column: auto;
    }

    .fzs-course-card__facts div + div {
        border-left: 0;
        border-top: 1px solid var(--fzs-line);
    }

    .fzs-course-card__actions {
        align-items: center;
        flex-direction: column;
    }

    .fzs-course-card__actions .fzs-button {
        flex: 0 0 auto;
        max-width: none;
        width: 100%;
    }

    .fzs-course-detail__media {
        min-height: 220px;
    }

    .fzs-course-detail__summary .fzs-facts {
        grid-template-columns: 1fr;
    }

    .fzs-club-detail__logo {
        min-height: 160px;
    }

    .fzs-course-event-card {
        align-items: stretch;
        flex-direction: column;
    }

    .fzs-club-card__header {
        gap: 0.7rem;
        grid-template-columns: 1fr;
    }

    .fzs-club-card__header img,
    .fzs-club-card__mark {
        border-radius: 12px;
        width: 64px;
    }

    .fzs-club-card__header--wide-logo {
        grid-template-columns: 1fr;
    }

    .fzs-club-card__header--wide-logo img {
        height: 54px;
        width: min(112px, 100%);
    }

    .fzs-club-card h2 {
        font-size: 1.25rem;
        margin-top: 0.45rem;
    }

    .fzs-club-card .fzs-badges {
        gap: 0.32rem;
    }

    .fzs-document-card__action {
        align-items: stretch;
        border-left: 0;
        justify-content: flex-start;
        min-width: 0;
        padding-left: 0;
    }

    .fzs-document-card__action .fzs-button {
        width: 100%;
    }

    .fzs-document-card__meta {
        display: grid;
        gap: 0.4rem;
    }

    .fzs-document-card__meta div {
        justify-content: space-between;
    }

    .fzs-filter label:not(.fzs-check),
    .fzs-filter .fzs-button {
        width: 100%;
    }

    .fzs-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .fzs-actions .fzs-button {
        width: 100%;
    }

    .fzs-inquiry-form .fzs-field input,
    .fzs-inquiry-form .fzs-field select,
    .fzs-inquiry-form .fzs-field textarea {
        font-size: 16px;
    }

    .fzs-event-conditions__links {
        flex-direction: column;
        justify-content: flex-start;
    }

    .fzs-event-conditions__links .fzs-button {
        width: 100%;
    }

    .fzs-home-hero {
        gap: 0.85rem;
        min-height: auto;
        padding: 1.35rem 0.9rem;
    }

    .fzs-home-hero h1 {
        font-size: 2.05rem;
        max-width: none;
    }

    .fzs-home-hero .fzs-eyebrow {
        margin-bottom: 0.45rem;
    }

    .fzs-home-hero .fzs-hero__lead {
        font-size: 1rem;
        line-height: 1.45;
    }

    .fzs-home-paths {
        gap: 0.55rem;
        margin-top: 0.95rem;
    }

    .fzs-home-paths .fzs-button,
    .fzs-portal .fzs-home-hero .fzs-home-paths a.fzs-button {
        min-height: var(--fzs-touch-target);
        padding: 0.58rem 0.65rem;
    }

    .fzs-home-hero__notes {
        display: none;
    }

    .fzs-home-hero__media figcaption {
        display: none;
    }

    .fzs-result-card__sources,
    .fzs-result-card__links,
    .fzs-related-links {
        align-items: stretch;
        flex-direction: column;
    }

    .fzs-result-card__sources .fzs-button,
    .fzs-result-card__sources .fzs-text-link,
    .fzs-result-card__links .fzs-text-link,
    .fzs-related-links a {
        width: 100%;
    }

    .fzs-podium-grid {
        grid-template-columns: 1fr;
    }

    .fzs-championship-hero:not(.fzs-hero--photo) {
        border-radius: var(--fzs-radius);
        padding: 1.6rem 1.2rem;
    }

    .fzs-championship-nav {
        flex-wrap: wrap;
        margin-left: 0;
        margin-right: 0;
        overflow-x: visible;
        padding-left: 0;
        padding-right: 0;
    }

    .fzs-sdgl-nav {
        flex-wrap: wrap;
        margin-left: 0;
        margin-right: 0;
        overflow-x: visible;
        padding-left: 0;
        padding-right: 0;
    }

    .fzs-championship-nav a,
    .fzs-sdgl-nav a {
        flex: 0 1 auto;
    }

    .fzs-championship-grid,
    .fzs-championship-card__champions,
    .fzs-championship-card__facts,
    .fzs-championship-type-grid,
    .fzs-championship-call-layout,
    .fzs-championship-result-row,
    .fzs-championship-document-list article,
    .fzs-championship-photo-wall article,
    .fzs-category-grid,
    .fzs-sdgl-category-grid,
    .fzs-sdgl-next-grid,
    .fzs-sdgl-rules {
        grid-template-columns: 1fr;
    }

    .fzs-sdgl-hero {
        border-radius: var(--fzs-radius);
        padding: 1.6rem 1.2rem;
    }

    .fzs-sdgl-event {
        grid-template-columns: 58px minmax(0, 1fr);
    }

    .fzs-sdgl-event > time {
        grid-row: 1 / span 2;
        min-height: 58px;
    }

    .fzs-sdgl-event__actions {
        grid-column: 2;
        justify-content: flex-start;
    }

    .fzs-sdgl-event__actions .fzs-button,
    .fzs-sdgl-event__actions .fzs-text-link {
        white-space: normal;
    }

    .fzs-sdgl-app {
        min-height: 980px;
    }

    .fzs-championship-photos__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fzs-championship-card__actions,
    .fzs-championship-card__footer,
    .fzs-championship-result-row__links,
    .fzs-championship-link-list article > div,
    .fzs-champion-filters {
        align-items: stretch;
        flex-direction: column;
    }

    .fzs-championship-card__actions .fzs-button,
    .fzs-championship-card__actions .fzs-text-link,
    .fzs-championship-card__footer .fzs-text-link,
    .fzs-championship-result-row__links .fzs-button,
    .fzs-championship-link-list .fzs-button,
    .fzs-championship-link-list .fzs-text-link,
    .fzs-championship-document-list .fzs-button,
    .fzs-champion-filters label,
    .fzs-champion-filters .fzs-button,
    .fzs-champion-filters .fzs-text-link {
        width: 100%;
    }

    .fzs-champion-card {
        align-items: start;
        grid-template-columns: 52px minmax(0, 1fr);
    }

    .fzs-champion-card__result {
        align-items: start;
        grid-column: 2;
    }

    .fzs-pagination {
        align-items: center;
        flex-direction: column;
    }
}

@media (max-width: 680px) {
    .fzs-calendar-hero.fzs-hero--photo,
    .fzs-championship-hero.fzs-hero--photo {
        --fzs-hero-photo-position: 58% 48%;
        min-height: 300px;
        padding: 1.55rem;
    }

    .fzs-portal--courses .fzs-course-list {
        grid-template-columns: 1fr;
    }

    .fzs-portal--courses .fzs-course-map {
        height: 260px;
    }

    .fzs-course-map-section {
        margin-bottom: 2rem;
    }
}

@media (max-width: 960px) {
    .fzs-portal--equipment .fzs-equipment-sale__grid,
    .fzs-portal--equipment .fzs-starter-order,
    .fzs-portal--equipment .fzs-payment-panel__grid,
    .fzs-portal--equipment .fzs-order-steps {
        grid-template-columns: 1fr;
    }

    .fzs-portal--equipment .fzs-order-summary {
        position: static;
    }
}

@media (max-width: 640px) {
    .fzs-hero-facts {
        gap: 0.4rem;
        margin-top: 0.85rem;
    }

    .fzs-hero-facts li {
        font-size: 0.82rem;
        padding: 0.4rem 0.6rem;
    }

    .fzs-home-utility-paths {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.38rem;
        margin-top: 0.75rem;
    }

    .fzs-home-utility-paths a {
        align-items: center;
        display: inline-flex;
        min-height: var(--fzs-touch-target);
        padding: 0.25rem 0;
    }

    .fzs-equipment-nav {
        gap: 0.5rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fzs-equipment-nav a {
        min-height: 52px;
        padding: 0.6rem 0.7rem;
    }

    .fzs-course-quick-filters {
        gap: 0.45rem;
        padding: 0.75rem 0.85rem;
    }

    .fzs-course-quick-filter {
        flex: 1 1 calc(50% - 0.25rem);
        text-align: center;
    }

    .fzs-portal--equipment .fzs-equipment-faq__grid {
        grid-template-columns: 1fr;
    }

    .fzs-portal--equipment .fzs-equipment-hero {
        gap: 1rem;
    }

    .fzs-portal--equipment .fzs-equipment-hero .fzs-product-card {
        align-items: center;
        gap: 0.75rem;
        grid-template-columns: 112px minmax(0, 1fr);
        padding: 0.8rem;
        place-items: center start;
    }

    .fzs-portal--equipment .fzs-equipment-hero .fzs-product-card img {
        width: 112px;
    }

    .fzs-portal--equipment .fzs-equipment-hero .fzs-product-card figcaption {
        gap: 0.3rem;
        min-width: 0;
    }

    .fzs-portal--equipment .fzs-equipment-hero .fzs-product-card strong {
        font-size: 0.98rem;
    }

    .fzs-portal--equipment .fzs-equipment-hero .fzs-product-card small {
        font-size: 0.78rem;
        line-height: 1.35;
    }

    .fzs-equipment-fit,
    .fzs-organization-faq__grid,
    .fzs-course-source-card {
        grid-template-columns: 1fr;
    }

    .fzs-portal--equipment .fzs-equipment-sale__grid > .fzs-starter-order {
        order: -1;
    }

    .fzs-portal--teambuilding .fzs-overview-grid,
    .fzs-portal--course-setup .fzs-factor-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fzs-organization-switch .fzs-button,
    .fzs-course-source-card .fzs-button {
        justify-self: stretch;
        max-width: none;
        width: 100%;
    }

    .fzs-portal--equipment .fzs-order-form__grid,
    .fzs-portal--equipment .fzs-choice-grid {
        grid-template-columns: 1fr;
    }

    .fzs-portal--equipment .fzs-order-form,
    .fzs-portal--equipment .fzs-order-summary,
    .fzs-portal--equipment .fzs-payment-details,
    .fzs-portal--equipment .fzs-payment-note {
        padding: 1rem;
    }

    .fzs-portal--equipment .fzs-starter-order .fzs-button {
        width: 100%;
    }
}

@media (max-width: 350px) {
    .fzs-portal--equipment .fzs-order-summary dl > div,
    .fzs-portal--equipment .fzs-payment-details > div {
        grid-template-columns: 1fr;
    }

    .fzs-portal--equipment .fzs-payment-details dd,
    .fzs-portal--equipment .fzs-copy-button {
        width: 100%;
    }
}

@media (min-width: 375px) and (max-width: 640px) {
    .fzs-course-card__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fzs-course-card__facts div + div {
        border-left: 1px solid var(--fzs-line);
        border-top: 0;
    }

    .fzs-course-card__facts div:nth-child(odd) {
        border-left: 0;
    }

    .fzs-course-card__facts div:nth-child(n + 3) {
        border-top: 1px solid var(--fzs-line);
    }

    .fzs-course-card__actions {
        align-items: stretch;
        flex-direction: row;
    }

    .fzs-course-card__actions .fzs-button {
        flex: 1 1 calc(50% - 0.35rem);
        width: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fzs-path-card,
    .fzs-course-card,
    .fzs-home-journey-grid a,
    .fzs-equipment-nav a {
        transition: none;
    }

    .fzs-course-card:hover,
    .fzs-course-card:focus-within,
    .fzs-home-journey-grid a:hover,
    .fzs-home-journey-grid a:focus-visible,
    .fzs-equipment-nav a:hover,
    .fzs-equipment-nav a:focus-visible {
        transform: none;
    }
}
