:root {
    --wood-950:#26130d;
    --wood-900:#351a10;
    --wood-800:#4a2416;
    --wood-700:#63331f;
    --red-700:#9e2925;
    --red-600:#ba3d35;
    --cream-50:#fffaf0;
    --cream-100:#f8eedb;
    --cream-200:#ead8b8;
    --ink:#34251e;
    --muted:#755f53;
    --shadow:0 16px 40px rgba(49,25,14,.16);
    --radius:18px
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    color:var(--ink);
    background:var(--cream-50);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
    line-height:1.6
}

a {
    color:inherit
}

.shell {
    width:min(1160px,calc(100% - 40px));
    margin-inline:auto
}

.skip-link {
    position:fixed;
    left:16px;
    top:-80px;
    background:#fff;
    padding:10px 16px;
    z-index:100
}

.skip-link:focus {
    top:12px
}

.utility-bar {
    color:#f9ead3;
    background:var(--wood-950);
    font-size:.76rem;
    letter-spacing:.08em;
    text-transform:uppercase
}

.utility-inner {
    display:flex;
    justify-content:space-between;
    padding-block:7px
}

.site-header {
    position:relative;
    z-index:10;
    background:linear-gradient(90deg,rgba(255,250,240,.96),rgba(248,238,219,.96)),url('/grafiken/holz.jpg');
    border-bottom:1px solid #d6b98c;
    box-shadow:0 5px 18px rgba(49,25,14,.12)
}

.brand-row {
    min-height:86px;
    display:flex;
    align-items:center;
    gap:32px
}

.brand {
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    margin-right:auto
}

.brand-mark {
    width:58px;
    height:58px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#fff8e8;
    border:3px solid #c8a878;
    box-shadow:0 4px 10px rgba(49,25,14,.2)
}

.brand-mark img {
    max-width:46px;
    max-height:46px
}

.brand strong {
    display:block;
    color:var(--wood-900);
    font-family:Georgia,serif;
    font-size:1.3rem;
    line-height:1.1
}

.brand small {
    display:block;
    color:var(--red-700);
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase
}

.main-navigation {
    display:flex;
    align-items:center;
    gap:6px
}

.main-navigation a {
    padding:10px 14px;
    border-radius:99px;
    text-decoration:none;
    color:var(--wood-800);
    font-weight:750
}

.main-navigation a:hover,.main-navigation a.is-active {
    color:white;
    background:var(--red-700)
}

.nav-toggle {
    display:none;
    border:0;
    background:none;
    padding:10px
}

.nav-toggle>span:not(.sr-only) {
    display:block;
    width:25px;
    height:2px;
    background:var(--wood-900);
    margin:5px
}

.hero {
    position:relative;
    overflow:hidden;
    background:linear-gradient(105deg,rgba(61,29,17,.94),rgba(95,47,28,.82)),url('/Dateien/images/bg_wood.jpg') center/cover;
    color:white
}

.hero:after {
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:5px;
    background:linear-gradient(90deg,var(--red-600),#deb86e,var(--red-600))
}

.hero-grid {
    min-height:500px;
    display:grid;
    grid-template-columns:1.1fr .9fr;
    align-items:center;
    gap:70px;
    padding-block:70px
}

.eyebrow {
    display:inline-block;
    color:#e9bd70;
    font-size:.78rem;
    font-weight:850;
    letter-spacing:.18em;
    text-transform:uppercase
}

.hero h1,.page-hero h1 {
    max-width:720px;
    margin:.15em 0;
    font-family:Georgia,serif;
    font-size:clamp(2.7rem,6vw,5.4rem);
    line-height:1.02;
    letter-spacing:-.035em
}

.hero p {
    max-width:600px;
    color:#f3dfc3;
    font-size:1.15rem
}

.hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px
}

.button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:10px 20px;
    border-radius:99px;
    text-decoration:none;
    font-weight:800
}

.button-primary {
    color:white;
    background:var(--red-700);
    box-shadow:0 8px 20px rgba(83,16,14,.24)
}

.button-primary:hover {
    background:var(--red-600)
}

.button-light {
    color:var(--wood-900);
    background:var(--cream-100)
}

.carrom-board {
    width:min(390px,80vw);
    aspect-ratio:1;
    justify-self:center;
    position:relative;
    border:18px solid #8d522d;
    border-radius:20px;
    background:radial-gradient(circle at center,transparent 0 13%,#a9322d 13.5% 14.5%,transparent 15% 32%,rgba(116,62,28,.35) 32.5% 33.5%,transparent 34%),linear-gradient(135deg,#f4d998,#fff0be 52%,#d9af6b);
    box-shadow:inset 0 0 0 5px #3c1c12,0 24px 50px rgba(19,8,4,.42);
    transform:rotate(3deg)
}

.carrom-board:before,.carrom-board:after {
    content:"";
    position:absolute;
    width:42px;
    height:42px;
    background:#2d1711;
    border-radius:50%;
    top:12px
}

.carrom-board:before {
    left:12px
}

.carrom-board:after {
    right:12px
}

.board-center {
    position:absolute;
    inset:44%;
    border:3px solid #a9322d;
    border-radius:50%
}

.coin {
    position:absolute;
    width:58px;
    height:58px;
    border-radius:50%;
    box-shadow:inset 0 0 0 3px rgba(255,255,255,.2),0 6px 10px rgba(40,20,10,.35)
}

.coin-red {
    background:#b4302c;
    left:27%;
    top:25%
}

.coin-dark {
    background:#2d1c17;
    right:25%;
    bottom:27%
}

.coin-cream {
    background:#f8ead0;
    right:24%;
    top:30%
}

.coin-small {
    width:44px;
    height:44px;
    left:36%;
    top:56%
}

.stat-row {
    position:relative;
    z-index:2;
    margin-top:10px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px
}

.stat-disc {
    aspect-ratio:1;
    border-radius:50%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:7px double #b89a6e;
    box-shadow:var(--shadow)
}

.stat-disc strong {
    font-family:Georgia,serif;
    font-size:clamp(1.4rem,3vw,2.2rem);
    line-height:1
}

.stat-disc span {
    font-size:.75rem;
    font-weight:800;
    margin-top:6px
}

.stat-cream {
    background:#fff8e9
}

.stat-red {
    color:white;
    background:var(--red-700);
    border-color:#e8b69f
}

.stat-dark {
    color:white;
    background:var(--wood-900);
    border-color:#a87d5e
}

.stat-row .stat-disc {
    width:min(180px,100%);
    justify-self:center
}

.section {
    padding-block:86px
}

.section-heading {
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:30px
}

.section-heading>span {
    width:18px;
    height:18px;
    border:5px double var(--red-700);
    border-radius:50%
}

.section-heading small {
    color:var(--red-700);
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.14em
}

.section-heading h2,.warm-band h2 {
    margin:0;
    font-family:Georgia,serif;
    font-size:clamp(2rem,4vw,3.2rem);
    line-height:1.1
}

.news-section-heading,.home-section-heading {
    align-items:flex-start;
    gap:0
}

.news-section-heading h2,.home-section-heading h2 {
    display:flex;
    align-items:center;
    gap:12px
}

.section-title-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1em;
    height:1em;
    border:0;
    border-radius:0;
    color:var(--red-700);
    font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif;
    font-size:.62em;
    line-height:1
}

.card-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px
}

.info-card {
    position:relative;
    padding:30px;
    border:1px solid #e1cda9;
    border-radius:var(--radius);
    background:linear-gradient(145deg,#fffdf7,#f7ecd7);
    box-shadow:0 12px 30px rgba(62,36,20,.09)
}

.info-card:before {
    content:"";
    position:absolute;
    left:28px;
    right:28px;
    top:0;
    height:3px;
    background:var(--red-700)
}

.card-icon {
    font-size:1.7rem
}

.info-card h3 {
    margin:.6em 0 .3em;
    font-family:Georgia,serif;
    font-size:1.5rem
}

.info-card p {
    color:var(--muted)
}

.info-card a {
    color:var(--red-700);
    font-weight:850;
    text-decoration:none
}

.home-topic-grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
    width:100%
}

.home-topic-card {
    123min-height:230px
}

.warm-band {
    padding-block:75px;
    background:linear-gradient(100deg,rgba(248,238,219,.97),rgba(240,218,179,.93)),url('/grafiken/holz.jpg') center/cover;
    border-block:1px solid #d7b989
}

.split-panel {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center
}

.feature-list {
    display:grid;
    gap:12px
}

.feature-list span {
    padding:16px 20px;
    border-radius:12px;
    background:rgba(255,252,245,.76);
    border:1px solid #d7bd91;
    font-weight:750
}

.feature-list b {
    color:var(--red-700);
    margin-right:10px
}

.page-hero {
    padding-block:70px;
    color:white;
    background:linear-gradient(105deg,rgba(61,29,17,.96),rgba(107,52,29,.86)),url('/Dateien/images/bg_wood.jpg') center/cover
}

.page-hero h1 {
    font-size:clamp(2.5rem,5vw,4.5rem)
}

.page-hero p {
    font-size:1.1rem;
    color:#f3dfc3
}

.empty-state {
    padding:60px;
    text-align:center;
    border:1px solid #dfc89f;
    border-radius:var(--radius);
    background:var(--cream-100)
}

.empty-state .compact {
    width:70px;
    margin:auto;
    aspect-ratio:1
}

.site-footer {
    padding-top:30px;
    color:#ead7bf;
    background:var(--wood-950);
    border-top:5px solid #a56637
}

.footer-grid {
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:50px
}

.footer-grid strong {
    font-family:Georgia,serif;
    font-size:1.3rem
}

.footer-grid p {
    color:#bfa993
}

.footer-grid div:last-child {
    display:grid;
    align-content:start;
    gap:8px
}

.footer-grid a {
    color:#ead7bf;
    text-decoration:none
}

.footer-bottom {
    margin-top:40px;
    padding-block:18px;
    border-top:1px solid #5e3928;
    color:#a99283;
    font-size:.85rem
}

.sr-only {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0
}

@media(max-width:820px) {
    .utility-note {
        display:none
    }

    .brand-row {
        min-height:76px
    }

    .nav-toggle {
        display:block
    }

    .main-navigation {
        display:none;
        position:absolute;
        top:100%;
        left:20px;
        right:20px;
        padding:12px;
        flex-direction:column;
        align-items:stretch;
        background:#fffaf0;
        border:1px solid #d7bd91;
        border-radius:14px;
        box-shadow:var(--shadow)
    }

    .main-navigation.is-open {
        display:flex
    }

    .hero-grid {
        grid-template-columns:1fr;
        text-align:center
    }

    .hero-copy {
        display:grid;
        justify-items:center
    }

    .hero-actions {
        width:100%;
        flex-direction:column;
        align-items:center;
        gap:10px
    }

    .hero-actions .button {
        width:min(100%, 320px)
    }

    .carrom-board {
        width:min(300px,75vw)
    }

    .stat-row {
        grid-template-columns:repeat(2,1fr);
        margin-top:30px
    }

    .card-grid,.split-panel {
        grid-template-columns:1fr
    }

    .home-topic-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .split-panel {
        gap:35px
    }

    .footer-grid {
        grid-template-columns:1fr
    }

}

