/* Cookie notice for CodePaws. Uses its own namespaced classes. */
.cp-cookie-notice {
  box-sizing: border-box;
  position: fixed;
  z-index: 2147483640;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  left: 50%;
  width: min(880px, calc(100vw - 36px));
  transform: translateX(-50%);
  border: 1px solid rgba(163, 181, 227, .26);
  border-radius: 20px;
  background: rgba(17, 24, 43, .97);
  color: #f1f5ff;
  box-shadow: 0 20px 70px rgba(0, 0, 0, .50), 0 0 24px rgba(100, 120, 255, .10);
  font-family: inherit;
  -webkit-font-smoothing: antialiased;
}
.cp-cookie-notice *, .cp-cookie-notice *::before, .cp-cookie-notice *::after { box-sizing: border-box; }
.cp-cookie-inner { display: flex; align-items: center; gap: 18px; padding: 20px 23px; }
.cp-cookie-symbol { font-size: 29px; flex: 0 0 auto; line-height: 1; align-self: flex-start; margin-top: 4px; }
.cp-cookie-copy { flex: 1 1 auto; min-width: 0; }
.cp-cookie-copy strong { display: block; font-size: 17px; line-height: 1.35; font-weight: 700; letter-spacing: -.02em; }
.cp-cookie-copy p { margin: 5px 0 0; font-size: 13px; line-height: 1.6; color: #bdc8de; }
.cp-cookie-copy a { color: #c6bcff; text-decoration: underline; text-underline-offset: 3px; }
.cp-cookie-copy a:hover, .cp-cookie-copy a:focus-visible { color: #fff; }
.cp-cookie-actions { display: flex; gap: 9px; align-items: center; flex: 0 0 auto; }
.cp-cookie-btn { font: inherit; font-size: 13px; font-weight: 650; line-height: 1.3; padding: 12px 16px; border-radius: 11px; border: 1px solid transparent; cursor: pointer; white-space: nowrap; transition: filter .2s ease, border-color .2s ease; }
.cp-cookie-btn:hover { filter: brightness(1.14); }
.cp-cookie-btn:focus-visible, .cookie-preferences:focus-visible { outline: 2px solid #ccbaff; outline-offset: 3px; }
.cp-cookie-deny { background: rgba(255, 255, 255, .07); border-color: rgba(206, 218, 245, .22); color: #eff2ff; }
.cp-cookie-accept { color: #fff; background: linear-gradient(115deg, #6f65e8, #9863c8); }
/* Footer settings action remains available after the initial notice is dismissed. */
.cookie-preferences { font: inherit; font-size: inherit; color: inherit; background: transparent; border: 0; cursor: pointer; padding: 0; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(152, 162, 183, .45); }
.cookie-preferences:hover { color: #f7f9ff; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; margin-top: 26px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.07); color: #98a2b7; font-size: 12px; line-height: 1.6; }
.footer-legal a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(152,162,183,.45); }
.footer-legal a:hover { color: #f7f9ff; }
@media (max-width: 760px) {
  .cp-cookie-notice { width: calc(100vw - 20px); bottom: calc(10px + env(safe-area-inset-bottom, 0px)); border-radius: 16px; }
  .cp-cookie-inner { padding: 17px; flex-wrap: wrap; gap: 10px; }
  .cp-cookie-symbol { font-size: 24px; }
  .cp-cookie-copy { flex-basis: calc(100% - 38px); }
  .cp-cookie-copy strong { font-size: 16px; }
  .cp-cookie-actions { flex: 1 0 100%; display: grid; grid-template-columns: 1fr 1fr; margin-top: 4px; }
  .cp-cookie-btn { padding: 12px 9px; }
}
@media (max-width: 360px) {
  .cp-cookie-actions { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .cp-cookie-btn { transition: none; }
}
