/* Cookie banner (js/consent.js). Same palette as the site; equal weight for accept and reject. */
.cc-banner { position: fixed; left: 50%; bottom: 1rem; transform: translateX(-50%); z-index: 2147483100; width: min(40rem, calc(100% - 1.5rem));
  box-sizing: border-box; padding: 1.25rem 1.4rem; background: #fcfaf5; color: #1c1a16; border: 1px solid #e2dccd; border-radius: 16px;
  box-shadow: 0 10px 40px rgba(22, 20, 15, 0.22); font-family: "Poppins", "Segoe UI", system-ui, sans-serif; font-size: 0.95rem; line-height: 1.5;
  max-height: calc(100dvh - 2rem); overflow-y: auto; }
.cc-banner h2 { margin: 0 0 0.4rem; font-size: 1.15rem; font-weight: 400; }
.cc-text { margin: 0.2rem 0 0.6rem; color: #4a463f; }
.cc-links { margin: 0 0 0.9rem; font-size: 0.9rem; }
.cc-links a { color: #34504a; }
.cc-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; }
.cc-btn { min-height: 44px; padding: 0 1.2rem; font: inherit; border-radius: 999px; cursor: pointer; }
.cc-btn--eq { flex: 1 1 8rem; background: #34504a; color: #fff; border: 1px solid #34504a; }
.cc-btn--eq:hover { background: #284
.cc-btn--link { background: transparent; color: #34504a; border: 0; text-decoration: underline; }
.cc-btn:focus-visible, .cc-links a:focus-visible, .cc-switch input:focus-visible { outline: 3px solid #b3925f; outline-offset: 2px; }
.cc-row { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; padding: 0.7rem 0; border-top: 1px solid #e2dccd; }
.cc-row .cc-text { margin-bottom: 0; }
.cc-fixed { white-space: nowrap; color: #4a463f; font-size: 0.85rem; padding-top: 0.2rem; }
.cc-switch { position: relative; flex: none; width: 52px; height: 32px; }
.cc-switch input { appearance: none; -webkit-appearance: none; width: 52px; height: 32px; margin: 0; border-radius: 999px; background: #8f8a7e; cursor: pointer; transition: background 0.2s; }
.cc-switch input::after { content: ""; position: absolute; top: 4px; left: 4px; width: 24px; height: 24px; border-radius: 50%; background: #fff; transition: transform 0.2s; }
.cc-switch input:checked { background: #34504a; }
.cc-switch input:checked::after { transform: translateX(20px); }
.cc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.footer-links .cc-open { background: none; border: 0; padding: 0; font-family: inherit; color: inherit; line-height: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; text-align: right; }
.footer-links .cc-open:hover { color: var(--forest); }
@media (prefers-reduced-motion: reduce) { .cc-switch input, .cc-switch input::after { transition: none; } }
@media (max-width: 640px) { .cc-banner { bottom: 0.5rem; padding: 1rem; } .cc-btn--eq { flex-basis: 100%; } }
.cookie-table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: 0.9rem; }
.cookie-table th, .cookie-table td { text-align: left; vertical-align: top; padding: 0.6rem; border-bottom: 1px solid #e2dccd; }
@media (max-width: 640px) { .cookie-table, .cookie-table tbody, .cookie-table tr, .cookie-table td { display: block; } .cookie-table thead { display: none; } .cookie-table tr { margin-bottom: 0.8rem; border-bottom: 1px solid #e2dccd; } .cookie-table td { border: 0; padding: 0.2rem 0; } }
