/* HoFi Billard – Moderne kampprogram v2.0
   Baseline: Dobbelt-par moderne.
   Hold, Par, Hold-stafet og Par-stafet.
   Skomager og Dobbelt-par er ikke ændret her. */

.fixture-modern-page{
    max-width:880px;
}

.fixture-modern-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1rem;
}

.fixture-modern-document{
    width:100%;
    max-width:850px; /* lidt smallere, så højre kant altid kan ses */
    margin:0 auto;
}

.fixture-modern-header{
    margin-bottom:1rem;
    padding-bottom:.85rem;
    border-bottom:1px solid var(--border);
}

.fixture-modern-header h1{
    margin:0 0 .2rem;
    font-size:2rem;
    line-height:1.1;
}

.fixture-modern-subtitle{
    margin-bottom:.75rem;
    color:var(--text-muted);
    font-size:.92rem;
}

.fixture-modern-notice{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:.3rem .8rem;
    padding:.75rem .9rem;
    border:1px solid var(--border);
    border-radius:10px;
    background:rgba(255,255,255,.025);
    font-size:.82rem;
    line-height:1.35;
}

.fixture-modern-notice strong{
    grid-column:1/-1;
    color:var(--danger);
}

.fixture-modern-notice span:last-child{
    grid-column:1/-1;
    color:var(--text-light);
}

.fixture-modern-section{
    margin-top:1rem;
}

.fixture-modern-section-title{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:.55rem;
}

.fixture-modern-section-title h2{
    margin:0;
    font-size:1.25rem;
}

.fixture-modern-section-title span{
    color:var(--text-muted);
    font-size:.74rem;
    text-align:right;
}

.fixture-modern-table-wrap{
    overflow-x:auto;
}

.fixture-modern-table{
    width:100%;
    border:1px solid var(--border);
    border-collapse:separate;
    border-spacing:0;
    border-radius:10px;
    overflow:hidden;
    background:var(--surface);
}

.fixture-modern-table th,
.fixture-modern-table td{
    padding:.58rem .5rem;
    border-bottom:1px solid var(--border);
}

.fixture-modern-table th{
    background:rgba(255,255,255,.035);
    color:var(--text-light);
    font-size:.74rem;
    font-weight:800;
    text-align:left;
}

.fixture-modern-table td{
    font-size:.82rem;
}

.fixture-modern-table tr:last-child td{
    border-bottom:0;
}

.fixture-modern-table .col-match{width:50px;text-align:center}
.fixture-modern-table .col-day{width:52px}
.fixture-modern-table .col-date{width:64px}
.fixture-modern-table .col-time{width:54px}
.fixture-modern-table .col-table{width:46px;text-align:center}
.fixture-modern-table .col-vs{width:30px;text-align:center}
.fixture-modern-table .col-distance{width:84px;text-align:center}

.date-group-row td{
    padding:.43rem .58rem;
    background:rgba(36,144,240,.08);
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
}

.date-group-content{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
}

.date-group-content strong{font-size:.88rem}
.date-group-content span{color:var(--text-muted);font-size:.70rem}

.match-number{
    color:var(--danger);
    font-weight:850;
    text-align:center;
}

.table-number,.distance-cell,.vs{text-align:center}
.team-name{font-weight:750}

.fixture-modern-participant-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.65rem;
}

.fixture-modern-participant-card{
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:9px;
    background:var(--surface);
}

.fixture-modern-participant-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    padding:.5rem .65rem;
    background:rgba(36,144,240,.08);
    border-bottom:1px solid var(--border);
}

.fixture-modern-participant-head span{
    font-weight:850;
}

.fixture-modern-player-head,
.fixture-modern-player-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 62px;
    gap:.5rem;
    align-items:center;
}

.fixture-modern-player-head{
    padding:.35rem .65rem;
    color:var(--text-muted);
    font-size:.68rem;
    font-weight:800;
    text-transform:uppercase;
}

.fixture-modern-player-row{
    padding:.38rem .65rem;
    border-top:1px solid var(--border);
    font-size:.79rem;
}

.fixture-modern-player-head span:last-child,
.fixture-modern-player-row strong{
    text-align:right;
}

.fixture-modern-substitute-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.55rem;
}

.fixture-modern-substitute-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:.65rem;
    align-items:center;
    padding:.55rem .65rem;
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--surface);
    font-size:.78rem;
}

.fixture-modern-substitute-card span{
    color:var(--text-muted);
    white-space:nowrap;
}

.fixture-modern-substitute-card b{
    color:var(--text-light);
}

.fixture-modern-footer{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    margin-top:.85rem;
    color:var(--text-muted);
    font-size:.68rem;
}

.fixture-modern-empty{
    padding:2rem;
    text-align:center;
}

@page{
    size:A4 portrait!important;
    margin:10mm;
}

