.cookie-modal, .cookie-modal * { box-sizing: border-box; }
.cookie-modal {
    position: fixed;
    inset: auto auto 24px 24px;
    z-index: 100120;
    width: min(480px, calc(100% - 48px));
    max-width: none;
    max-height: calc(100dvh - 48px);
    margin: 0;
    padding: 24px;
    overflow: auto;
    border: 1px solid #e1e5e9;
    border-radius: 14px;
    background: #fff;
    color: #18212b;
    box-shadow: 0 12px 50px #18212b26;
    font: 400 14px/1.5 Arial, sans-serif;
}
.cookie-modal[open] { animation: cookie-appear .28s ease-out; }
.cookie-heading { display: flex; align-items: center; gap: 12px; }
.cookie-modal .cookie-heading h2 { margin: 0; color: #18212b; font: 700 19px/1.3 Arial, sans-serif; }
.cookie-icon { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 10px; background: #fed204; }
.cookie-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cookie-modal #cookie-description { margin: 16px 0 12px; color: #4f5b66; font: inherit; text-align: left; }
.cookie-policy { color: #18212b; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.cookie-modal .cookie-status { margin: 12px 0 0; color: #626d76; font-size: 12px; text-align: left; }
.cookie-status:empty { display: none; }
.cookie-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
.cookie-modal .cookie-button { min-height: 44px; padding: 11px 10px; border: 1px solid #fed204; border-radius: 7px; background: #fed204; color: #18212b; font: 700 12px/1.4 Arial, sans-serif; cursor: pointer; transition: background .2s ease; }
.cookie-modal .cookie-button--secondary { border-color: #cbd2d9; background: #fff; }
.cookie-modal .cookie-button:hover { background: #ffe36b; }
.cookie-modal .cookie-button--secondary:hover { background: #f2f4f6; }
.cookie-close { display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 28px; margin-left: auto; padding: 3px; border: 0; background: #f2f4f6; border-radius: 50%; color: #18212b; cursor: pointer; }
.cookie-close[hidden] { display: none; }
.cookie-close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.cookie-modal button:focus-visible, .cookie-modal a:focus-visible { outline: 2px solid #a67e00; outline-offset: 3px; }
.cookie-settings { display: inline-block; margin: 10px 12px 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.footer .cookie-settings { color: #fff; font-size: 13px; }
@keyframes cookie-appear { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 479.98px) {
    .cookie-modal { inset: auto auto 12px 12px; width: calc(100% - 24px); max-height: calc(100dvh - 24px); padding: 20px; }
    .cookie-modal .cookie-heading h2 { font-size: 17px; }
    .cookie-actions { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .cookie-modal[open] { animation: none; } .cookie-modal .cookie-button { transition: none; } }
