/* Poolrooms — Règlements V02 : onglet Tous par défaut, footer exclu de l’impression. */
.pr-reg-page {
  --reg-navy:#0b1f3d;
  --reg-red:#d81021;
  --reg-muted:#536179;
  --reg-border:#dbe3ee;
  background:#fff;
  color:var(--reg-navy);
}
.pr-reg-page,.pr-reg-page * { letter-spacing:normal; }
.pr-reg-container { width:min(1390px,calc(100% - 46px)); margin-inline:auto; }
.pr-reg-content { padding:44px 0 76px; }
.pr-reg-intro { text-align:center; max-width:770px; margin:0 auto 36px; }
.pr-reg-intro h1 { margin:0; font-size:clamp(33px,3.15vw,47px); line-height:1.18; font-weight:850; color:var(--reg-navy); }
.pr-reg-intro p { margin:13px 0 0; color:var(--reg-muted); font-size:clamp(15px,1.3vw,18px); line-height:1.6; }
.pr-reg-intro-line { display:block; width:86px; height:3px; margin:21px auto 0; background:var(--reg-red); border-radius:99px; }
.pr-reg-mobile-nav { display:none; }
.pr-reg-layout { display:grid; grid-template-columns:minmax(245px,270px) minmax(0,1fr); gap:20px; align-items:start; }
.pr-reg-sidebar { position:sticky; top:95px; }
.pr-reg-nav-card,.pr-reg-panel { border:1px solid var(--reg-border); background:#fff; border-radius:17px; }
.pr-reg-nav-card { padding:20px 12px; }
.pr-reg-nav-card h2 { margin:0 8px 13px; padding:0 2px 14px; border-bottom:1px solid #edf0f5; font-size:21px; line-height:1.25; font-weight:800; color:var(--reg-navy); }
.pr-reg-nav-items { display:grid; gap:5px; }
.pr-reg-nav-items button,.pr-reg-nav-items a {
  min-height:49px; width:100%; padding:10px 11px; border:0; border-radius:12px;
  background:transparent; color:var(--reg-navy); display:flex; align-items:center; gap:13px;
  font:700 14px/1.35 var(--pr-font-body,'Manrope',sans-serif);
  text-decoration:none; text-align:left; cursor:pointer;
}
.pr-reg-nav-items button i,.pr-reg-nav-items a i { width:20px; flex:0 0 20px; text-align:center; font-size:17px; }
.pr-reg-nav-items button:hover,.pr-reg-nav-items a:hover { background:#f7f9fc; color:var(--reg-navy); }
.pr-reg-nav-items button.is-active,.pr-reg-nav-items button.is-active:hover { color:#ce0717; background:#fff0f2; }
.pr-reg-main { min-width:0; }
.pr-reg-panel { padding:19px 18px 22px; }
.pr-reg-panel[hidden] { display:none!important; }
.pr-reg-panel-header { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:26px; }
.pr-reg-panel-titles { min-width:240px; flex:1 1 440px; }
.pr-reg-panel-header h2 { margin:0; color:var(--reg-navy); font-size:clamp(23px,2vw,30px); font-weight:800; line-height:1.22; }
.pr-reg-panel-header p { margin:7px 0 0; color:var(--reg-muted); font-size:14px; line-height:1.55; }
.pr-reg-actions { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.pr-reg-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:43px;
  padding:9px 13px; border:1px solid var(--reg-border); border-radius:12px;
  color:var(--reg-navy); background:#fff; text-decoration:none;
  font:750 13px/1.25 var(--pr-font-body,'Manrope',sans-serif); cursor:pointer;
}
.pr-reg-btn:hover { border-color:#b5c3d6; background:#f8fafc; color:var(--reg-navy); }
.pr-reg-btn:focus-visible,.pr-reg-nav-items button:focus-visible,.pr-reg-mobile-nav button:focus-visible,.pr-reg-overview-card:focus-visible { outline:2px solid var(--reg-red); outline-offset:2px; }
.pr-reg-btn i { font-size:16px; }
.pr-reg-sections { display:grid; gap:12px; }
.pr-reg-section { display:grid; grid-template-columns:minmax(230px,31%) minmax(0,1fr); border:1px solid var(--reg-border); border-radius:15px; background:#fff; overflow:hidden; }
.pr-reg-section-label { display:flex; align-items:flex-start; gap:17px; padding:21px 18px; }
.pr-reg-icon { display:grid; place-items:center; flex:0 0 48px; height:48px; width:48px; border-radius:13px; background:#fff0f2; color:var(--reg-red); font-size:23px; }
.pr-reg-section-label small { display:block; font-size:11px; font-weight:750; color:#b31625; line-height:1.3; margin:0 0 5px; }
.pr-reg-section-label h3 { margin:0; font-size:18px; line-height:1.3; font-weight:800; color:var(--reg-navy); }
.pr-reg-section-label p { margin:8px 0 0; color:var(--reg-muted); font-size:12px; line-height:1.55; }
.pr-reg-section-content { min-width:0; border-left:1px solid #e9edf3; margin:18px 0; padding:0 20px 0 22px; }
.pr-reg-points { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.pr-reg-points li { display:grid; grid-template-columns:28px minmax(0,1fr); gap:10px; align-items:start; font-size:14px; line-height:1.7; color:#273851; }
.pr-reg-point-ref { display:inline-block; color:#cf1327; font-size:11px; font-weight:800; margin-top:3px; white-space:nowrap; }
.pr-reg-points strong { color:var(--reg-navy); font-weight:800; }
.pr-reg-points a,.pr-reg-callout a { color:#be0a1d; text-decoration:underline; text-underline-offset:2px; }
.pr-reg-callout { margin-top:17px; padding:13px 14px; display:flex; align-items:flex-start; gap:10px; border-radius:11px; background:#f6f8fb; color:#41526c; }
.pr-reg-callout i { color:var(--reg-red); margin-top:3px; }
.pr-reg-callout p { margin:0; font-size:12px; line-height:1.65; }
.pr-reg-overview { display:grid; gap:12px; }
.pr-reg-overview-card { width:100%; min-height:106px; display:flex; align-items:center; gap:17px; padding:19px; border:1px solid var(--reg-border); border-radius:14px; background:#fff; color:var(--reg-navy); text-align:left; cursor:pointer; }
.pr-reg-overview-card:hover { background:#fbfcfe; border-color:#bdc9d8; }
.pr-reg-overview-icon { display:grid; place-items:center; flex:0 0 52px; width:52px; height:52px; border-radius:13px; color:var(--reg-red); background:#fff0f2; font-size:22px; }
.pr-reg-overview-copy { display:grid; gap:5px; flex:1; min-width:0; }
.pr-reg-overview-copy strong { font-size:17px; font-weight:800; }
.pr-reg-overview-copy small { color:var(--reg-muted); font-size:13px; font-weight:450; line-height:1.5; }
@media(max-width:1100px) {
  .pr-reg-layout { grid-template-columns:minmax(205px,235px) minmax(0,1fr); gap:16px; }
  .pr-reg-section { grid-template-columns:minmax(190px,33%) minmax(0,1fr); }
  .pr-reg-section-label { gap:10px; padding:19px 12px; }
  .pr-reg-icon { width:41px; height:41px; flex-basis:41px; font-size:19px; }
  .pr-reg-section-label h3 { font-size:16px; }
  .pr-reg-section-content { padding:0 14px 0 16px; }
}
@media(max-width:850px) {
  .pr-reg-container { width:calc(100% - 34px); }
  .pr-reg-content { padding:28px 0 52px; }
  .pr-reg-intro { margin-bottom:25px; }
  .pr-reg-layout { display:block; }
  .pr-reg-sidebar { display:none; }
  .pr-reg-mobile-nav { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:18px; }
  .pr-reg-mobile-nav button { min-height:39px; padding:9px 15px; border:1px solid var(--reg-border); border-radius:999px; background:#fff; color:var(--reg-navy); font:750 13px/1.25 var(--pr-font-body,'Manrope',sans-serif); cursor:pointer; }
  .pr-reg-mobile-nav button.is-active { border-color:var(--reg-red); background:var(--reg-red); color:#fff; }
}
@media(max-width:620px) {
  .pr-reg-container { width:calc(100% - 28px); }
  .pr-reg-content { padding:24px 0 36px; }
  .pr-reg-intro { margin-bottom:24px; padding:0 8px; }
  .pr-reg-intro h1 { font-size:30px; }
  .pr-reg-intro p { font-size:14px; margin-top:10px; }
  .pr-reg-intro-line { margin-top:16px; width:68px; }
  .pr-reg-mobile-nav { gap:8px; margin-bottom:14px; }
  .pr-reg-mobile-nav button { min-height:37px; padding:8px 13px; }
  .pr-reg-panel { padding:17px 13px 18px; }
  .pr-reg-panel-header { gap:14px; margin-bottom:18px; }
  .pr-reg-panel-header h2 { font-size:21px; }
  .pr-reg-panel-header p { font-size:13px; }
  .pr-reg-actions { width:100%; }
  .pr-reg-btn { font-size:12px; min-height:40px; padding:8px 11px; }
  .pr-reg-section { display:block; }
  .pr-reg-section-label { padding:16px 15px 13px; gap:12px; }
  .pr-reg-icon { width:42px; height:42px; flex-basis:42px; }
  .pr-reg-section-label h3 { font-size:16px; }
  .pr-reg-section-label p { font-size:12px; margin-top:6px; }
  .pr-reg-section-content { border-left:0; border-top:1px solid #e9edf3; margin:0 15px 15px; padding:14px 0 0; }
  .pr-reg-points { gap:11px; }
  .pr-reg-points li { font-size:13px; gap:7px; grid-template-columns:27px minmax(0,1fr); line-height:1.65; }
  .pr-reg-callout { padding:11px; }
  .pr-reg-overview-card { padding:14px; min-height:94px; gap:12px; }
  .pr-reg-overview-icon { width:44px; height:44px; flex-basis:44px; font-size:19px; }
  .pr-reg-overview-copy strong { font-size:15px; }
  .pr-reg-overview-copy small { font-size:12px; }
}
@media print {
  /* Le pied de page global est conserve a l’ecran, jamais dans les PDF / impressions. */
  footer.pr-footer, .pr-footer { display:none!important; }
  @page { margin:14mm; }
  .pr-reg-page { background:#fff; }
  .pr-reg-content { padding:0; }
  .pr-reg-intro { text-align:left; margin:0 0 10mm; }
  .pr-reg-intro h1 { font-size:24pt; }
  .pr-reg-intro-line,.pr-reg-mobile-nav,.pr-reg-sidebar,.pr-reg-actions { display:none!important; }
  .pr-reg-layout { display:block; }
  .pr-reg-panel { border:0; padding:0; }
  .pr-reg-section { break-inside:avoid; page-break-inside:avoid; margin-bottom:4mm; border-color:#ddd; }
  .pr-reg-section-content { margin:14px 0; }
  .pr-reg-points li { font-size:11pt; }
  .pr-reg-callout { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
@media(prefers-reduced-motion:reduce) { .pr-reg-page * { transition:none!important; } }
