/* =====================================================================
   Thème « cristal » — charte Qi Men Dun Jia du clip d'initiation (11/2026)
   Nuit profonde, or (#f2cf86) et ivoire (#fbf3e2) du clip, Marcellus SC,
   reflets de cristal irisé arc-en-ciel sur les arêtes, le titre et le Lo Shu.
   Chargé après style.css / poll.css / recap.css quand body.theme-cristal.
   ===================================================================== */

.theme-cristal {
  --or: #f2cf86;
  --or-fonce: #c9a253;
  --ivoire: #fbf3e2;
  --nuit: #07060d;
  --iris: linear-gradient(115deg, #ffd6ec 0%, #ffe9b0 18%, #c9f7e3 36%, #bfe6ff 54%, #dccbff 72%, #ffd6ec 90%, #ffe9b0 100%);
  --iris-vif: linear-gradient(115deg, #ff9ecf, #ffd36e, #7ff0c0, #7cc8ff, #b49bff, #ff9ecf);

  --ink: var(--ivoire);
  --ink-soft: rgba(251, 243, 226, .68);
  --line: rgba(242, 207, 134, .22);
  --accent: var(--or);
  --accent-dk: var(--or);
  --rose: #f2cf86;
  --grad: linear-gradient(135deg, #ffe3a3 0%, #f2cf86 45%, #e2a94e 100%);
  --grad-soft: linear-gradient(135deg, rgba(255,214,236,.18), rgba(191,230,255,.18), rgba(220,203,255,.18));
  --card: rgba(14, 12, 24, .72);
  --card-strong: rgba(20, 17, 32, .9);
  --card-border: rgba(242, 207, 134, .25);
  --shadow: 0 30px 80px -30px rgba(0, 0, 0, .9);
  --serif: "Cormorant Garamond", Georgia, serif;
  --titre: "Marcellus SC", "Cormorant Garamond", Georgia, serif;

  background: var(--nuit);
  color: var(--ivoire);
}

/* --- Fond : nuit + lumières de prisme qui dérivent --- */
.theme-cristal::before {
  background:
    radial-gradient(38% 30% at 15% 12%, rgba(255, 158, 207, .20), transparent 65%),
    radial-gradient(40% 32% at 88% 18%, rgba(124, 200, 255, .18), transparent 65%),
    radial-gradient(45% 35% at 20% 88%, rgba(127, 240, 192, .14), transparent 65%),
    radial-gradient(42% 34% at 85% 82%, rgba(180, 155, 255, .20), transparent 65%),
    radial-gradient(60% 45% at 50% 50%, rgba(242, 207, 134, .10), transparent 70%),
    linear-gradient(170deg, #07060d 0%, #0d0a1a 50%, #08070f 100%);
  filter: blur(10px) saturate(1.15);
}
/* Poussière d'or */
.theme-cristal::after {
  background-image:
    radial-gradient(1.6px 1.6px at 18% 26%, rgba(255, 233, 184, .9), transparent),
    radial-gradient(1.2px 1.2px at 72% 14%, rgba(255, 233, 184, .7), transparent),
    radial-gradient(1px 1px at 46% 58%, rgba(255, 255, 255, .6), transparent),
    radial-gradient(1.6px 1.6px at 86% 66%, rgba(255, 233, 184, .8), transparent),
    radial-gradient(1px 1px at 10% 78%, rgba(255, 255, 255, .6), transparent),
    radial-gradient(1.3px 1.3px at 60% 90%, rgba(255, 233, 184, .7), transparent),
    radial-gradient(1px 1px at 32% 8%, rgba(255, 255, 255, .5), transparent);
  opacity: .8;
}

/* --- En-tête --- */
.theme-cristal .site-header {
  background: rgba(7, 6, 13, .55);
  border-bottom: 1px solid transparent;
  border-image: var(--iris) 1;
}
.theme-cristal .brand {
  font-family: var(--titre); font-weight: 400; letter-spacing: .14em;
  color: var(--or); text-shadow: 0 0 18px rgba(242, 207, 134, .45);
}

/* --- Carte centrale : verre fumé, arête de cristal irisée --- */
.theme-cristal .container {
  position: relative;
  border: 1px solid transparent;
  background:
    linear-gradient(var(--card), var(--card)) padding-box,
    linear-gradient(115deg, rgba(255,214,236,.55), rgba(255,233,176,.55), rgba(201,247,227,.5),
                    rgba(191,230,255,.55), rgba(220,203,255,.55), rgba(255,214,236,.55)) border-box;
  box-shadow: var(--shadow), 0 0 60px -20px rgba(180, 155, 255, .35), inset 0 1px 0 rgba(255, 255, 255, .06);
}
/* Reflet de prisme qui balaie la carte en diagonale */
.theme-cristal .container::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 0;
  background: linear-gradient(120deg, transparent 35%, rgba(255,214,236,.07) 44%, rgba(191,230,255,.08) 50%,
                              rgba(255,233,176,.07) 56%, transparent 65%);
  background-size: 300% 100%;
  animation: prisme 11s ease-in-out infinite;
}
.theme-cristal .container > * { position: relative; z-index: 1; }
@keyframes prisme { 0%, 100% { background-position: 100% 0; } 50% { background-position: 0% 0; } }

.theme-cristal h1, .theme-cristal h2 { color: var(--ivoire); }
.theme-cristal h2, .theme-cristal .step { font-family: var(--titre); font-weight: 400; letter-spacing: .06em; }
.theme-cristal a { color: var(--or); }

/* --- Héros : titre irisé, Lo Shu en cristal --- */
.theme-cristal .eyebrow { color: var(--or); letter-spacing: .4em; }
.theme-cristal .hero-title {
  font-family: var(--titre); font-weight: 400; letter-spacing: .03em; line-height: 1.15;
  background: linear-gradient(100deg, #f2cf86 0%, #fff3d6 14%, #ffd6ec 28%, #bfe6ff 42%, #c9f7e3 52%,
                              #dccbff 64%, #fff3d6 80%, #f2cf86 100%);
  background-size: 260% 100%; animation: shimmer 7s ease-in-out infinite;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 14px rgba(242, 207, 134, .25));
}
.theme-cristal .hero-desc .lead { color: var(--ivoire); }
.theme-cristal .sigil { filter: drop-shadow(0 0 22px rgba(191, 230, 255, .35)) drop-shadow(0 0 30px rgba(242, 207, 134, .25)); }
.theme-cristal #sg stop:nth-child(1) { stop-color: #ffd6ec; }
.theme-cristal #sg stop:nth-child(2) { stop-color: #f2cf86; }
.theme-cristal #sg stop:nth-child(3) { stop-color: #bfe6ff; }
.theme-cristal #halo stop:nth-child(1) { stop-color: #f2cf86; stop-opacity: .35; }
.theme-cristal .sigil .palace rect { fill: rgba(20, 17, 32, .75); animation-name: palace-cristal; }
.theme-cristal .sigil .palace text { font-family: var(--titre); font-weight: 400; fill: var(--or); animation-name: palace-t-cristal; }
@keyframes palace-cristal { 0%, 22%, 100% { fill: rgba(20, 17, 32, .75); } 6% { fill: #fff3d6; } }
@keyframes palace-t-cristal { 0%, 22%, 100% { fill: #f2cf86; } 6% { fill: #1a1206; } }
.theme-cristal .sigil .flight { stroke: #fff3d6; }

.theme-cristal .chip {
  color: var(--ivoire); font-weight: 500;
  border: 1px solid transparent;
  background: linear-gradient(rgba(20,17,32,.92), rgba(20,17,32,.92)) padding-box, var(--iris) border-box;
  box-shadow: 0 6px 18px -10px rgba(180, 155, 255, .6);
}
.theme-cristal .chip-ico { background: var(--grad-soft); }
.theme-cristal .hero-desc .note { color: var(--ink-soft); }
.theme-cristal .hero-desc .note:last-child {
  background: rgba(242, 207, 134, .08); border: 1px dashed rgba(242, 207, 134, .4); color: var(--ivoire);
}

/* --- Formulaire --- */
.theme-cristal .step-n { background: var(--grad); color: #1a1206; font-family: var(--titre); box-shadow: 0 0 16px -2px rgba(242, 207, 134, .6); }
.theme-cristal .field em { color: var(--or); }
.theme-cristal input[type=text], .theme-cristal input[type=email], .theme-cristal input[type=tel],
.theme-cristal input[type=password], .theme-cristal input[type=date], .theme-cristal textarea {
  background: rgba(7, 6, 13, .6); color: var(--ivoire); border-color: rgba(242, 207, 134, .28);
}
.theme-cristal input:focus, .theme-cristal textarea:focus {
  border-color: var(--or) !important; box-shadow: 0 0 0 4px rgba(242, 207, 134, .15), 0 0 22px -6px rgba(191, 230, 255, .5) !important;
}
.theme-cristal ::placeholder { color: rgba(251, 243, 226, .35); }
.theme-cristal .hint { color: var(--ink-soft); }
.theme-cristal .revote { background: rgba(127, 240, 192, .07); border-color: rgba(127, 240, 192, .3); color: #d9fbec; }
.theme-cristal .multi { background: rgba(180, 155, 255, .1); border-color: rgba(180, 155, 255, .35); color: #ece4ff; }

.theme-cristal .progress-track { background: rgba(251, 243, 226, .08); }
.theme-cristal .progress-fill { background: var(--iris-vif); }

/* Cartes-dates en cristal */
.theme-cristal .choice-line, .theme-cristal .date-card {
  border: 1px solid transparent;
  background: linear-gradient(rgba(16,14,27,.94), rgba(16,14,27,.94)) padding-box,
              linear-gradient(115deg, rgba(255,214,236,.45), rgba(242,207,134,.5), rgba(191,230,255,.45), rgba(220,203,255,.45)) border-box;
}
.theme-cristal .cal { background: #fbf3e2; border-color: rgba(242, 207, 134, .5); }
.theme-cristal .cal-month { background: var(--grad); color: #1a1206; }
.theme-cristal .cal-day { color: #1a1206; font-family: var(--titre); font-weight: 400; }
.theme-cristal .cal-wd { color: #6b5a3a; }
.theme-cristal .cal.we .cal-wd { color: #a0742a; }
.theme-cristal .date-card .choice-date { color: var(--ivoire); }
.theme-cristal .date-card .choice-date .slot { color: var(--or); background: rgba(242, 207, 134, .12); }
.theme-cristal .opt { border-color: rgba(242, 207, 134, .25); color: var(--ivoire); background: rgba(7, 6, 13, .4); }
.theme-cristal .opt.yes:has(input:checked)   { background: linear-gradient(135deg, rgba(127,240,192,.28), rgba(191,230,255,.2)); border-color: #7ff0c0; color: #e6fff4; box-shadow: 0 0 18px -4px rgba(127,240,192,.6); }
.theme-cristal .opt.maybe:has(input:checked) { background: linear-gradient(135deg, rgba(255,211,110,.28), rgba(255,214,236,.18)); border-color: #ffd36e; color: #fff4d9; box-shadow: 0 0 18px -4px rgba(255,211,110,.6); }
.theme-cristal .opt.no:has(input:checked)    { background: linear-gradient(135deg, rgba(255,158,207,.22), rgba(180,155,255,.16)); border-color: #ff9ecf; color: #ffe6f2; box-shadow: 0 0 18px -4px rgba(255,158,207,.5); }
.theme-cristal .date-card.is-yes, .theme-cristal .date-card.is-maybe, .theme-cristal .date-card.is-no {
  background: linear-gradient(rgba(16,14,27,.94), rgba(16,14,27,.94)) padding-box, var(--iris-vif) border-box;
}
.theme-cristal .date-card.is-yes { box-shadow: 0 0 30px -10px rgba(127, 240, 192, .55); }
.theme-cristal .date-card.is-yes .cal-month { background: var(--grad); }

/* Bouton d'envoi : lingot d'or traversé d'un éclat de prisme */
.theme-cristal button.primary, .theme-cristal a.primary {
  background: var(--grad); color: #1a1206; font-family: var(--titre); font-weight: 400; letter-spacing: .08em;
  box-shadow: 0 12px 30px -10px rgba(242, 207, 134, .7), 0 0 0 1px rgba(255, 243, 214, .5) inset;
}
.theme-cristal .cta::after {
  background: linear-gradient(110deg, transparent 30%, rgba(255,214,236,.65) 44%, rgba(255,255,255,.8) 50%, rgba(191,230,255,.65) 56%, transparent 70%);
}
.theme-cristal button.secondary, .theme-cristal a.secondary { background: rgba(7,6,13,.5); color: var(--or); border-color: rgba(242,207,134,.35); }

/* Remerciement */
.theme-cristal .thanks {
  border: 1px solid transparent;
  background: linear-gradient(rgba(16,14,27,.95), rgba(16,14,27,.95)) padding-box, var(--iris-vif) border-box;
  box-shadow: 0 0 40px -12px rgba(242, 207, 134, .5);
}
.theme-cristal .thanks-check circle { fill: #f2cf86; stroke: #fff3d6; }
.theme-cristal .thanks-check path { stroke: #1a1206; }
.theme-cristal .thanks-title { font-family: var(--titre); font-weight: 400; color: var(--or); }
.theme-cristal .thanks-sub { color: var(--ink-soft); }
.theme-cristal .copy-row input { color: var(--ivoire); }

.theme-cristal .banner.ok { background: rgba(127,240,192,.1); color: #d9fbec; }
.theme-cristal .banner.warn { background: rgba(242,207,134,.1); color: var(--ivoire); }
.theme-cristal .errors { color: #ffd0e4; }

/* --- Synthèse : ciel de nuit, or et constellations irisées --- */
.theme-cristal .cosmos {
  --c-yes: #7ff0c0; --c-maybe: #ffd36e; --gold: #f2cf86;
  color: var(--ivoire);
  border: 1px solid transparent;
  background:
    radial-gradient(110% 70% at 8% 0%, rgba(180, 155, 255, .22), transparent 55%),
    radial-gradient(90% 70% at 100% 100%, rgba(255, 158, 207, .16), transparent 60%),
    radial-gradient(60% 45% at 70% 35%, rgba(124, 200, 255, .12), transparent 70%),
    linear-gradient(165deg, #05040a 0%, #0c0918 55%, #07060d 100%) padding-box,
    linear-gradient(115deg, rgba(255,214,236,.5), rgba(242,207,134,.55), rgba(191,230,255,.5), rgba(220,203,255,.5)) border-box;
}
.theme-cristal .cosmos-title { font-family: var(--titre); font-weight: 400; color: var(--or); letter-spacing: .05em; }
.theme-cristal .cosmos-eyebrow { color: rgba(242, 207, 134, .8); }
.theme-cristal .stat-n {
  font-family: var(--titre); font-weight: 400;
  background: var(--iris); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.theme-cristal .orbit-date { font-family: var(--titre); font-weight: 400; }
.theme-cristal .fav-badge { background: var(--grad); color: #1a1206; }
.theme-cristal .star-chip { font-family: var(--titre); letter-spacing: .08em; background: rgba(255, 255, 255, .05); }

.theme-cristal .site-footer, .theme-cristal .site-footer a { color: rgba(242, 207, 134, .7); }

/* Téléphones : pas de flou ni d'animation de fond (évite le clignotement mesuré en 09/2026) */
@media (hover: none), (pointer: coarse) {
  .theme-cristal .site-header { background: rgba(7, 6, 13, .92); }
  .theme-cristal .container {
    background:
      linear-gradient(rgba(14,12,24,.95), rgba(14,12,24,.95)) padding-box,
      linear-gradient(115deg, rgba(255,214,236,.55), rgba(255,233,176,.55), rgba(191,230,255,.55), rgba(220,203,255,.55)) border-box;
  }
  .theme-cristal .container::before { animation: none; }
}
@media (prefers-reduced-motion: reduce) {
  .theme-cristal .container::before { animation: none; }
}

/* Chiffres du titre : même police que le reste du titre (pas l'Inter) */
.theme-cristal .hero-title .num { font-family: var(--titre); font-weight: 400; font-size: 1em; }
.theme-cristal .hero-desc .lead .num { font-family: var(--serif); font-weight: 600; font-size: 1em; }
