/**
 * Coming-soon modal — "Bientôt sur Google Play"
 *
 * S'ouvre au clic sur les CTA Google Play (l'app Android est en closed testing).
 * Tokens hérités du design system : Playfair Display (titre), Lora (body),
 * lavande d'étang #B8A9C9 (light) / #C4B5D9 (dark), pill 999px, shadow halo
 * lavande, dark mode via html[data-theme="dark"].
 */

:root {
  --cs-bg:        #FFFFFF;
  --cs-text:      #2D2D2D;
  --cs-text-mute: #6B6B6B;
  --cs-accent:    #B8A9C9;
  --cs-accent-hover: #A89AB8;
  --cs-overlay:   rgba(45, 45, 45, 0.45);
  --cs-shadow:    0 24px 60px -24px rgba(45, 45, 45, 0.30),
                  0 12px 40px rgba(184, 169, 201, 0.18);
  --cs-border:    rgba(45, 45, 45, 0.10);
  --cs-font-display: 'Playfair Display', 'Times New Roman', serif;
  --cs-font-body:    'Lora', Georgia, serif;
  --cs-font-ui:      'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
}

html[data-theme="dark"] {
  --cs-bg:        #252530;
  --cs-text:      #F5F5F5;
  --cs-text-mute: #B0B0B0;
  --cs-accent:    #C4B5D9;
  --cs-accent-hover: #D4C5E9;
  --cs-overlay:   rgba(0, 0, 0, 0.6);
  --cs-shadow:    0 24px 60px -24px rgba(0, 0, 0, 0.65),
                  0 12px 40px rgba(196, 181, 217, 0.12);
  --cs-border:    rgba(255, 255, 255, 0.12);
}

/* ───── Conteneur racine ─────────────────────────────────────────────────── */
.coming-soon-modal[hidden] { display: none; }

.coming-soon-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483646; /* juste sous Tarteaucitron qui est à max int */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

/* ───── Backdrop ─────────────────────────────────────────────────────────── */
.coming-soon-backdrop {
  position: absolute;
  inset: 0;
  background: var(--cs-overlay);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  cursor: pointer;
  animation: cs-fade 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* ───── Panel ────────────────────────────────────────────────────────────── */
.coming-soon-panel {
  position: relative;
  width: 100%;
  max-width: 420px;
  background: var(--cs-bg);
  border: 1px solid var(--cs-border);
  border-radius: 24px;
  padding: 36px 32px 28px;
  box-shadow: var(--cs-shadow);
  text-align: left;
  animation: cs-rise 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* ───── Close X (cercle 36px top-right) ──────────────────────────────────── */
.coming-soon-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--cs-text-mute);
  border: 1px solid var(--cs-border);
  border-radius: 999px;
  font-family: var(--cs-font-ui);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transition: background 200ms cubic-bezier(0.22, 1, 0.36, 1),
              border-color 200ms cubic-bezier(0.22, 1, 0.36, 1),
              color 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.coming-soon-close:hover {
  background: rgba(45, 45, 45, 0.05);
  border-color: rgba(45, 45, 45, 0.18);
  color: var(--cs-text);
}

html[data-theme="dark"] .coming-soon-close:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.22);
}

.coming-soon-close:focus-visible {
  outline: 2px solid var(--cs-accent);
  outline-offset: 3px;
}

/* ───── Title (Playfair) ─────────────────────────────────────────────────── */
.coming-soon-title {
  margin: 0 48px 14px 0;
  font-family: var(--cs-font-display);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--cs-text);
  letter-spacing: normal;
}

/* ───── Body (Lora) ──────────────────────────────────────────────────────── */
.coming-soon-body {
  margin: 0 0 22px;
  font-family: var(--cs-font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--cs-text-mute);
}

/* ───── CTA pill solide lavande ──────────────────────────────────────────── */
.coming-soon-cta {
  display: inline-block;
  padding: 11px 26px;
  background: var(--cs-accent);
  color: #FFFFFF;
  border: none;
  border-radius: 999px;
  font-family: var(--cs-font-ui);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background 200ms cubic-bezier(0.22, 1, 0.36, 1),
              transform 150ms cubic-bezier(0.22, 1, 0.36, 1);
}

html[data-theme="dark"] .coming-soon-cta {
  color: #1A1A1D;
}

.coming-soon-cta:hover {
  background: var(--cs-accent-hover);
  transform: translateY(-1px);
}

.coming-soon-cta:focus-visible {
  outline: 2px solid var(--cs-accent);
  outline-offset: 3px;
}

/* ───── Animations ───────────────────────────────────────────────────────── */
@keyframes cs-fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes cs-rise {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .coming-soon-backdrop,
  .coming-soon-panel {
    animation: none;
  }
  .coming-soon-cta:hover {
    transform: none;
  }
}
