.xsite-custom-page { margin: 0; background: #fff; }
.hidden { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
[data-xsite-theme] { font-family: var(--font-body, sans-serif); }
[data-xsite-theme] *, [data-xsite-theme] *::before, [data-xsite-theme] *::after { box-sizing: border-box; }
[data-xsite-theme] img { max-width: 100%; }
[data-xsite-theme] :focus-visible { outline: 3px solid var(--primary-color); outline-offset: 3px; }
.cookie-banner { position: fixed; inset: auto 1rem 1rem; z-index: 10000; background: #fff; color: #111; padding: 1.25rem; border: 1px solid #ccc; border-radius: 1rem; }
.cookie-banner__inner { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; }
.cookie-banner__copy { max-width: 48rem; }
.cookie-banner__actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.cookie-consent-modal { position: fixed; inset: 0; z-index: 10001; display: grid; place-items: center; background: #0008; padding: 1rem; }
.cookie-consent-card { max-width: 40rem; max-height: 90vh; overflow-y: auto; padding: 1.5rem; background: #fff; color: #111; border-radius: 1rem; }
.cookie-consent-row { display: flex; justify-content: space-between; gap: 1rem; margin-block: 1rem; }
.cookie-settings-fab { position: fixed; bottom: 1rem; left: 1rem; z-index: 9000; width: 3rem; height: 3rem; border-radius: 50%; background: #fff; border: 1px solid #ccc; }
.cookie-settings-fab svg { width: 1.5rem; height: 1.5rem; }
.cookie-consent-card button, .cookie-banner button { cursor: pointer; padding: .6rem .9rem; margin: .2rem; }
@media (prefers-reduced-motion: reduce) {
  [data-xsite-theme] *, [data-xsite-theme] *::before, [data-xsite-theme] *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
