/* RAC standalone adapter. Tokens/authority: tokens.json and README.md.
   Deliberately scoped; no BookingTimes, Joomla, admin or body reset selectors. */
.rac-site { font:400 1rem/1.62 var(--rac-font-body); color:var(--rac-ink); background:var(--rac-warm); overflow-wrap:break-word; }
.rac-site *, .rac-site *::before, .rac-site *::after { box-sizing:border-box; }
.rac-site [hidden] { display:none !important; }
.rac-site :where(h1,h2,h3,h4,h5,h6) { font-family:var(--rac-font-heading); color:inherit; line-height:1.08; letter-spacing:-.025em; margin:0; text-wrap:balance; }
.rac-site :where(h1,h2) { font-weight:800; }
.rac-site h1 { font-size:clamp(2.5rem,5.3vw,4.5rem); }
.rac-site h2 { font-size:clamp(2rem,4.6vw,3.3rem); }
.rac-site h3 { font-weight:700; font-size:1.35rem; }
.rac-site :where(p,ul,ol,figure) { margin:0; }
.rac-site a { color:var(--rac-red-deep); text-underline-offset:.2em; text-decoration-thickness:.08em; }
.rac-site :where(button,input,select,textarea) { font:inherit; }
.rac-site :where(img,svg) { max-width:100%; }
.rac-site img { height:auto; display:block; }
.rac-site :focus-visible { outline:3px solid var(--rac-green-ink); outline-offset:4px; }
.rac-site .rac-container { max-width:var(--rac-container); margin-inline:auto; padding-inline:var(--rac-gutter); }
.rac-site .rac-section { padding-block:var(--rac-section-space); }
.rac-site .rac-stack > * + * { margin-top:var(--rac-space-3); }
.rac-site .rac-stack-small > * + * { margin-top:var(--rac-space-2); }
.rac-site .rac-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--rac-space-3); }
.rac-site .rac-split { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:clamp(2rem,5vw,5rem); }
.rac-site .rac-actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--rac-space-2); }
.rac-site .rac-warm { background:var(--rac-warm); }
.rac-site .rac-sky { background:var(--rac-sky); }
.rac-site .rac-dark { background:var(--rac-dark); color:var(--rac-white); }
.rac-site .rac-dark a:not(.rac-button) { color:var(--rac-white); }
.rac-site .rac-dark :focus-visible { outline-color:var(--rac-lime); }
.rac-site .rac-dark .rac-card { color:var(--rac-ink); }
.rac-site .rac-dark .rac-card :focus-visible { outline-color:var(--rac-green-ink); }
.rac-site .rac-dark .rac-card a:not(.rac-button) { color:var(--rac-red-deep); }
.rac-site .rac-muted { color:var(--rac-muted); }
.rac-site .rac-eyebrow { color:var(--rac-green-ink); font-size:.8rem; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; font-weight:700; }
.rac-site .rac-eyebrow::before { content:""; display:inline-block; width:1.6rem; height:3px; background:currentColor; margin-right:.5rem; vertical-align:middle; }
.rac-site .rac-dark .rac-eyebrow { color:var(--rac-lime); }
.rac-site .rac-button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:.8rem 1.4rem; border:2px solid transparent; border-radius:999px; background:var(--rac-red); color:var(--rac-white); font-weight:700; line-height:1.3; text-align:center; text-decoration:none; cursor:pointer; }
.rac-site .rac-button:hover { background:var(--rac-red-deep); }
.rac-site .rac-button:disabled { cursor:wait; background:var(--rac-red-deep); }
.rac-site .rac-button-secondary { background:transparent; color:var(--rac-ink); border-color:var(--rac-muted); }
.rac-site .rac-button-secondary:hover { background:var(--rac-sky); }
.rac-site .rac-dark .rac-button-secondary { color:var(--rac-white); border-color:var(--rac-white); }
.rac-site .rac-dark .rac-button-secondary:hover { background:var(--rac-dark); }
.rac-site .rac-dark .rac-card .rac-button-secondary { color:var(--rac-ink); border-color:var(--rac-muted); }
.rac-site .rac-card { background:var(--rac-white); border:1px solid #d5d1cb; border-radius:var(--rac-radius-large); padding:clamp(1.25rem,3vw,2rem); box-shadow:var(--rac-shadow); min-width:0; }
.rac-site .rac-photo { overflow:hidden; border-radius:var(--rac-radius-large); background:var(--rac-white); }
.rac-site .rac-photo img { width:100%; object-fit:contain; }
.rac-site .rac-photo figcaption { padding:1rem 1.5rem; color:var(--rac-muted); font-size:.9rem; }
.rac-site .rac-word { white-space:nowrap; }
.rac-site .rac-plate { display:inline-grid; place-items:center; font-family:var(--rac-font-motif); font-weight:400; line-height:1; inline-size:1em; block-size:1em; background:var(--rac-lplate); color:var(--rac-black); vertical-align:-.07em; margin-inline-end:.04em; letter-spacing:0; }
.rac-site .rac-plate-p { background:var(--rac-green-ink); color:var(--rac-white); }
.rac-site .rac-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.rac-site .rac-skip { position:absolute; inset-inline-start:1rem; top:0; transform:translateY(-150%); z-index:10; background:var(--rac-white); color:var(--rac-red-deep); padding:1rem; }
.rac-site .rac-skip:focus { transform:none; }
.rac-site .rac-header { background:var(--rac-white); border-bottom:1px solid #d5d1cb; }
.rac-site .rac-header-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:1rem; flex-wrap:wrap; }
.rac-site .rac-logo { display:block; width:170px; flex:none; }
.rac-site .rac-nav { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; }
.rac-site .rac-nav > a:not(.rac-button) { padding:.7rem .25rem; min-height:48px; color:var(--rac-ink); font-weight:600; }
.rac-site .rac-lead { font-size:clamp(1.1rem,1.6vw,1.25rem); max-width:44rem; }
.rac-site .rac-fields { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.rac-site .rac-field { display:grid; gap:.35rem; align-content:start; min-width:0; }
.rac-site .rac-field label { font-weight:600; }
.rac-site .rac-field :where(input,select,textarea) { width:100%; min-height:48px; padding:.75rem; border:1px solid var(--rac-muted); border-radius:var(--rac-radius-small); background:var(--rac-white); color:var(--rac-ink); }
.rac-site .rac-field [aria-invalid="true"] { border:2px solid var(--rac-red-deep); }
.rac-site .rac-field-error { color:var(--rac-red-deep); font-weight:600; font-size:.95rem; }
.rac-site .rac-consent { display:flex; align-items:flex-start; gap:.65rem; }
.rac-site .rac-consent input { accent-color:var(--rac-green-ink); inline-size:24px; block-size:24px; flex:none; margin:.15rem 0 0; }
.rac-site .rac-consent label { min-height:44px; cursor:pointer; }
.rac-site .rac-notice { border:2px solid var(--rac-green-ink); border-radius:var(--rac-radius-small); background:var(--rac-green-soft); color:var(--rac-ink); padding:1rem 1.25rem; }
.rac-site .rac-notice-error { border-color:var(--rac-red-deep); background:var(--rac-white); }
.rac-site .rac-notice a:not(.rac-button) { color:var(--rac-red-deep); }
.rac-site .rac-notice :where(ul,ol) { padding-left:1.2rem; }
.rac-site .rac-notice a:not(.rac-button) { display:inline-block; padding-block:.25rem; }
.rac-site .rac-faq { border-block-end:1px solid var(--rac-muted); padding-block:1rem; }
.rac-site .rac-faq summary { font-weight:700; cursor:pointer; padding:.4rem 0; min-height:44px; }
.rac-site .rac-faq p { margin-top:1rem; max-width:65ch; }
.rac-site .rac-footer { padding-block:3rem; }
.rac-site .rac-footer-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.rac-site .rac-footer a { display:inline-block; padding-block:.5rem; min-height:44px; }
.rac-site .rac-footer-links { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; }
.rac-site .rac-acknowledgement { max-width:75ch; font-size:.95rem; }
.rac-site .rac-review-bar { background:var(--rac-sky); padding:1rem; font-size:.9rem; border-bottom:1px solid var(--rac-muted); }
.rac-site .rac-review-bar select { min-height:44px; max-width:100%; padding:.5rem; color:var(--rac-ink); background:var(--rac-white); border:1px solid var(--rac-muted); border-radius:var(--rac-radius-small); }
.rac-site .rac-state-reference h3 { font-size:1.1rem; }
@media (max-width:1200px) { .rac-site .rac-grid { gap:1rem; } }
@media (max-width:991px) { .rac-site .rac-split { grid-template-columns:1fr; } .rac-site .rac-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:767px) { .rac-site .rac-grid, .rac-site .rac-fields, .rac-site .rac-footer-grid { grid-template-columns:1fr; } .rac-site .rac-section { padding-block:3rem; } .rac-site .rac-nav { width:100%; justify-content:space-between; } .rac-site .rac-nav .rac-button { padding-inline:1rem; } }
@media (prefers-reduced-motion:reduce) { .rac-site *, .rac-site *::before, .rac-site *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
@media (forced-colors:active) { .rac-site .rac-button, .rac-site .rac-card, .rac-site .rac-notice { border:2px solid ButtonText; } .rac-site :focus-visible { outline:3px solid Highlight; } }
