/* Isolated consent controls; approved page styles and assets remain unchanged. */
.fs-consent[hidden], .fs-consent [hidden] { display:none !important; }
.fs-consent { position:relative; z-index:20; box-sizing:border-box; width:min(100% - 32px, 1100px); margin:24px auto; padding:24px; border:2px solid #1b2924; border-radius:16px; background:#f3f6ec; color:#17271f; font:16px/1.5 system-ui,sans-serif; }
.fs-consent h2 { margin:0 0 12px; color:inherit; font:700 24px/1.25 system-ui,sans-serif; }
.fs-consent p { margin:10px 0; max-width:78ch; color:inherit; }
.fs-consent a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.fs-consent-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.fs-consent button { appearance:none; background:#17271f; color:#fff; border:2px solid #17271f; border-radius:8px; padding:12px 16px; font:600 16px/1.4 system-ui,sans-serif; cursor:pointer; min-height:48px; }
.fs-consent button:focus-visible, .fs-consent a:focus-visible:focus-visible { outline:3px solid #395f21; outline-offset:4px; }
.fs-consent button:disabled { opacity:.7; cursor:default; }
@media(max-width:480px) { .fs-consent { padding:18px; } .fs-consent-actions { flex-direction:column; } .fs-consent button { width:100%; } }

/* Persistent, non-modal preferences, adapted from the Hirefleet rebuild. */
.fs-cookie-launcher[hidden] { display:none !important; }
.fs-cookie-launcher { position:fixed; z-index:9100; left:16px; bottom:max(16px,env(safe-area-inset-bottom)); min-height:44px; padding:11px 16px; border:1px solid #d9f57466; border-radius:6px; background:#0c2620; color:#d9f574; box-shadow:0 6px 24px #0c262026; font:600 12px/1.4 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; cursor:pointer; }
.fs-cookie-launcher:hover { border-color:#d9f574; }
.fs-cookie-launcher:focus-visible { outline:3px solid #527e22; outline-offset:4px; }
.fs-consent-panel { position:fixed; z-index:9200; left:clamp(16px,4vw,54px); right:clamp(16px,4vw,54px); bottom:max(20px,env(safe-area-inset-bottom)); width:auto; max-width:1320px; max-height:calc(100dvh - 40px); margin:0 auto; padding:26px 30px; display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,390px); align-items:center; gap:32px; overflow:auto; overscroll-behavior:contain; border:1px solid #d9f57433; border-top:3px solid #d9f574; border-radius:10px; background:#0c2620; color:#f6f6ef; box-shadow:0 18px 55px #0c262038; font:14px/1.6 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.fs-consent-panel .fs-consent-eyebrow { color:#d9f574; font-size:10px; font-weight:600; letter-spacing:.14em; margin:0 0 8px; }
.fs-consent-panel h2 { font-family:inherit; font-size:25px; font-weight:550; letter-spacing:-.035em; margin:0 0 12px; line-height:1.15; }
.fs-consent-panel h2:focus { outline:none; }
.fs-consent-panel p { color:#d6e0da; margin:0 0 10px; max-width:78ch; }
.fs-consent-panel .fs-consent-links { display:flex; gap:20px; flex-wrap:wrap; font-size:12px; margin:12px 0; }
.fs-consent-panel a { color:#f6f6ef; }
.fs-consent-panel .fs-consent-note { font-size:11px; color:#bbc9c0; margin:12px 0 0; }
.fs-consent-panel .fs-consent-actions { display:flex; flex-wrap:wrap; gap:10px; margin:0; }
.fs-consent-panel .fs-consent-actions button { flex:1 1 140px; min-height:46px; padding:12px 15px; border:1px solid #f6f6ef; border-radius:5px; background:#f6f6ef; color:#0c2620; font:600 13px/1.4 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.fs-consent-panel .fs-consent-actions button:hover { background:#d9f574; border-color:#d9f574; color:#0c2620; }
.fs-consent-panel .fs-consent-actions [data-fs-customise],.fs-consent-panel .fs-consent-actions [data-fs-close] { background:transparent; color:#f6f6ef; border-color:#8b9e94; }
.fs-consent-panel button:focus-visible,.fs-consent-panel a:focus-visible,.fs-consent-panel input:focus-visible { outline:3px solid #d9f574; outline-offset:4px; }
.fs-consent-categories { border-top:1px solid #ffffff33; margin-top:18px; }
.fs-consent-category { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:15px 0; border-bottom:1px solid #ffffff33; }
.fs-consent-category strong { display:block; font-size:14px; font-weight:600; margin:0 0 4px; }
.fs-consent-category p,.fs-consent-detail { display:block; margin:0; color:#d6e0da; font-size:12px; line-height:1.6; }
.fs-consent-required { color:#d9f574; font-size:11px; white-space:nowrap; }
label.fs-consent-category { cursor:pointer; }
.fs-consent-category input { width:24px; height:24px; flex:0 0 24px; accent-color:#d9f574; cursor:pointer; }
.fs-consent-panel #fs-consent-status:not(:empty) { color:#fff; margin:14px 0 0; }
@media(max-width:1000px) { .fs-consent-panel { grid-template-columns:1fr; gap:20px; } .fs-consent-panel .fs-consent-actions { max-width:600px; } }
@media(max-width:560px) { .fs-consent-panel { left:12px; right:12px; bottom:max(12px,env(safe-area-inset-bottom)); padding:20px; max-height:calc(100dvh - 24px); gap:18px; font-size:13px; } .fs-consent-panel h2 { font-size:23px; } .fs-consent-panel .fs-consent-actions { display:grid; grid-template-columns:1fr 1fr; } .fs-consent-panel .fs-consent-actions [data-fs-customise],.fs-consent-panel .fs-consent-actions [data-fs-save],.fs-consent-panel .fs-consent-actions [data-fs-close],.fs-consent-panel .fs-consent-actions [data-fs-continue] { grid-column:1/-1; } .fs-cookie-launcher { left:12px; bottom:max(12px,env(safe-area-inset-bottom)); } }
