/* Shared editorial styles: independent of utility builds and scoped to these pages. */
.regulations-page { --reg-ink:#182c43; --reg-link:#075e9e; --reg-line:#d9e3ec; color:var(--reg-ink); }
.regulations-page .regulations-hero { padding:3rem 0; background:#f1f7fb; }
.regulations-hero h1 { max-width:24ch; font-size:clamp(2rem,4.5vw,3.3rem); line-height:1.15; margin:.6rem 0 1.2rem; text-wrap:balance; }
.regulations-hero p { max-width:76ch; font-size:1.1rem; line-height:1.75; }
.regulations-hero .regulations-reviewed { font-size:.875rem; margin-top:1.3rem; }
.regulations-content { padding-top:2.5rem; padding-bottom:3rem; }
.regulations-content h2 { font-size:1.55rem; line-height:1.35; margin:0 0 1rem; }
.regulations-content h3 { font-size:1.15rem; line-height:1.45; margin:0 0 .7rem; }
.regulations-content p { line-height:1.8; margin:0 0 1rem; }
.regulations-content a { color:var(--reg-link); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.regulations-content a:hover { text-decoration-thickness:2px; }
.regulations-page :focus-visible { outline:3px solid #0670b9; outline-offset:4px; }
.regulations-content section { margin-bottom:2.8rem; scroll-margin-top:7rem; }
.regulations-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin-top:1.6rem; }
.regulations-card { border:1px solid var(--reg-line); border-radius:16px; padding:1.6rem; background:white; display:flex; flex-direction:column; }
.regulations-card .eyebrow { color:#4e6374; font-size:.75rem; line-height:1.5; margin-bottom:.7rem; }
.regulations-card .regulations-read { display:inline-flex; align-items:center; gap:.4rem; margin-top:auto; font-weight:600; }
.regulations-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:3rem; align-items:start; }
.regulations-toc { position:sticky; top:6rem; border-left:3px solid var(--reg-line); padding:1rem 1.2rem; max-height:calc(100vh - 7rem); overflow:auto; }
.regulations-toc h2 { font-size:1rem; }
.regulations-toc ol { padding-left:1.2rem; list-style:decimal; }
.regulations-toc li { margin:.7rem 0; font-size:.9rem; line-height:1.5; }
.regulations-article { min-width:0; max-width:78ch; }
.regulations-note { background:#f1f7fb; border-left:4px solid #328ac3; border-radius:0 12px 12px 0; padding:1.5rem; margin-bottom:2.5rem; }
.regulations-note h2 { font-size:1.1rem; }
.regulations-note p:last-child { margin-bottom:0; }
.regulations-table-wrap { overflow-x:auto; border:1px solid var(--reg-line); border-radius:12px; margin:1.5rem 0; }
.regulations-content table { width:100%; border-collapse:collapse; font-size:.95rem; line-height:1.6; }
.regulations-content caption { text-align:left; padding:1rem; font-weight:600; }
.regulations-content th,.regulations-content td { text-align:left; vertical-align:top; padding:1rem; border-top:1px solid var(--reg-line); }
.regulations-content thead { background:#f1f7fb; }
.regulations-content tbody th { min-width:145px; }
.regulations-example { padding:1.25rem; margin:1rem 0; border:1px solid var(--reg-line); border-radius:12px; }
.regulations-content details { border-bottom:1px solid var(--reg-line); padding:1rem 0; }
.regulations-content summary { cursor:pointer; font-weight:600; line-height:1.6; }
.regulations-content details p { margin:1rem 0 0; }
.regulations-content article ul { list-style:disc; padding-left:1.4rem; }
.regulations-content article li { margin:.75rem 0; line-height:1.65; }
.regulations-related { padding-top:2rem; border-top:1px solid var(--reg-line); }
.regulations-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; }
.rights-regulations-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.2rem 0; }
.rights-regulations-list article { border:1px solid #d9e3ec; border-radius:12px; padding:1.25rem; }
.rights-regulations-list h3 { margin-bottom:.6rem; }
.rights-regulations-list a,.rights-regulation-link a { color:#075e9e; text-decoration:underline; text-underline-offset:3px; }
.rights-regulation-link { margin:1rem 0; line-height:1.7; }
@media(max-width:800px) {
 .regulations-layout { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
 .regulations-toc { position:static; max-height:none; background:#f6f9fc; }
 .regulations-grid,.rights-regulations-list { grid-template-columns:minmax(0,1fr); }
 .regulations-page .regulations-hero { padding:2rem 0; }
 .regulations-content th,.regulations-content td { padding:.75rem; }
 .regulations-card { padding:1.25rem; }
}

/* Default uses a fixed 80px header; Cerca keeps its header in normal flow. */
body:not(.cerca-theme) .regulations-page { padding-top:80px; }
