/* ==========================================================================
   Jessie-Claire — THEME CLAIR (v2) : lumineux, vivant, joyeux
   Chargé après style.css ; ne redéfinit que l'habillage.
   Contrastes texte vérifiés WCAG AA sur --bg.
   ========================================================================== */

:root[data-theme="light"] {
  --bg: #fffaf3;
  --bg-2: #f2f7ff;
  --text: #1b2340;           /* 14.9:1 */
  --text-muted: #4a5578;     /*  7.2:1 */
  --blue: #2f63b5;           /*  5.7:1 */
  --blue-bright: #2f63b5;
  --cyan: #0b7d91;           /*  4.9:1 */
  --orange: #e68a41;
  --orange-bright: #b35716;  /*  5.0:1 (texte) */
  --sun: #ffc93c;
  --mint: #3ecf8e;
  --coral: #ff6b8a;
  --border: rgba(47, 99, 181, .14);
  --border-strong: rgba(47, 99, 181, .32);
  --shadow-glow: 0 0 0 1px rgba(47, 99, 181, .18), 0 22px 48px -22px rgba(47, 99, 181, .38);
}

[data-theme="light"] body {
  background-color: var(--bg);
  background-image:
    radial-gradient(900px 600px at 90% -5%, rgba(255, 201, 60, .28), transparent 60%),
    radial-gradient(800px 600px at -10% 20%, rgba(58, 123, 213, .14), transparent 60%),
    radial-gradient(900px 700px at 105% 70%, rgba(255, 154, 77, .16), transparent 60%),
    radial-gradient(700px 600px at 0% 100%, rgba(62, 207, 142, .12), transparent 60%);
  background-attachment: fixed;
}
[data-theme="light"] ::selection { background: rgba(255, 201, 60, .6); color: var(--text); }
[data-theme="light"] .grid-overlay { display: none; }

