/* Rules page uses the shared club pattern and palette. */
.rules-page { color:#182840; }
.rules-page h1,.rules-page h2,.rules-page h3,.rules-page p { margin:0; }
.rules-page h1,.rules-page h2 { font-family:'Days One',sans-serif; font-weight:400; color:#123a66; }
.rules-page h1 { font-size:38px; line-height:48px; }
.rules-page h2 { font-size:23px; line-height:33px; }
.rules-page p { font-size:15px; line-height:25px; color:#5b6c80; }
.rules-page a:focus-visible { outline:3px solid #1671cf; outline-offset:4px; }
.rules-breadcrumb { display:inline-block; color:#34516f; font-size:13px; line-height:20px; margin-bottom:26px; }
.rules-hero { padding-top:8px; }
.rules-hero__heading { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.rules-hero__heading p { margin-top:12px; font-size:17px; line-height:27px; }
.rules-pdf { display:flex; align-items:center; gap:14px; padding:15px 20px; border:1px solid #cbd9e9; border-radius:10px; background:#ffffffd9; color:#234d78; flex-shrink:0; font-size:15px; line-height:24px; }
.rules-pdf:hover { background:#fff; border-color:#4478aa; }
.rules-pdf__icon { display:flex; align-items:center; justify-content:center; width:34px; height:38px; background:#eaf0f7; border-radius:5px; font-size:26px; }
.rules-pdf small { display:block; color:#65758a; font-size:12px; line-height:20px; }
.rules-essentials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:30px; }
.rules-essential { display:flex; flex-direction:column; gap:10px; padding:24px; background:#fff; border:1px solid #dce3eb; border-radius:12px; }
.rules-essential:hover { border-color:#8aa8c8; }
.rules-label { display:block; color:#65758a; font-size:12px; line-height:20px; }
.rules-essential strong { color:#123a66; font-size:22px; line-height:31px; font-weight:600; }
.rules-essential p { font-size:14px; line-height:24px; }
.rules-essential__link { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:12px; color:#345a82; font-size:13px; line-height:22px; }
.rules-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:40px; margin-top:44px; align-items:start; }
.rules-sidebar { align-self:stretch; }
.rules-nav { position:sticky; top:24px; padding:20px 0; }
.rules-nav ol { list-style:none; counter-reset:rules-nav; padding:0; margin:16px 0 24px; }
.rules-nav li { counter-increment:rules-nav; }
.rules-nav li a { display:flex; gap:12px; color:#34516f; font-size:14px; line-height:23px; padding:11px 0; border-bottom:1px solid #dce3eb; }
.rules-nav li a::before { content:counter(rules-nav,decimal-leading-zero); font-size:12px; color:#8194aa; flex-shrink:0; width:20px; }
.rules-nav li a:hover { color:#123a66; text-decoration:underline; text-underline-offset:4px; }
.rules-nav__contact { display:flex; align-items:center; gap:10px; color:#345a82; font-size:13px; line-height:22px; }
.rules-document { min-width:0; }
.rules-page .rules-document__title { display:none; }
.rules-page .rules-hours { color:#34516f; font-size:14px; line-height:24px; margin-bottom:20px; }
.rules-card { scroll-margin-top:24px; padding:30px; border:1px solid #dce3eb; border-radius:12px; background:#fff; }
.rules-card + .rules-card { margin-top:24px; }
.rules-card__heading { display:flex; align-items:flex-start; gap:18px; margin-bottom:22px; }
.rules-card__number { flex-shrink:0; display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:8px; background:#eaf0f7; color:#4478aa; font-size:14px; line-height:24px; font-weight:600; }
.rules-card h2 { margin-top:2px; font-size:22px; line-height:32px; }
.rules-list { margin:0; padding-left:20px; color:#43566e; font-size:15px; line-height:26px; }
.rules-list li { padding-left:6px; }
.rules-list li + li { margin-top:13px; }
.rules-list li::marker { color:#789abe; }
.rules-list strong { font-weight:600; color:#234869; }
.rules-list a { color:#234d78; text-decoration:underline; text-underline-offset:4px; }
.rules-refunds { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:22px 0; }
.rules-refund { padding:18px; border-radius:8px; background:#f0f4f9; }
.rules-refund h3 { color:#234869; font-size:15px; line-height:24px; font-weight:600; }
.rules-refund strong { display:block; color:#34516f; font-size:13px; line-height:22px; font-weight:600; margin:10px 0 8px; }
.rules-refund p { font-size:13px; line-height:22px; }
.rules-card--prohibitions { border-color:#ead8d7; }
.rules-card--prohibitions .rules-card__number { background:#f9eae8; color:#a6453e; }
.rules-card--prohibitions h2 { color:#873d39; }
.rules-card--prohibitions li::marker { color:#bb7972; }
.rules-help { display:flex; justify-content:space-between; align-items:center; gap:36px; margin-top:44px; padding:30px; background:#e9f0f7; border-radius:12px; }
.rules-help p { max-width:650px; font-size:14px; line-height:24px; margin-top:10px; }
.rules-help__actions { display:flex; flex-direction:column; gap:10px; flex-shrink:0; }
.rules-help__phone { color:#123a66; font-size:22px; line-height:32px; font-weight:600; white-space:nowrap; }
.rules-help__link { color:#345a82; font-size:13px; line-height:22px; }
.rules-help__link:hover { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1180px) {
 .rules-layout { grid-template-columns:210px minmax(0,1fr); gap:26px; }
 .rules-essential { padding:20px; }
 .rules-essential strong { font-size:20px; line-height:29px; }
 .rules-card { padding:26px; }
 .rules-refunds { grid-template-columns:1fr; }
 .rules-refund { padding:18px 20px; }
 .rules-refund strong { margin:6px 0; }
}
@media(max-width:900px) {
 .rules-layout { grid-template-columns:minmax(0,1fr); gap:24px; margin-top:32px; }
 .rules-nav { position:static; padding:20px; border:1px solid #dce3eb; border-radius:12px; background:#ffffffc9; }
 .rules-nav ol { display:grid; grid-template-columns:1fr 1fr; column-gap:24px; margin:10px 0 18px; }
 .rules-help { align-items:flex-start; }
}
@media(max-width:780px) {
 .rules-page h1 { font-size:32px; line-height:42px; }
 .rules-hero__heading { flex-direction:column; align-items:flex-start; gap:22px; }
 .rules-hero__heading p { font-size:15px; line-height:25px; }
 .rules-essentials { grid-template-columns:1fr; gap:14px; margin-top:24px; }
 .rules-essential { gap:8px; }
 .rules-essential__link { padding-top:6px; }
 .rules-card { padding:24px; }
 .rules-help { flex-direction:column; gap:24px; padding:24px; }
}
@media(max-width:480px) {
 .rules-breadcrumb { margin-bottom:22px; }
 .rules-nav ol { grid-template-columns:1fr; }
 .rules-card { padding:20px; }
 .rules-card__heading { gap:12px; margin-bottom:20px; }
 .rules-card__number { width:30px; height:30px; font-size:12px; border-radius:6px; margin-top:2px; }
 .rules-card h2 { font-size:19px; line-height:29px; }
 .rules-list { font-size:14px; line-height:25px; padding-left:17px; }
 .rules-list li { padding-left:3px; }
 .rules-refund { padding:16px; }
 .rules-help h2 { font-size:21px; line-height:31px; }
 .rules-help__phone { font-size:21px; }
}
@media(prefers-reduced-motion:no-preference) { html:has(.rules-page) { scroll-behavior:smooth; } }
@media print {
 .rules-hero,.rules-sidebar,.rules-help { display:none; }
 .rules-layout { display:block; margin:0; }
 .rules-page .rules-document__title { display:block; margin-bottom:20px; }
 .rules-card { padding:18px 0; border:0; break-inside:auto; }
 .rules-card__heading { break-after:avoid; }
 .rules-card__number { display:none; }
 .rules-refunds { grid-template-columns:1fr; }
}
