.consent-manager { position: relative; z-index: 9999; }
.consent-banner { position: fixed; inset: auto 20px 20px; margin: auto; max-width: 1180px; padding: 24px; display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center; color: #f7f1e5; background: #131827; border: 1px solid rgba(205,174,103,.45); border-radius: 18px; box-shadow: 0 20px 70px rgba(0,0,0,.42); }
.consent-banner[hidden], .consent-panel[hidden] { display: none; }
.consent-banner h2, .consent-panel h2, .consent-option h3 { margin: 0; color: #fff; }
.consent-banner h2 { font: 600 1.45rem/1.2 "Playfair Display", Georgia, serif; }
.consent-banner p { margin: 8px 0 0; max-width: 760px; color: #c7c9d1; line-height: 1.55; }
.consent-banner a, .consent-panel a { color: #e0bd6c; }
.consent-kicker { margin: 0 0 5px !important; color: #d6b66c !important; font-size: .72rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.consent-banner__actions { display: grid; grid-template-columns: repeat(3, minmax(120px,1fr)); gap: 10px; }
.consent-btn { min-height: 44px; padding: 10px 16px; color: #fff; background: transparent; border: 1px solid #d6b66c; border-radius: 999px; font: 600 .88rem/1.2 Inter,Arial,sans-serif; cursor: pointer; }
.consent-btn:hover, .consent-btn:focus-visible { color: #15100a; background: #d6b66c; outline: none; }
.consent-panel { position: fixed; inset: 0; padding: 20px; display: grid; place-items: center; background: rgba(3,5,10,.75); }
.consent-panel__card { position: relative; width: min(640px,100%); max-height: calc(100vh - 40px); overflow: auto; padding: 30px; color: #c7c9d1; background: #131827; border: 1px solid rgba(205,174,103,.45); border-radius: 20px; box-shadow: 0 24px 80px rgba(0,0,0,.55); }
.consent-close { position: absolute; top: 14px; right: 16px; width: 38px; height: 38px; color: #fff; background: transparent; border: 1px solid #555d70; border-radius: 50%; font-size: 1.5rem; cursor: pointer; }
.consent-option { position: relative; margin-top: 18px; padding: 18px; display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: center; border: 1px solid #363d50; border-radius: 14px; }
.consent-option p { margin: 6px 0 0; font-size: .9rem; line-height: 1.45; }
.consent-always { color: #d6b66c; font-size: .78rem; font-weight: 700; text-transform: uppercase; }
.consent-option input { position: absolute; opacity: 0; pointer-events: none; }
.consent-switch { width: 48px; height: 26px; padding: 3px; background: #555d70; border-radius: 999px; transition: background .2s; }
.consent-switch::after { content: ""; display: block; width: 20px; height: 20px; background: #fff; border-radius: 50%; transition: transform .2s; }
.consent-option input:checked + .consent-switch { background: #a9863c; }
.consent-option input:checked + .consent-switch::after { transform: translateX(22px); }
.consent-option input:focus-visible + .consent-switch { outline: 2px solid #fff; outline-offset: 3px; }
.consent-panel__links { margin: 20px 0; display: flex; gap: 20px; }
.consent-panel__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cookie-settings-link { padding: 0; color: inherit; background: none; border: 0; font: inherit; text-decoration: underline; cursor: pointer; }
@media (max-width: 800px) { .consent-banner { grid-template-columns: 1fr; inset: auto 10px 10px; padding: 20px; } .consent-banner__actions { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .consent-panel__card { padding: 24px 18px; } .consent-panel__actions { grid-template-columns: 1fr; } }
