[hidden] { display: none !important; }
/* ======= banner cookie ======= */
.cc { position: fixed; z-index: 200; left: 16px; bottom: 16px; width: min(440px, calc(100vw - 32px)); }
.cc[hidden] { display: none !important; }
.cc-box { position: relative; background: #fff; color: #26323f; border-radius: 18px; padding: 22px 22px 18px; box-shadow: 0 24px 60px rgba(10,16,24,.35); border: 1px solid #e3ddd3; max-height: calc(100vh - 32px); overflow: auto; }
.cc-t { font-family: 'Fraunces', serif; font-weight: 700; font-size: 20px; color: #1a2e44; padding-right: 30px; }
.cc-d { margin-top: 8px; font-size: 14px; line-height: 1.55; color: #3d4a57; }
.cc-d a { color: #b84800; font-weight: 700; }
.cc-x { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border-radius: 50%; border: none; background: #f2eee8; color: #26323f; font-size: 22px; line-height: 1; cursor: pointer; }
.cc-prefs { margin-top: 14px; display: grid; gap: 10px; }
.cc-row { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 12px 14px; border: 1px solid #e3ddd3; border-radius: 12px; cursor: pointer; }
.cc-row span { display: flex; flex-direction: column; gap: 3px; font-size: 14.5px; color: #1a2e44; }
.cc-row small { font-size: 12.5px; color: #6b6259; line-height: 1.45; }
.cc-row input { flex: none; width: 22px; height: 22px; accent-color: #d35400; }
.cc-act { margin-top: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cc-btn { font: inherit; font-weight: 700; font-size: 15px; min-height: 46px; padding: 10px 14px; border-radius: 10px; cursor: pointer; border: 2px solid #1a2e44; background: #fff; color: #1a2e44; }
.cc-btn:focus-visible, .cc-x:focus-visible { outline: 3px solid #d35400; outline-offset: 2px; }
.cc-btn.cc-main { background: #1a2e44; color: #fff; }
.cc-act #cc-custom, .cc-act #cc-save { grid-column: 1 / -1; order: 3; }
@media (max-width: 820px) {
  .cc { left: 0; right: 0; bottom: 0; width: auto; }
  .cc-box { border-radius: 20px 20px 0 0; padding: 20px 16px calc(16px + env(safe-area-inset-bottom, 0px)); max-height: 82vh; }
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .cc-box { background: #1c232c; color: #dfe3e8; border-color: #2c3542; }
  :root:not([data-theme="light"]) .cc-t, :root:not([data-theme="light"]) .cc-row span { color: #eef1f4; }
  :root:not([data-theme="light"]) .cc-d { color: #c7d0da; }
  :root:not([data-theme="light"]) .cc-d a { color: #f4a46a; }
  :root:not([data-theme="light"]) .cc-x { background: #2c3542; color: #dfe3e8; }
  :root:not([data-theme="light"]) .cc-row { border-color: #2c3542; }
  :root:not([data-theme="light"]) .cc-row small { color: #98a0a8; }
  :root:not([data-theme="light"]) .cc-btn { background: transparent; color: #eef1f4; border-color: #eef1f4; }
  :root:not([data-theme="light"]) .cc-btn.cc-main { background: #eef1f4; color: #1a2e44; border-color: #eef1f4; }
}
