body.modal-open{overflow:hidden}
.cookie-consent-root{position:fixed;inset:auto 0 0;z-index:9999;pointer-events:none}
.cookie-banner,.cookie-modal-backdrop{pointer-events:auto}
.cookie-banner{width:min(1120px,calc(100% - 24px));margin:0 auto 18px;padding:18px 20px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:linear-gradient(145deg,rgba(36,27,34,.98),rgba(49,34,42,.98));box-shadow:0 24px 48px rgba(19,12,16,.34);color:#fff}
.cookie-banner[hidden]{display:none}
.cookie-banner__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end}
.cookie-banner__copy h2{font-family:"Cormorant Garamond",serif;font-size:clamp(1.55rem,2.5vw,2.2rem);line-height:1.03;margin:0 0 8px}
.cookie-banner__copy p{margin:0;color:rgba(255,255,255,.82);max-width:60ch;line-height:1.7}
.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-items:center}
.cookie-banner .btn,.cookie-modal .btn,.consent-embed .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:999px;border:1px solid transparent;text-decoration:none;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;transition:.2s;cursor:pointer;font-family:"Manrope",sans-serif}
.cookie-banner .btn:hover,.cookie-modal .btn:hover,.consent-embed .btn:hover{transform:translateY(-1px)}
.cookie-banner .btn-primary,.cookie-modal .btn-primary,.consent-embed .btn-primary{background:#d64779;border-color:#d64779;color:#fff}
.cookie-banner .btn-primary:hover,.cookie-modal .btn-primary:hover,.consent-embed .btn-primary:hover{background:#af2c56;border-color:#af2c56}
.cookie-banner .btn-ghost,.cookie-modal .btn-ghost,.consent-embed .btn-ghost{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.04);color:#fff}
.cookie-banner .btn-ghost:hover,.cookie-modal .btn-ghost:hover,.consent-embed .btn-ghost:hover{border-color:rgba(214,71,121,.7);background:rgba(255,255,255,.08)}
.cookie-banner a,.cookie-modal a,.consent-embed a{color:inherit}
.cookie-modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:rgba(19,12,16,.52);backdrop-filter:blur(8px)}
.cookie-modal-backdrop[hidden]{display:none}
.cookie-modal{width:min(760px,calc(100% - 24px));max-height:min(88vh,900px);overflow:auto;padding:26px;border:1px solid #e0d1d8;border-radius:26px;background:linear-gradient(145deg,#fff,#f8f0f4 60%,#fff);box-shadow:0 28px 56px rgba(19,12,16,.28);color:#241b22}
.cookie-modal__top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.cookie-modal__title h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);line-height:1.02;margin:0 0 10px}
.cookie-modal__title p{margin:0;color:#5a4b53;line-height:1.75;max-width:60ch}
.cookie-close{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;border:1px solid rgba(36,27,34,.14);background:#fff;color:#241b22;cursor:pointer;font-size:1.2rem}
.cookie-close:hover,.cookie-close:focus-visible{border-color:#d64779;color:#af2c56}
.cookie-groups{display:grid;gap:14px;margin-top:18px}
.cookie-group{padding:18px 20px;border:1px solid #e1d4da;border-radius:18px;background:rgba(255,255,255,.8)}
.cookie-group__row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.cookie-group h3{font-family:"Cormorant Garamond",serif;font-size:1.65rem;line-height:1.05;margin:0 0 8px}
.cookie-group p{margin:0;color:#5a4b53;line-height:1.7}
.cookie-badge{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border-radius:999px;border:1px solid #ddc9d2;background:#f6eef2;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#8e4260;white-space:nowrap}
.cookie-toggle{display:inline-flex;align-items:center;gap:12px;margin-top:14px}
.cookie-toggle input{width:18px;height:18px;accent-color:#d64779}
.cookie-toggle label{font-size:.86rem;font-weight:700;color:#241b22}
.cookie-modal__footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;margin-top:20px;padding-top:18px;border-top:1px solid #eadfe4}
.cookie-modal__actions{display:flex;flex-wrap:wrap;gap:10px}
.cookie-modal__footer p{margin:0;color:#66555f;font-size:.9rem}
.cookie-settings-footer{background:none;border:0;padding:0;color:rgba(255,255,255,.66);cursor:pointer;font:inherit;text-decoration:none}
.cookie-settings-footer:hover,.cookie-settings-footer:focus-visible{color:#f2b2c8;text-decoration:underline}
.consent-embed{width:100%;min-height:340px;border-radius:14px;border:1px solid rgba(31,26,29,.14);background:linear-gradient(145deg,#f7edf2,#fefafc);display:grid;place-items:center;overflow:hidden}
.consent-embed__inner{width:min(100% - 28px,520px);padding:26px 20px;text-align:center}
.consent-embed__label{display:inline-flex;gap:8px;align-items:center;margin-bottom:12px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:#af2c56}
.consent-embed__label:after{content:"";width:24px;height:1px;background:currentColor;opacity:.6}
.consent-embed h4{font-family:"Cormorant Garamond",serif;font-size:2rem;line-height:1.05;margin:0 0 10px;color:#241b22}
.consent-embed p{margin:0 0 16px;color:#5f5158;line-height:1.7}
.consent-embed__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.consent-embed iframe{width:100%;height:340px;border:0;border-radius:14px;display:block}
.consent-embed--loaded{padding:0;background:#fff}
.consent-embed--loaded .consent-embed__inner{display:none}
.cookie-banner :focus-visible,.cookie-modal :focus-visible,.consent-embed :focus-visible{outline:none;box-shadow:0 0 0 3px rgba(214,71,121,.28)}
@media (max-width:760px){.cookie-banner{width:calc(100% - 16px);margin-bottom:10px;padding:16px}.cookie-banner__grid{grid-template-columns:1fr}.cookie-banner__actions{justify-content:flex-start}.cookie-modal{padding:20px}.cookie-modal__top{gap:12px}.cookie-group__row{flex-direction:column}.cookie-modal__footer{flex-direction:column;align-items:flex-start}.cookie-modal__actions{width:100%}.cookie-modal__actions .btn{flex:1}.consent-embed{min-height:280px}.consent-embed iframe{height:280px}}
