#focus-consent, #focus-consent *, #focus-open, #focus-status { box-sizing:border-box; font-family:Arial,Helvetica,sans-serif; }
#focus-consent[hidden], #focus-consent [hidden], #focus-open[hidden] { display:none!important; }
#focus-consent { position:fixed; z-index:1000001; left:20px; bottom:20px; width:380px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 40px); overflow:auto; padding:24px; background:#091b2b; color:#fff; border:1px solid #c5a05a; border-radius:14px; box-shadow:0 16px 45px #091b2b40; font-size:14px; line-height:1.5; }
#focus-consent .focus-brand { color:#ead9b4; font-weight:700; font-size:11px; letter-spacing:2px; margin:0 0 12px; }
#focus-consent h2 { color:#fff; font-size:23px; line-height:1.2; letter-spacing:-.5px; padding:0; margin:0 0 12px; }
#focus-consent p { margin:0 0 14px; }
#focus-consent .focus-copy { color:#dce3e8; }
#focus-consent a { color:#ead9b4; text-decoration:underline; text-underline-offset:3px; }
#focus-consent .focus-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
#focus-consent button, #focus-open { appearance:none; cursor:pointer; min-height:44px; border-radius:6px; padding:10px 12px; font:700 14px/1.3 Arial,Helvetica,sans-serif; letter-spacing:0; text-transform:none; }
#focus-consent .focus-primary { border:1px solid #c5a05a; color:#091b2b; background:#c5a05a; }
#focus-consent .focus-secondary { border:1px solid #7990a1; color:#fff; background:transparent; }
#focus-consent .focus-wide { grid-column:1/-1; width:100%; }
#focus-consent .focus-actions button:hover { filter:brightness(1.12); }
#focus-consent :focus-visible, #focus-open:focus-visible { outline:3px solid #fff; outline-offset:3px; box-shadow:0 0 0 5px #091b2b; }
#focus-consent #focus-preferences { margin:16px 0 0; border-top:1px solid #486071; padding:12px 0 0; }
#focus-consent label { display:grid; grid-template-columns:24px 1fr; column-gap:8px; align-items:start; padding:10px 0; cursor:pointer; }
#focus-consent input { width:20px; height:20px; margin:2px 0 0; accent-color:#c5a05a; }
#focus-consent small { display:block; color:#dce3e8; font-size:13px; line-height:1.45; margin-top:4px; }
#focus-consent .focus-essential { color:#dce3e8; font-size:13px; }
#focus-consent .focus-links { margin:14px 0 0; font-size:12px; }
#focus-consent #focus-close, #focus-consent #focus-withdraw { margin-top:8px; }
#focus-open { position:fixed; z-index:1000000; bottom:16px; left:16px; background:#091b2b; color:#ead9b4; border:1px solid #c5a05a; }
#focus-status { position:fixed; left:16px; bottom:72px; max-width:min(380px,calc(100vw - 32px)); background:#fff; color:#091b2b; font-size:13px; line-height:1.5; border-radius:6px; box-shadow:0 4px 20px #091b2b20; }
#focus-status:not(:empty) { padding:8px 12px; }
@media(max-width:480px) { #focus-consent { left:12px; bottom:max(12px,env(safe-area-inset-bottom)); max-width:calc(100vw - 24px); max-height:70dvh; padding:18px; } }
@media(max-height:500px) { #focus-consent { bottom:8px; max-height:calc(100dvh - 16px); } }
