/* Variables theme béton ciré clair - ajoutées avant les overrides */
:root {
  --t-bg: #E8E6E1;
  --t-bg-alt: #DEDCD7;
  --t-bg-card: #F2F0EB;
  --t-fg: #1C1A18;
  --t-fg-body: #3D3934;
  --t-fg-muted: #76706A;
  --t-border: rgba(28,26,24,0.1);
  --t-border-strong: rgba(28,26,24,0.18);
  --t-brique: #8B1F1A;
  --t-brique-deep: #5C1410;
  --t-brique-soft: #B23B30;
  --t-pierre: #76706A;
}

/* === LIGHT THEME BASE — swap dark→clair commun aux 3 variantes ===
   Les couleurs sont définies via les variantes (option-X) :
   --t-bg, --t-bg-alt, --t-bg-card, --t-fg, --t-fg-body, --t-fg-muted, --t-border,
   --t-border-strong, --t-brique, --t-brique-deep, --t-brique-soft
*/

:root {
  --color-bg: var(--t-bg);
  --color-bg-alt: var(--t-bg-alt);
  --color-bg-card: var(--t-bg-card);
  --color-volvic: var(--t-bg);
  --color-volvic-alt: var(--t-bg-alt);
  --color-volvic-card: var(--t-bg-card);
  --color-lin: var(--t-fg);
  --color-lin-warm: var(--t-fg-body);
  --color-pierre: var(--t-fg-muted);
  --color-pierre-soft: rgba(15,14,13,0.16);
  --color-fg: var(--t-fg);
  --color-fg-body: var(--t-fg-body);
  --color-fg-muted: var(--t-fg-muted);
  --color-border: var(--t-border);
  --color-border-strong: var(--t-border-strong);
  --color-brique: var(--t-brique);
  --color-brique-deep: var(--t-brique-deep);
  --color-brique-soft: var(--t-brique-soft);
}

body { color: var(--t-fg-body); }
body::before { mix-blend-mode: multiply; opacity: 0.5; }
body::after { background: radial-gradient(ellipse 100% 80% at 50% 0%, color-mix(in srgb, var(--t-brique) 5%, transparent) 0%, transparent 60%); }

