[data-rc-added] { box-sizing:border-box; padding-block:24px; }
[data-rc-added] p { white-space:pre-wrap; }
.rcb-faq { border:1px solid #dbe2eb; border-radius:12px; padding:18px 22px; }
.rcb-faq summary { font-weight:650; cursor:pointer; }
.rcb-faq p { line-height:1.7; margin:16px 0 0; }
.rcb-quote { margin:0; padding:24px; border-left:4px solid #2563eb; background:#f8fafc; color:#172033; border-radius:0 12px 12px 0; }
.rcb-quote p { font-size:1.2em; line-height:1.65; margin:0 0 16px; }
.rcb-quote cite { font-size:.9em; font-style:normal; color:#526078; }
.rcb-stat strong { display:block; font-size:3em; font-weight:750; line-height:1.1; }
.rcb-stat p { margin:10px 0 0; }
.rcb-list { list-style:disc; padding-left:1.5em; line-height:1.9; }
.rcb-divider { border:0; border-top:1px solid #cbd5e1; margin:0; }
[data-rc-added="form"] form { display:grid; gap:18px; max-width:100%; }
[data-rc-added="form"] label { display:block; margin-bottom:6px; }
[data-rc-added="form"] input:not([type=checkbox]):not([hidden]),[data-rc-added="form"] select,[data-rc-added="form"] textarea { box-sizing:border-box; width:100%; padding:12px; border:1px solid #94a3b8; border-radius:8px; background:#fff; color:#172033; font:inherit; }
[data-rc-added="form"] button { padding:12px 22px; border:0; border-radius:8px; background:#1d4ed8; color:#fff; cursor:pointer; font:inherit; }
[data-rc-added="form"] [data-form-status] { display:block; margin-top:10px; }
[data-rc-added="gallery"] [data-gallery-grid] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
[data-rc-added="gallery"] [data-gallery-columns="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
[data-rc-added="gallery"] [data-gallery-columns="4"] { grid-template-columns:repeat(4,minmax(0,1fr)); }
[data-rc-added="gallery"] .gal-item { display:block; overflow:hidden; border-radius:10px; }
[data-rc-added="gallery"] img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
[data-rc-added="gallery"] [data-gallery-shape="square"] img { aspect-ratio:1; }
[data-rc-added="gallery"] [data-gallery-shape="natural"] img { aspect-ratio:auto; }
dialog.gal-lightbox { border:0; padding:36px; background:#0f172a; max-width:95vw; max-height:95vh; }
dialog.gal-lightbox[open] { display:flex; align-items:center; justify-content:center; }
dialog.gal-lightbox::backdrop { background:#0f172acc; }
dialog.gal-lightbox img { max-width:85vw; max-height:80vh; object-fit:contain; }
dialog.gal-lightbox .gal-close { position:absolute; right:6px; top:2px; background:none; border:0; color:white; font-size:30px; cursor:pointer; }
@media(max-width:640px) { [data-rc-added="gallery"] [data-gallery-grid] { grid-template-columns:repeat(2,minmax(0,1fr)); } }
/* A page the client created (Admin → Pages), rendered at the edge into [data-blocks-root]
   as <div data-rc-page="<slug>">. A Tailwind shell resets h1/h2 to plain text, so without
   these a created page is a wall of same-size lines.

   SCOPED UNDER [data-blocks-root], NOT to a bare [data-rc-page]. [data-rc-page] is the
   framework's outer container on EVERY page — header, footer, each section of a shell —
   sized by framework.css from --rc-page-width (Appearance → Layout). This file loads on
   every page for a signed-in admin (shell-editor.js), and on any page with added blocks
   for visitors, so a bare [data-rc-page] rule here capped the whole site at 960px and
   pushed 40px/64px of padding into every header and section the moment a client signed
   in — the "site shrinks when I'm logged in" report from irina-yesina-dds, 2026-09-28. */
[data-blocks-root] > [data-rc-page], [data-blocks-root] [data-rc-page-status] { box-sizing:border-box; max-width:960px; margin:0 auto; padding:40px 16px 64px; }
[data-blocks-root] [data-rc-page] [data-rc-added] { padding-block:12px; }
[data-blocks-root] [data-rc-page] h2 { font-size:1.75em; font-weight:700; line-height:1.2; margin:0; }
[data-blocks-root] [data-rc-page] p { line-height:1.7; margin:0; }
[data-blocks-root] [data-rc-page] [data-rc-added="text"]:first-child p, [data-blocks-root] [data-rc-page] [data-rc-added="text"]:nth-child(2) p { font-size:1.1em; }
[data-blocks-root] [data-rc-page-status] { text-align:center; padding-block:96px; }
[data-blocks-root] [data-rc-page-status] h1 { font-size:1.75em; font-weight:700; margin:0 0 12px; }
[data-blocks-root] [data-rc-page-status] a { text-decoration:underline; }
[data-rc-page-empty] { text-align:center; padding:64px 16px; opacity:.7; }
