/* Horaire de ligue imprimable (pages horaire-<ligue>.html). Règles .imp-* reprises du module tournoi de CurlingPoint (copie),
   adaptées aux variables de la démo. Chargé après site.css, par ces pages seulement. */
body.imp-body{background:var(--glace);color:var(--encre);padding:0 var(--gutter) 24px}
.imp-retour{display:block;max-width:var(--imp-w,none);margin:12px auto 0;font-size:14px;font-weight:600}
.imp-options{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;padding-block:12px;border-bottom:1px solid var(--ligne);max-width:var(--imp-w,none);margin-inline:auto}
.imp-options .field{min-width:0;max-width:100%;display:grid;gap:4px}
.imp-options .field>label:first-child{font:600 11px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--granit)}
.imp-options .sel{max-width:100%;min-height:44px;border:1px solid var(--ligne);border-radius:var(--r-sm);padding:0 10px;font:inherit;background:#fff}
.imp-chk{display:flex;align-items:center;gap:6px;font:500 14px var(--texte);padding-block:9px;letter-spacing:0;text-transform:none;color:var(--encre)}
.imp-chk input{width:20px;height:20px}
.imp-info{flex:1 1 100%;font-size:13px;color:var(--encre-2)}
.imp-info:empty{display:none}
.imp-info .warn{color:#8a4b00;font-weight:600}
.imp-doc{padding-block:18px 8px;overflow-x:auto}
.imp-papier{background:#fff;color:#000;max-width:var(--imp-pw,8.5in);margin-inline:auto;padding:12mm;box-shadow:0 1px 8px rgba(0,0,0,.18);font-size:11pt;line-height:1.3}
.imp-papier.imp-paysage{max-width:var(--imp-pw,11in)}
.imp-papier.imp-grille-papier{padding:15mm}
#imp-doc .imp-papier{zoom:var(--imp-z,1)}
.imp-papier h2{margin:0 0 6px;font:700 1.2em/1.2 var(--display);letter-spacing:.04em;text-transform:uppercase;color:#000}
.imp-entete{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid #000}
.imp-entete h1{margin:0;font:700 1.9em/1.05 var(--display);letter-spacing:.01em;text-transform:uppercase}
.imp-sous{font-size:.95em;margin-top:3px}
.imp-logo{height:56px;width:auto;flex:none}
.imp-qr{margin-left:auto;flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:20mm}
.imp-qr svg{width:20mm;height:20mm;shape-rendering:crispEdges}
.imp-qr-url{font:bold 8pt/1.1 system-ui,Arial,sans-serif;color:#000}
.imp-tab{width:100%;border-collapse:collapse;table-layout:fixed;font-size:1em}
.imp-tab th,.imp-tab td{border:1px solid #777;padding:3px 7px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.imp-tab th{background:#e4e7eb;font:700 .9em var(--display);letter-spacing:.06em;text-transform:uppercase}
.imp-vide{margin:18px 0}
.imp-cat-group{display:flex;flex-direction:row;flex-wrap:wrap;gap:2px 16px}
.imp-cat-group .imp-chk{min-height:44px;padding-block:0}
.imp-grille{table-layout:auto;width:max-content;max-width:none}
.imp-grille td.cell{min-width:9em}
.imp-grille .imp-grille-date{white-space:nowrap;font-weight:700;vertical-align:middle}
.imp-grille .imp-grille-heure{white-space:nowrap}
.imp-grille .imp-grille-draw{font-size:.78em;color:#555;margin-top:1px;text-transform:none;letter-spacing:0;font-weight:400}
.imp-grille .imp-grille-vs{line-height:1.3}
.imp-grille .imp-grille-vs>span{display:block}
.imp-grille .imp-grille-vs>.imp-grille-c{margin:0;font-size:.85em}
.imp-grille .imp-grille-c{font-weight:400;color:#555}
.imp-grille .imp-grille-cat{font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px}
.imp-grille td.cell.surligne{background:#e4e7eb;border:2px solid #000;font-weight:700}
.imp-grille-jour td{border-top:2px solid #000}
.imp-sans td{background:#f3f4f6;font-weight:600;text-align:left}
.imp-grille-legende{display:flex;flex-wrap:wrap;margin:0 0 10px;font-size:.85em}
.imp-swatch{display:inline-flex;align-items:center;gap:5px;margin-right:16px;font-weight:600}
.imp-swatch i{width:10px;height:10px;border-radius:2px;background:currentColor;display:inline-block}
.imp-grille-rappel{margin-top:2px;margin-bottom:6px}
@media (max-width:640px){
  body.imp-body{padding-inline:12px}
  .imp-papier{padding:14px}
  .imp-papier.imp-grille-papier{padding:14px}
  .imp-options{max-width:none}
  .imp-options .field{flex:1 1 100%}
  .imp-options .sel{width:100%}
  .imp-entete{flex-wrap:wrap}
}
@media print{
  body.imp-body{background:#fff;padding:0}
  .imp-options,.imp-retour{display:none!important}
  .imp-doc{padding:0;overflow:visible}
  .imp-papier,.imp-papier.imp-grille-papier,#imp-doc .imp-papier{box-shadow:none;padding:0;max-width:none;margin:0;zoom:1!important}
  .imp-tab thead{display:table-header-group}
  .imp-tab tr,.imp-papier h2{break-inside:avoid}
  .imp-papier h2,.imp-entete{break-after:avoid}
  .imp-tab th,.imp-grille td.cell.surligne,.imp-sans td,.imp-swatch i{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
