/* Cookie controls: loaded independently so they can be added to the private WP preview. */
.cookie-banner { position: fixed; z-index: 1000; right: clamp(1rem, 3vw, 2.5rem); bottom: clamp(1rem, 3vw, 2.5rem); width: min(100% - 2rem, 44rem); padding: 1.35rem; border: 1px solid rgba(249,248,244,.3); border-radius: 14px; background: #363e35; color: #f9f8f4; box-shadow: 0 18px 45px rgba(29,27,24,.28); }
.cookie-banner[hidden] { display: none; }
.cookie-banner__title { margin: 0 0 .35rem; font-family: var(--serif, Georgia, serif); font-size: 1.55rem; font-weight: 500; line-height: 1.05; }
.cookie-banner__copy { max-width: 58ch; margin: 0; color: rgba(249,248,244,.88); font-size: .9rem; line-height: 1.55; }
.cookie-banner a, .cookie-dialog a { text-underline-offset: .2em; }
.cookie-banner__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.1rem; }
.cookie-button { min-height: 2.7rem; padding: .65rem .9rem; border: 1px solid #f9f8f4; border-radius: 0; background: transparent; color: #f9f8f4; font: 600 .72rem/1 var(--sans, system-ui, sans-serif); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.cookie-button:hover { background: rgba(249,248,244,.14); }
.cookie-button--primary { background: #e8dfff; border-color: #e8dfff; color: #30372f; }
.cookie-button--primary:hover { background: #f3edff; }
.cookie-dialog { width: min(100% - 2rem, 42rem); max-height: min(48rem, calc(100dvh - 2rem)); padding: 0; border: 0; border-radius: 14px; background: #f9f8f4; color: #30372f; box-shadow: 0 18px 55px rgba(29,27,24,.35); }
.cookie-dialog::backdrop { background: rgba(29,27,24,.58); }
.cookie-dialog__body { position: relative; padding: clamp(1.25rem, 4vw, 2.1rem); overflow: auto; }
.cookie-dialog__close { position: absolute; top: .85rem; right: .85rem; display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid rgba(48,55,47,.45); border-radius: 50%; background: transparent; color: #30372f; font: 1.7rem/1 var(--sans, system-ui, sans-serif); cursor: pointer; }
.cookie-dialog__close:hover { background: rgba(48,55,47,.08); }
.cookie-dialog h2 { margin: 0 0 .7rem; padding-right: 3.25rem; font-family: var(--serif, Georgia, serif); font-size: clamp(2rem, 5vw, 2.6rem); font-weight: 500; line-height: .95; }
.cookie-dialog p { margin: 0 0 1rem; font-size: .92rem; line-height: 1.55; }
.cookie-category { display: grid; grid-template-columns: 1fr auto; gap: .5rem 1rem; padding: 1rem 0; border-top: 1px solid rgba(48,55,47,.18); }
.cookie-category:last-of-type { border-bottom: 1px solid rgba(48,55,47,.18); }
.cookie-category strong { font-size: .98rem; }
.cookie-category p { grid-column: 1 / -1; margin: 0; color: #535b52; }
.cookie-switch { position: relative; width: 2.75rem; height: 1.55rem; align-self: center; }
.cookie-switch input { position: absolute; opacity: 0; }
.cookie-switch span { display: block; width: 100%; height: 100%; border-radius: 99px; background: #737a72; cursor: pointer; }
.cookie-switch span::after { content: ''; position: absolute; top: .2rem; left: .2rem; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: #fff; transition: transform .18s ease; }
.cookie-switch input:checked + span { background: #685777; }
.cookie-switch input:checked + span::after { transform: translateX(1.2rem); }
.cookie-switch input:disabled + span { opacity: .75; cursor: not-allowed; }
.cookie-dialog__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; margin-top: 1.3rem; }
.cookie-dialog .cookie-button { border-color: #30372f; color: #30372f; }
.cookie-dialog .cookie-button:hover { background: rgba(48,55,47,.08); }
.cookie-dialog .cookie-button--primary { background: #30372f; color: #f9f8f4; }
.cookie-dialog .cookie-button--primary:hover { background: #4a5349; }
.cookie-banner [data-cookie-reject] { background: transparent; border-color: #f9f8f4; color: #f9f8f4; }
.cookie-banner [data-cookie-reject]:hover { background: rgba(249,248,244,.14); }
.cookie-banner [data-cookie-accept] { padding-inline: 1.15rem; background: #e8dfff; border-color: #e8dfff; color: #30372f; font-weight: 700; }
.cookie-banner [data-cookie-accept]:hover { background: #f3edff; }
.cookie-dialog [data-cookie-reject], .cookie-dialog [data-cookie-save] { background: #30372f; border-color: #30372f; color: #f9f8f4; }
.cookie-dialog [data-cookie-reject]:hover, .cookie-dialog [data-cookie-save]:hover { background: #4a5349; }
.cookie-settings-link { font: inherit; color: inherit; text-decoration: underline; text-underline-offset: .25em; background: none; border: 0; padding: 0; cursor: pointer; }
@media (max-width: 520px) { .cookie-banner { left: 1rem; right: 1rem; width: auto; padding: 1.15rem; } .cookie-banner__actions { display: grid; grid-template-columns: 1fr; } .cookie-button { width: 100%; } .cookie-dialog__actions { display: grid; grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .cookie-switch span::after { transition: none; } }
