/* Cookie consent banner */
#cc-banner {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 9999;
  animation: cc-in 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes cc-in {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: none; }
}
#cc-banner .cc-box {
  max-width: 920px;
  margin: 0 auto;
  background: #ffffff;
  border: 1px solid rgba(27, 43, 75, 0.12);
  border-radius: 18px;
  box-shadow: 0 24px 60px -20px rgba(0,0,0,0.35), 0 4px 12px -4px rgba(0,0,0,0.08);
  padding: 22px 26px;
  font-family: 'DM Sans', system-ui, sans-serif;
  color: #1d1d1f;
}
#cc-banner h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.15rem;
  font-weight: 600;
  margin: 0 0 6px 0;
}
#cc-banner p {
  font-size: 0.9rem;
  line-height: 1.55;
  color: #4a4a4f;
  margin: 0;
}
#cc-banner a { color: #C45A3C; text-decoration: underline; }
#cc-banner .cc-prefs {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #eee;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#cc-banner .cc-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 0.85rem;
  cursor: pointer;
  line-height: 1.5;
}
#cc-banner .cc-row input[type="checkbox"] {
  margin-top: 3px;
  width: 16px; height: 16px;
  accent-color: #C45A3C;
}
#cc-banner .cc-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
  justify-content: flex-end;
}
#cc-banner .cc-btn {
  padding: 9px 18px;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 500;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: inherit;
}
#cc-banner .cc-btn-ghost {
  background: transparent; color: #1d1d1f; border-color: #d9d9dc;
}
#cc-banner .cc-btn-ghost:hover { background: #f6f6f7; }
#cc-banner .cc-btn-reject {
  background: #ffffff; color: #1d1d1f; border-color: #d9d9dc;
}
#cc-banner .cc-btn-reject:hover { background: #f6f6f7; }
#cc-banner .cc-btn-accept,
#cc-banner .cc-btn-save {
  background: #C45A3C; color: #ffffff;
}
#cc-banner .cc-btn-accept:hover,
#cc-banner .cc-btn-save:hover { background: #A84832; }

@media (max-width: 640px) {
  #cc-banner .cc-box { padding: 18px 18px; border-radius: 14px; }
  #cc-banner .cc-actions { justify-content: stretch; }
  #cc-banner .cc-btn { flex: 1 1 calc(50% - 5px); }
}