@media(max-width:600px) {
    .club-details {
        grid-template-columns:1fr;
        gap:12px
    }
}

@media(max-width:480px) {
    .shell {
        width:min(100% - 24px,1160px)
    }

    .brand strong {
        font-size:1.05rem
    }

    .brand-mark {
        width:48px;
        height:48px
    }

    .hero-grid {
        padding-block:50px;
        gap:35px
    }

    .hero h1 {
        font-size:2.7rem
    }

    .stat-row {
        gap:10px
    }

    .section {
        padding-block:58px
    }

    .info-card,.empty-state {
        padding:24px
    }

    .utility-inner {
        justify-content:center
    }

}

/* Swiss rankings */
.swiss-hero {
    padding-block:54px
}

.swiss-hero h1 {
    margin-bottom:.15em
}

.season-toolbar {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:30px;
    margin-bottom:32px
}

.season-toolbar h2 {
    margin:.1em 0 0;
    font-family:Georgia,serif;
    font-size:clamp(1.8rem,3vw,2.35rem)
}

.season-toolbar form {
    display:grid;
    gap:5px;
    min-width:230px
}

.season-toolbar label {
    font-size:.75rem;
    font-weight:850;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--muted)
}

.season-toolbar select {
    width:100%;
    min-height:48px;
    padding:8px 40px 8px 14px;
    border:1px solid #cdb184;
    border-radius:12px;
    background:#fffaf0;
    color:var(--wood-900);
    font:inherit;
    font-weight:750
}

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

.eurocup-overview-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px
}

.eurocup-overview-card {
    min-width:0;
    min-height:190px
}

.eurocup-card-meta {
    margin:8px 0 12px
}

.eurocup-card-meta p {
    line-height:1.4
}

.eurocup-card-meta p+p {
    margin-top:3px
}

@media(max-width:900px) {
    .eurocup-overview-grid {
        grid-template-columns:1fr
    }

    .eurocup-overview-card {
        min-height:0
    }
}

.quick-card {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:12px;
    padding:22px;
    border:1px solid #dec69e;
    border-radius:16px;
    background:linear-gradient(145deg,#fffdf7,#f7ecd7)
}

.quick-card>span {
    font-size:1.45rem;
    color:var(--red-700)
}

.quick-card>span svg {
    display:block;
    width:26px;
    height:26px
}

.quick-card small {
    font-weight:800;
    color:var(--red-700);
    text-transform:uppercase;
    letter-spacing:.1em
}

.quick-card h3 {
    margin:2px 0;
    font:700 1.35rem Georgia,serif
}

.quick-card p {
    margin:0;
    color:var(--muted);
    font-size:.9rem
}

.quick-card a {
    grid-column:2;
    color:var(--red-700);
    font-size:.9rem;
    font-weight:850;
    text-decoration:none
}

.quick-card > .quick-card-status {
    grid-column:2;
    color:var(--red-700);
    font-size:.9rem;
    font-weight:750
}

.list-heading {
    margin-top:68px
}

.tournament-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px
}

@media(max-width:1100px) {
    .tournament-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

.tournament-card {
    position:relative;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:18px;
    padding:22px;
    border:1px solid #ddc39a;
    border-radius:16px;
    background:#fffdf8;
    box-shadow:0 8px 22px rgba(65,37,20,.07)
}

.tournament-card:hover {
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(65,37,20,.12)
}

.tournament-number {
    width:68px;
    height:68px;
    border-radius:50%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:white;
    background:var(--wood-900);
    border:4px double #c9a97b
}

.tournament-number strong {
    font:700 1.6rem Georgia,serif;
    line-height:1
}

.tournament-number span {
    font-size:.65rem;
    font-weight:800
}

.tournament-copy small {
    color:var(--red-700);
    font-weight:800
}

.tournament-copy h3 {
    margin:2px 0;
    font:700 1.25rem Georgia,serif
}

.tournament-copy p {
    margin:0;
    color:var(--muted)
}

.participant-count {
    font-size:.8rem;
    font-weight:750;
    color:var(--wood-700)
}

.card-link {
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    text-align:center;
    color:white;
    background:var(--red-700);
    font-size:1.35rem;
    text-decoration:none
}

.is-pending {
    opacity:.68
}

.pending-label {
    max-width:100px;
    text-align:right;
    color:var(--muted);
    font-size:.72rem;
    font-weight:750
}

.section-back-link {
    display:block;
    width:fit-content;
    margin-bottom:30px;
    color:var(--red-700);
    font-size:.9rem;
    font-weight:750;
    text-decoration:none
}

.section-back-link:hover {
    text-decoration:underline
}

.ranking-header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
    margin-bottom:28px
}

.ranking-header h2 {
    margin:.05em 0;
    font:700 clamp(2rem,4vw,3.2rem) Georgia,serif
}

.ranking-header p {
    margin:0;
    color:var(--muted)
}

.ranking-count {
    flex:0 0 112px;
    aspect-ratio:1;
    border-radius:50%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:white;
    background:var(--red-700);
    border:6px double #e6bba1
}

.ranking-count strong {
    font:700 2rem Georgia,serif;
    line-height:1
}

.ranking-count span {
    font-size:.7rem
}

.table-scroll {
    overflow-x:auto;
    border:1px solid #dbc39c;
    border-radius:16px;
    box-shadow:0 12px 30px rgba(62,36,20,.08)
}

.modern-table {
    width:100%;
    min-width:800px;
    border-collapse:collapse;
    background:#fffdf8
}

.modern-table th {
    padding:14px 16px;
    text-align:left;
    color:#f8ead9;
    background:var(--wood-900);
    font-size:.72rem;
    letter-spacing:.07em;
    text-transform:uppercase
}

.modern-table td {
    padding:13px 16px;
    border-bottom:1px solid #eadcc4
}

.ranking-section .ranking-list-table th:first-child,
.ranking-section .ranking-list-table td:first-child {
    width:80px;
    min-width:80px
}

.ranking-section .ranking-list-table {
    width:max-content;
    min-width:0;
    max-width:100%
}

.ranking-section .ranking-list-table tbody tr:not(.qualification-line) {
    height:53px
}

@media(min-width:701px) {
    .ranking-section .ranking-list-table {
        width:100%;
        max-width:100%;
        table-layout:fixed
    }

}

.ranking-section .ranking-list-table th:nth-child(2),
.ranking-section .ranking-list-table td:nth-child(2) {
    width:260px;
    min-width:260px;
    overflow-wrap:anywhere
}

.ranking-section .ranking-list-table th:nth-child(3),
.ranking-section .ranking-list-table td:nth-child(3) {
    width:112px;
    min-width:112px
}

@media(min-width:701px) {
    .ranking-section .ranking-list-table th:nth-child(n+4):not(:last-child),
    .ranking-section .ranking-list-table td:nth-child(n+4):not(:last-child) {
        width:140px
    }

    .ranking-section .ranking-list-table .ranking-spacer {
        width:auto;
        min-width:0
    }
}

.modern-table tbody tr:nth-child(even) {
    background:#faf1e1
}

.modern-table tbody tr:hover {
    background:#f3e1c2
}

.modern-table th:not(:nth-child(2)),.modern-table td:not(:nth-child(2)) {
    text-align:center
}

.player-name {
    font-weight:800;
    color:var(--wood-900)
}

.flag {
    display:block;
    width:24px;
    max-height:17px;
    object-fit:cover;
    margin:auto;
    box-shadow:0 1px 3px rgba(0,0,0,.22)
}

.rank-chip {
    width:32px;
    height:32px;
    border-radius:50%;
    display:grid;
    place-items:center;
    margin:auto;
    background:#eadac1;
    font-weight:850
}

.rank-1 {
    color:#4a3511;
    background:#e5c05a
}

.rank-2 {
    color:#3d4248;
    background:#d7dde1
}

.rank-3 {
    color:#532e1d;
    background:#c88a62
}

.points {
    font-weight:900;
    color:var(--red-700)
}

.notice {
    padding:20px;
    border:1px solid #dcc39b;
    border-radius:14px;
    background:var(--cream-100)
}

.notice-error {
    color:#7e1c1a;
    border-color:#d9a19a;
    background:#fff0ed
}

@media(max-width:820px) {
    .quick-grid {
        grid-template-columns:1fr
    }

    .tournament-grid {
        grid-template-columns:1fr
    }

    .ranking-header {
        align-items:flex-start
    }

    .season-toolbar {
        align-items:stretch;
        flex-direction:column
    }

    .season-toolbar form {
        min-width:0;
        width:100%
    }

    .ranking-overview-toolbar {
        gap:14px
    }

    .ranking-overview-toolbar > div:first-child {
        order:1
    }

    .ranking-overview-toolbar > form {
        order:0
    }

    .eurocup-overview-toolbar > div:first-child {
        display:contents
    }

    .eurocup-overview-toolbar > div:first-child .eyebrow {
        order:0
    }

    .eurocup-overview-toolbar > form {
        order:1
    }

    .eurocup-overview-toolbar > div:first-child h2 {
        order:2
    }

}

@media(max-width:520px) {
    .tournament-card {
        grid-template-columns:auto 1fr
    }

    .card-link,.pending-label {
        grid-column:2
    }

    .ranking-count {
        flex-basis:88px
    }

    .quick-card {
        padding:18px
    }

}

.qualification-line td {
    padding:6px 16px!important;
    text-align:left!important;
    color:#fff;
    background:var(--red-700)!important;
    border:0!important;
    font-size:.7rem;
    font-weight:850;
    letter-spacing:.12em;
    text-transform:uppercase
}

.doubles-table {
    min-width:560px
}

.doubles-table .player-name span {
    display:block
}

.doubles-table .player-name span+span {
    margin-top:4px;
    color:var(--muted)
}

.flag-stack {
    display:grid;
    justify-content:center;
    gap:5px
}

.final-table {
    min-width:650px
}

.standings-table {
    min-width:700px
}

.discipline-tabs,.stat-switch {
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:30px;
    padding:7px;
    border:1px solid #dcc39b;
    border-radius:14px;
    background:#f8ecd8;
    overflow-x:auto
}

.discipline-tabs a,.stat-switch a {
    flex:0 0 auto;
    padding:9px 16px;
    border-radius:9px;
    color:var(--wood-800);
    font-weight:850;
    text-decoration:none
}

