/* ===================== THEME CLAIR =====================
   Active quand <html data-theme="light"> (bouton fixe a gauche, choix memorise).
   Blanc chaud + beige champagne. La section MacBook (.pillars) reste noire : la video
   du Mac a un fond noir et son cadre se verrait sur du blanc.
   Toutes les etoiles (video etoilee, etoiles filantes, ciel etoile du hero) sont retirees. */

html[data-theme="light"]{
  --bg:#faf7f1;
  --bg-raised:#ffffff;
  --bg-panel:#f3ede3;
  --gold:#b8922f;
  --gold-deep:#8a6a1e;
  --gold-light:#9a7724;   /* utilise surtout pour du texte accentue : fonce pour rester lisible sur blanc */
  --chrome:#1c160f;
  --muted:#3b3127;
  --ivory:#f1e8d8;   /* sections sable -> beige clair */
  --ivory-2:#e8dbc3;
  --ink:#1c160f;
  --ink-soft:#5a4c37;
  --beige:#efe6d6;
  --line:rgba(150,118,52,.22);
  color-scheme:light;
}
/* la section MacBook garde la palette sombre d'origine */
html[data-theme="light"] .pillars{
  --bg:#15110c; --bg-raised:#1f1912; --bg-panel:#191410;
  --gold:#d4af37; --gold-deep:#a8842a; --gold-light:#f0dfa8;
  --chrome:#f7f3ea; --muted:#f7f3ea; --ivory:#b7a582; --ivory-2:#b7a582;
  color-scheme:dark;
}

/* ---------- etoiles : retirees en clair ---------- */
html[data-theme="light"] .section-stars,
html[data-theme="light"] .pillars-meteors,
html[data-theme="light"] #streakLayer{ display:none !important; }

