:root {
    --cookie-bg: rgba(255, 255, 255, 0.97);
    --cookie-text: #292522;
    --cookie-accent: #75523b;
    --cookie-border: #dfd5ca;
}

.cookie-consent,
.cookie-settings { display: none; position: fixed; z-index: 9999; }
.cookie-consent { bottom: 0; left: 0; right: 0; padding: 12px; }
.cookie-consent.is-visible { display: block; }
.cookie-consent__content,
.cookie-settings__panel {
    background: var(--cookie-bg);
    border: 1px solid var(--cookie-border);
    border-radius: 12px;
    box-shadow: 0 16px 40px rgba(41, 37, 34, .18);
    color: var(--cookie-text);
    margin: auto;
    padding: 20px;
}
.cookie-consent__content { display: grid; gap: 20px; grid-template-columns: 2fr 1fr; max-width: 1080px; }
.cookie-consent__intro { font-weight: 600; margin: 0 0 8px; }
.cookie-consent__options { display: grid; gap: 8px; }
.cookie-consent__option,
.cookie-settings__row { border: 1px solid var(--cookie-border); border-radius: 8px; padding: 10px 12px; }
.cookie-consent__option p,
.cookie-settings__row p { margin: 3px 0 0; }
.cookie-consent__actions,
.cookie-settings__footer { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.cookie-btn { border: 1px solid var(--cookie-border); border-radius: 8px; cursor: pointer; font: 600 .87rem/1.4 var(--sans, Montserrat, sans-serif); padding: 10px 14px; }
.cookie-btn.primary { background: var(--cookie-accent); border-color: var(--cookie-accent); color: #fff; }
.cookie-btn.secondary,
.cookie-btn.ghost { background: transparent; color: var(--cookie-text); }
.cookie-btn.ghost { text-decoration: underline; }
.cookie-settings { align-items: center; background: rgba(0, 0, 0, .44); inset: 0; justify-content: center; padding: 14px; z-index: 10000; border: 0; margin: 0; width: 100%; height: 100%; max-width: none; max-height: none; box-sizing: border-box; }
.cookie-settings::backdrop { background: rgba(0, 0, 0, .44); }
.cookie-settings button:focus-visible,
.cookie-consent button:focus-visible,
.toggle input:focus-visible + .toggle__slider { outline: 2px solid var(--cookie-accent); outline-offset: 3px; }
.cookie-settings.is-visible { display: flex; }
.cookie-settings__panel { max-width: 680px; width: 100%; }
.cookie-settings__header,
.cookie-settings__row { align-items: center; display: flex; gap: 12px; justify-content: space-between; }
.cookie-settings__header h3 { margin: 0 0 12px; }
.cookie-settings__close { background: none; border: 0; color: var(--cookie-text); cursor: pointer; font-size: 1.7rem; }
.cookie-settings__body { display: grid; gap: 10px; margin-bottom: 16px; }
.toggle { display: inline-block; height: 30px; position: relative; width: 52px; }
.toggle input { height: 0; opacity: 0; width: 0; }
.toggle__slider { background: #d4c6b8; border-radius: 30px; cursor: pointer; inset: 0; position: absolute; }
.toggle__slider::before { background: #fff; border-radius: 50%; bottom: 3px; content: ''; height: 24px; left: 3px; position: absolute; transition: transform .2s; width: 24px; }
.toggle input:checked + .toggle__slider { background: var(--cookie-accent); }
.toggle input:checked + .toggle__slider::before { transform: translateX(22px); }
.toggle.disabled .toggle__slider { cursor: not-allowed; opacity: .5; }
.cookie-manage { background: var(--cookie-bg); border: 1px solid var(--cookie-border); border-radius: 8px; bottom: 14px; box-shadow: 0 8px 24px rgba(41, 37, 34, .15); color: var(--cookie-text); cursor: pointer; display: none; left: 14px; padding: 9px 12px; position: fixed; z-index: 9998; }
.cookie-manage.is-visible { display: inline-flex; }

@media (max-width: 650px) {
    .cookie-consent__content { grid-template-columns: 1fr; max-height: 80vh; overflow-y: auto; padding: 14px; }
    .cookie-consent__actions,
    .cookie-settings__footer { justify-content: flex-start; }
}