.discipline-tabs a:hover,.discipline-tabs a.is-active,.stat-switch a:hover,.stat-switch a.is-active {
    color:#fff;
    background:var(--red-700)
}

.discipline-tabs>span {
    flex:1;
    min-width:15px
}

.euro-ranking-header .euro-ranking-subtitle {
    color:var(--red-700);
    font-weight:850
}

.euro-ranking-header .euro-ranking-meta {
    margin-top:4px
}

.match-final-card {
    --match-final-score-width:44px;
    display:inline-block;
    width:max-content;
    max-width:100%;
    margin:0 0 24px;
    padding:8px 8px 8px 10px;
    border:1px solid #75401f;
    border-radius:16px;
    color:#fff8ea;
    background:linear-gradient(135deg,#351a10,#63331f);
    box-shadow:0 12px 28px rgba(49,25,14,.2)
}

.match-final-scoreboard {
    width:max-content;
    max-width:100%
}

.match-final-score-row {
    display:grid;
    width:max-content;
    grid-template-columns:220px repeat(var(--match-final-game-count,3),var(--match-final-score-width,54px));
    align-items:center;
    gap:8px 10px;
    min-height:36px;
    padding:0 0 0 6px;
    border:0;
    box-shadow:none
}

.match-final-score-row:not(.match-final-score-head) + .match-final-score-row {
    margin-top:8px;
}

.match-final-score-head {
    min-height:24px;
    padding-top:0;
    padding-bottom:2px;
    color:#e9d8ba;
    font-size:.72rem;
    font-weight:800;
    text-align:center
}

.match-final-score-head span:first-child {
    text-align:left
}

.match-final-title {
    color:#f3c676;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.12em;
    text-align:left!important;
    text-transform:uppercase
}

.match-final-player {
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0
}

.match-final-player .flag {
    flex:0 0 24px;
    width:24px;
    height:17px;
    margin:0
}

.match-final-player strong {
    overflow:hidden;
    color:#fff8ea;
    font-size:.92rem;
    text-overflow:ellipsis;
    white-space:nowrap
}

.match-final-score-row.is-winner .match-final-player {
    align-self:stretch;
    height:36px;
    margin-left:-6px;
    margin-right:-6px;
    padding:0 6px;
    border-radius:8px;
    background:rgba(243,198,118,.13)
}

.match-final-score-row.is-winner .match-final-player strong {
    color:gold;
    font-weight:950
}

.match-final-point,
.match-progress-value {
    display:grid;
    place-items:center;
    height:36px;
    padding:6px 4px;
    border:1px solid rgba(243,198,118,.5);
    border-radius:8px;
    color:#fff;
    background:rgba(255,248,234,.08);
    font-size:.9rem;
    font-variant-numeric:tabular-nums;
    font-weight:850;
    text-align:center;
}

.match-final-widget {
    /* 2px border + 16px padding + 24px header + 2 x 36px scores + 8px row gap. */
    --match-final-widget-height:122px;
    position:relative;
    display:flex;
    align-items:flex-start;
    gap:8px;
    width:max-content;
    max-width:100%;
    margin-bottom:24px
}

.match-final-widget .match-final-card {
    height:var(--match-final-widget-height);
    margin:0
}

.match-final-drawer {
    display:grid;
    grid-template-columns:34px;
    align-items:stretch
}

.match-final-drawer summary {
    display:flex;
    align-items:center;
    justify-content:center;
    align-self:stretch;
    height:var(--match-final-widget-height);
    min-height:var(--match-final-widget-height);
    padding:8px 5px;
    border:1px solid rgba(243,198,118,.55);
    border-radius:9px;
    color:#f3c676;
    background:linear-gradient(135deg,#351a10,#63331f);
    cursor:pointer;
    list-style:none
}

.match-final-drawer summary::-webkit-details-marker {
    display:none
}

.match-final-drawer summary span {
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase
}

.match-final-drawer[open] {
    grid-template-columns:34px max-content;
    gap:8px
}

.match-final-drawer[open] > summary {
    grid-column:1;
    grid-row:1
}

.match-final-drawer[open] > .match-progress-card {
    grid-column:2;
    grid-row:1
}

.match-progress-card {
    width:max-content;
    max-width:100%;
    height:var(--match-final-widget-height);
    min-width:0;
    margin:0;
    padding:8px;
    border:1px solid #75401f;
    border-radius:16px;
    color:#fff8ea;
    background:linear-gradient(135deg,#351a10,#63331f);
    box-shadow:0 12px 28px rgba(49,25,14,.2)
}

.match-progress-scroll {
    height:100%;
    max-width:100%;
    overflow-x:auto
}

.match-progress-grid {
    display:grid;
    width:max-content;
    grid-template-columns:repeat(var(--match-progress-board-count),25px) 36px;
    /* The last track includes the 8px space above the second player's scores. */
    grid-template-rows:24px 36px 44px;
    gap:0 4px;
    align-items:end;
    padding:0
}

.match-progress-heading {
    display:grid;
    align-items:center;
    height:24px;
    padding-bottom:2px;
    color:#e9d8ba;
    font-size:.72rem;
    font-weight:800;
    text-align:center
}

.match-progress-value.is-queen {
    color:#ff6b61
}

.match-progress-total {
    width:36px
}

.match-final-point.is-game-win,
.match-progress-total.is-winner {
    color:gold
}

.match-final-plain {
    color:var(--wood-900);
    font-size:.9rem;
}

.match-final-card .match-final-plain {
    color:#fff8ea;
}

.player-game-link {
    color:inherit;
    text-decoration:none;
    border-bottom:1px dotted rgba(59,29,18,.4)
}

.player-game-link:hover {
    color:var(--red-700);
    border-bottom-color:currentColor
}

.player-games-back {
    margin-bottom:18px
}

.euro-ranking-table {
    min-width:700px
}

.euro-ranking-table .player-name span {
    display:block
}

.euro-ranking-table .player-name span+span {
    margin-top:4px;
    color:var(--muted)
}

.euro-stat-table {
    min-width:650px
}

.medal-gold {
    color:#76550f;
    font-weight:900;
    background:rgba(229,192,90,.12)
}

.medal-silver {
    color:#59636b;
    font-weight:900
}

.medal-bronze {
    color:#8a4f32;
    font-weight:900
}

.stat-switch {
    width:max-content
}

.eurocup-hero {
    background:linear-gradient(105deg,rgba(61,29,17,.96),rgba(130,43,35,.82)),url('/Dateien/images/bg_wood.jpg') center/cover
}

@media(max-width:700px) {
    .discipline-tabs>span {
        display:none
    }

    .discipline-tabs {
        align-items:stretch
    }

    .match-final-card {
        width:100%;
        padding:8px 10px 8px 10px
    }

    .match-final-widget {
        width:100%;
        flex-wrap:nowrap
    }

    .match-final-widget .match-final-card {
        flex:1 1 auto;
        width:auto;
        min-width:0;
        padding:8px 8px 8px 10px
    }

    .match-final-drawer {
        flex:0 0 30px;
        grid-template-columns:30px
    }

    .match-final-drawer[open] {
        flex:0 0 30px;
        grid-template-columns:30px
    }

    .match-final-drawer summary {
        padding:8px 4px
    }

    .match-final-drawer[open] > .match-progress-card {
        position:absolute;
        top:calc(100% + 8px);
        right:0;
        grid-column:auto;
        grid-row:auto;
        width:100%;
        max-width:100%;
        padding:8px
    }

    .match-progress-scroll {
        width:100%;
        min-width:0
    }

    .match-final-scoreboard {
        width:100%
    }

    .match-final-score-row {
        width:100%;
        grid-template-columns:minmax(0,1fr) repeat(var(--match-final-game-count,3),var(--match-final-score-width,48px));
        gap:8px 10px;
        padding:0 0 0 4px
    }

}

@media(max-width:1000px) {
    .match-final-widget:has(.match-final-drawer[open]) {
        padding-bottom:calc(var(--match-final-widget-height) + 8px)
    }

    .match-final-drawer,
    .match-final-drawer[open] {
        flex:0 0 30px;
        grid-template-columns:30px
    }

    .match-final-drawer[open] > .match-progress-card {
        position:absolute;
        top:calc(var(--match-final-widget-height) + 8px);
        right:0;
        left:0;
        grid-column:auto;
        grid-row:auto;
        width:100%;
        max-width:100%;
        padding:8px
    }

    .match-progress-scroll {
        width:100%;
        min-width:0
    }

}

@media(min-width:701px) {
    .match-final-card-doubles .match-final-scoreboard {
        display:grid;
        width:max-content;
        grid-template-columns:minmax(220px,max-content) repeat(var(--match-final-game-count,3),var(--match-final-score-width,44px));
        column-gap:10px
    }

    .match-final-card-doubles .match-final-score-row {
        grid-column:1 / -1;
        grid-template-columns:subgrid;
        width:auto
    }

    .match-final-card-doubles .match-final-player strong {
        white-space:normal;
        overflow-wrap:anywhere;
        overflow:visible;
        text-overflow:clip
    }

    .match-final-card-doubles .match-final-score-row.is-winner .match-final-player {
        height:auto;
        min-height:36px
    }
}

@media(max-width:700px) {
    .ranking-section .ranking-list-table th:first-child,
    .ranking-section .ranking-list-table td:first-child {
        width:64px;
        min-width:64px
    }

    .ranking-section .ranking-list-table th:nth-child(2),
    .ranking-section .ranking-list-table td:nth-child(2) {
        width:180px;
        min-width:180px
    }

    .ranking-section .ranking-list-table th:nth-child(3),
    .ranking-section .ranking-list-table td:nth-child(3) {
        width:100px;
        min-width:100px
    }

    .ranking-section .ranking-list-table .ranking-spacer {
        display:none
    }
}

.statistics-navigation {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:18px;
    margin-bottom:38px
}

.statistics-choice-group {
    display:grid;
    justify-items:start;
    gap:8px;
    min-width:0
}

.statistics-choice-group-right {
    justify-items:end;
    margin-left:auto
}

.statistics-choice-label {
    padding:0 6px;
    color:var(--wood-900);
    font-size:.78rem;
    font-weight:850;
    line-height:1.2
}

.eurocup-statistics-navigation {
    justify-content:space-between;
}

.competition-switch,.metric-switch {
    display:flex;
    gap:7px;
    padding:6px;
    border:1px solid #dcc39b;
    border-radius:14px;
    background:#f8ecd8;
    overflow-x:auto
}

.competition-switch a,.metric-switch a {
    flex:0 0 auto;
    padding:9px 15px;
    border-radius:9px;
    color:var(--wood-800);
    font-size:.9rem;
    font-weight:850;
    text-decoration:none
}

.competition-switch a:hover,.competition-switch a.is-active,.metric-switch a:hover,.metric-switch a.is-active {
    color:#fff;
    background:var(--red-700)
}

.ranking-period-switch {
    align-items:center;
    margin-bottom:24px;
    overflow:visible
}

.ranking-switch-links {
    display:flex;
    flex:1 1 auto;
    gap:7px;
    min-width:0;
    overflow-x:auto
}

.ranking-switch-links a {
    white-space:nowrap
}

.ranking-period-form {
    display:flex;
    flex:0 0 auto;
    align-items:center;
    gap:8px;
    margin-left:auto;
    padding:0 4px;
    white-space:nowrap
}

.ranking-period-form label {
    color:var(--wood-800);
    font-size:.8rem;
    font-weight:850
}

.ranking-period-form select {
    min-width:115px;
    min-height:40px;
    padding:6px 10px;
    border:1px solid #cdb184;
    border-radius:9px;
    background:#fffaf0;
    color:var(--wood-900);
    font:inherit;
    font-weight:750
}

@media(max-width:820px) {
    .ranking-period-switch {
        align-items:stretch;
        flex-direction:column
    }

    .ranking-period-form {
        order:-1;
        margin:0;
        padding:2px 4px 10px;
        border-bottom:1px solid #dcc39b
    }

    .ranking-period-form select {
        flex:1 1 auto;
        min-width:0
    }

    .ranking-switch-links {
        flex:0 0 auto;
        width:100%
    }
}

.swiss-stat-table {
    min-width:720px
}

.champions-table {
    min-width:760px;
    table-layout:fixed
}

.modern-table.champions-table th,
.modern-table.champions-table td {
    text-align:left
}

.champions-table th:first-child,
.champions-table td:first-child {
    width:140px;
    padding-left:22px
}

.champions-table th:not(:first-child),
.champions-table td:not(:first-child) {
    padding-left:24px;
    padding-right:24px
}

.champion-season-link {
    color:var(--wood-900);
    font-weight:800;
    text-decoration:none
}

.champion-season-link:hover {
    color:var(--red-700);
    text-decoration:underline
}

.champion-entries {
    display:block
}

.champion-entry {
    display:grid;
    grid-template-columns:minmax(0,1fr) 24px;
    width:min(100%,220px);
    align-items:center;
    gap:8px
}

.champion-entry .player-name {
    min-width:0;
    overflow-wrap:anywhere
}

.champion-entry + .champion-entry {
    margin-top:5px
}

.champion-entry .flag {
    margin:0
}

@media(max-width:700px) {
    .champions-table,
    .champions-table tbody,
    .champions-table tr {
        display:block;
        width:100%;
        min-width:0
    }

    .champions-table thead {
        display:none
    }

    .champions-table tr {
        padding:14px;
        border-bottom:1px solid #eadcc4
    }

    .modern-table.champions-table td {
        display:grid;
        grid-template-columns:90px minmax(0,1fr);
        gap:8px;
        padding:5px 0;
        border:0
    }

    .modern-table.champions-table td:first-child {
        display:block;
        width:auto;
        padding:0 0 8px;
        font-size:1rem
    }

    .champions-table td[data-label]::before {
        content:attr(data-label);
        color:var(--wood-700);
        font-size:.75rem;
        font-weight:800
    }
}

.statistics-hero {
    background:linear-gradient(105deg,rgba(61,29,17,.96),rgba(82,64,31,.86)),url('/Dateien/images/bg_wood.jpg') center/cover
}

@media(max-width:820px) {
    .statistics-navigation {
        align-items:stretch;
        flex-direction:column
    }

    .statistics-choice-group {
        width:100%
    }

    .statistics-choice-group-right {
        justify-items:start;
        margin-left:0
    }

    .statistics-choice-label {
        display:none
    }

    .competition-switch,.metric-switch {
        width:100%
    }

}

.nav-group {
    position:relative
}

@media (hover:hover) and (pointer:fine) {
    .nav-group::after {
        content:"";
        position:absolute;
        top:100%;
        left:0;
        right:0;
        height:9px
    }
}

.nav-group summary {
    list-style:none;
    padding:10px 14px;
    border-radius:99px;
    color:var(--wood-800);
    font-weight:750;
    cursor:pointer
}

.nav-group summary::-webkit-details-marker {
    display:none
}

.nav-group summary:after {
    content:"⌄";
    margin-left:6px;
    color:var(--red-700)
}

.nav-group[data-current] summary,.nav-group[open] summary,.nav-group summary:hover {
    color:#fff;
    background:var(--red-700)
}

.nav-group[data-current] summary:after,.nav-group[open] summary:after {
    color:#fff
}

.nav-dropdown {
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    min-width:210px;
    padding:9px;
    border:1px solid #dbc39d;
    border-radius:14px;
    background:#fffaf0;
    box-shadow:var(--shadow)
}

.nav-dropdown a {
    display:block;
    padding:9px 12px!important;
    border-radius:8px!important;
    white-space:nowrap
}

.nav-dropdown a:hover {
    color:#fff;
    background:var(--red-700)
}

.nav-dropdown-label {
    display:block;
    margin:8px 12px 2px;
    padding-top:9px;
    border-top:1px solid #dcc39b;
    color:var(--wood-700);
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase
}

.home-current {
    padding-bottom:30px
}

.home-current-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px
}

.next-event-panel {
    display:flex;
    flex-direction:column;
    min-height:0;
    padding:24px;
    border-radius:18px;
    color:#fff;
    background:linear-gradient(135deg,var(--wood-900),#6f3821);
    box-shadow:var(--shadow)
}

.next-event-panel h3 {
    margin:.5em 0 .1em;
    font:700 1.65rem Georgia,serif
}

.next-event-panel p {
    color:#ecd9c1
}

.next-event-panel .next-event-date {
    margin:18px 0 0;
    color:#f3c676;
    font-weight:800
}

.next-event-panel .next-event-season {
    margin:0 0 4px
}

.next-event-panel .next-event-season+p {
    margin-top:0
}

.next-event-panel>a {
    color:#f3c676;
    font-weight:850;
    text-decoration:none
}

.home-results {
    display:grid;
    grid-column:span 3;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px
}

.home-results a {
    position:relative;
    display:grid;
    align-content:start;
    gap:5px;
    padding:24px 40px 20px 20px;
    border:1px solid #ddc59f;
    border-radius:14px;
    background:#fffdf8;
    text-decoration:none
}

.home-results .home-result-card {
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    min-height:0;
    padding:24px 20px 20px;
    border:1px solid #ddc59f;
    border-radius:14px;
    background:linear-gradient(145deg,#fffdf7,#f7ecd7);
    box-shadow:0 12px 30px rgba(62,36,20,.09)
}

.home-results small {
    color:var(--red-700);
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.08em
}

.home-results strong {
    font:700 1.2rem Georgia,serif
}

.home-results .home-result-card>h3 {
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:5px 9px;
    margin:5px 0 0;
    font:700 1.2rem Georgia,serif
}

.home-results span {
    color:var(--muted)
}

.home-results .home-result-date {
    color:var(--muted);
    font:500 .78rem "Trebuchet MS",Arial,sans-serif;
    white-space:nowrap
}

.home-results .home-result-season {
    margin-top:2px;
    color:var(--muted)
}

.home-result-ranking {
    display:grid;
    margin:12px 0;
    padding:0;
    list-style:none
}

.home-result-ranking li {
    display:grid;
    grid-template-columns:24px minmax(0,1fr) 30px;
    align-items:center;
    gap:0px;
    min-height:34px;
    border-bottom:1px solid #e1cda9
}

.home-result-ranking li>span {
    color:var(--red-700);
	font-size:0.95rem;
}

.home-result-ranking li strong {
    overflow:hidden;
    font:800 .95rem "Trebuchet MS",Arial,sans-serif;
    text-overflow:ellipsis;
    white-space:nowrap
}

.home-result-ranking img {
    justify-self:end;
    width:24px;
    height:17px;
    object-fit:cover;
    box-shadow:0 1px 3px rgba(0,0,0,.22)
}

.home-results .home-result-link {
    position:static;
    display:inline-block;
    margin-top:12px;
    padding:0;
    border:0;
    background:none;
    color:var(--red-700);
    font-weight:850;
    text-decoration:none
}

.home-results b {
    position:absolute;
    right:20px;
    top:50%;
    transform:translateY(-50%);
    color:var(--red-700);
    font-size:1.4rem
}

.event-list {
    display:grid;
    gap:12px
}

.event-card {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:20px;
    padding:18px;
    border:1px solid #dec69f;
    border-radius:16px;
    background:#fffdf8
}

.event-card time {
    width:72px;
    height:72px;
    border-radius:50%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:var(--red-700);
    border:4px double #e9b9a1
}

.event-card time strong {
    font:700 1.7rem Georgia,serif;
    line-height:1
}

.event-card time span,.event-card time small {
    font-size:.65rem;
    font-weight:850
}

.event-card h3 {
    margin:0;
    font:700 1.25rem Georgia,serif
}

.event-copy h3 {
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:nowrap
}

.event-copy h3 span {
    min-width:0
}

.event-card p {
    margin:3px 0;
    color:var(--muted)
}

.event-card>a {
    color:var(--red-700);
    font-weight:850;
    text-decoration:none
}

.event-actions {
    display:grid;
    grid-template-columns:36px 1fr;
    align-items:center;
    gap:10px;
    min-height:36px
}

.event-actions>a {
    justify-self:end;
    white-space:nowrap;
    color:var(--red-700);
    font-weight:850;
    text-decoration:none
}

.event-country-flag {
    display:block;
    flex:0 0 24px;
    width:24px;
    height:17px;
    object-fit:cover;
    border:0;
    box-shadow:0 1px 3px rgba(0,0,0,.22)
}

.results-heading {
    margin-top:70px
}

.news-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}

.result-card {
    padding:24px;
    border:1px solid #dec69f;
    border-radius:16px;
    background:linear-gradient(145deg,#fffdf8,#f8ecd9)
}

.result-card>small {
    color:var(--red-700);
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.09em
}

.result-card h3 {
    font:700 1.4rem Georgia,serif
}

.result-card ol {
    padding:0;
    list-style:none
}

.result-card li {
    display:flex;
    gap:10px;
    padding:6px 0;
    border-bottom:1px solid #ead9bd
}

.result-card li span {
    width:25px;
    color:var(--red-700);
    font-weight:900
}

.result-card>a {
    display:inline-block;
    margin-top:14px;
    color:var(--red-700);
    font-weight:850;
    text-decoration:none
}

.content-layout {
    display:grid;
    grid-template-columns:230px minmax(0,1fr);
    gap:42px;
    align-items:start
}

.content-menu {
    position:sticky;
    top:20px;
    display:grid;
    padding:15px;
    border:1px solid #dcc39b;
    border-radius:16px;
    background:#f8ecd8
}

.content-menu strong {
    padding:8px 11px;
    color:var(--wood-900);
    font-family:Georgia,serif
}

.content-menu a {
    padding:9px 11px;
    border-radius:9px;
    color:var(--wood-800);
    text-decoration:none
}

.content-menu a:hover,.content-menu a.is-active {
    color:#fff;
    background:var(--red-700)
}

.legacy-content {
    min-width:0;
    padding:34px;
    border:1px solid #e0c9a2;
    border-radius:18px;
    background:#fffdf8;
    box-shadow:0 10px 30px rgba(60,33,18,.07)
}

.carrom-topic-content {
    padding-top:0
}

.legacy-content .post>.title:first-child {
    display:none
}

.legacy-content img {
    max-width:100%;
    height:auto
}

.legacy-content table {
    max-width:100%;
    border-collapse:collapse
}

.club-list {
    display:grid;
    gap:0
}

.club-entry {
    min-width:0;
    padding:14px 10px 18px
}

.club-entry+.club-entry {
    border-top:1px solid #e9d8ba
}

.club-entry h2 {
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 12px;
    overflow-wrap:anywhere
}

.club-details {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    overflow-wrap:anywhere
}

.club-details h3 {
    margin:0 0 4px
}

.legacy-table-scroll {
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch
}

.legacy-links-content table.RANGLISTE {
    width:100%;
    min-width:620px
}

.legacy-links-content table.RANGLISTE td:first-child {
    width:50px;
    min-width:50px
}

.legacy-links-content table.RANGLISTE td:last-child {
    white-space:nowrap
}

.legacy-content td {
    padding:10px;
    border-bottom:1px solid #e9d8ba
}

.legacy-content h2,.legacy-content h3 {
    font-family:Georgia,serif;
    color:var(--wood-900)
}

.legacy-content a {
    color:var(--red-700)
}

.association-cta {
    margin-top:38px;
    padding:25px;
    border-radius:14px;
    background:var(--cream-100)
}

.legacy-content .association-cta .button-primary {
    color:#fff
}

.news-hero,.carrom-hero,.association-hero {
    background:linear-gradient(105deg,rgba(61,29,17,.96),rgba(103,49,27,.84)),url('/Dateien/images/bg_wood.jpg') center/cover
}

@media(max-width:820px) {
    .nav-group {
        width:100%
    }

    .nav-group summary {
        padding:10px 14px
    }

    .nav-dropdown {
        position:static;
        margin-top:4px;
        box-shadow:none
    }

    .home-current-grid,.news-grid,.content-layout {
        grid-template-columns:1fr
    }

    .home-results {
        grid-column:auto;
        grid-template-columns:1fr
    }

    .next-event-panel,.home-results .home-result-card {
        min-height:0
    }

    .content-menu {
        position:static
    }

    .main-navigation>.nav-group summary {
        width:100%
    }

    .event-card {
        grid-template-columns:auto 1fr
    }

    .event-actions {
        grid-column:2;
        grid-template-columns:1fr;
        justify-items:start;
        width:100%;
        min-height:0;
        margin-top:-8px
    }

    .event-actions>a {
        justify-self:start
    }

    .legacy-content {
        padding:24px
    }

}

/* Refined light-wood theme and more compact typography */
html {
    font-size:15px
}

body {
    font-family:"Trebuchet MS",Arial,sans-serif;
    font-size:1rem;
    background:#ead1a4;
    color:#3b2b22
}

main {
    background:linear-gradient(rgba(255,248,231,.78),rgba(255,248,231,.78)),url('/grafiken/holz.jpg') center top/430px auto repeat
}

.brand strong,.hero h1,.page-hero h1,.section-heading h2,.warm-band h2,.season-toolbar h2,.ranking-header h2,.info-card h3,.quick-card h3,.tournament-copy h3,.next-event-panel h3,.home-results strong,.event-card h3,.result-card h3,.content-menu strong,.legacy-content h2,.legacy-content h3 {
    font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif
}

.brand strong {
    font-size:1.5rem
}

.main-navigation a,.nav-group summary {
    font-size:.92rem
}

.hero-grid {
    min-height:430px;
    padding-block:25px
}

.hero h1 {
    font-size:clamp(2.6rem,5.2vw,4.35rem);
    line-height:1.03
}

.hero p {
    font-size:1.05rem
}

.carrom-board {
    width:min(340px,76vw)
}

.page-hero {
    padding-block:45px
}

.page-hero h1 {
    font-size:clamp(2.25rem,4.4vw,3.65rem)
}

.page-hero p {
    font-size:1rem
}

.section {
    padding-block:30px
}

.section-heading h2,.warm-band h2 {
    font-size:clamp(1.6rem,2.8vw,2.3rem)
}

.section-heading {
    margin-bottom:24px
}

.eyebrow {
    font-size:.72rem
}

.stat-row .stat-disc {
    width:min(155px,100%)
}

.stat-disc strong {
    font-size:clamp(1.25rem,2.5vw,1.85rem)
}

.stat-disc span {
    font-size:.68rem
}

.card-grid {
    gap:16px
}

.info-card {
    text-align:center;
    padding:23px 20px;
    border-radius:13px;
    background:linear-gradient(160deg,rgba(255,252,242,.96),rgba(245,230,201,.94));
    box-shadow:0 5px 15px rgba(74,42,21,.12)
}

.info-card:before {
    left:18px;
    right:18px;
    height:2px
}

.card-icon {
    display:block;
    font-size:1.4rem
}

.info-card h3 {
    font-size:1.25rem
}

.info-card p {
    font-size:.9rem;
    line-height:1.45
}

.info-card a {
    font-size:.88rem
}

.home-callout {
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:13px;
    margin-top:30px;
    padding:13px 18px;
    border:1px solid rgba(164,75,49,.42);
    border-radius:12px;
    background:rgba(225,181,137,.68);
}

.home-callout>span {
    font-size:1.15rem
}

.home-callout p {
    margin:0;
    font-size:.88rem
}

.home-callout a {
    color:var(--red-700);
    font-size:.82rem;
    font-weight:850;
    text-decoration:none
}

/* Einheitlicher feiner Rahmen für alle Karten. */
.info-card,
.quick-card,
.tournament-card,
.next-event-panel,
.event-card,
.result-card,
.contact-panel,
.match-final-card,
.home-callout {
    border:1px solid rgba(164,75,49,.42);
}

.quick-card,.tournament-card,.event-card,.result-card,.legacy-content,.table-scroll {
    box-shadow:0 5px 16px rgba(65,37,20,.09)
}

.quick-card h3,.tournament-copy h3 {
    font-size:1.15rem
}

.ranking-header h2 {
    font-size:clamp(1.8rem,3.3vw,2.7rem)
}

.modern-table {
    font-size:.9rem
}

.modern-table th {
    padding:11px 13px;
    font-size:.68rem
}

.modern-table td {
    padding:10px 13px
}

.ranking-count {
    flex-basis:96px
}

.ranking-count strong {
    font-size:1.65rem
}

.warm-band {
    padding-block:30px;
    background:linear-gradient(100deg,rgba(245,226,193,.84),rgba(235,205,159,.8)),url('/grafiken/holz.jpg') center/430px auto repeat
}

.content-layout {
    gap:30px
}

.legacy-content {
    padding:28px;
    font-size:.95rem;
    line-height:1.55
}

.button {
    min-height:44px;
    padding:8px 17px;
    font-size:.9rem
}

.news-grid {
    gap:15px
}

.result-card {
    padding:20px
}

.result-card h3 {
    font-size:1.25rem
}

@media(max-width:820px) {
    html {
        font-size:14.5px
    }

    .hero-grid {
        padding-block:42px
    }

    .section {
        padding-block:50px
    }

    main > .page-hero + .section,
    main > .hero + .section {
        padding-top:25px
    }

    .home-callout {
        grid-template-columns:auto 1fr
    }

    .home-callout a {
        grid-column:2
    }

    .card-grid {
        gap:13px
    }

}

@media(max-width:480px) {
    .hero h1 {
        font-size:2.45rem
    }

    .page-hero h1 {
        font-size:2.15rem
    }

    .stat-row .stat-disc {
        width:min(135px,100%)
    }

    .info-card {
        padding:20px 17px
    }

    .legacy-content {
        padding:20px
    }

}

.brand strong,.hero h1,.page-hero h1,.section-heading h2,.warm-band h2,.season-toolbar h2,.ranking-header h2,.info-card h3,.quick-card h3,.tournament-copy h3,.next-event-panel h3,.home-results strong,.event-card h3,.result-card h3,.content-menu strong,.legacy-content h2,.legacy-content h3,.stat-disc strong,.ranking-count strong {
    font-family:Georgia,"Times New Roman",serif;
    font-weight:700
}

/* Crisp local SVG flags */
.modern-table .flag {
    width:30px;
    height:22px;
    max-height:none;
    object-fit:cover;
    border:1px solid rgba(60,29,16,.24);
    border-radius:2px;
    box-shadow:0 1px 3px rgba(49,25,14,.18)
}

.legacy-content .IMAGE_FLAG {
    display:inline-block;
    width:30px;
    height:22px;
    object-fit:cover;
    margin-right:7px;
    border:1px solid rgba(60,29,16,.24);
    border-radius:2px;
    vertical-align:middle;
    box-shadow:0 1px 3px rgba(49,25,14,.18)
}

.legacy-links-content table.RANGLISTE .IMAGE_FLAG {
    min-width:30px;
    max-width:none
}

.legacy-content .icf-logo,.legacy-content .ecc-logo {
    display:inline-block;
    width:38px;
    height:38px;
    object-fit:contain;
    margin-right:8px;
    vertical-align:middle
}

.legacy-links-content table.RANGLISTE .icf-logo,.legacy-links-content table.RANGLISTE .ecc-logo {
    width:36px;
    height:36px;
    margin:0
}

/* Authentic carrom board photo on the home-page hero */
.carrom-board-photo {
    width:min(340px,76vw);
    height:min(340px,76vw);
    aspect-ratio:1;
    margin:0;
    justify-self:center;
    overflow:hidden;
    border-radius:18px;
    transform:rotate(2deg);
    box-shadow:0 24px 50px rgba(19,8,4,.48)
}

.carrom-board-photo img {
    display:block;
    width:100%;
    height:100%;
    aspect-ratio:1;
    object-fit:cover;
    border-radius:inherit
}

@media(max-width:820px) {
    .carrom-board-photo {
        width:min(300px,76vw);
        height:min(300px,76vw)
    }

}

/* Rectangular SCA logo without the former circular badge */
.brand-mark {
    display:block;
    flex:0 0 76px;
    width:76px;
    height:auto;
    border:0;
    border-radius:0;
    background:none;
    box-shadow:none
}

.brand-mark img {
    display:block;
    width:100%;
    height:auto;
    max-width:none;
    max-height:none
}

@media(max-width:480px) {
    .brand-mark {
        flex-basis:64px;
        width:64px;
        height:auto
    }

}

.legacy-content .association-logo {
    float:right;
    width:min(230px,42%);
    height:auto;
    margin:0 0 24px 32px
}

@media(max-width:600px) {
    .legacy-content .association-logo {
        float:none;
        display:block;
        width:min(220px,72%);
        margin:0 auto 26px
    }

}

/* Swiss player statistics */
.player-picker {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:8px;
    align-items:center
}

.player-statistics-navigation {
    align-items:center
}

.player-statistics-navigation .player-picker {
    flex:0 1 420px;
    width:420px;
    max-width:100%;
    margin:0 0 0 auto
}

@media(min-width:821px) {
    .player-statistics-navigation .player-picker::before {
        content:"";
        display:block;
        height:1.2em;
        font-size:.78rem
    }
}

.player-picker select {
    width:100%;
    min-height:44px;
    padding:8px 14px;
    border:1px solid #cdb184;
    border-radius:12px;
    background:#fffaf0;
    color:var(--wood-900);
    font:inherit
}

@media(max-width:820px) {
    .player-statistics-navigation {
        align-items:stretch
    }

    .player-statistics-navigation .player-picker {
        align-self:stretch;
        flex:none;
        width:100%;
        grid-template-columns:1fr
    }
}

.player-empty {
    margin-top:10px
}

.player-stat-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    margin-bottom:24px
}

.player-stat-identity {
    display:grid;
    gap:4px;
}

.player-stat-identity.has-flag>.eyebrow {
    margin-left:57px;
}

.player-stat-name {
    display:flex;
    align-items:center;
    gap:15px;
}

.player-stat-header .flag {
    width:42px;
    height:30px
}

.player-stat-header h2 {
    margin:0;
    font:700 clamp(1.8rem,3.3vw,2.7rem) Georgia,"Times New Roman",serif
}

.player-stat-tabs {
    display:flex;
    gap:7px;
    margin-bottom:26px;
    padding:7px;
    border:1px solid #dcc39b;
    border-radius:14px;
    background:#f8ecd8;
    overflow-x:auto
}

.player-stat-tabs a {
    flex:0 0 auto;
    padding:8px 13px;
    border-radius:9px;
    color:var(--wood-800);
    font-size:.82rem;
    font-weight:850;
    text-decoration:none
}

.player-stat-tabs a:hover,.player-stat-tabs a.is-active {
    color:#fff;
    background:var(--red-700)
}

.tab-scroll-shell {
    display:contents
}

.tab-scroll-arrow {
    display:none
}

@media(max-width:820px) {
    .tab-scroll-shell {
        position:relative;
        display:block;
        width:100%;
        min-width:0;
        max-width:100%
    }

    .tab-scroll-shell > .tab-scroll-region {
        min-width:0;
        max-width:100%
    }

    .player-stat-tabs-shell {
        margin-bottom:26px
    }

    .discipline-tabs-shell {
        margin-bottom:30px
    }

    .tab-scroll-shell > .player-stat-tabs,
    .tab-scroll-shell > .discipline-tabs,
    .tab-scroll-shell > .stat-switch {
        margin-bottom:0
    }

    .tab-scroll-arrow {
        position:absolute;
        z-index:2;
        top:50%;
        display:grid;
        place-items:center;
        width:40px;
        height:40px;
        padding:0;
        border:1px solid rgba(164,75,49,.5);
        border-radius:50%;
        background:#fff8e9;
        box-shadow:0 2px 9px rgba(65,37,20,.18);
        color:var(--red-700);
        cursor:pointer;
        transform:translateY(-50%)
    }

    .tab-scroll-arrow[hidden] {
        display:none
    }

    .tab-scroll-arrow-previous {
        left:4px
    }

    .tab-scroll-arrow-next {
        right:4px
    }

    .tab-scroll-arrow svg {
        width:16px;
        height:16px
    }
}

.player-stat-table {
    min-width:720px
}

.compact-player-table th:nth-child(2),
.compact-player-table td:nth-child(2) {
    text-align:center
}

.player-participation-table th:first-child,
.player-participation-table td:first-child,
.player-participation-table th:nth-child(3),
.player-participation-table td:nth-child(3),
.player-participation-table.with-tournament th:nth-child(4),
.player-participation-table.with-tournament td:nth-child(4) {
    text-align:left
}

.player-games-history-table th:first-child,
.player-games-history-table td:first-child,
.player-games-history-table th:nth-child(3),
.player-games-history-table td:nth-child(3) {
    text-align:left
}

.player-games-history-table th:nth-child(2),
.player-games-history-table td:nth-child(2),
.player-games-history-table th:nth-child(4),
.player-games-history-table td:nth-child(4) {
    text-align:center
}

.player-opponents-table th:first-child,
.player-opponents-table td:first-child {
    text-align:left
}

.player-participation-table th:first-child,
.player-participation-table td:first-child,
.player-games-history-table th:first-child,
.player-games-history-table td:first-child,
.player-opponents-table th:first-child,
.player-opponents-table td:first-child {
    padding-left:33px
}

.player-opponents-table th:nth-child(2),
.player-opponents-table td:nth-child(2),
.player-opponents-table th:nth-child(3),
.player-opponents-table td:nth-child(3) {
    text-align:center
}

.player-opponents-table th:nth-child(2),
.player-opponents-table td:nth-child(2) {
    width:112px;
    min-width:112px
}

@media(max-width:700px) {
    .player-opponents-table th:nth-child(2),
    .player-opponents-table td:nth-child(2) {
        width:100px;
        min-width:100px
    }
}

@media(min-width:701px) {
    .player-games-history-table {
        table-layout:fixed
    }

    .player-games-history-table th:first-child {
        width:230px
    }

    .player-games-history-table th:nth-child(2) {
        width:90px
    }

    .player-games-history-table th:nth-child(3) {
        width:240px
    }

    .player-games-history-table th:nth-child(4) {
        width:112px
    }

    .player-games-history-table th:nth-child(5) {
        width:120px
    }
}

@media(max-width:700px) {
    .player-games-history-table .games-spacer {
        display:none
    }

    .player-games-history-table th:nth-child(4),
    .player-games-history-table td:nth-child(4) {
        width:100px;
        min-width:100px
    }
}

.compact-player-table {
    width:100%;
    min-width:0;
    table-layout:fixed
}

.compact-player-table th:first-child,
.compact-player-table td:first-child {
    width:80px;
    min-width:80px;
    text-align:center
}

.compact-player-table th:nth-child(2),
.compact-player-table td:nth-child(2) {
    width:300px;
    text-align:center
}

@media(max-width:700px) {
    .compact-player-table th:first-child,
    .compact-player-table td:first-child {
        width:64px;
        min-width:64px
    }

    .compact-player-table th:nth-child(2),
    .compact-player-table td:nth-child(2) {
        width:200px
    }
}

.player-stat-table td small {
    display:block;
    color:var(--muted)
}

.game-result {
    font-weight:900
}

.game-result.is-win {
    color:#26723a
}

.game-result.is-loss {
    color:#a32e28
}

.game-result.is-draw {
    color:#755f53
}

.player-stat-table a {
    color:var(--red-700);
    font-weight:850;
    text-decoration:none
}

.player-stat-total th {
    background:#3b1d12;
    color:#fff;
    font-weight:800
}

.swiss-stat-table .player-name a,
.champions-table .player-name a {
    color:inherit;
    text-decoration:none;
    border-bottom:1px dotted rgba(59,29,18,.4)
}

.swiss-stat-table .player-name a:hover,
.champions-table .player-name a:hover {
    color:var(--red-700);
    border-bottom-color:currentColor
}

@media(max-width:600px) {
    .player-picker {
        grid-template-columns:1fr
    }

    .player-stat-header {
        align-items:flex-start
    }

}

/* Keep the player flag in its natural aspect ratio. */
.player-stat-header .flag {
    flex:0 0 auto;
    width:42px;
    height:auto;
    max-height:none;
    object-fit:contain;
    margin:0;
    border:1px solid rgba(60,29,16,.24);
    border-radius:2px;
    box-shadow:0 1px 3px rgba(49,25,14,.18)
}

/* Swiss tournament invitation */
.invitation-heading {
    margin-bottom:22px
}

.invitation-heading .ranking-count span {
    max-width:72px;
    line-height:1.15
}

.invitation-callout {
    margin-bottom:24px;
    padding:20px 23px;
    border:1px solid rgba(158,41,37,.32);
    border-left:5px solid var(--red-700);
    border-radius:14px;
    background:rgba(255,248,232,.9)
}

.invitation-callout strong {
    color:var(--red-700);
    font-size:1.05rem
}

.invitation-callout p {
    margin:.35rem 0 0;
    color:var(--muted)
}

.invitation-grid {
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
    gap:22px;
    align-items:start
}

.invitation-table {
    min-width:0
}

.invitation-table th {
    width:175px;
    color:var(--wood-900);
    background:#f2dfbd;
    text-align:left!important;
    vertical-align:top
}

.invitation-table td {
    text-align:left!important
}

.invitation-map {
    overflow:hidden;
    min-height:420px;
    border:1px solid #dbc39c;
    border-radius:16px;
    box-shadow:0 5px 16px rgba(65,37,20,.09)
}

.invitation-map iframe {
    display:block;
    width:100%;
    height:420px;
    border:0
}

@media(max-width:820px) {
    .invitation-grid {
        grid-template-columns:1fr
    }

    .invitation-map,.invitation-map iframe {
        min-height:340px;
        height:340px
    }

}

@media(max-width:520px) {
    .invitation-table th {
        width:125px
    }

    .invitation-callout {
        padding:17px
    }

}

.next-event-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px 20px;
    margin-top:0px
}

.next-event-actions a {
    color:#f3c676;
    font-weight:850;
    text-decoration:none
}

.next-event-actions .invitation-link {
    padding:7px 13px;
    border:1px solid rgba(243,198,118,.7);
    border-radius:999px;
    color:var(--wood-900);
    background:#f3c676
}

.next-event-actions a:hover {
    text-decoration:underline
}

.next-event-actions .invitation-link:hover {
    text-decoration:none;
    background:#ffe1a3
}

/* More restrained main title on the home page. */
.hero h1 {
    font-size:clamp(2.15rem,3.8vw,3.2rem);
    max-width:600px
}

@media(max-width:480px) {
    .hero h1 {
        font-size:2rem
    }

}

.hero-grid {
    min-height:0
}

.carrom-board-photo {
    width:200px;
    height:200px
}

@media(max-width:300px) {
    .carrom-board-photo {
        width:80vw;
        height:80vw
    }

}

.page-hero {
    padding-block:20px
}

.page-hero h1 {
    font-size:clamp(2.25rem,4.4vw,3.2rem)
}

.result-card li strong {
    flex:1;
    font-weight:700
}

.result-card li {
    align-items:center
}

.result-card .result-player-flag {
    display:block;
    width:30px;
    height:auto;
    max-height:22px;
    margin-left:auto;
    border-radius:2px;
    box-shadow:0 1px 3px rgba(49,25,14,.18)
}

.result-card .result-date {
    display:inline;
    width:auto;
    margin-left:.35em;
    color:var(--muted);
    font-family:"Trebuchet MS",Arial,sans-serif;
    font-size:.68em;
    font-weight:500;
    white-space:nowrap
}

/* Flags are displayed without outlines throughout the new site. */
.flag,
.IMAGE_FLAG,
.result-player-flag {
    border:0!important
}

/* Light wood supplied for the page background. */
main {
    background-color:#f3d9a8;
    background-image:url('../images/background-light-wood-seamless.webp');
    background-position:center top;
    background-size:3344px 1882px;
    background-repeat:repeat
}

/* Dark eyebrow text on light wood areas for sufficient contrast. */
.season-toolbar .eyebrow,
.ranking-header .eyebrow,
.player-stat-header .eyebrow,
.warm-band .eyebrow {
    color:var(--wood-700)
}

/* Contact form */
.contact-panel {
    min-width:0;
    padding:34px;
    border:1px solid rgba(164,75,49,.42);
    border-radius:18px;
    background:#fffdf8;
    box-shadow:0 10px 30px rgba(60,33,18,.07)
}

.contact-heading {
    margin-bottom:26px
}

.contact-heading .eyebrow {
    color:var(--wood-700)
}

.contact-heading h2,
.contact-success h2 {
    margin:.1em 0;
    color:var(--wood-900);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.8rem,3vw,2.35rem)
}

.contact-heading p,
.contact-success p {
    margin:.35rem 0 0;
    color:var(--muted)
}

.contact-form {
    position:relative;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px 20px
}

.contact-field {
    display:grid;
    gap:6px
}

.contact-field label {
    color:var(--wood-800);
    font-size:.78rem;
    font-weight:850;
    letter-spacing:.06em;
    text-transform:uppercase
}

.contact-field input,
.contact-field textarea {
    width:100%;
    padding:11px 13px;
    border:1px solid #cdb184;
    border-radius:10px;
    outline:0;
    color:var(--ink);
    background:#fffaf0;
    font:inherit
}

.contact-field input:focus,
.contact-field textarea:focus {
    border-color:var(--red-700);
    box-shadow:0 0 0 3px rgba(158,41,37,.12)
}

.contact-message,
.contact-note,
.contact-form>.button {
    grid-column:1/-1
}

.contact-field textarea {
    min-height:180px;
    resize:vertical
}

.contact-note {
    margin:0;
    color:var(--muted);
    font-size:.82rem
}

.contact-form>.button {
    width:max-content;
    border:0;
    cursor:pointer
}

.contact-trap {
    position:absolute;
    left:-10000px;
    width:1px;
    height:1px;
    overflow:hidden
}

.contact-panel .notice {
    margin-bottom:24px
}

.contact-panel .notice ul {
    margin:.5rem 0 0;
    padding-left:20px
}

.contact-success {
    display:flex;
    align-items:flex-start;
    gap:18px;
    padding:25px;
    border:1px solid #a9c89e;
    border-radius:14px;
    background:#f1f8ed
}

.contact-success>span {
    display:grid;
    flex:0 0 46px;
    width:46px;
    height:46px;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#39743c;
    font-size:1.4rem;
    font-weight:900
}

@media(max-width:650px) {
    .contact-panel {
        padding:22px
    }

    .contact-form {
        grid-template-columns:1fr
    }

    .contact-message,
    .contact-note,
    .contact-form>.button {
        grid-column:auto
    }
}

@media(max-width:600px) {
    .club-details {
        grid-template-columns:1fr;
        gap:12px
    }
}

.legacy-content.carrom-topic-content {
    padding-top:15px
}

.legacy-content.carrom-topic-content.carrom-topic-history {
    padding-top:0
}

.player-games-dialog {
    position:fixed;
    inset:0;
    margin:auto;
    width:min(620px,calc(100vw - 32px));
    max-width:none;
    max-height:min(80vh,720px);
    padding:20px 28px 28px;
    overflow:auto;
    overscroll-behavior:contain;
    color:var(--wood-900);
    background:var(--cream-50);
    border:1px solid rgba(164,75,49,.55);
    border-radius:18px;
    box-shadow:0 24px 70px rgba(20,10,5,.35)
}

.player-games-dialog::backdrop {
    background:rgba(25,14,9,.62);
    backdrop-filter:blur(2px)
}

.player-games-dialog-close-form {
    position:absolute;
    top:12px;
    right:12px;
    margin:0
}

.player-games-dialog-close {
    display:grid;
    width:36px;
    height:36px;
    place-items:center;
    color:var(--wood-900);
    background:var(--cream-100);
    border:1px solid var(--cream-200);
    border-radius:50%;
    font-size:1.5rem;
    line-height:1;
    cursor:pointer
}

.player-games-dialog h2 {
    margin:8px 42px 20px 0;
    font:700 clamp(1.35rem,4vw,1.8rem)/1.15 Georgia,serif
}

.player-games-dialog .table-scroll {
    border-radius:12px
}

.player-games-dialog .modern-table {
    min-width:0
}

.player-games-dialog .modern-table th,
.player-games-dialog .modern-table td {
    padding:11px 12px
}

.player-games-dialog .player-name {
    text-align:left!important
}

@media(max-width:520px) {
    .player-games-dialog {
        width:calc(100vw - 24px);
        max-height:85vh;
        padding:16px 16px 22px
    }

    .player-games-dialog .modern-table th,
    .player-games-dialog .modern-table td {
        padding:10px 8px
    }
}

.final-progress-open {
    display:flex;
    flex:0 0 34px;
    align-items:center;
    justify-content:center;
    width:34px;
    height:var(--match-final-widget-height);
    padding:8px 5px;
    border:1px solid rgba(243,198,118,.55);
    border-radius:9px;
    color:#f3c676;
    background:linear-gradient(135deg,#351a10,#63331f);
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    cursor:pointer
}

.final-progress-open:hover {
    color:#fff;
    border-color:#f3c676
}

.final-progress-dialog {
    width:fit-content;
    max-width:calc(100vw - 24px);
    padding:24px 30px 30px
}

.final-sheet-scroll {
    max-width:100%;
    overflow:auto;
    overscroll-behavior:contain;
    border:1px solid #cdb184;
    border-radius:12px;
    background:#fffdf8
}

.final-sheet-grid {
    display:grid;
    width:max-content;
    min-width:100%;
    padding:8px;
    color:var(--wood-900)
}

.final-sheet-player-header,
.final-sheet-column-header,
.final-sheet-score-row,
.final-sheet-summary {
    display:grid;
    grid-template-columns:repeat(4,42px) 46px repeat(4,42px);
    gap:2px;
    align-items:stretch;
    min-width:max-content
}

.final-sheet-player-header,
.final-sheet-column-header,
.final-sheet-score-row {
    padding-bottom:2px
}

.final-sheet-player-header strong {
    grid-column:span 4;
    display:grid;
    min-height:30px;
    place-items:center;
    padding:5px;
    overflow:hidden;
    color:#fff8ea;
    background:var(--wood-900);
    font-size:.82rem;
    text-overflow:ellipsis;
    white-space:nowrap
}

.final-sheet-player-header strong:first-of-type {
    border-radius:8px;
}

.final-sheet-player-header strong:last-of-type {
    border-radius:8px;
}

.final-sheet-player-header .final-sheet-center-heading {
    grid-column:span 1;
    min-height:30px;
    background:transparent
}

.final-sheet-column-header span,
.final-sheet-score-row span,
.final-sheet-score-row strong,
.final-sheet-summary strong {
    display:grid;
    min-height:20px;
    place-items:center;
    padding:2px;
    background:#f8eedb;
    font-size:.72rem;
    text-align:center
}

.final-sheet-column-header span {
    color:var(--wood-800);
    background:#ead8b8;
    font-size:.62rem;
    font-weight:850;
	border-radius:5px;
}

.final-sheet-column-header .final-sheet-center-heading {
    color:#fff8ea;
    background:#9e2925
}

.final-sheet-score-row .final-sheet-board {
    color:var(--wood-900);
    background:#fff;
    border-color:#cdb184;
    font-weight:950
}

.final-sheet-score-row .final-sheet-value {
    border:1px solid #e4d2b1;
    border-radius:5px;
    font-size:.78rem;
    font-variant-numeric:tabular-nums;
    font-weight:850
}

.final-sheet-score-row .final-sheet-queen.is-queen {
    color:#28743b;
    font-size:1.05rem
}

.final-sheet-score-row .final-sheet-total,
.final-sheet-summary .final-sheet-total {
    color:#fff;
    background:var(--wood-800);
    border:1px solid #91633a;
    border-radius:6px;
    font-size:.78rem;
    font-weight:900
}

.final-sheet-summary .final-sheet-total.is-winner {
    color:gold
}

.final-sheet-score-row .final-sheet-total.is-winner {
    color:#fff
}

.final-sheet-summary {
    padding-top:5px;
    border-top:0
}

.final-sheet-summary-label {
    justify-content:center;
    white-space:nowrap;
    background:transparent!important;
    font-family:Georgia,"Times New Roman",serif;
    font-size:.8rem!important;
    font-weight:800
}

.calendar-toolbar {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:24px
}

.calendar-toolbar .section-heading {
    margin:0
}

.calendar-view-switch {
    display:flex;
    flex:0 0 auto;
    gap:4px;
    padding:5px;
    border:1px solid #dcc39b;
    border-radius:12px;
    background:#f8ecd8
}

.calendar-view-switch a {
    padding:8px 14px;
    border-radius:8px;
    color:var(--wood-800);
    font-size:.82rem;
    font-weight:850;
    text-decoration:none
}

.calendar-view-switch a:hover,
.calendar-view-switch a.is-active {
    color:#fff;
    background:var(--red-700)
}

.calendar-month-navigation {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    max-width:480px;
    margin:0 auto 18px;
    padding:9px 12px;
    border:1px solid #dbc39c;
    border-radius:14px;
    background:rgba(255,253,248,.88)
}

.calendar-month-navigation h3 {
    margin:0;
    color:var(--wood-900);
    font:700 1.2rem Georgia,"Times New Roman",serif;
    text-align:center
}

.calendar-month-navigation a,
.calendar-month-navigation .is-disabled {
    display:grid;
    flex:0 0 36px;
    width:36px;
    height:36px;
    place-items:center;
    border:1px solid #dec69f;
    border-radius:10px;
    color:var(--red-700);
    background:#fffdf8;
    font-size:1.2rem;
    font-weight:900;
    text-decoration:none
}

.calendar-month-navigation a:hover {
    color:#fff;
    background:var(--red-700)
}

.calendar-month-navigation .is-disabled {
    color:#b7aa97;
    background:#f3eee5
}

.tournament-calendar-grid {
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:7px
}

.calendar-weekday {
    padding:7px 4px;
    border-radius:7px;
    color:var(--wood-700);
    background:rgba(52,37,30,.06);
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.04em;
    text-align:center;
    text-transform:uppercase
}

.calendar-day {
    min-width:0;
    min-height:90px;
    padding:8px;
    border:1px solid #dec69f;
    border-radius:12px;
    background:rgba(255,253,248,.88)
}

.calendar-weekday.is-weekend {
    background:rgba(52,37,30,.06)
}

.calendar-day.is-weekend {
    background:#f0ede7
}

.calendar-day.is-outside {
    border-color:transparent;
    background:rgba(248,238,219,.34)
}

.calendar-day.has-events {
    border-color:rgba(158,41,37,.42);
    box-shadow:0 3px 10px rgba(65,37,20,.07)
}

.calendar-day-number {
    display:block;
    margin-bottom:5px;
    color:var(--wood-800);
    font-size:.78rem;
    font-weight:900
}

.calendar-event {
    display:flex;
    align-items:flex-start;
    gap:5px;
    width:100%;
    margin-top:4px;
    padding:5px;
    border:1px solid #ead8b8;
    border-radius:7px;
    color:var(--wood-900);
    background:#f8eedb;
    font:700 .68rem/1.25 "Trebuchet MS",Arial,sans-serif;
    text-align:left;
    cursor:pointer
}

.calendar-event:hover {
    border-color:var(--red-700);
    background:#f3e1c2
}

.calendar-event:focus-visible,
.calendar-view-switch a:focus-visible,
.calendar-month-navigation a:focus-visible {
    outline:3px solid rgba(158,41,37,.4);
    outline-offset:2px
}

.calendar-event img {
    flex:0 0 18px;
    width:18px;
    height:13px;
    margin-top:1px;
    object-fit:cover;
    box-shadow:0 1px 2px rgba(0,0,0,.18)
}

.calendar-event span {
    display:-webkit-box;
    min-width:0;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2
}

.calendar-empty {
    margin:0 0 14px;
    color:var(--muted);
    text-align:center
}

.calendar-event-country {
    display:flex;
    align-items:center;
    gap:9px;
    margin:0 40px 8px 0;
    color:var(--red-700);
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase
}

.calendar-event-country img {
    width:26px;
    height:18px;
    object-fit:cover;
    box-shadow:0 1px 3px rgba(0,0,0,.2)
}

.calendar-event-dialog h2 {
    margin:0 42px 10px 0
}

.calendar-event-dialog p {
    margin:6px 0;
    color:var(--muted)
}

.calendar-event-dialog .calendar-event-details {
    display:inline-flex;
    margin-top:14px;
    text-decoration:none
}

.calendar-event-dialog [hidden] {
    display:none!important
}

@media(max-width:700px) {
    .final-progress-open {
        flex-basis:30px;
        width:30px;
        padding:8px 4px
    }

    .final-progress-dialog {
        padding:16px 16px 22px
    }

    .calendar-toolbar {
        align-items:stretch;
        flex-direction:column;
        gap:14px
    }

    .calendar-view-switch {
        align-self:flex-start
    }

    .calendar-month-navigation {
        max-width:none
    }

    .tournament-calendar-grid {
        gap:3px
    }

    .calendar-weekday {
        padding:5px 1px;
        font-size:.62rem
    }

    .calendar-day {
        display:flex;
        flex-wrap:wrap;
        align-content:flex-start;
        gap:3px;
        min-height:64px;
        padding:5px 3px;
        border-radius:8px
    }

    .calendar-day.is-weekend {
        background:#eeebe5
    }

    .calendar-day-number {
        flex:0 0 100%;
        margin-bottom:0;
        font-size:.7rem
    }

    .calendar-event {
        justify-content:center;
        gap:0;
        flex:0 0 25px;
        width:25px;
        height:22px;
        min-height:22px;
        margin:0 auto;
        padding:2px;
        border-color:transparent;
        background:transparent
    }

    .calendar-event img {
        flex-basis:22px;
        width:22px;
        height:15px
    }

    .calendar-event span {
        display:none
    }

    .calendar-event .calendar-event-no-flag {
        display:grid;
        width:16px;
        height:16px;
        place-items:center;
        color:var(--red-700);
        font-size:1rem;
        font-weight:900
    }

    .final-sheet-grid {
        width:100%;
        min-width:0;
        padding:3px
    }

    .final-sheet-player-header,
    .final-sheet-column-header,
    .final-sheet-score-row,
    .final-sheet-summary {
        grid-template-columns:repeat(4,27px) 30px repeat(4,27px);
        gap:1px;
        min-width:0
    }

    .final-sheet-scroll {
        overflow-x:hidden
    }

    .final-sheet-player-header strong {
        padding:3px 1px;
        font-size:.7rem
    }

    .final-sheet-column-header span {
        padding:2px 0;
        font-size:.5rem
    }

    .final-sheet-score-row span,
    .final-sheet-score-row strong,
    .final-sheet-summary strong {
        min-height:30px;
        padding:2px 0;
        font-size:.65rem
    }

    .final-sheet-score-row .final-sheet-total,
    .final-sheet-summary .final-sheet-total {
        font-size:.68rem
    }

    .final-sheet-summary-label {
        font-size:.68rem!important
    }
}

/* Tournament calendar: show dates as a calm text range instead of date badges. */
.tournament-calendar-page .event-card {
    grid-template-columns:72px minmax(0,1fr) auto;
    gap:16px;
}

.tournament-calendar-page .event-date-badge .event-date-day {
    font:700 1.55rem/1 Georgia,serif;
}

.tournament-calendar-page .event-date-badge .event-date-month {
    font-size:.62rem;
    font-weight:850;
}

.tournament-calendar-page .event-date-badge .event-date-year {
    font-size:.6rem;
    font-weight:850;
}

.tournament-calendar-page .event-date-badge.is-range {
    width:68px;
    height:auto;
    min-height:0;
    padding:9px 4px;
    border:4px double #e9b9a1;
    border-radius:14px;
}

.tournament-calendar-page .event-date-badge.is-range .event-date-day {
    font-size:1.08rem;
}

.tournament-calendar-page .event-date-badge.is-range .event-date-month {
    font-size:.54rem;
}

.tournament-calendar-page .event-date-badge.is-range .event-date-year {
    font-size:.55rem;
}

.tournament-calendar-page .event-date-separator {
    color:#f6ca68;
    font-size:.72rem;
    font-weight:900;
    line-height:1;
    margin:1px 0;
}

@media (max-width:820px) {
    .tournament-calendar-page .event-card {
        grid-template-columns:72px minmax(0,1fr);
        gap:14px;
    }

    .tournament-calendar-page .event-actions {
        grid-column:2;
        justify-items:start;
        width:100%;
        margin-top:0;
    }
}
.legacy-content.carrom-topic-content.film-page {
    max-width: 1000px;
}

.legacy-content.carrom-topic-content.film-page > h2:first-child {
    margin-top: 0;
}

.carrom-film {
    display: block;
    width: 100%;
    max-height: 75vh;
    margin: 1.5rem auto 0;
    background: #1b130f;
    border-radius: 16px;
    box-shadow: 0 18px 48px rgba(50, 25, 14, .2);
}

.film-caption {
    color: #725b4e;
    margin: .75rem 0 1.5rem;
}

/* Clear title panels for rankings and player statistics. */
.ranking-header,
.player-stat-header {
    gap:24px;
    margin-bottom:24px;
    padding:15px 19px;
    border:1px solid #d9c39f;
    border-left:5px solid var(--red-700);
    border-radius:16px;
    background:#fffaf0;
    box-shadow:0 9px 24px rgba(61,32,16,.1)
}

.ranking-header > div:first-child,
.player-stat-header > div:first-child {
    min-width:0
}

.ranking-header .eyebrow,
.player-stat-header .eyebrow {
    color:var(--red-700);
    font-size:.86rem;
    font-weight:900;
    letter-spacing:.12em
}

.ranking-header h2,
.player-stat-header h2 {
    color:var(--wood-900);
    font-size:clamp(1.8rem,3vw,2.35rem);
    line-height:1.08
}

.ranking-header h2 {
    margin:.2em 0 .25em
}

.ranking-header p {
    color:var(--wood-700);
    font-size:1rem;
    font-weight:650;
    line-height:1.45
}

.ranking-header .ranking-count,
.player-stat-header .ranking-count {
    flex:0 0 auto;
    min-width:132px;
    aspect-ratio:auto;
    padding:14px 18px;
    border:1px solid #80211d;
    border-radius:12px;
    background:var(--red-700);
    box-shadow:0 5px 12px rgba(88,28,20,.18)
}

.ranking-header .ranking-count strong,
.player-stat-header .ranking-count strong {
    font-size:2rem
}

.ranking-header .ranking-count span,
.player-stat-header .ranking-count span {
    font-size:.82rem;
    font-weight:700
}

@media(max-width:620px) {
    .ranking-header,
    .player-stat-header {
        flex-wrap:wrap;
        gap:14px
    }

    .ranking-header > div:first-child,
    .player-stat-header > div:first-child {
        width:100%
    }

    .ranking-header .ranking-count,
    .player-stat-header .ranking-count {
        flex-direction:row;
        gap:8px;
        min-width:0;
        padding:9px 14px
    }

    .ranking-header .ranking-count strong,
    .player-stat-header .ranking-count strong {
        font-size:1.5rem
    }
}
/* Language selection stays visible on phones, independently of the main menu. */
.utility-inner { align-items: center; gap: 1rem; }
.utility-inner .utility-note { margin-left: auto; }
.utility-inner .language-switch { display: flex; align-items: center; gap: .6rem; margin-left: auto; flex-shrink: 0; }
.language-switch a { display: block; color: inherit; text-decoration: none; }
.language-switch img { display: block; height: 1.6em; width: auto; }
.language-switch a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