/* Nav clair */
.nav { background: color-mix(in srgb, var(--t-bg) 85%, transparent); border-bottom-color: var(--t-border); }
.nav.scrolled { background: color-mix(in srgb, var(--t-bg) 95%, transparent); }
.nav__brand { color: var(--t-fg); }
.nav__link { color: var(--t-fg-body); }
.nav__link:hover { color: var(--t-brique); }
.nav__link[aria-current="page"]::after { background: var(--t-brique); }
.nav__toggle-bar { background: var(--t-fg); }
.nav__cta { background: var(--t-brique); color: #FFFFFF; }
.nav__cta:hover { background: var(--t-brique-deep); }

/* Hero cycle : reste sur image sombre (overlay garde lin pour texte) */
.hero-cycle__brand { color: #FFFFFF; }
.hero-cycle__prefix { color: rgba(255,255,255,0.95); }
.hero-cycle__sub { color: rgba(255,255,255,0.88); }
.hero-cycle__meta-label { color: rgba(255,255,255,0.6); }
.hero-cycle__meta-value { color: #FFFFFF; }
.hero-cycle__meta { border-top-color: rgba(255,255,255,0.2); }
.hero-cycle__eyebrow { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.28); color: #FFFFFF; }
.hero--cycle .hero__badge { background: rgba(255,255,255,0.14); border-color: rgba(255,255,255,0.28); color: #FFFFFF; }
.hero--cycle .hero__badge i { color: var(--t-brique-soft); }
.hero-cycle__overlay { background: linear-gradient(180deg, rgba(11,9,8,0.55) 0%, rgba(11,9,8,0.35) 35%, rgba(11,9,8,0.82) 100%); }
.btn--on-dark.btn--ghost { color: #FFFFFF; border-color: rgba(255,255,255,0.3); }
.btn--on-dark.btn--ghost .btn__icon { background: rgba(255,255,255,0.14); }
.btn--on-dark.btn--ghost .btn__icon svg { stroke: #FFFFFF; }
.btn--on-dark.btn--ghost:hover { background: #FFFFFF; color: var(--t-fg); border-color: #FFFFFF; }
.btn--on-dark.btn--ghost:hover .btn__icon { background: rgba(15,14,13,0.06); }
.btn--on-dark.btn--ghost:hover .btn__icon svg { stroke: var(--t-fg); }

/* Sections claires */
.section--alt { background: var(--t-bg-alt); }
.bento__card { background: color-mix(in srgb, var(--t-fg) 3%, transparent); box-shadow: 0 0 0 1px var(--t-border), 0 8px 24px -8px rgba(15,14,13,0.08); }
.bento__card-inner { background: var(--t-bg-card); box-shadow: inset 0 1px 0 rgba(255,255,255,0.4); }
.bento__card-title { color: var(--t-fg); }
.bento__card-desc { color: var(--t-fg-body); }
.bento__card-eyebrow { color: var(--t-fg-muted); }
.bento__card-link { color: var(--t-fg); }
.bento__card-link:hover { color: var(--t-brique); }

/* Services accordion */
.services-acc__list { border-top-color: var(--t-border); }
.services-acc__item { border-bottom-color: var(--t-border); }
.services-acc__item:hover { background: color-mix(in srgb, var(--t-fg) 3%, transparent); }
.services-acc__item[open] { background: color-mix(in srgb, var(--t-brique) 7%, transparent); }
.services-acc__num { color: var(--t-brique); }
.services-acc__title { color: var(--t-fg); }
.services-acc__item:hover .services-acc__title { color: var(--t-brique-soft); }
.services-acc__item[open] .services-acc__title { color: var(--t-brique); }
.services-acc__icon { background: var(--t-bg-card); border-color: var(--t-border-strong); color: var(--t-brique); }
.services-acc__item[open] .services-acc__icon { background: var(--t-brique); color: #FFFFFF; border-color: var(--t-brique); }
.services-acc__content p { color: var(--t-fg-body); }
.services-acc__content a { color: var(--t-fg); border-bottom-color: var(--t-brique); }
.services-acc__preview { background: var(--t-bg-card); border-color: var(--t-border-strong); }

/* Section-head */
.section-head__title { color: var(--t-fg); }
.section-head__intro { color: var(--t-fg-body); }

/* Stats clair */
.stat__value { color: var(--t-fg); }
.stat__label { color: var(--t-fg-muted); }
.stat::before { background: var(--t-brique); }

/* Testimonials */
.testimonial { background: var(--t-bg-card); box-shadow: 0 0 0 1px var(--t-border), 0 12px 32px -12px rgba(15,14,13,0.08); }
.testimonial__quote { color: var(--t-fg); }
.testimonial__quote::before { color: var(--t-brique); }
.testimonial__author-name { color: var(--t-fg); }
.testimonial__author-meta { color: var(--t-fg-muted); }

/* Réalisations */
.realisation { background: var(--t-bg-card); box-shadow: 0 0 0 1px var(--t-border), 0 8px 24px -8px rgba(15,14,13,0.08); }
.realisation figcaption { background: linear-gradient(180deg, transparent 0%, rgba(15,12,10,0.55) 35%, rgba(15,12,10,0.95) 100%); color: #FFFFFF; }
.realisation__tag { background: rgba(139, 31, 26, 0.95); color: #FFFFFF; }

/* FAQ */
.faq { border-top-color: var(--t-border); }
.faq__item { border-bottom-color: var(--t-border); }
.faq__q { color: var(--t-fg); }
.faq__item:hover .faq__q { color: var(--t-brique-soft); }
.faq__item[open] .faq__q { color: var(--t-brique); }
.faq__icon { color: var(--t-brique); }
.faq__a p { color: var(--t-fg-body); }
.faq__item:hover { background: color-mix(in srgb, var(--t-fg) 2%, transparent); }
.faq__item[open] { background: color-mix(in srgb, var(--t-brique) 6%, transparent); }

/* CTA band : reste sombre pour contraste impact */
.cta-band { background: linear-gradient(135deg, #1a0908 0%, #2A2520 100%); border-color: rgba(255,255,255,0.1); }
.cta-band__title { color: #FFFFFF; }
.cta-band__meta { color: rgba(255,255,255,0.72); }
.cta-band__meta a { color: #FFFFFF; border-bottom-color: rgba(255,255,255,0.4); }
.cta-band .btn--primary { background: #FFFFFF; color: var(--t-fg); }
.cta-band .btn--primary:hover { background: var(--t-brique); color: #FFFFFF; }
.cta-band .btn--primary .btn__icon { background: rgba(15,14,13,0.1); }
.cta-band .btn--primary .btn__icon svg { stroke: var(--t-fg); }
.cta-band .btn--primary:hover .btn__icon svg { stroke: #FFFFFF; }

/* Boutons */
.btn--primary { background: var(--t-brique); color: #FFFFFF; }
.btn--primary:hover { background: var(--t-brique-deep); }
.btn--primary .btn__icon { background: rgba(255,255,255,0.18); }
.btn--primary .btn__icon svg { stroke: #FFFFFF; }
.btn--ghost { color: var(--t-fg); border-color: var(--t-border-strong); }
.btn--ghost .btn__icon { background: rgba(15,14,13,0.06); }
.btn--ghost .btn__icon svg { stroke: var(--t-fg); }
.btn--ghost:hover { background: var(--t-fg); color: var(--t-bg); border-color: var(--t-fg); }
.btn--ghost:hover .btn__icon { background: rgba(255,255,255,0.18); }
.btn--ghost:hover .btn__icon svg { stroke: var(--t-bg); }

/* Footer */
.footer__brand { -webkit-text-stroke-color: var(--t-border-strong); }
.footer__heading { color: var(--t-fg-muted); }
.footer__col p { color: var(--t-fg-body); }
.footer__link { color: var(--t-fg-body); }
.footer__link:hover { color: var(--t-brique); }
.footer__legal { color: var(--t-fg-muted); border-top-color: var(--t-border); }
.footer__grid { border-top-color: var(--t-border); }

/* Prest-list */
.prest-list__icon { background: var(--t-bg-card); border-color: var(--t-border-strong); color: var(--t-brique); }
.prest-list__item { border-top-color: var(--t-border); }
.prest-list__item:last-child { border-bottom-color: var(--t-border); }
.prest-list__title { color: var(--t-fg); }
.prest-list__desc { color: var(--t-fg-muted); }
.prest-list__item:hover .prest-list__icon { background: var(--t-brique); color: #FFFFFF; border-color: var(--t-brique); }

/* Hero __badge (utilisé en standalone heros - pages contact/mentions) */
.hero .hero__badge { background: var(--t-bg-card); border-color: var(--t-border-strong); color: var(--t-fg-body); }
.hero .hero__badge i { color: var(--t-brique); }

/* Nav mobile menu */
.nav__mobile { background: var(--t-bg); }
.nav__mobile-link { color: var(--t-fg); }
.nav__mobile-link:hover { color: var(--t-brique); }
.nav__mobile-meta { color: var(--t-fg-muted); border-top-color: var(--t-border); }

/* Method scroll-snap */
.method-ss__step { background: var(--t-bg-card); border-color: var(--t-border-strong); box-shadow: 0 0 0 1px var(--t-border); }
.method-ss__title { color: var(--t-fg); }
.method-ss__desc { color: var(--t-fg-body); }
.method-ss__label { color: var(--t-brique-soft); }
.method-ss__num { background: var(--t-brique); color: #FFFFFF; }

/* Méthode legacy */
.method__step { background: var(--t-bg-card); }
.method__step-num { color: var(--t-brique); }
.method__step-title { color: var(--t-fg); }
.method__step-desc { color: var(--t-fg-body); }

/* Form */
.form { background: var(--t-bg-card); box-shadow: 0 0 0 1px var(--t-border); }
.form__title { color: var(--t-fg); }
.form__label { color: var(--t-fg-muted); }
.form__input, .form__textarea, .form__select { background: var(--t-bg); border-color: var(--t-border-strong); color: var(--t-fg); }
.form__input:focus, .form__textarea:focus, .form__select:focus { background: var(--t-bg-card); border-color: var(--t-brique); }
.form__radio { background: var(--t-bg); border-color: var(--t-border-strong); color: var(--t-fg-body); }
.form__radio:hover { border-color: var(--t-pierre); }
.form__radio:has(input:checked) { background: color-mix(in srgb, var(--t-brique) 8%, transparent); border-color: var(--t-brique); }
.form__progress-dot { background: var(--t-border-strong); }
.form__progress-dot.active { background: var(--t-brique); }

/* Eyebrows */
.eyebrow { color: var(--t-fg-muted); }
.eyebrow--accent { color: var(--t-brique); }
.eyebrow--badge { border-color: var(--t-border-strong); }

/* Lede */
.hero__lede { color: var(--t-fg-body); }
.lede { color: var(--t-fg); }

/* Mono */
.mono { color: var(--t-fg-muted); }

/* Selection */
::selection { background: var(--t-brique); color: #FFFFFF; }

/* Hero non-cycle (autres pages) */
.hero__title { color: var(--t-fg); }
.hero__title em { color: var(--t-brique); }
.hero__media-tag { background: rgba(15,14,13,0.85); color: #FFFFFF; border-color: rgba(255,255,255,0.18); }

/* Hero meta non-cycle */
.hero__meta-label { color: var(--t-fg-muted); }
.hero__meta-value { color: var(--t-fg); }

/* Variant indicators */
.variant-tag {
  position: fixed; top: var(--space-4); left: 50%; transform: translateX(-50%); z-index: 200;
  padding: 0.5rem 1rem; background: rgba(15,14,13,0.88); color: #F4F4F0;
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.2em;
  text-transform: uppercase; border-radius: 9999px; pointer-events: none;
}
.variant-back {
  position: fixed; top: var(--space-4); right: var(--space-4); z-index: 200;
  padding: 0.5rem 0.875rem; background: rgba(15,14,13,0.88); color: #F4F4F0;
  text-decoration: none; font-family: var(--font-mono); font-size: var(--text-xs);
  letter-spacing: 0.1em; text-transform: uppercase; border-radius: 9999px;
}
.variant-back:hover { background: var(--t-brique); }

@media (max-width: 767px) {
  .variant-tag { display: none; }
}