/* ---------- Icons ---------- */
[data-theme="light"] .icon { color: var(--blue); }
[data-theme="light"] .icon--lg { filter: none; }
[data-theme="light"] .icon--orange { color: #d9661c; filter: none; }

/* ---------- Typography accents ---------- */
[data-theme="light"] .gradient-text { background-image: linear-gradient(100deg, #2f63b5 0%, #0b7d91 45%, #2f63b5 90%); }
[data-theme="light"] .gradient-text--warm { background-image: linear-gradient(100deg, #c9581a 0%, #e0761f 45%, #c9581a 90%); }
[data-theme="light"] .kicker::before { box-shadow: none; }
[data-theme="light"] .kicker--orange { color: var(--orange-bright); }

/* ---------- Cards ---------- */
[data-theme="light"] .glass {
  background: rgba(255, 255, 255, .82);
  border-color: rgba(47, 99, 181, .12);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 18px 40px -24px rgba(27, 35, 64, .28);
}
[data-theme="light"] .glass::after { background: radial-gradient(260px circle at var(--mx, 50%) var(--my, -40%), rgba(255, 201, 60, .22), transparent 70%); }
[data-theme="light"] .section--alt::before { background: linear-gradient(180deg, transparent, #eef5ff 16%, #eef5ff 84%, transparent); }

/* ---------- Header / nav ---------- */
[data-theme="light"] .site-header.is-scrolled { background: rgba(255, 250, 243, .88); box-shadow: 0 8px 30px -20px rgba(27, 35, 64, .35); }
[data-theme="light"] .nav__toggle { background: #fff; }
[data-theme="light"] .lang-switch { background: #fff; }
[data-theme="light"] .lang-switch .icon { color: var(--cyan); }
@media (max-width: 1100px) {
  [data-theme="light"] .nav__menu { background: #fffaf3; box-shadow: 0 30px 50px -24px rgba(27, 35, 64, .35); }
}

/* ---------- Buttons ---------- */
[data-theme="light"] .btn--primary {
  color: #1b1206;
  background: linear-gradient(100deg, #ffb347, #ff8a3d);
  box-shadow: 0 12px 28px -12px rgba(230, 120, 40, .7), inset 0 1px 0 rgba(255, 255, 255, .5);
}
[data-theme="light"] .btn--ghost { background: #fff; color: var(--text); }
[data-theme="light"] .btn--ghost:hover { background: #fff; box-shadow: 0 10px 26px -12px rgba(47, 99, 181, .5); }

/* ---------- Hero ---------- */
[data-theme="light"] .hero::before, [data-theme="light"] .hero::after {
  content: ""; position: absolute; z-index: -1; border-radius: 50%; filter: blur(8px); opacity: .55;
  animation: blob 14s ease-in-out infinite;
}
[data-theme="light"] .hero::before { width: 340px; height: 340px; right: 4%; top: 18%; background: radial-gradient(circle at 30% 30%, #ffe08a, #ffb347 70%); }
[data-theme="light"] .hero::after { width: 240px; height: 240px; right: 32%; bottom: 10%; background: radial-gradient(circle at 30% 30%, #b9d6ff, #6fa3ec 70%); animation-delay: -6s; }
@keyframes blob { 50% { transform: translate(-24px, 18px) scale(1.08); border-radius: 46% 54% 58% 42%; } }
[data-theme="light"] .eyebrow { background: #fff; box-shadow: 0 6px 18px -10px rgba(27, 35, 64, .3); }
[data-theme="light"] .pulse { background: var(--mint); animation-name: pulse-mint; }
@keyframes pulse-mint { 70% { box-shadow: 0 0 0 10px rgba(62, 207, 142, 0); } 100% { box-shadow: 0 0 0 0 rgba(62, 207, 142, 0); } }
[data-theme="light"] .hero__chips li { background: #fff; border-style: solid; border-color: var(--border); color: var(--text); }
[data-theme="light"] .hero__chips li:nth-child(1) { box-shadow: inset 4px 0 0 var(--orange); }
[data-theme="light"] .hero__chips li:nth-child(2) { box-shadow: inset 4px 0 0 #3a7bd5; }
[data-theme="light"] .hero__chips li:nth-child(3) { box-shadow: inset 4px 0 0 var(--mint); }
[data-theme="light"] .hex-orbit__logo { filter: drop-shadow(0 18px 30px rgba(47, 99, 181, .25)); }
[data-theme="light"] .ring--1 { filter: none; }
[data-theme="light"] .ring--3 { opacity: .35; }
[data-theme="light"] .scroll-cue__dot { background: var(--orange); }

/* ---------- Marquee ---------- */
[data-theme="light"] .marquee { background: linear-gradient(90deg, #fff3e3, #eaf2ff, #e9fbf3); }
[data-theme="light"] .marquee__track span { color: var(--text); }

/* ---------- Mission ---------- */
[data-theme="light"] .mission__quote em { color: #c9581a; text-shadow: none; background: linear-gradient(transparent 62%, rgba(255, 201, 60, .55) 62%); }
[data-theme="light"] .mission__tagline { background: #fff; }

/* ---------- Services / features ---------- */
[data-theme="light"] .service .icon { background: #eaf1ff; border-color: transparent; box-shadow: none; }
[data-theme="light"] .service--warm .icon { color: #d9661c; background: #fff0e3; box-shadow: none; }
[data-theme="light"] .services .service:nth-child(3n+2) .icon { background: #e6f8ef; color: #1b8a5a; }
[data-theme="light"] .services .service:nth-child(3n) .icon { background: #fff6d9; color: #a86b00; }
[data-theme="light"] .service--warm:hover { box-shadow: 0 0 0 1px rgba(230, 138, 65, .35), 0 22px 48px -22px rgba(230, 138, 65, .5); }
[data-theme="light"] .feature__num { color: rgba(47, 99, 181, .4); }
[data-theme="light"] .features .feature { border-top: 4px solid transparent; }
[data-theme="light"] .features .feature:nth-child(4n+1) { border-top-color: var(--orange); }
[data-theme="light"] .features .feature:nth-child(4n+2) { border-top-color: #3a7bd5; }
[data-theme="light"] .features .feature:nth-child(4n+3) { border-top-color: var(--mint); }
[data-theme="light"] .features .feature:nth-child(4n+4) { border-top-color: var(--sun); }

/* ---------- Journey / photos ---------- */
[data-theme="light"] .journey__fig::after { background: none; }
[data-theme="light"] .about__fig { background: #fff; transform: rotate(1.5deg); box-shadow: 0 28px 60px -28px rgba(27, 35, 64, .45); }
[data-theme="light"] .about__fig:hover { transform: rotate(0); }

/* ---------- Timeline ---------- */
[data-theme="light"] .timeline::after { box-shadow: none; }
[data-theme="light"] .timeline__node { background: linear-gradient(140deg, #ff9a4d, #3a7bd5); }

/* ---------- Contact ---------- */
[data-theme="light"] .contact__panel { background: #fff; }
[data-theme="light"] .contact__panel::before { opacity: .5; }
[data-theme="light"] .contact__item { background: #fffaf3; }
[data-theme="light"] .contact__label { color: var(--cyan); }

/* ---------- Form ---------- */
[data-theme="light"] .cform { background: #fffaf3; box-shadow: none; }
[data-theme="light"] .field__input { background: #fff; border-color: #d3dcee; color: var(--text); }
[data-theme="light"] .field__input:hover { border-color: #aebfe0; }
[data-theme="light"] .field__input:focus { background: #fff; border-color: var(--cyan); box-shadow: 0 0 0 4px rgba(11, 125, 145, .15); }
[data-theme="light"] .field__label span, [data-theme="light"] .pills__legend span, [data-theme="light"] .check .req { color: #c9581a; }
[data-theme="light"] .field--select .field__input {
  background-color: #fff;
  background-image: linear-gradient(45deg, transparent 50%, var(--cyan) 50%), linear-gradient(135deg, var(--cyan) 50%, transparent 50%);
  background-position: calc(100% - 22px) 27px, calc(100% - 16px) 27px; background-size: 6px 6px; background-repeat: no-repeat;
}
[data-theme="light"] .field--select .field__input:focus { background-color: #fff; }
@media (max-width: 900px) {
  [data-theme="light"] .hero::before { width: 220px; height: 220px; right: 8%; top: 12%; }
  [data-theme="light"] .hero::after { width: 150px; height: 150px; right: 55%; bottom: auto; top: 30%; }
}
[data-theme="light"] .field--select option, [data-theme="light"] .field--select optgroup { background: #fff; color: var(--text); }
[data-theme="light"] .field__error { color: #b3261e; }
[data-theme="light"] .field.is-invalid .field__input, [data-theme="light"] .check.is-invalid .check__box { border-color: #d64545; box-shadow: 0 0 0 3px rgba(214, 69, 69, .12); }
[data-theme="light"] .field.is-valid .field__input { border-color: #3ecf8e; }
[data-theme="light"] .pill > span { background: #fff; border-color: #d3dcee; color: var(--text-muted); }
[data-theme="light"] .pill input:checked + span { color: #fff; background: linear-gradient(100deg, #2f63b5, #0b7d91); box-shadow: 0 10px 22px -12px rgba(47, 99, 181, .8); }
[data-theme="light"] .check__box { background: #fff; border-color: #aebfe0; }
[data-theme="light"] .check input:checked + label .check__box { background: linear-gradient(135deg, #ffb347, #ff8a3d); }
[data-theme="light"] .check__box .icon { color: #1b1206; }
[data-theme="light"] .notice--ok { color: #16603d; background: #e8f8ef; border-color: #9fe0bf; }
[data-theme="light"] .notice--err { color: #9b1c14; background: #fdecea; border-color: #f3b3ab; }
[data-theme="light"] .notice--info { color: #1f4f96; background: #eaf1ff; border-color: #b8cdf0; }

/* ---------- Footer ---------- */
[data-theme="light"] .footer { background: #fff; }
[data-theme="light"] .footer__links a:hover { color: var(--blue); }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  [data-theme="light"] .hero::before, [data-theme="light"] .hero::after { animation: none; }
}

/* ---------- v3: toggle, Canada section ---------- */
[data-theme="light"] .theme-toggle { background: #fff; }
[data-theme="light"] .stat__num { background-image: linear-gradient(100deg, #c9581a, #e0761f); }
[data-theme="light"] .stats .stat:nth-child(2) .stat__num { background-image: linear-gradient(100deg, #2f63b5, #0b7d91); }
[data-theme="light"] .stats .stat:nth-child(3) .stat__num { background-image: linear-gradient(100deg, #1b8a5a, #0b7d91); }
[data-theme="light"] .stats .stat:nth-child(4) .stat__num { background-image: linear-gradient(100deg, #2f63b5, #6a4bc4); }
[data-theme="light"] .perks .perk:nth-child(3n+2) .icon { color: #1b8a5a; }
[data-theme="light"] .perks .perk:nth-child(3n) .icon { color: #d9661c; }
[data-theme="light"] .cta-band { background: linear-gradient(120deg, #ffe7cc, #dfeaff 60%, #d9f6e8); border-color: rgba(47, 99, 181, .18); }
[data-theme="light"] .canada__sources a { color: var(--blue); }