/* ---------- base ---------- */
html[data-theme="light"] body::before{ opacity:.02; }
html[data-theme="light"] ::-webkit-scrollbar-track{ background:#efe8dc; }
html[data-theme="light"] ::selection{ background:rgba(184,146,47,.25); color:#1c160f; }

/* ---------- header ---------- */
html[data-theme="light"] .hdr-btn{ background:rgba(255,255,255,.72); border-color:rgba(184,146,47,.45); box-shadow:0 4px 14px rgba(60,44,20,.08); }
html[data-theme="light"] .hdr-btn:hover{ background:rgba(255,255,255,.92); border-color:rgba(184,146,47,.8); }
html[data-theme="light"] .header-phone.revealed{ background:rgba(255,255,255,.85); color:#1c160f; }
html[data-theme="light"] .header-phone.revealed svg{ color:#1c160f; }
html[data-theme="light"] .header-menu-panel{ background:rgba(255,253,249,.96); border-color:rgba(184,146,47,.3); box-shadow:0 24px 60px rgba(60,44,20,.16); }
html[data-theme="light"] .header-menu-panel::before{ background:#b8922f; opacity:.08; }
html[data-theme="light"] .header-menu-panel a.menu-item:hover, html[data-theme="light"] .menu-parent-btn:hover,
html[data-theme="light"] .menu-sub-item:hover{ background:rgba(184,146,47,.1); }

/* ---------- hero : les pyramides de jour (plus de ciel etoile) ---------- */
html[data-theme="light"] .hero{ background:#f3ece0; }
html[data-theme="light"] .hero-img{ object-position:center 60%; }
html[data-theme="light"] .hero-scrim{ background:none; }   /* image nette, sans voile blanc */
html[data-theme="light"] .hero-aurora{ display:none; }
html[data-theme="light"] .mark-wrap img{ filter:drop-shadow(0 12px 26px rgba(80,58,24,.28)); }
/* texte du hero : lettres claires cernees de sombre (comme l'original), lisibles sur le ciel comme sur la pierre, sans voile */
html[data-theme="light"] .wordmark .ora{ color:#f7f3ea; -webkit-text-stroke:2.5px #2c1636; text-shadow:0 3px 6px rgba(0,0,0,.55), 0 0 26px rgba(0,0,0,.3); }
html[data-theme="light"] .wordmark .first{ color:#d4af37; -webkit-text-stroke:2.5px #2c1c04; text-shadow:0 3px 6px rgba(0,0,0,.55), 0 0 26px rgba(0,0,0,.3); }
html[data-theme="light"] .tagline{ color:#fff; text-shadow:0 2px 4px rgba(0,0,0,.6), 0 2px 16px rgba(0,0,0,.55); }
html[data-theme="light"] .hero-services{ background:rgba(255,255,255,.7); border-color:rgba(184,146,47,.45); box-shadow:0 8px 24px rgba(60,44,20,.08); }
html[data-theme="light"] .hero-services i{ box-shadow:none; }
html[data-theme="light"] .hero-proof{ color:#fff; text-shadow:0 2px 4px rgba(0,0,0,.65), 0 2px 14px rgba(0,0,0,.55); }
html[data-theme="light"] .hero-proof b{ color:#f0dfa8 !important; }
html[data-theme="light"] .scroll-cue{ color:#fff; text-shadow:0 1px 6px rgba(0,0,0,.6); }
html[data-theme="light"] .scroll-cue i{ background:linear-gradient(#b8922f, transparent); }
/* petites lignes du hero : capsule teintee juste derriere le texte (l'image reste nette autour) */
html[data-theme="light"] .tagline, html[data-theme="light"] .hero-proof, html[data-theme="light"] .scroll-cue span{
  display:inline-block; padding:6px 16px; border-radius:999px; width:fit-content; margin-left:auto; margin-right:auto;
  background:rgba(28,20,10,.42); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  text-shadow:0 1px 3px rgba(0,0,0,.5); }
html[data-theme="light"] .hero-proof{ padding:5px 14px; }
html[data-theme="light"] .scroll-cue span{ padding:5px 12px; }

/* ---------- boutons ---------- */
html[data-theme="light"] .btn-gold, html[data-theme="light"] .header-quote{ background:linear-gradient(100deg, #c9a240, #ead293); color:#1a1206; box-shadow:0 10px 24px rgba(184,146,47,.28), inset 0 1px 0 rgba(255,255,255,.6); }
html[data-theme="light"] .btn-ghost{ background:rgba(255,255,255,.6); color:#1c160f; border-color:rgba(28,22,15,.35); }
html[data-theme="light"] .btn-ghost:hover{ background:#fff; border-color:#b8922f; }

/* ---------- sections sombres -> claires (sauf .pillars) ---------- */
html[data-theme="light"] .value,
html[data-theme="light"] .demo,
html[data-theme="light"] .method{ background:#faf7f1; }
html[data-theme="light"] .faq-preview{ background:#f5efe5; }
html[data-theme="light"] .vs{ background:#faf7f1 radial-gradient(60% 40% at 50% 0%, rgba(184,146,47,.08), transparent 70%); }

/* ---------- sections sable (catalogue, prestations) : beige clair ---------- */
html[data-theme="light"] .realisations, html[data-theme="light"] .solutions{
  background:linear-gradient(180deg, rgba(120,90,40,.08) 0%, rgba(120,90,40,0) 160px), linear-gradient(180deg, var(--ivory) 0%, var(--ivory-2) 100%);
}
html[data-theme="light"] .realisations::after, html[data-theme="light"] .solutions::after{ opacity:.12; }
html[data-theme="light"] .realisations .cata-card, html[data-theme="light"] .realisations .cata-card--featured{ border-color:rgba(184,146,47,.3); box-shadow:0 12px 28px rgba(80,60,25,.12); }
html[data-theme="light"] .sol-card{ border-color:rgba(184,146,47,.25); box-shadow:0 10px 24px rgba(80,60,25,.1); }
html[data-theme="light"] .cata-icon{ border-color:rgba(184,146,47,.4); }
/* separateur pyramide : plus de bande noire */
html[data-theme="light"] .pyramid-trio{ background:#faf7f1; }
html[data-theme="light"] .pyramid-trio img{ filter:drop-shadow(0 6px 10px rgba(80,60,25,.25)); }

/* ---------- carte de Bretagne ---------- */
html[data-theme="light"] .bz-dep{ fill:#ece2cf; stroke:rgba(150,118,52,.45); }
html[data-theme="light"] .bz-29{ fill:rgba(184,146,47,.28); stroke:#b8922f; filter:drop-shadow(0 0 12px rgba(184,146,47,.3)); }
html[data-theme="light"] .bz-rings circle{ stroke:#b8922f; }
html[data-theme="light"] .bz-city circle{ fill:#7a5d1d; }
html[data-theme="light"] .bz-city text{ fill:#2a2117; stroke:#faf7f1; }
html[data-theme="light"] .bz-base circle{ fill:#9a7724; }
html[data-theme="light"] .bz-base .bz-halo{ fill:rgba(184,146,47,.3); }
html[data-theme="light"] .bz-base text{ fill:#8a6a1e; stroke:#faf7f1; }

/* ---------- textes clairs codes en dur -> encre ---------- */
html[data-theme="light"] .vx p, html[data-theme="light"] .cata-card p, html[data-theme="light"] .cata-featured-body p,
html[data-theme="light"] .demo-lead, html[data-theme="light"] .tier-for, html[data-theme="light"] .sol-beyond p,
html[data-theme="light"] .method-lead, html[data-theme="light"] .method-steps p, html[data-theme="light"] .vs-local-sub,
html[data-theme="light"] .vs-local-grid p, html[data-theme="light"] .vs-map-cap{ color:#4a3f33; }
html[data-theme="light"] .method-fine, html[data-theme="light"] .vs-fine{ color:#6b5d4b; }
html[data-theme="light"] .pk-opt .pk-t small{ color:#6b5d4b; }
/* comparatif : vert / rouge lisibles sur blanc */
html[data-theme="light"] .vs-row > span{ color:#5e5245; border-top-color:rgba(28,22,15,.08); }
html[data-theme="light"] .vs-row [role="rowheader"]{ color:#1c160f; }
html[data-theme="light"] .vs-row .vs-us{ background:rgba(30,122,70,.08); color:#1e7a46; }
html[data-theme="light"] .vs-row.vs-head .vs-us{ background:linear-gradient(135deg,#9be7b4,#3fb56f); color:#06210f; }
html[data-theme="light"] .vs-row:not(.vs-head) > span:last-child{ background:rgba(200,60,50,.06); color:#a8382f; }
/* encart rouge « page d'accueil offerte » : rouge plein (le rouge translucide virait au rose sur blanc) */
html[data-theme="light"] .sol-risk{ background:linear-gradient(135deg, #b3202b, #7a0f18); border-color:rgba(160,20,30,.5); }
/* etiquettes posees sur les cadres video / image (fond sombre conserve) */
html[data-theme="light"] .sol-video-label{ color:#f7f3ea; }

/* ---------- contact / pied de page : pyramides de jour, carte blanche ---------- */
html[data-theme="light"] .site-footer{ background:linear-gradient(180deg, #faf7f1 0%, rgba(250,247,241,.2) 30%, rgba(250,247,241,.55) 70%, #faf7f1 100%), #efe6d6; }
/* image nette : seulement un court fondu en haut pour raccorder la section precedente */
html[data-theme="light"] .site-footer.bg-on{ background:linear-gradient(180deg, #faf7f1 0%, rgba(250,247,241,0) 12%), url("footer-giza-v2.webp") center / cover no-repeat; }
html[data-theme="light"] .contact-intro .section-title, html[data-theme="light"] .contact-intro .section-sub{ text-shadow:0 1px 14px rgba(250,247,241,.95); }
html[data-theme="light"] .contact-line{ background:rgba(255,255,255,.82); border-color:rgba(184,146,47,.35); }
html[data-theme="light"] .contact-card{ background:rgba(255,255,255,.9); border-color:rgba(184,146,47,.3); box-shadow:0 30px 70px rgba(60,44,20,.18); }
html[data-theme="light"] .cf-field input, html[data-theme="light"] .cf-field select, html[data-theme="light"] .cf-field textarea,
html[data-theme="light"] .pk-btn{ background:#faf7f1; border-color:rgba(150,118,52,.35); color:#1c160f; }
html[data-theme="light"] .cf-field input::placeholder, html[data-theme="light"] .cf-field textarea::placeholder{ color:#8a7c69; }
html[data-theme="light"] .pk-btn:hover{ background:#fff; }
html[data-theme="light"] .cf-field select option{ background:#fff; color:#1c160f; }
html[data-theme="light"] .pk-list{ background:#fffdf9; border-color:rgba(184,146,47,.35); box-shadow:0 24px 60px rgba(60,44,20,.2); }
html[data-theme="light"] .chip span{ background:#faf7f1; border-color:rgba(150,118,52,.35); }
html[data-theme="light"] .back-to-top{ background:rgba(255,255,255,.85); color:#1c160f; border-color:rgba(184,146,47,.5); }
html[data-theme="light"] .back-to-top:hover{ background:#fff; }

/* ---------- bouton de theme (fixe, a gauche) ---------- */
.theme-toggle{
  position:fixed; left:14px; top:50%; z-index:260; transform:translateY(-50%);
  display:flex; flex-direction:column; align-items:center; gap:4px;
  padding:5px; border-radius:999px; cursor:pointer;
  background:rgba(21,17,12,.62); border:1.5px solid rgba(212,175,55,.45);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  box-shadow:0 10px 26px rgba(0,0,0,.28);
  font:inherit; color:#f7f3ea;
  transition:background .35s, border-color .35s, box-shadow .35s;
}
.theme-toggle:focus-visible{ outline:2px solid #d4af37; outline-offset:3px; }
.theme-toggle .tt-opt{ position:relative; z-index:1; width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:50%; color:rgba(247,243,234,.6); transition:color .35s; }
.theme-toggle svg{ width:17px; height:17px; }
.theme-toggle .tt-knob{
  position:absolute; left:5px; top:5px; width:34px; height:34px; border-radius:50%;
  background:linear-gradient(140deg, #d4af37, #f0dfa8); box-shadow:0 3px 10px rgba(0,0,0,.3);
  transform:translateY(38px); transition:transform .45s cubic-bezier(.16,.8,.24,1);
}
.theme-toggle .tt-moon{ color:#1a1206; }
html[data-theme="light"] .theme-toggle{ background:rgba(255,255,255,.8); border-color:rgba(184,146,47,.5); box-shadow:0 10px 26px rgba(60,44,20,.14); }
html[data-theme="light"] .theme-toggle .tt-knob{ transform:none; }
html[data-theme="light"] .theme-toggle .tt-sun{ color:#1a1206; }
html[data-theme="light"] .theme-toggle .tt-moon{ color:rgba(28,22,15,.45); }
.theme-toggle .tt-label{ position:absolute; left:calc(100% + 10px); top:50%; transform:translate(-4px,-50%); white-space:nowrap; pointer-events:none;
  padding:6px 10px; border-radius:8px; font:600 .72rem 'Manrope',sans-serif; letter-spacing:.04em;
  background:#15110c; color:#f7f3ea; opacity:0; transition:opacity .2s, transform .2s; }
.theme-toggle:hover .tt-label, .theme-toggle:focus-visible .tt-label{ opacity:1; transform:translate(0,-50%); }
/* mobile : le bouton passe en haut a gauche, a cote du bouton telephone / logo, a l'horizontale (ne recouvre pas le texte) */
@media (max-width:640px){
  .theme-toggle{ left:66px; top:max(16px, env(safe-area-inset-top)); transform:none; flex-direction:row; padding:4px; }
  .theme-toggle .tt-opt, .theme-toggle .tt-knob{ width:32px; height:32px; }
  .theme-toggle .tt-knob{ left:4px; top:4px; transform:translateX(36px); }
  html[data-theme="light"] .theme-toggle .tt-knob{ transform:none; }
  .theme-toggle .tt-label{ display:none; }
}
html[data-theme="light"] .mobile-bar{ background:rgba(255,253,249,.94); border-color:rgba(184,146,47,.3); box-shadow:0 -8px 24px rgba(60,44,20,.1); }
html[data-theme="light"] .mobile-bar .mb-call{ color:#1c160f; border-color:rgba(28,22,15,.3); }
html[data-theme="light"] .mobile-bar .mb-quote{ background:linear-gradient(100deg, #c9a240, #ead293); }
/* bouton brillant : halo dore qui pulse + reflet qui passe, pour qu'on le remarque */
.theme-toggle{ animation:ttGlow 2.4s ease-in-out infinite; }
/* reflet : bande claire qui glisse dans le bouton (sans overflow:hidden, l'info-bulle reste visible) */
.theme-toggle::after{ content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:2;
  background:linear-gradient(160deg, transparent 38%, rgba(255,246,214,.8) 50%, transparent 62%) 0 0 / 100% 300% no-repeat;
  animation:ttShine 3.6s ease-in-out infinite; }
@keyframes ttGlow{
  0%,100%{ box-shadow:0 10px 26px rgba(0,0,0,.22), 0 0 0 0 rgba(212,175,55,0); border-color:rgba(212,175,55,.45); }
  50%{ box-shadow:0 10px 26px rgba(0,0,0,.22), 0 0 22px 4px rgba(212,175,55,.65); border-color:rgba(232,196,104,1); }
}
@keyframes ttShine{ 0%,55%{ background-position:0 100%; } 85%,100%{ background-position:0 0; } }
.theme-toggle .tt-label{ z-index:3; }
@media (prefers-reduced-motion: reduce){ .theme-toggle, .theme-toggle::after{ animation:none; } }
/* transition douce au changement de theme */
html.theme-anim, html.theme-anim *{ transition:background-color .4s ease, color .4s ease, border-color .4s ease !important; }
html[data-theme="light"] .hero.entered .scroll-cue{ opacity:1; }
html[data-theme="light"] .scroll-cue span{ background:rgba(28,20,10,.55); }
/* pied de page sur image nette : liens poses sur une carte blanche (pas de voile sur l'image) */
html[data-theme="light"] .footer-cols{ background:rgba(255,253,249,.92); border:1px solid rgba(184,146,47,.25); border-radius:20px; padding:28px 30px; box-shadow:0 20px 50px rgba(60,44,20,.18); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
html[data-theme="light"] .footer-bottom{ background:rgba(255,253,249,.92); border-radius:999px; padding:10px 20px; margin-top:14px; }
html[data-theme="light"] .contact-intro .section-sub{ display:inline-block; background:rgba(255,253,249,.88); padding:8px 14px; border-radius:12px; text-shadow:none; }

/* ---------- mode allege (machines modestes) : on retire ce qui coute cher au processeur graphique ---------- */
html.orf-lite *, html.orf-lite *::before, html.orf-lite *::after{ -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }
html.orf-lite body::before, html.orf-lite .hero-aurora, html.orf-lite #streakLayer, html.orf-lite .pillars-meteors{ display:none !important; }
html.orf-lite .theme-toggle, html.orf-lite .theme-toggle::after{ animation:none !important; }

/* ---------- prix devoiles (« Voir le prix ») : or fonce et encre sur fond blanc ---------- */
html[data-theme="light"] .pr-ch{
  background-image:linear-gradient(105deg, transparent 38%, rgba(255,250,232,.85) 50%, transparent 62%), linear-gradient(180deg, #c9a240 0%, #a07a22 45%, #7a5a12 100%);
}
html[data-theme="light"] .pr-val{ color:#8a6a1e; text-shadow:none; }
html[data-theme="light"] .pr.is-on .pr-val{ filter:drop-shadow(0 1px 0 rgba(255,255,255,.6)) drop-shadow(0 4px 10px rgba(138,106,30,.18)); }
html[data-theme="light"] .pr-desc{ color:#2a2117; -webkit-text-stroke:0; }
html[data-theme="light"] .pr-cta{ background-image:linear-gradient(100deg, #7a5a12 0%, #b8922f 30%, #d9b65a 45%, #a07a22 60%, #7a5a12 100%); }
html[data-theme="light"] .pr-cta svg{ stroke:#a07a22; }
html[data-theme="light"] .pr-cta::after{ background:linear-gradient(90deg, rgba(160,122,34,0), #a07a22 40%, rgba(160,122,34,.25)); }
html[data-theme="light"] .is-revealed .pr-line{ background:linear-gradient(90deg, rgba(160,122,34,.15), rgba(160,122,34,.75)); }

/* Influence : prix barre « au lieu de » */
html[data-theme="light"] .pr-was{ color:#5a4d3e; }
html[data-theme="light"] .pr-was b{ color:#1e7a46; }
/* encadre « Demo video » au-dessus de la video d'exemple */
html[data-theme="light"] .sol-video-intro{ background:linear-gradient(135deg, rgba(184,146,47,.12), rgba(255,253,249,.9)); border-color:rgba(184,146,47,.45); box-shadow:0 12px 30px rgba(60,44,20,.12); }
html[data-theme="light"] .sol-video-intro p{ color:#4a3f33; }
html[data-theme="light"] .sol-video-intro b{ color:#1c160f; }
/* fluidite : plus de flou d'arriere-plan, fonds des elements fixes plus opaques */
html[data-theme="light"] .hdr-btn{ background:rgba(255,255,255,.92); }
html[data-theme="light"] .theme-toggle{ background:rgba(255,255,255,.94); }
html[data-theme="light"] .back-to-top{ background:rgba(255,255,255,.95); }
html[data-theme="light"] .tagline, html[data-theme="light"] .hero-proof, html[data-theme="light"] .scroll-cue span{ background:rgba(28,20,10,.62); }
/* fluidite : le halo et le reflet du bouton de theme attirent l'oeil au chargement puis s'arretent
   (box-shadow et background-position anime = page redessinee a chaque image) */
.theme-toggle{ animation-iteration-count:4 !important; }
.theme-toggle::after{ animation-iteration-count:3 !important; }
html .theme-toggle{ background:rgba(21,17,12,.9); }
html .back-to-top{ background:rgba(21,17,12,.92); }
