.consent-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:#fff;border-top:1px solid #d1d5db;box-shadow:0 -4px 24px rgba(0,0,0,0.1);padding:16px 20px;font-family:-apple-system,BlinkMacSystemFont,"DM Sans",Segoe UI,Roboto,sans-serif;font-size:0.9rem;color:#1e2a2a;display:none}
.consent-banner.show{display:block}
.consent-banner__inner{max-width:1100px;margin:0 auto;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.consent-banner__text{flex:1 1 60%;min-width:280px;line-height:1.55}
.consent-banner__text strong{display:block;margin-bottom:4px;font-size:0.95rem}
.consent-banner__text a{color:#0a5c4f;text-decoration:underline}
.consent-banner__actions{display:flex;gap:8px;flex-wrap:wrap}
.consent-banner__btn{padding:9px 16px;border-radius:6px;border:1px solid transparent;font-weight:600;font-size:0.88rem;cursor:pointer;font-family:inherit;transition:background 0.15s}
.consent-banner__btn--primary{background:#0a5c4f;color:#fff}
.consent-banner__btn--primary:hover{background:#074236}
.consent-banner__btn--secondary{background:#fff;color:#0a5c4f;border-color:#0a5c4f}
.consent-banner__btn--secondary:hover{background:#f0f4f3}
.consent-banner__btn--ghost{background:transparent;color:#4a5858;border-color:#d1d5db}
.consent-banner__btn--ghost:hover{background:#f7f8f9}
.consent-modal{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,0.4);display:none;align-items:center;justify-content:center;padding:16px}
.consent-modal.show{display:flex}
.consent-modal__inner{background:#fff;max-width:520px;width:100%;border-radius:10px;padding:24px;max-height:90vh;overflow-y:auto;font-family:inherit;color:#1e2a2a}
.consent-modal h2{margin:0 0 10px;font-size:1.2rem}
.consent-modal p{font-size:0.9rem;line-height:1.55;color:#4a5858;margin:0 0 14px}
.consent-modal__row{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 0;border-top:1px solid #e5e7eb;gap:12px}
.consent-modal__row:first-of-type{border-top:0}
.consent-modal__row h3{margin:0 0 4px;font-size:0.95rem}
.consent-modal__row p{margin:0;font-size:0.83rem}
.consent-modal__toggle{flex-shrink:0}
.consent-modal__toggle input{width:20px;height:20px;cursor:pointer}
.consent-modal__footer{display:flex;gap:8px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}