/* ATSR Cookie Consent — banner + modal. Uses child-theme design tokens. */
.atsr-cc-banner[hidden],
.atsr-cc-modal[hidden] { display: none; }

.atsr-cc-banner {
  position: fixed; left: var(--atsr-space-5, 20px); bottom: var(--atsr-space-5, 20px); right: auto;
  z-index: 99999; width: min(360px, calc(100vw - 40px));
  display: flex; flex-direction: column; gap: var(--atsr-space-4, 16px); align-items: stretch;
  padding: var(--atsr-space-5, 20px);
  background: var(--atsr-card, #fff); color: var(--atsr-card-fg, #0C0E3A);
  border: 1px solid var(--atsr-border, #E2E5EA); border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0,0,0,.16);
  font-family: var(--atsr-font-primary, sans-serif);
}
.atsr-cc-banner__text p { margin: 0 0 var(--atsr-space-2, 8px); font-size: 13.5px; line-height: 1.5; }
.atsr-cc-banner__text a { color: var(--atsr-accent, #8C52FF); text-decoration: underline; }
.atsr-cc-banner__text a:hover { text-decoration: none; }
.atsr-cc-banner__actions { display: flex; gap: var(--atsr-space-2, 8px); flex-wrap: wrap; }
.atsr-cc-banner__actions .atsr-cc-btn { flex: 1 1 auto; text-align: center; }

.atsr-cc-btn {
  font: inherit; font-size: 13px; cursor: pointer; border-radius: 8px;
  padding: var(--atsr-space-2, 8px) var(--atsr-space-4, 16px); white-space: nowrap;
  border: 1px solid var(--atsr-border, #E2E5EA); background: transparent;
  color: var(--atsr-foreground, #1A4D4D);
}
.atsr-cc-btn--ghost:hover { background: var(--atsr-muted, #F2F5F8); }
.atsr-cc-btn--primary {
  border: none; color: var(--atsr-primary-foreground, #1E4B4B); font-weight: 600;
  background: var(--atsr-gradient, linear-gradient(90deg,#23E6A5,#CDFF6E));
}

.atsr-cc-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; }
.atsr-cc-modal__backdrop { position: absolute; inset: 0; background: rgba(12,14,58,.5); }
.atsr-cc-modal__panel {
  position: relative; max-width: 520px; width: calc(100% - 32px); max-height: 90vh; overflow: auto;
  background: var(--atsr-card, #fff); color: var(--atsr-card-fg, #0C0E3A);
  border-radius: 16px; padding: var(--atsr-space-7, 32px);
  font-family: var(--atsr-font-primary, sans-serif);
}
.atsr-cc-modal__panel h2 { margin-top: 0; }
.atsr-cc-row {
  display: flex; align-items: flex-start; justify-content: space-between; gap: var(--atsr-space-5, 20px);
  padding: var(--atsr-space-4, 16px) 0; border-top: 1px solid var(--atsr-border, #E2E5EA);
}
.atsr-cc-row__label strong { display: block; }
.atsr-cc-row__label span { font-size: 13px; color: var(--atsr-muted-fg, #9699AC); }
.atsr-cc-modal__actions { display: flex; gap: var(--atsr-space-3, 12px); flex-wrap: wrap; margin-top: var(--atsr-space-6, 24px); }

@media (max-width: 600px) {
  .atsr-cc-banner {
    left: var(--atsr-space-3, 12px); right: var(--atsr-space-3, 12px);
    bottom: var(--atsr-space-3, 12px); width: auto;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .atsr-cc-banner.is-visible { animation: atsr-cc-slide .25s ease-out; }
  @keyframes atsr-cc-slide { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
}
