/* consent.css — the cookie banner (consent.js). A frosted glass card at the foot of the
   window, in the Frost pages' language: white into ice, a white rim, navy for the
   button you want, glass for the rest. Self-contained: legal pages don't load site.css. */

.cc {
  position: fixed; left: 50%; bottom: 20px; z-index: 2147482000;
  width: min(760px, calc(100% - 32px));
  transform: translate(-50%, 24px); opacity: 0;
  transition: transform 0.5s cubic-bezier(0.16,1,0.3,1), opacity 0.4s;
  padding: 18px 18px 18px 24px; border-radius: 24px;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  color: #152230;
  background: linear-gradient(165deg, rgba(255,255,255,0.92) 0%, rgba(241,248,252,0.84) 58%, rgba(226,239,249,0.80) 100%);
  backdrop-filter: blur(24px) saturate(160%); -webkit-backdrop-filter: blur(24px) saturate(160%);
  border: 1px solid rgba(255,255,255,0.95);
  box-shadow: inset 0 1px 0 #fff, 0 18px 50px rgba(40,130,181,0.16), 0 2px 8px rgba(21,34,48,0.06);
}
.cc.cc-in { transform: translate(-50%, 0); opacity: 1; }

.cc-main { display: flex; align-items: center; gap: 20px; }
.cc-text { flex: 1; margin: 0; font-size: 14px; line-height: 1.6; color: #4F6A7D; }
.cc-text a { color: #152230; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(21,34,48,0.25); }
.cc-text a:hover { text-decoration-color: #152230; }

.cc-actions { display: flex; gap: 8px; flex-shrink: 0; }
.cc-actions[hidden] { display: none; }
.cc-btn {
  height: 42px; padding: 0 18px; border-radius: 100px; border: 0; cursor: pointer;
  font: 600 14px/1 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  white-space: nowrap; color: #152230;
  transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), box-shadow 0.35s, background 0.35s;
}
.cc-btn:hover { transform: translateY(-1px); }
.cc-btn:focus-visible { outline: 2px solid #3B9FD4; outline-offset: 2px; }
.cc-btn-plain { background: transparent; padding: 0 12px; color: #4F6A7D; }
.cc-btn-plain:hover { color: #152230; }
.cc-btn-glass {
  background: rgba(255,255,255,0.8); border: 1px solid rgba(255,255,255,0.95);
  box-shadow: inset 0 1px 0 #fff, 0 6px 18px rgba(40,130,181,0.10);
}
.cc-btn-glass:hover { background: #fff; }
.cc-btn-dark { background: #152230; color: #fff; box-shadow: 0 10px 24px rgba(21,34,48,0.18); }
.cc-btn-dark:hover { box-shadow: 0 14px 30px rgba(21,34,48,0.24); }

/* Customize: the three switches, then Save / Accept all */
.cc-more { margin-top: 14px; padding-top: 6px; border-top: 1px solid rgba(185,206,222,0.45); }
.cc-more[hidden] { display: none; }
.cc-row { display: flex; align-items: center; gap: 18px; padding: 12px 0; cursor: pointer; }
.cc-row + .cc-row { border-top: 1px solid rgba(185,206,222,0.3); }
.cc-row-text { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.cc-row-title { font-size: 14.5px; font-weight: 600; color: #152230; }
.cc-row-line { font-size: 13px; line-height: 1.5; color: #4F6A7D; }
.cc-more .cc-actions { justify-content: flex-end; margin-top: 10px; }

.cc-switch {
  appearance: none; -webkit-appearance: none; flex-shrink: 0; margin: 0; cursor: pointer;
  position: relative; width: 46px; height: 28px; border-radius: 100px;
  background: rgba(143,163,178,0.35); transition: background 0.25s;
}
.cc-switch::after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%;
  background: #fff; box-shadow: 0 2px 6px rgba(21,34,48,0.18);
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1);
}
.cc-switch:checked { background: #3B9FD4; }
.cc-switch:checked::after { transform: translateX(18px); }
.cc-switch:disabled { cursor: default; opacity: 0.55; }
.cc-switch:focus-visible { outline: 2px solid #3B9FD4; outline-offset: 2px; }

@media (max-width: 720px) {
  .cc { bottom: 12px; padding: 18px; border-radius: 22px; }
  .cc-main { flex-direction: column; align-items: stretch; gap: 14px; }
  .cc-main .cc-actions { flex-wrap: wrap; }
  .cc-main .cc-btn-glass, .cc-main .cc-btn-dark { flex: 1; }
  .cc-main .cc-btn-plain { order: 3; width: 100%; height: 36px; }
  .cc-more .cc-actions .cc-btn { flex: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .cc, .cc-btn, .cc-switch::after { transition: none; }
}
