/* Techspire cookie banner */
.cookie-banner-center {
  position: fixed;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%) translateY(120%);
  width: calc(100% - 4rem);
  max-width: 520px;
  background: rgba(248, 253, 255, 0.96);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  color: #001F3F;
  border-radius: 1.5rem;
  box-shadow: 0 24px 70px rgba(0, 31, 63, 0.22);
  padding: 1.5rem;
  z-index: 99999;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  border: 1px solid rgba(0, 194, 203, 0.2);
  transition: transform 0.35s ease, opacity 0.35s ease;
  opacity: 0;
}
.cookie-banner-center::backdrop { background: rgba(0, 31, 63, 0.22); }
.cookie-banner-center.show { transform: translateX(-50%) translateY(0); opacity: 1; }
.cookie-banner-center[open] { display: block; }
.cookie-title { font-size: 1.25rem; font-weight: 800; margin: 0 0 0.65rem; color: #001F3F; }
.cookie-text { color: rgba(0, 31, 63, 0.78); margin: 0 0 1.25rem; }
.cookie-text a { color: #00A9B4; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.cookie-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; }
.cookie-btn { padding: 0.9rem 1rem; border-radius: 999px; font-weight: 800; font-size: 14px; cursor: pointer; transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease; border: 0; }
.cookie-btn:hover { transform: translateY(-1px); }
.cookie-btn.accept { background: linear-gradient(135deg, #001F3F 0%, #00C2CB 55%, #FF6F61 100%); color: #fff; box-shadow: 0 12px 28px rgba(0, 194, 203, 0.25); }
.cookie-btn.reject { background: #fff; color: #001F3F; border: 1px solid rgba(0, 31, 63, 0.12); }
.cookie-btn.manage { grid-column: span 2; background: rgba(0, 194, 203, 0.10); color: #006B78; }
.cookie-header { display: flex; align-items: center; gap: 0.75rem; }
.cookie-settings-panel { margin-top: 0.25rem; }
.cookie-toggle-item { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(0, 31, 63, 0.10); }
.toggle-title { font-weight: 800; color: #001F3F; }
.toggle-desc { font-size: 0.875rem; color: rgba(0, 31, 63, 0.65); margin-top: 0.2rem; }
.toggle-switch { position: relative; display: inline-block; width: 50px; height: 28px; flex: 0 0 auto; }
.toggle-switch input { opacity: 0; width: 0; height: 0; }
.slider { position: absolute; cursor: pointer; inset: 0; background: #d8e8ed; transition: 0.25s; border-radius: 999px; }
.slider:before { position: absolute; content: ""; height: 22px; width: 22px; left: 3px; bottom: 3px; background: #fff; transition: 0.25s; border-radius: 50%; box-shadow: 0 2px 7px rgba(0, 31, 63, 0.18); }
input:checked + .slider { background: #00C2CB; }
input:checked + .slider:before { transform: translateX(22px); }
.cookie-back-btn { width: 36px; height: 36px; border-radius: 999px; background: rgba(0, 194, 203, 0.12); border: 0; color: #001F3F; font-size: 22px; cursor: pointer; line-height: 1; }
.cookie-icon { position: fixed; bottom: 2rem; left: 2rem; width: 54px; height: 54px; background: #F8FDFF; color: #001F3F; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 14px 35px rgba(0, 31, 63, 0.2); transition: transform 0.25s ease, opacity 0.25s ease; opacity: 0; pointer-events: none; z-index: 99998; font-size: 26px; border: 1px solid rgba(0, 194, 203, 0.2); }
.cookie-icon.show { opacity: 1; pointer-events: auto; }
.cookie-icon:hover { transform: scale(1.07); }
@media (max-width: 520px) {
  .cookie-banner-center { bottom: 1rem; left: 1rem; right: 1rem; width: auto; max-width: none; transform: translateY(120%); padding: 1.15rem; }
  .cookie-banner-center.show { transform: translateY(0); }
  .cookie-buttons { grid-template-columns: 1fr; }
  .cookie-btn.manage { grid-column: span 1; }
  .cookie-icon { left: 1rem; bottom: 1rem; }
}
