/* Scoped controls inherit each template's typography and brand palette. */
html body #sf-consent{--cc-ink:var(--ink,#182d26);--cc-bg:var(--paper,#fff);--cc-accent:var(--accent,var(--green,#285b49));font-family:inherit;color:var(--cc-ink);font-size:14px;line-height:1.5;letter-spacing:normal}
html body #sf-consent [hidden]{display:none!important}
html body #sf-consent button{font:inherit;line-height:1.4;letter-spacing:normal;text-transform:none;min-height:44px;border:1px solid var(--cc-accent);border-radius:6px;padding:10px 16px;background:var(--cc-bg);color:var(--cc-ink);cursor:pointer;white-space:normal;overflow-wrap:anywhere}
html body #sf-consent button:hover{background:color-mix(in srgb,var(--cc-accent) 9%,var(--cc-bg))}
html body #sf-consent button:focus-visible,html body #sf-consent input:focus-visible{outline:3px solid var(--cc-accent);outline-offset:3px}
html body #sf-consent h2{font-family:inherit;font-size:19px;line-height:1.3;margin:0 0 8px;letter-spacing:normal;text-transform:none;color:inherit}
html body #sf-consent p{font:inherit;line-height:1.5;margin:0 0 10px;max-width:none;overflow-wrap:anywhere}
html body #sf-consent a{color:inherit;text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
html body #sf-consent .sf-consent-banner{position:fixed;z-index:1600;inset:auto 20px 20px;display:flex;gap:24px;align-items:center;padding:20px 24px;border:1px solid color-mix(in srgb,var(--cc-ink) 22%,var(--cc-bg));border-radius:10px;box-shadow:0 8px 32px #0002;background:var(--cc-bg);max-height:calc(100dvh - 100px);overflow:auto;overscroll-behavior:contain}
html body #sf-consent .sf-consent-copy{flex:1;min-width:0}
html body #sf-consent .sf-consent-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
html body #sf-consent .sf-consent-actions button{flex:1 1 140px}
html body #sf-consent .sf-consent-banner>.sf-consent-actions{flex:0 1 530px}
html body #sf-consent .sf-consent-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;align-items:center;padding:18px 20px 28px;background:var(--cc-bg)}
html body #sf-consent .sf-consent-dialog{color:var(--cc-ink);background:var(--cc-bg);font:inherit;border:1px solid var(--cc-accent);border-radius:12px;padding:24px;width:min(640px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;box-sizing:border-box}
html body #sf-consent .sf-consent-dialog::backdrop{background:#0006}
html body #sf-consent .sf-consent-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
html body #sf-consent .sf-consent-heading button{min-width:44px;padding:6px;font-size:24px}
html body #sf-consent .sf-consent-option{display:flex;align-items:flex-start;gap:12px;padding:16px 0;border-top:1px solid color-mix(in srgb,var(--cc-ink) 18%,var(--cc-bg));font:inherit;cursor:pointer}
html body #sf-consent .sf-consent-option input{appearance:auto;width:20px;height:20px;flex:0 0 20px;margin:2px 0;padding:0;accent-color:var(--cc-accent)}
html body #sf-consent .sf-consent-option span{min-width:0}html body #sf-consent .sf-consent-option strong{display:block;font-size:15px;color:inherit}html body #sf-consent .sf-consent-option small{display:block;font-size:13px;line-height:1.5;margin-top:5px;color:inherit}
@media(min-width:901px){html body #sf-consent[data-position=left] .sf-consent-banner,html body #sf-consent[data-position=right] .sf-consent-banner{width:470px;max-width:calc(100vw - 40px);display:block}html body #sf-consent[data-position=left] .sf-consent-banner{right:auto}html body #sf-consent[data-position=right] .sf-consent-banner{left:auto}html body #sf-consent[data-position=left] .sf-consent-actions,html body #sf-consent[data-position=right] .sf-consent-actions{margin-top:12px}}
@media(max-width:900px){html body #sf-consent .sf-consent-banner{inset:auto 10px calc(76px + env(safe-area-inset-bottom));padding:16px;display:block;max-height:calc(100dvh - 150px)}html body #sf-consent .sf-consent-actions{gap:8px}html body #sf-consent .sf-consent-actions button{flex-basis:calc(50% - 8px);padding:10px;font-size:13px}html body #sf-consent .sf-consent-dialog{padding:18px;max-height:calc(100dvh - 24px)}html body #sf-consent .sf-consent-footer{padding-bottom:calc(90px + env(safe-area-inset-bottom))}}