@media print{
    html,body{
        width:210mm!important;
        margin:0!important;
        padding:0!important;
        background:#fff!important;
        color:#111!important;
    }

    .site-header,.site-menu,.main-nav,.site-footer,.fixture-modern-toolbar{
        display:none!important;
    }

    .fixture-modern-page,
    .fixture-modern-document{
        width:186mm!important; /* 4 mm luft i forhold til 190 mm arbejdsbredde */
        max-width:186mm!important;
        margin:0 auto!important;
        padding:0!important;
    }

    .fixture-modern-header{
        margin:0 0 4mm!important;
        padding:0 0 3mm!important;
        border-bottom:1px solid #999!important;
    }

    .fixture-modern-header h1{
        margin:0 0 1mm!important;
        font-size:18pt!important;
        color:#111!important;
    }

    .fixture-modern-subtitle{
        margin-bottom:2.5mm!important;
        font-size:9pt!important;
        color:#444!important;
    }

    .fixture-modern-notice{
        display:block!important;
        padding:2.2mm 3mm!important;
        border:1px solid #999!important;
        border-radius:0!important;
        background:#f4f6f7!important;
        color:#222!important;
        font-size:8.2pt!important;
        line-height:1.3!important;
        -webkit-print-color-adjust:exact!important;
        print-color-adjust:exact!important;
    }

    .fixture-modern-notice strong,
    .fixture-modern-notice span{
        display:block!important;
        margin:.5mm 0!important;
    }

    .fixture-modern-notice strong{color:#c90000!important}

    .fixture-modern-section{margin-top:4mm!important}
    .fixture-modern-section-title{margin-bottom:2mm!important}
    .fixture-modern-section-title h2{font-size:12pt!important;color:#111!important}
    .fixture-modern-section-title span{font-size:7.5pt!important;color:#444!important}

    .fixture-modern-table-wrap{overflow:visible!important}

    .fixture-modern-table{
        width:100%!important;
        table-layout:fixed!important;
        border-collapse:collapse!important;
        border:1px solid #aaa!important;
        border-radius:0!important;
        background:#fff!important;
    }

    .fixture-modern-table th,
    .fixture-modern-table td{
        border:1px solid #bbb!important;
        color:#111!important;
    }

    .fixture-modern-table th{
        padding:1.5mm 1.2mm!important;
        background:#eef2f5!important;
        font-size:7.6pt!important;
        -webkit-print-color-adjust:exact!important;
        print-color-adjust:exact!important;
    }

    .fixture-modern-table td{
        padding:1.55mm 1.2mm!important;
        font-size:8.5pt!important;
        line-height:1.12!important;
    }

    .date-group-row td{
        padding:1.35mm 1.6mm!important;
        background:#eaf2f8!important;
        border-top:2px solid #7d8a96!important;
        -webkit-print-color-adjust:exact!important;
        print-color-adjust:exact!important;
    }

    .date-group-content strong{font-size:9pt!important;color:#111!important}
    .date-group-content span{font-size:7pt!important;color:#444!important}

    .fixture-modern-table .col-match{width:10mm!important}
    .fixture-modern-table .col-day{width:11mm!important}
    .fixture-modern-table .col-date{width:14mm!important}
    .fixture-modern-table .col-time{width:12mm!important}
    .fixture-modern-table .col-table{width:10mm!important}
    .fixture-modern-table .col-vs{width:6mm!important}
    .fixture-modern-table .col-distance{width:18mm!important}

    .match-number{color:#c90000!important;font-size:9.2pt!important}
    .team-name{font-size:8.7pt!important;font-weight:800!important}

    .fixture-modern-participants{
        break-before:page!important;
        page-break-before:always!important;
    }

    .fixture-modern-participant-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:3mm!important;
    }

    .fixture-modern-participant-card{
        border:1px solid #aaa!important;
        border-radius:0!important;
        break-inside:avoid!important;
    }

    .fixture-modern-participant-head{
        padding:1.6mm 2mm!important;
        background:#eaf2f8!important;
        color:#111!important;
        -webkit-print-color-adjust:exact!important;
        print-color-adjust:exact!important;
    }

    .fixture-modern-player-head{
        padding:1mm 2mm!important;
        color:#555!important;
        font-size:6.5pt!important;
    }

    .fixture-modern-player-row{
        padding:1.1mm 2mm!important;
        border-top:1px solid #ccc!important;
        color:#111!important;
        font-size:8pt!important;
    }

    .fixture-modern-substitutes{
        break-inside:avoid!important;
        page-break-inside:avoid!important;
    }

    .fixture-modern-substitute-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:2mm!important;
    }

    .fixture-modern-substitute-card{
        padding:1.5mm 2mm!important;
        border:1px solid #aaa!important;
        border-radius:0!important;
        background:#fff!important;
        color:#111!important;
        font-size:7.6pt!important;
    }

    .fixture-modern-substitute-card span{color:#555!important}
    .fixture-modern-substitute-card b{color:#111!important}

    .fixture-modern-footer{
        margin-top:3mm!important;
        color:#666!important;
        font-size:7pt!important;
    }
}
