.fl-consent[hidden], .fl-consent-backdrop[hidden], .fl-consent-reopen[hidden], .fl-consent-settings[hidden], .fl-consent-save[hidden] { display:none !important; }
.fl-consent-backdrop { position:fixed; inset:0; z-index:9998; background:rgba(25,25,25,.42); }
.fl-consent { position:fixed; z-index:9999; left:50%; bottom:22px; transform:translateX(-50%); width:min(920px, calc(100vw - 28px)); max-height:calc(100vh - 44px); overflow:auto; color:#404040; background:#F9F6F1; border:1px solid #E7E1D8; border-radius:18px; box-shadow:0 18px 60px rgba(0,0,0,.22); font-family:Arial,Helvetica,sans-serif; }
.fl-consent-inner { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:24px; padding:28px; }
.fl-consent-eyebrow { margin:0 0 6px; color:#B48B46; text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:700; }
.fl-consent h2 { margin:0 0 8px; color:#404040; font:500 30px/1.15 Georgia,"Times New Roman",serif; }
.fl-consent p { margin:0 0 10px; font-size:14px; line-height:1.6; }
.fl-consent a { color:#66502b; font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.fl-consent-actions { display:flex; flex-direction:column; gap:8px; justify-content:center; }
.fl-consent-button { min-height:42px; border:1px solid #CFC5B5; border-radius:7px; background:#fff; color:#404040; padding:10px 13px; font:500 13px Arial,Helvetica,sans-serif; cursor:pointer; }
.fl-consent-primary { color:#fff; background:#404040; border-color:#404040; }
.fl-consent-button:hover { border-color:#B48B46; }
.fl-consent-settings { margin-top:16px; padding-top:12px; border-top:1px solid #E7E1D8; }
.fl-consent-option { display:flex; align-items:flex-start; gap:10px; margin:10px 0; font-size:13px; }
.fl-consent-option input { margin-top:3px; accent-color:#B48B46; }
.fl-consent-option span { display:flex; flex-direction:column; gap:3px; }
.fl-consent-option small { color:#6F6F6F; line-height:1.4; }
.fl-consent-reopen { position:fixed; z-index:9997; left:12px; bottom:12px; border:1px solid #D7CDBE; border-radius:7px; padding:8px 11px; background:#F9F6F1; color:#404040; font:12px Arial,Helvetica,sans-serif; box-shadow:0 3px 14px rgba(0,0,0,.1); cursor:pointer; }
@media (max-width:640px) { .fl-consent { bottom:8px; width:calc(100vw - 16px); max-height:calc(100vh - 16px); } .fl-consent-inner { grid-template-columns:1fr; gap:16px; padding:20px; } .fl-consent-actions { display:grid; grid-template-columns:1fr 1fr; } .fl-consent-primary { grid-column:1/-1; } .fl-consent h2 { font-size:27px; } }
