﻿/* ============================================================
   DAV Multiservices — Style v2
   Palette : bleu #1B6AB5 + vert #82BD2F + blanc cassé #f3f5f2
   Font    : Manrope 800 (titres + corps)
   ============================================================ */

/* ── Variables — Palette DAV Multiservices ───────────────────── */
:root {
  /* Bleu primaire DAV */
  --nc-green:        #1B6AB5;
  --nc-green-dark:   #1558a0;
  --nc-green-light:  #e8f0fb;
  --nc-green-mid:    #6fa8dc;
  --nc-green-xlight: #f0f5fc;
  /* Vert accent DAV — couleur des boutons CTA */
  --nc-lime:         #82BD2F;
  --nc-lime-dark:    #6aaa22;
  --nc-lime-text:    #ffffff;   /* texte sur fond vert */
  /* Neutres */
  --nc-cream:        #f3f5f2;
  --nc-white:        #ffffff;
  --nc-dark:         #1a1a1a;
  --nc-gray:         #5a5a5a;
  --nc-gray-light:   #999999;
  --nc-border:       #e5e5e5;
  --nc-shadow:       rgba(0, 0, 0, 0.07);
  --nc-shadow-md:    rgba(0, 0, 0, 0.14);
  /* Coins arrondis */
  --nc-radius:       12px;
  --nc-radius-sm:    8px;
  --nc-radius-lg:    18px;
  --nc-radius-pill:  50px;
  /* Typographie — Manrope */
  --nc-font-heading: 'Manrope', system-ui, sans-serif;
  --nc-font-body:    'Manrope', system-ui, sans-serif;
  --nc-transition:   all 0.25s ease;
  --nc-header-h:     76px;
  /* legacy compat */
  --sc-green:        #1B6AB5;
  --sc-green-dark:   #1558a0;
  --sc-green-light:  #e8f0fb;
  --sc-dark:         #1a1a1a;
  --sc-gray:         #5a5a5a;
  --sc-radius:       12px;
}

/* ── Reset & Base ───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body.sc-body {
  font-family: var(--nc-font-body);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--nc-dark);
  background: var(--nc-cream);
  -webkit-font-smoothing: antialiased;
}
body.sc-body .container { max-width: 1180px; }
body.sc-body a { text-decoration: none; transition: var(--nc-transition); }
body.sc-body img { max-width: 100%; }
body.sc-body ul { list-style: none; padding: 0; margin: 0; }

/* ── Typography helpers ─────────────────────────────────────── */
h1,h2,h3,h4,h5,h6 {
  font-family: var(--nc-font-heading);
  font-weight: 800;
  text-transform: none;
  letter-spacing: -0.02em;
  line-height: 1.12;
  color: var(--nc-dark);
}
.nc-title {
  font-family: var(--nc-font-heading);
  font-weight: 800;
  line-height: 1.12;
  text-transform: none;
  letter-spacing: -0.02em;
  color: var(--nc-dark);
}
.nc-subtitle { font-size: .95rem; color: var(--nc-gray); line-height: 1.7; font-family: var(--nc-font-body); }
.nc-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--nc-green-dark);
  background: var(--nc-green-light);
  border: 1px solid rgba(59,184,122,.25);
  border-radius: var(--nc-radius-pill);
  padding: 5px 16px;
  font-family: var(--nc-font-body);
}
/* legacy alias */
.sc-section-label { display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--nc-green-dark);background:var(--nc-green-light);border:1px solid rgba(59,184,122,.25);border-radius:var(--nc-radius-pill);padding:5px 16px; }

/* ── Preloader ──────────────────────────────────────────────── */
#sc-preloader {
  position: fixed;
  inset: 0;
  background: var(--nc-white);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity .5s, visibility .5s;
}
#sc-preloader.sc-preloader--done { opacity: 0; visibility: hidden; }
.sc-preloader-inner { text-align: center; }
.sc-preloader-logo { font-family: var(--nc-font-heading); font-size: 1.8rem; color: var(--nc-green); margin-bottom: 18px; }
.sc-preloader-logo span { color: var(--nc-green-dark); }
.sc-preloader-bar { width: 160px; height: 3px; background: var(--nc-green-light); border-radius: var(--nc-radius-pill); overflow: hidden; margin: 0 auto; }
.sc-preloader-progress { height: 100%; background: var(--nc-lime); border-radius: var(--nc-radius-pill); animation: preloaderAnim 1s ease-in-out forwards; }
@keyframes preloaderAnim { 0%{width:0} 100%{width:100%} }

/* ── Header ─────────────────────────────────────────────────── */
.sc-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  height: var(--nc-header-h);
  background: #ffffff;
  border-bottom: 1px solid var(--nc-border);
  transition: var(--nc-transition);
}
.sc-header--scrolled {
  background: #ffffff;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
.sc-header__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 32px;
}
.sc-header__logo { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.sc-logo-icon {
  width: 36px; height: 36px;
  background: var(--nc-lime);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem; font-weight: 900; color: var(--nc-dark); letter-spacing: 0;
}
.sc-logo-text { font-family: var(--nc-font-heading); font-size: 1.4rem; color: var(--nc-dark); font-weight: 900; letter-spacing:-.03em; text-transform:none; line-height:1; }
.sc-logo-text strong { color: var(--nc-green); }

.sc-nav { flex: 1; display: flex; justify-content: center; }
.sc-nav__list { display: flex; align-items: center; gap: 2px; }
.sc-nav__list > li > a {
  display: block;
  padding: 8px 14px;
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: -.01em;
  text-transform: none;
  color: var(--nc-dark);
  border-radius: var(--nc-radius-sm);
  transition: var(--nc-transition);
}
.sc-nav__list > li > a:hover,
.sc-nav__list > li.active > a { color: var(--nc-green); background: var(--nc-green-light); }

.sc-header__actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.sc-header__search-btn {
  width: 38px; height: 38px;
  border: none;
  background: var(--nc-green-light);
  border-radius: var(--nc-radius-sm);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--nc-green-dark);
  font-size: .95rem;
  transition: var(--nc-transition);
}
.sc-header__search-btn:hover { background: var(--nc-border); }
.sc-header__cta { font-size: .875rem !important; padding: 10px 22px !important; }

.sc-burger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 6px; }
.sc-burger span { display: block; width: 22px; height: 2px; background: var(--nc-dark); border-radius: 2px; transition: var(--nc-transition); }

.sc-search-bar {
  position: absolute;
  top: 100%; left: 0; right: 0;
  background: white;
  border-bottom: 1px solid var(--nc-border);
  max-height: 0; overflow: hidden;
  transition: max-height .35s ease, padding .35s ease;
}
.sc-search-bar.open { max-height: 80px; padding: 14px 24px; }
.sc-search-bar__form { max-width: 600px; margin: 0 auto; display: flex; gap: 10px; }
.sc-search-bar__form input { flex:1;border:1px solid var(--nc-border);border-radius:var(--nc-radius-sm);padding:10px 16px;font-size:.9rem;outline:none;font-family:var(--nc-font-body); }
.sc-search-bar__form input:focus { border-color: var(--nc-green); }
.sc-search-bar__form button { background:var(--nc-green);color:white;border:none;border-radius:var(--nc-radius-sm);padding:10px 18px;cursor:pointer;font-size:.85rem;font-weight:600;font-family:var(--nc-font-body);transition:var(--nc-transition);white-space:nowrap; }
.sc-search-bar__form button:last-child { background:var(--nc-green-light);color:var(--nc-dark); }
.sc-search-bar__form button:hover:not(:last-child) { background:var(--nc-green-dark); }

/* ── Mobile nav ─────────────────────────────────────────────── */
.sc-overlay { display:none;position:fixed;inset:0;background:rgba(26,46,32,.5);z-index:998;opacity:0;transition:opacity .3s; }
.sc-overlay.visible { display:block;opacity:1; }

.sc-mobile-nav {
  position:fixed;top:0;right:-320px;width:300px;height:100%;
  background:white;z-index:999;overflow-y:auto;
  transition:right .35s cubic-bezier(.4,0,.2,1);
  padding:24px;
  box-shadow:-4px 0 40px rgba(0,0,0,.1);
}
.sc-mobile-nav.open { right:0; }
.sc-mobile-nav__close { background:var(--nc-green-light);border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:.95rem;color:var(--nc-dark);display:flex;align-items:center;justify-content:center;margin-bottom:24px; }
.sc-mobile-nav__logo { font-size:1.4rem;color:var(--nc-dark);margin-bottom:24px;font-weight:800;letter-spacing:-.03em; }
.sc-mobile-nav__logo strong { color:var(--nc-green); }
.sc-mobile-nav__list { display:flex;flex-direction:column;gap:4px; }
.sc-mobile-nav__list > li > a { display:block;padding:11px 14px;border-radius:var(--nc-radius-sm);font-weight:500;color:var(--nc-dark);font-size:.95rem;transition:var(--nc-transition); }
.sc-mobile-nav__list > li > a:hover { background:var(--nc-green-light);color:var(--nc-green-dark); }
.sc-mobile-nav__cta { display:block;margin-top:24px;text-align:center;width:100%;justify-content:center; }
.sc-mobile-nav__phone { margin-top:16px;text-align:center; }
.sc-mobile-nav__phone a { font-size:.9rem;color:var(--nc-gray); }
.sc-mobile-nav__phone a:hover { color:var(--nc-green); }

/* ── Buttons — style ClanyEco (lime + pill) ─────────────────── */
.sc-btn {
  display:inline-flex;align-items:center;gap:9px;
  padding:13px 28px;
  border-radius: var(--nc-radius-pill);
  font-family:var(--nc-font-body);font-size:.875rem;font-weight:700;
  letter-spacing:-.01em;text-transform:none;
  cursor:pointer;border:2px solid transparent;
  text-decoration:none;transition:var(--nc-transition);white-space:nowrap;
  position:relative;overflow:hidden;
}
.sc-btn--lg { padding:16px 36px;font-size:.95rem; }
.sc-btn--sm { padding:9px 20px;font-size:.8rem; }
/* PRIMARY : lime/jaune ClanyEco — texte sombre */
.sc-btn--primary { background:var(--nc-lime);color:var(--nc-lime-text);border-color:var(--nc-lime); }
.sc-btn--primary:hover { background:var(--nc-lime-dark);border-color:var(--nc-lime-dark);color:var(--nc-lime-text);transform:translateY(-2px);box-shadow:0 8px 28px rgba(200,230,76,.45); }
/* GREEN : bouton secondaire */
.sc-btn--green { background:var(--nc-green);color:white;border-color:var(--nc-green); }
.sc-btn--green:hover { background:var(--nc-green-dark);border-color:var(--nc-green-dark);color:white;transform:translateY(-2px);box-shadow:0 8px 28px rgba(59,184,122,.4); }
.sc-btn--outline { background:transparent;color:var(--nc-dark);border-color:var(--nc-dark); }
.sc-btn--outline:hover { background:var(--nc-dark);color:white;transform:translateY(-2px); }
.sc-btn--dark { background:var(--nc-dark);color:white;border-color:var(--nc-dark); }
.sc-btn--dark:hover { background:#333;border-color:#333;color:white; }
.sc-btn--white { background:white;color:var(--nc-dark);border-color:white; }
.sc-btn--white:hover { background:var(--nc-lime);color:var(--nc-dark);border-color:var(--nc-lime); }
.sc-btn--outline-white { background:transparent;color:white;border-color:rgba(255,255,255,.5); }
.sc-btn--outline-white:hover { background:rgba(255,255,255,.1);border-color:white;color:white; }
.sc-btn:disabled { opacity:.55;cursor:not-allowed;transform:none !important;box-shadow:none !important; }

/* ── Layout ─────────────────────────────────────────────────── */
#sc-main { padding-top: var(--nc-header-h); }
.sc-section { padding: 88px 0; }
.sc-section--sm { padding: 56px 0; }
.sc-section--green { background: #f3f5f2; }        /* gris clair ClanyEco */
.sc-section--dark { background: var(--nc-dark); color: white; }
.sc-section--cream { background: #f3f5f2; }        /* gris clair ClanyEco */
.sc-section--white { background: var(--nc-white); }
.sc-section--pattern {
  background-color: #f3f5f2;
  background-image: radial-gradient(circle, var(--nc-border) 1.2px, transparent 1.2px);
  background-size: 26px 26px;
}
.sc-section-header { text-align: center; max-width: 640px; margin: 0 auto 56px; }
.sc-section-header .nc-label, .sc-section-header .sc-section-label { margin-bottom: 20px; display:block; }
.sc-section-header h2 {
  font-family: var(--nc-font-heading);
  font-size: clamp(2rem, 3.5vw, 2.8rem);
  font-weight: 800;
  color: var(--nc-dark);
  margin-bottom: 16px;
  line-height: 1.12;
  text-transform: none;
  letter-spacing: -0.025em;
}
.sc-section-header p { color: var(--nc-gray); font-size: .97rem; }

/* ── Hero — style ClanyEco : fond vert split ──────────────── */
.sc-hero {
  position: relative;
  min-height: 88vh;
  background: var(--nc-green);   /* vert ClanyEco */
  display: flex;
  align-items: center;
  overflow: hidden;
  padding-top: var(--nc-header-h);
}

/* Texture subtile sur le fond vert */
.sc-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    110deg,
    rgba(30,90,60,.55) 0%,
    rgba(59,184,122,.0) 60%
  );
  z-index: 1;
  pointer-events: none;
}
/* Points décoratifs */
.sc-hero::after {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 50%; height: 100%;
  background: rgba(0,0,0,.12);
  z-index: 0;
  pointer-events: none;
}

/* Container texte — au-dessus de l'overlay */
.sc-hero > .container {
  position: relative;
  z-index: 2;
  width: 100%;
}

/* ── Colonne texte — moitié gauche ── */
.sc-hero__content {
  width: 52%;
  max-width: 600px;
  padding-bottom: 64px;
  padding-top: 40px;
}

.sc-hero__label { margin-bottom: 24px; }
.sc-hero__label .nc-label {
  background: rgba(200,230,76,.2);
  color: var(--nc-lime);
  border-color: rgba(200,230,76,.4);
}

.sc-hero__title {
  font-family: var(--nc-font-heading);
  font-size: clamp(2.4rem, 5vw, 4.5rem);
  font-weight: 800;
  line-height: 1.06;
  color: #ffffff;
  margin-bottom: 24px;
  text-transform: none;
  letter-spacing: -0.03em;
}
.sc-hero__title em {
  font-style: normal;
  color: var(--nc-lime);
}

.sc-hero__subtitle {
  font-size: 1.05rem;
  color: rgba(255,255,255,.8);
  margin-bottom: 36px;
  line-height: 1.75;
  max-width: 460px;
}

.sc-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 36px; }

.sc-hero__trust { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.sc-hero__trust-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .82rem;
  font-weight: 600;
  color: rgba(255,255,255,.8);
  letter-spacing: 0;
}
.sc-hero__trust-item i { color: var(--nc-lime); font-size: .9rem; }

/* Stats mini */
.sc-hero__stats { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 12px; }
.sc-hero__stat {
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: var(--nc-radius-sm);
  padding: 10px 16px;
  text-align: center;
  min-width: 84px;
}
.sc-hero__stat-num {
  font-size: 1.1rem;
  font-weight: 900;
  color: var(--nc-lime);
  line-height: 1;
}
.sc-hero__stat-label { font-size: .7rem; color: rgba(255,255,255,.7); margin-top: 2px; }

/* ── Orbs décoratifs désactivés ── */
.sc-hero__orb { display: none; }

/* ── Section features — fond vert ClanyEco ── */
.sc-section--features {
  background: var(--nc-green);
  position: relative;
  overflow: hidden;
}
.sc-section--features::before { display:none; }
.sc-section--features .sc-section-header h2 { color: white; }
.sc-section--features .sc-section-header h2 em { color: var(--nc-lime); font-style:normal; }
.sc-section--features .sc-section-header p { color: rgba(255,255,255,.75); }
.sc-section--features .nc-label {
  background: rgba(255,255,255,.15);
  color: white;
  border-color: rgba(255,255,255,.3);
}

/* ── Zone image — moitié droite en absolu ── */
.sc-hero__visual {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 50%;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
}

/* L'image du hero — blend-mode pour fondu sur fond vert */
.sc-hero__team-img {
  width: 100%;
  height: 100%;
  max-width: none;
  display: block;
  object-fit: contain;
  object-position: bottom center;
  filter: brightness(1.05) contrast(1.05) saturate(1.1);
  mix-blend-mode: multiply;
}

/* Fondu gauche pour transition douce */
.sc-hero__visual::after {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 80px; height: 100%;
  background: linear-gradient(to right, var(--nc-green), transparent);
  pointer-events: none;
  z-index: 2;
}

/* Badge flottant — style ClanyEco */
.sc-hero__img-badge {
  position: absolute;
  bottom: 60px;
  left: 24px;
  background: white;
  border-radius: var(--nc-radius);
  padding: 14px 20px;
  box-shadow: 0 12px 40px rgba(0,0,0,.2);
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: .82rem;
  z-index: 4;
}
.sc-hero__img-badge-icon { font-size: 1.8rem; }
.sc-hero__img-badge strong { display: block; font-size: .95rem; color: var(--nc-dark); }
.sc-hero__img-badge span { font-size: .75rem; color: var(--nc-gray); }

/* ── Proof bar — fond vert foncé ClanyEco ───────────────────── */
.sc-proof-bar { background:var(--nc-green);border-top:none;border-bottom:none;padding:18px 0; }
.sc-proof-bar__inner { display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap; }
.sc-proof-item { display:flex;align-items:center;gap:10px;font-size:.875rem;color:rgba(255,255,255,.85); }
.sc-proof-item strong { color:white;font-size:1rem; }
.sc-proof-item__icon { font-size:1.2rem; }
.sc-proof-divider { width:1px;height:24px;background:rgba(255,255,255,.25); }

/* ── Presta cards — style ClanyEco ───────────────────────────── */
.sc-presta-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px; }
.sc-presta-card {
  background:white;border:1.5px solid var(--nc-border);border-radius:var(--nc-radius);
  padding:30px 24px;transition:var(--nc-transition);position:relative;overflow:hidden;
  display:flex;flex-direction:column;
}
.sc-presta-card::before {
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:var(--nc-lime);
  transform:scaleX(0);transform-origin:left;transition:transform .35s ease;
}
.sc-presta-card:hover { transform:translateY(-5px);box-shadow:0 16px 48px rgba(0,0,0,.1);border-color:var(--nc-lime); }
.sc-presta-card:hover::before { transform:scaleX(1); }
/* Icône dans carré vert clair — style ClanyEco */
.sc-presta-card__icon {
  width:56px;height:56px;border-radius:var(--nc-radius-sm);
  background:var(--nc-green-light);display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;margin-bottom:18px;flex-shrink:0;
}
.sc-presta-card__title { font-size:1.05rem;font-weight:800;color:var(--nc-dark);margin-bottom:8px;letter-spacing:-.02em; }
.sc-presta-card__desc { font-size:.85rem;color:var(--nc-gray);line-height:1.65;flex:1; }
.sc-presta-card__price { margin-top:14px;font-weight:700;color:var(--nc-green);font-size:.88rem; }
/* Lien "En savoir plus" en bas de carte — style ClanyEco */
.sc-presta-card__link {
  display:inline-flex;align-items:center;gap:6px;margin-top:18px;
  font-size:.82rem;font-weight:700;color:var(--nc-dark);
  background:var(--nc-lime);padding:8px 18px;border-radius:var(--nc-radius-pill);
  transition:var(--nc-transition);align-self:flex-start;
}
.sc-presta-card__link:hover { background:var(--nc-lime-dark);color:var(--nc-dark); }

/* ── Quote Calculator ────────────────────────────────────────── */
.sc-calc { background:white;border:1.5px solid var(--nc-border);border-radius:var(--nc-radius-lg);overflow:hidden;box-shadow:0 4px 40px var(--nc-shadow); }
.sc-calc__header { background:var(--nc-green);padding:28px 32px;color:white; }
.sc-calc__header h3 { font-size:1.4rem;font-weight:800;margin-bottom:4px;letter-spacing:-.03em; }
.sc-calc__header p { font-size:.88rem;opacity:.85; }
.sc-calc__body { padding:32px; }
.sc-calc__section-title { font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--nc-gray-light);margin-bottom:12px;display:flex;align-items:center;gap:8px; }
.sc-calc__section-title::after { content:'';flex:1;height:1px;background:var(--nc-border); }

/* Room counters */
.sc-room-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:28px; }
.sc-room-item { background:var(--nc-cream);border:1px solid var(--nc-border);border-radius:var(--nc-radius);padding:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;transition:var(--nc-transition); }
.sc-room-item.active { border-color:var(--nc-green);background:var(--nc-green-xlight); }
.sc-room-item__info { display:flex;align-items:center;gap:10px; }
.sc-room-item__icon { font-size:1.3rem; }
.sc-room-item__name { font-size:.82rem;font-weight:600;color:var(--nc-dark); }
.sc-room-item__price { font-size:.72rem;color:var(--nc-gray-light); }
.sc-counter { display:flex;align-items:center;gap:8px; }
.sc-counter__btn { width:28px;height:28px;border:1px solid var(--nc-border);border-radius: var(--nc-radius-sm);background:white;cursor:pointer;font-size:1rem;font-weight:700;color:var(--nc-green-dark);display:flex;align-items:center;justify-content:center;transition:var(--nc-transition);line-height:1; }
.sc-counter__btn:hover { background:var(--nc-green-light);border-color:var(--nc-green); }
.sc-counter__val { font-weight:700;font-size:1rem;color:var(--nc-dark);min-width:18px;text-align:center; }

/* Options */
.sc-options-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px; }
.sc-option-check { border:1.5px solid var(--nc-border);border-radius:var(--nc-radius);padding:14px;cursor:pointer;transition:var(--nc-transition);display:flex;align-items:flex-start;gap:12px; }
.sc-option-check:hover { border-color:var(--nc-green-mid);background:var(--nc-green-xlight); }
.sc-option-check.active { border-color:var(--nc-green);background:var(--nc-green-light); }
.sc-option-check input[type="checkbox"] { display:none; }
.sc-option-check__box { width:20px;height:20px;border:2px solid var(--nc-border);border-radius: var(--nc-radius-sm);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:var(--nc-transition);margin-top:1px; }
.sc-option-check.active .sc-option-check__box { background:var(--nc-green);border-color:var(--nc-green); }
.sc-option-check.active .sc-option-check__box::after { content:'✓';color:white;font-size:.72rem;font-weight:800; }
.sc-option-check__label strong { display:block;font-size:.875rem;font-weight:700;color:var(--nc-dark); }
.sc-option-check__label span { font-size:.78rem;color:var(--nc-gray); }
.sc-sofa-seats { margin-top:8px;display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--nc-gray); }
.sc-sofa-seats.hidden { display:none; }

/* Frequency */
.sc-freq-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:28px; }
.sc-freq-item { border:2px solid var(--nc-border);border-radius:var(--nc-radius);padding:12px 8px;text-align:center;cursor:pointer;transition:var(--nc-transition); }
.sc-freq-item:hover { border-color:var(--nc-green-mid);background:var(--nc-green-xlight); }
.sc-freq-item.active { border-color:var(--nc-green);background:var(--nc-green-light); }
.sc-freq-item input { display:none; }
.sc-freq-item__name { font-size:.82rem;font-weight:700;color:var(--nc-dark); }
.sc-freq-item__discount { font-size:.72rem;color:var(--nc-green-dark);font-weight:600;margin-top:3px; }
.sc-freq-item__sub { font-size:.7rem;color:var(--nc-gray);margin-top:2px; }

/* Result */
.sc-calc__result { background:linear-gradient(135deg,var(--nc-green-dark),#2a8a5a);border-radius:var(--nc-radius);padding:22px 24px;color:white;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap; }
.sc-calc__price-main { font-size:.82rem;opacity:.8;margin-bottom:4px; }
.sc-calc__price-val { font-family:var(--nc-font-heading);font-size:2.2rem;font-weight:700; }
.sc-calc__price-detail { font-size:.78rem;opacity:.7;margin-top:2px; }
.sc-calc__disclaimer { font-size:.75rem;opacity:.6;margin-top:6px; }

/* ── Steps — style ClanyEco (icônes dans carré, dashed connector) ── */
.sc-steps { display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative; }
.sc-steps::before { display:none; }
.sc-step { text-align:center;padding:0 8px; }
/* Icône dans carré vert clair — comme ClanyEco */
.sc-step__num {
  width:64px;height:64px;
  background:var(--nc-green-light);
  border:2px solid rgba(59,184,122,.25);
  border-radius:var(--nc-radius-sm);
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;font-weight:900;color:var(--nc-green);
  margin:0 auto 20px;position:relative;z-index:1;
}
.sc-step__title { font-size:1.1rem;font-weight:800;color:var(--nc-dark);margin-bottom:10px;letter-spacing:-.02em; }
.sc-step__desc { font-size:.875rem;color:var(--nc-gray);line-height:1.7;max-width:240px;margin:0 auto; }

/* ── Feature cards — sur fond vert ClanyEco ─────────────────── */
.sc-features-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px; }
.sc-feature-card {
  background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.2);
  border-radius:var(--nc-radius);padding:28px 24px;transition:var(--nc-transition);
}
.sc-feature-card:hover { background:rgba(255,255,255,.2);transform:translateY(-3px); }
/* Icône dans carré blanc — style ClanyEco */
.sc-feature-card__icon {
  width:52px;height:52px;border-radius:var(--nc-radius-sm);
  background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;margin-bottom:18px;
}
.sc-feature-card__title { font-size:1.05rem;font-weight:800;color:white;margin-bottom:8px;letter-spacing:-.02em; }
.sc-feature-card__desc { font-size:.875rem;color:rgba(255,255,255,.75);line-height:1.7; }

/* ── Stats — style ClanyEco ──────────────────────────────────── */
.sc-stats-row { display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1.5px solid var(--nc-border);border-radius:var(--nc-radius);overflow:hidden; }
.sc-stat-card { text-align:center;padding:32px 20px;border-right:1.5px solid var(--nc-border); }
.sc-stat-card:last-child { border-right:none; }
.sc-stat-card__num { font-size:2.6rem;font-weight:900;color:var(--nc-green);line-height:1;margin-bottom:8px;letter-spacing:-.04em; }
.sc-stat-card__label { font-size:.82rem;color:var(--nc-gray);font-weight:500; }
/* Ancien alias (au cas où) */
.sc-stat-item { text-align:center; }
.sc-stat-item__num { font-size:2.4rem;font-weight:900;color:var(--nc-green);line-height:1;margin-bottom:6px; }
.sc-stat-item__label { font-size:.875rem;color:var(--nc-gray); }

/* ── Testimonials — style ClanyEco ────────────────────────────── */
.sc-testi-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px; }
.sc-testi-card {
  background:white;border:1.5px solid var(--nc-border);border-radius:var(--nc-radius);
  padding:32px 28px;transition:var(--nc-transition);position:relative;
}
.sc-testi-card:hover { border-color:var(--nc-lime);box-shadow:0 8px 32px rgba(0,0,0,.08); }
/* Étoiles jaunes ClanyEco */
.sc-testi-card__stars { color:#f5c542;font-size:1rem;margin-bottom:18px;letter-spacing:2px;display:block; }
.sc-testi-card__text { font-size:.93rem;color:var(--nc-gray);line-height:1.8;margin-bottom:24px;font-style:italic;position:relative; }
.sc-testi-card__text::before { content:'"';font-size:4rem;color:var(--nc-green);position:absolute;top:-20px;left:-8px;line-height:1;opacity:.2;font-family:Georgia,serif; }
.sc-testi-card__author { display:flex;align-items:center;gap:14px;border-top:1.5px solid var(--nc-border);padding-top:18px; }
.sc-testi-card__avatar { width:44px;height:44px;border-radius:50%;background:var(--nc-green);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:white;flex-shrink:0; }
.sc-testi-card__name { font-weight:800;font-size:.9rem;color:var(--nc-dark);letter-spacing:-.01em; }
.sc-testi-card__role { font-size:.78rem;color:var(--nc-gray-light); }

/* ── FAQ ─────────────────────────────────────────────────────── */
.sc-faq-list { max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:10px; }
.sc-faq-item { background:white;border:1px solid var(--nc-border);border-radius:var(--nc-radius);overflow:hidden;transition:var(--nc-transition); }
.sc-faq-item:hover { border-color:var(--nc-green-mid); }
.sc-faq-question { display:flex;align-items:center;justify-content:space-between;padding:18px 22px;cursor:pointer;font-weight:600;color:var(--nc-dark);font-size:.93rem;gap:16px; }
.sc-faq-question::after { content:'+';font-size:1.4rem;font-weight:300;color:var(--nc-green);flex-shrink:0;transition:var(--nc-transition); }
.sc-faq-item.open .sc-faq-question::after { content:'−'; }
.sc-faq-answer { padding:0 22px;max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease; }
.sc-faq-item.open .sc-faq-answer { max-height:400px;padding:0 22px 18px; }
.sc-faq-answer p { font-size:.875rem;color:var(--nc-gray);line-height:1.75; }

/* ── CTA Banner — style ClanyEco ─────────────────────────────── */
.sc-cta-banner { background:var(--nc-dark);padding:90px 24px;text-align:center;position:relative;overflow:hidden; }
.sc-cta-banner::before {
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 60% at 50% 0%, rgba(200,230,76,.12), transparent);
  pointer-events:none;
}
.sc-cta-banner h2 { font-size:clamp(1.8rem,3.5vw,3rem);font-weight:800;color:white;margin-bottom:16px;position:relative;z-index:1;line-height:1.1;letter-spacing:-.03em;text-transform:none; }
.sc-cta-banner p { color:rgba(255,255,255,.7);font-size:1rem;margin-bottom:36px;position:relative;z-index:1;max-width:520px;margin-left:auto;margin-right:auto; }
.sc-cta-banner__actions { display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1; }

/* ── Forms ───────────────────────────────────────────────────── */
.sc-form-group { margin-bottom:20px; }
.sc-form-group label { display:block;font-size:.85rem;font-weight:600;color:var(--nc-dark);margin-bottom:7px; }
.sc-form-group label .req { color:var(--nc-green); }
.sc-form-control { width:100%;padding:12px 16px;border:1.5px solid var(--nc-border);border-radius:var(--nc-radius-sm);font-family:var(--nc-font-body);font-size:.9rem;color:var(--nc-dark);background:white;transition:var(--nc-transition);outline:none; }
.sc-form-control:focus { border-color:var(--nc-green);box-shadow:0 0 0 3px rgba(59,184,122,.12); }
.sc-form-control.error { border-color:#ef4444; }
.sc-form-control::placeholder { color:var(--nc-gray-light); }
textarea.sc-form-control { resize:vertical;min-height:110px; }
select.sc-form-control { cursor:pointer; }

/* ── Page hero — style ClanyEco ─────────────────────────────── */
.sc-page-hero { background:var(--nc-green);padding:80px 0 60px;position:relative;overflow:hidden; }
.sc-page-hero::before {
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg, rgba(0,0,0,.15) 0%, transparent 60%);
}
.sc-page-hero__inner { text-align:center;position:relative;z-index:1; }
.sc-page-hero__title { font-size:clamp(2rem,4vw,3.5rem);color:white;font-weight:800;margin:16px 0 18px;text-transform:none;line-height:1.1;letter-spacing:-.03em; }
.sc-breadcrumb { display:flex;align-items:center;justify-content:center;gap:10px;font-size:.82rem;color:rgba(255,255,255,.7); }
.sc-breadcrumb li:not(:last-child)::after { content:'›';margin-left:10px; }
.sc-breadcrumb a { color:rgba(255,255,255,.75); }
.sc-breadcrumb a:hover { color:white; }

/* ── Appointment wrap ────────────────────────────────────────── */
.sc-appointment-wrap { background:white;border:1px solid var(--nc-border);border-radius:var(--nc-radius-lg);padding:36px; }

/* ── Flash ───────────────────────────────────────────────────── */
.sc-flash { position:fixed;top:calc(var(--nc-header-h) + 16px);right:20px;z-index:900;max-width:460px;border-radius:var(--nc-radius);padding:16px 20px;display:flex;align-items:flex-start;gap:12px;font-size:.875rem;font-weight:500;animation:scFlashIn .4s cubic-bezier(.4,0,.2,1) both;box-shadow:0 8px 32px rgba(0,0,0,.12); }
.sc-flash--success { background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46; }
.sc-flash--error   { background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d; }
.sc-flash i { margin-top:1px;flex-shrink:0;font-size:1rem; }
.sc-flash-close { background:none;border:none;cursor:pointer;opacity:.5;margin-left:auto;flex-shrink:0;font-size:.9rem; }
.sc-flash-close:hover { opacity:1; }
@keyframes scFlashIn  { from{opacity:0;transform:translateX(20px)} to{opacity:1;transform:none} }
@keyframes scFlashOut { to{opacity:0;transform:translateX(20px)} }

/* ── Footer — style ClanyEco ─────────────────────────────────── */
.sc-footer { background:#111111;color:rgba(255,255,255,.7);border-top:4px solid var(--nc-green); }
.sc-footer__cta { background:#191919;padding:48px 0;border-bottom:1px solid rgba(255,255,255,.06); }
.sc-footer__cta-inner { display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap; }
.sc-footer__cta-text h3 { font-size:1.6rem;color:white;margin-bottom:4px;text-transform:none;letter-spacing:-.03em;line-height:1.15; }
.sc-footer__cta-text p { color:rgba(255,255,255,.8);font-size:.9rem; }
.sc-footer__cta-actions { display:flex;gap:12px;flex-wrap:wrap; }
.sc-footer__body { padding:56px 0 40px; }
.sc-footer__grid { display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1.6fr;gap:40px; }
.sc-footer__logo { display:flex;align-items:center;gap:10px;margin-bottom:16px; }
.sc-footer__logo .sc-logo-text { color:white; }
.sc-footer__logo .sc-logo-icon { background:var(--nc-green); }
.sc-footer__col p { font-size:.875rem;line-height:1.75;color:rgba(255,255,255,.6);margin-bottom:20px; }
.sc-footer__heading { font-family:var(--nc-font-heading);font-size:1rem;font-weight:800;letter-spacing:-.01em;text-transform:none;color:white;margin-bottom:20px;line-height:1; }
.sc-footer__links li { margin-bottom:8px; }
.sc-footer__links a { font-size:.875rem;color:rgba(255,255,255,.6);transition:var(--nc-transition); }
.sc-footer__links a:hover { color:var(--nc-green); }
.sc-footer__socials { display:flex;gap:10px; }
.sc-social-btn { width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:var(--nc-transition);background:rgba(255,255,255,.07);color:rgba(255,255,255,.7); }
.sc-social-btn:hover { background:var(--nc-green);color:white;transform:translateY(-2px); }
.sc-newsletter { margin-bottom:20px; }
.sc-newsletter__field { display:flex;border:1px solid rgba(255,255,255,.12);border-radius:var(--nc-radius-sm);overflow:hidden;background:rgba(255,255,255,.06);margin-bottom:10px; }
.sc-newsletter__field input { flex:1;background:none;border:none;padding:11px 14px;font-size:.85rem;color:white;outline:none;font-family:var(--nc-font-body); }
.sc-newsletter__field input::placeholder { color:rgba(255,255,255,.35); }
.sc-newsletter__field button { background:var(--nc-green);border:none;padding:11px 16px;cursor:pointer;color:white;font-size:.95rem;transition:var(--nc-transition); }
.sc-newsletter__field button:hover { background:var(--nc-green-dark); }
.sc-newsletter__terms { display:flex;align-items:center;gap:8px;font-size:.75rem;color:rgba(255,255,255,.4);cursor:pointer; }
.sc-newsletter__terms input { accent-color:var(--nc-green); }
.sc-footer__contact { display:flex;flex-direction:column;gap:8px; }
.sc-footer__contact a,.sc-footer__contact span { font-size:.82rem;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:8px;transition:var(--nc-transition); }
.sc-footer__contact a:hover { color:var(--nc-green); }
.sc-footer__contact i { font-size:.9rem;width:16px;flex-shrink:0; }
.sc-footer__bottom { border-top:1px solid rgba(255,255,255,.07);padding:20px 0; }
.sc-footer__bottom-inner { display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.8rem; }
.sc-footer__bottom-badges { display:flex;gap:10px;flex-wrap:wrap; }
.sc-badge { background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius: var(--nc-radius-sm);padding:4px 10px;font-size:.72rem;color:rgba(255,255,255,.5); }
.sc-footer__bottom-links { display:flex;gap:20px; }
.sc-footer__bottom-links a { color:rgba(255,255,255,.4);transition:var(--nc-transition); }
.sc-footer__bottom-links a:hover { color:var(--nc-green); }

/* ── WhatsApp + Backtop ──────────────────────────────────────── */
.sc-whatsapp-btn { position:fixed;bottom:28px;right:28px;width:54px;height:54px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:800;box-shadow:0 4px 20px rgba(37,211,102,.4);transition:var(--nc-transition); }
.sc-whatsapp-btn:hover { transform:scale(1.1) translateY(-2px);box-shadow:0 8px 28px rgba(37,211,102,.5); }
.sc-backtop { position:fixed;bottom:90px;right:28px;width:42px;height:42px;background:white;border:1px solid var(--nc-border);border-radius: var(--nc-radius-sm);cursor:pointer;font-size:.95rem;color:var(--nc-gray);display:none;align-items:center;justify-content:center;z-index:800;box-shadow:0 4px 16px var(--nc-shadow);transition:var(--nc-transition); }
.sc-backtop.visible { display:flex; }
.sc-backtop:hover { background:var(--nc-green-light);color:var(--nc-green-dark);transform:translateY(-2px); }

/* ── Animations ──────────────────────────────────────────────── */
.sc-animate { opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease; }
.sc-animate.sc-visible { opacity:1;transform:none; }
.sc-animate[data-delay="1"]{transition-delay:.1s}
.sc-animate[data-delay="2"]{transition-delay:.2s}
.sc-animate[data-delay="3"]{transition-delay:.3s}
.sc-animate[data-delay="4"]{transition-delay:.4s}
.sc-animate[data-delay="5"]{transition-delay:.5s}

/* ── Loyalty ─────────────────────────────────────────────────── */
.sc-loyalty-card { background:white;border:1px solid var(--nc-border);border-radius:var(--nc-radius-lg);padding:32px;position:relative;overflow:hidden;transition:var(--nc-transition); }
.sc-loyalty-card::after { content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--nc-green),var(--nc-green-mid)); }
.sc-tier-badge { display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius: var(--nc-radius-sm);font-size:.75rem;font-weight:700; }
.sc-reward-card { background:white;border:1px solid var(--nc-border);border-radius:var(--nc-radius);padding:24px;transition:var(--nc-transition); }
.sc-reward-card:hover { border-color:var(--nc-green);transform:translateY(-2px);box-shadow:0 8px 28px var(--nc-shadow); }
.sc-progress-bar { background:var(--nc-green-light);border-radius: var(--nc-radius-sm);height:8px;overflow:hidden; }
.sc-progress-bar__fill { height:100%;background:linear-gradient(90deg,var(--nc-green),var(--nc-green-mid));border-radius: var(--nc-radius-sm);transition:width .8s ease; }

/* ── Admin ───────────────────────────────────────────────────── */
.sc-admin-layout { min-height:100vh;display:flex;background:#f0f4f1; }
.sc-admin-sidebar { width:240px;background:var(--nc-dark);flex-shrink:0;display:flex;flex-direction:column;padding:24px 0;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;z-index:100; }
.sc-admin-logo { padding:0 20px 24px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:12px; }
.sc-admin-logo .sc-logo-text { color:white;font-size:1.15rem; }
.sc-admin-nav a { display:flex;align-items:center;gap:10px;padding:11px 20px;font-size:.875rem;color:rgba(255,255,255,.55);transition:var(--nc-transition);border-left:3px solid transparent; }
.sc-admin-nav a:hover,.sc-admin-nav a.active { color:white;background:rgba(255,255,255,.05);border-left-color:var(--nc-green); }
.sc-admin-nav a i { width:18px;text-align:center;font-size:1rem; }
.sc-admin-content { margin-left:240px;flex:1;padding:32px;min-height:100vh; }
.sc-admin-topbar { display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:16px; }
.sc-admin-topbar h1 { font-family:var(--nc-font-heading);font-size:1.6rem;color:var(--nc-dark);font-weight:700; }
.sc-admin-stat-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:28px; }
.sc-admin-stat { background:white;border:1px solid var(--nc-border);border-radius:var(--nc-radius);padding:22px;display:flex;align-items:center;gap:16px; }
.sc-admin-stat__icon { width:46px;height:46px;border-radius: var(--nc-radius-sm);background:var(--nc-green-light);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0; }
.sc-admin-stat__val { font-family:var(--nc-font-heading);font-size:1.6rem;font-weight:700;color:var(--nc-dark);line-height:1; }
.sc-admin-stat__label { font-size:.78rem;color:var(--nc-gray);margin-top:3px; }
.sc-admin-card { background:white;border:1px solid var(--nc-border);border-radius:var(--nc-radius);overflow:hidden; }
.sc-admin-card__head { padding:16px 20px;border-bottom:1px solid var(--nc-border);display:flex;align-items:center;justify-content:space-between; }
.sc-admin-card__head h2 { font-size:1rem;font-weight:700;color:var(--nc-dark); }
.sc-table { width:100%;border-collapse:collapse;font-size:.875rem; }
.sc-table th { background:var(--nc-cream);padding:11px 16px;text-align:left;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--nc-gray);border-bottom:1px solid var(--nc-border); }
.sc-table td { padding:13px 16px;border-bottom:1px solid #f3f3f3;color:var(--nc-dark);vertical-align:middle; }
.sc-table tr:last-child td { border-bottom:none; }
.sc-table tr:hover td { background:var(--nc-green-xlight); }
.sc-status { display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius: var(--nc-radius-sm);font-size:.72rem;font-weight:700; }
.sc-status--pending   { background:#fef3c7;color:#92400e; }
.sc-status--confirmed { background:#d1fae5;color:#065f46; }
.sc-status--completed { background:#e0e7ff;color:#3730a3; }
.sc-status--cancelled { background:#fee2e2;color:#991b1b; }
.sc-admin-login { min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--nc-green-xlight);padding:24px; }
.sc-admin-login__box { background:white;border:1px solid var(--nc-border);border-radius:var(--nc-radius-lg);padding:48px 40px;width:100%;max-width:420px;box-shadow:0 8px 40px var(--nc-shadow-md); }

/* ══════════════════════════════════════════════════════════════
   LOYALTY PAGE
══════════════════════════════════════════════════════════════ */
.sc-loy-hero{position:relative;background:linear-gradient(135deg,#0f2318 0%,#1a3a25 50%,#1e4d2f 100%);overflow:hidden;padding:120px 0 80px;min-height:82vh;display:flex;align-items:center}
.sc-loy-hero__bg-orb{position:absolute;border-radius:50%;pointer-events:none}
.sc-loy-hero__bg-orb--1{width:600px;height:600px;top:-200px;right:-100px;background:radial-gradient(circle,rgba(59,184,122,.2) 0%,transparent 70%);animation:orbFloat 8s ease-in-out infinite}
.sc-loy-hero__bg-orb--2{width:400px;height:400px;bottom:-100px;left:-80px;background:radial-gradient(circle,rgba(59,184,122,.12) 0%,transparent 70%);animation:orbFloat 10s ease-in-out infinite reverse}
@keyframes orbFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-30px) scale(1.05)}}
.sc-loy-hero__inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.sc-loy-hero__title{font-family:var(--nc-font-heading);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;color:white;line-height:1.2;margin:20px 0 18px}
.sc-loy-hero__title em{font-style:normal;background:linear-gradient(90deg,#3bb87a,#7dd3a8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block}
.sc-loy-hero__sub{color:rgba(255,255,255,.65);font-size:1rem;line-height:1.75;margin-bottom:28px}
.sc-loy-hero__actions{display:flex;gap:14px;flex-wrap:wrap}
/* Carte fidélité démo */
.sc-loy-card-wrap{position:relative;display:flex;align-items:center;justify-content:center}
.sc-loy-card{background:linear-gradient(135deg,#1e4d2f,#2d7a4f,#3bb87a);border-radius: var(--nc-radius-sm);padding:32px;color:white;position:relative;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35);width:100%;max-width:320px}
.sc-loy-card__shine{position:absolute;top:-40%;left:-40%;width:80%;height:80%;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 60%);pointer-events:none;animation:cardShine 4s ease-in-out infinite}
@keyframes cardShine{0%,100%{transform:translate(0,0)}50%{transform:translate(20%,20%)}}
.sc-loy-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.sc-loy-card__tier-badge{background:rgba(255,255,255,.15);padding:4px 12px;border-radius: var(--nc-radius-sm);font-size:.75rem;font-weight:700;backdrop-filter:blur(6px)}
.sc-loy-card__pts{margin-bottom:28px}
.sc-loy-card__pts-num{font-family:var(--nc-font-heading);font-size:2.8rem;font-weight:700;line-height:1}
.sc-loy-card__pts-label{font-size:.78rem;opacity:.65;margin-top:4px}
.sc-loy-card__footer{display:flex;justify-content:space-between;align-items:flex-end;font-size:.875rem}
/* Badges flottants */
.sc-loy-fbadge{position:absolute;background:white;border-radius: var(--nc-radius-sm);padding:10px 14px;font-size:.8rem;font-weight:700;color:var(--nc-dark);box-shadow:0 8px 24px rgba(0,0,0,.15);white-space:nowrap}
.sc-loy-fbadge--1{top:10%;left:-10%;animation:badgeFloat 6s ease-in-out infinite}
.sc-loy-fbadge--2{bottom:15%;right:-8%;animation:badgeFloat 7s ease-in-out infinite reverse}
@keyframes badgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
/* Tier cards */
.sc-loy-tier-card{background:white;border:2px solid var(--nc-border);border-radius: var(--nc-radius-sm);padding:28px 24px;text-align:center;position:relative;transition:var(--nc-transition);overflow:hidden}
.sc-loy-tier-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px var(--nc-shadow-md)}
.sc-loy-tier-card__icon{font-size:3rem;margin-bottom:12px}
.sc-loy-tier-card__name{font-family:var(--nc-font-heading);font-size:1.2rem;font-weight:700;color:var(--nc-dark);margin-bottom:8px}
.sc-loy-tier-card__mult{font-size:2.4rem;font-weight:800;color:var(--nc-green);font-family:var(--nc-font-heading);line-height:1}
.sc-loy-tier-card__label{font-size:.75rem;color:var(--nc-gray);margin-bottom:10px}
.sc-loy-tier-card__range{font-size:.78rem;color:var(--nc-gray-light);background:var(--nc-green-xlight);border-radius: var(--nc-radius-sm);padding:4px 12px;display:inline-block}
.sc-loy-tier-card__badge{margin-top:14px;padding:4px 14px;border-radius: var(--nc-radius-sm);font-size:.72rem;font-weight:800;display:inline-block}
.sc-loy-tier-card__badge--pop{background:#fef3c7;color:#92400e}
.sc-loy-tier-card__badge--excl{background:linear-gradient(90deg,#f59e0b,#fbbf24);color:white}
/* Reward cards */
.sc-loy-reward{background:white;border:1.5px solid var(--nc-border);border-radius: var(--nc-radius-sm);padding:24px;text-align:center;transition:var(--nc-transition)}
.sc-loy-reward:hover{border-color:var(--nc-green);transform:translateY(-4px);box-shadow:0 12px 32px var(--nc-shadow-md)}
.sc-loy-reward__icon{font-size:2.4rem;margin-bottom:12px}
.sc-loy-reward__name{font-weight:700;color:var(--nc-dark);margin-bottom:6px}
.sc-loy-reward__desc{font-size:.8rem;color:var(--nc-gray);margin-bottom:12px}
.sc-loy-reward__pts{font-size:.85rem;color:var(--nc-gray);margin-bottom:4px}
.sc-loy-reward__discount{font-family:var(--nc-font-heading);font-size:1.4rem;font-weight:700;color:var(--nc-green-dark)}
@media(max-width:768px){.sc-loy-hero__inner{grid-template-columns:1fr}.sc-loy-card-wrap{display:none}}

/* ══════════════════════════════════════════════════════════════
   AMÉLIORATIONS VISUELLES GLOBALES
══════════════════════════════════════════════════════════════ */

/* ── Animations enrichies ── */
@keyframes fadeInUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInLeft{from{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:translateX(0)}}
@keyframes fadeInRight{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(59,184,122,.35)}70%{box-shadow:0 0 0 12px rgba(59,184,122,0)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes gradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes countUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes borderGlow{0%,100%{box-shadow:0 0 0 0 rgba(59,184,122,0)}50%{box-shadow:0 0 0 3px rgba(59,184,122,.25)}}

.sc-animate{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}
.sc-animate.sc-visible{opacity:1;transform:translateY(0)}
.sc-animate[data-delay="1"]{transition-delay:.12s}
.sc-animate[data-delay="2"]{transition-delay:.24s}
.sc-animate[data-delay="3"]{transition-delay:.36s}
.sc-animate[data-delay="4"]{transition-delay:.48s}

/* ── Hero titre em — lime ClanyEco ── */
.sc-hero__title em {
  color: var(--nc-lime);
  font-style: normal;
}

/* ── Stats hero — glassmorphism sur fond photo ── */
.sc-hero__stat {
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: var(--nc-radius-sm);
  padding: 12px 18px;
  text-align: center;
  min-width: 84px;
}
.sc-hero__stat-num {
  font-size: 1.15rem;
  font-weight: 900;
  color: var(--nc-lime);
  line-height: 1;
  background: none;
  -webkit-text-fill-color: initial;
}

/* ── Bouton primary — lime ClanyEco ── */
.sc-btn--primary {
  background: var(--nc-lime);
  color: var(--nc-dark);
  border-color: var(--nc-lime);
}
.sc-btn--primary::before { display: none; }
.sc-btn--primary:hover {
  background: var(--nc-lime-dark);
  border-color: var(--nc-lime-dark);
  color: var(--nc-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(200,230,76,.4);
}
.sc-btn--primary:active { transform: translateY(0); box-shadow: none; }

.sc-btn--outline { position:relative;overflow:hidden; }
.sc-btn--outline::after { display:none; }

/* ── Proof bar — fond vert ClanyEco ── */
.sc-proof-bar { background: var(--nc-green); padding: 18px 0; }
.sc-proof-bar .sc-proof-item { color: rgba(255,255,255,.85); }
.sc-proof-bar .sc-proof-item strong { color: white; font-size: 1rem; background: none; -webkit-text-fill-color: white; }
.sc-proof-bar .sc-proof-divider { background: rgba(255,255,255,.25); }

/* ── Cards prestations — style ClanyEco ── */
.sc-presta-card {
  background: white;
  border: 1.5px solid var(--nc-border);
  border-radius: var(--nc-radius);
  padding: 30px 24px;
  transition: all .3s ease;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.sc-presta-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 48px rgba(0,0,0,.1);
  border-color: var(--nc-lime);
}
.sc-presta-card__icon {
  width: 56px; height: 56px;
  border-radius: var(--nc-radius-sm);
  background: var(--nc-green-light);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; margin-bottom: 18px; flex-shrink: 0;
}
.sc-presta-card__title { font-size: 1.05rem; font-weight: 800; color: var(--nc-dark); margin-bottom: 8px; letter-spacing: -.02em; text-transform: none; line-height: 1.2; }

/* ── Section header — style ClanyEco ── */
.sc-section-header { text-align: center; max-width: 640px; margin: 0 auto 52px; }
.sc-section-header h2 {
  font-size: clamp(2rem, 3.5vw, 2.8rem);
  font-weight: 800;
  color: var(--nc-dark);
  margin: 14px 0 16px;
  line-height: 1.12;
  text-transform: none;
  letter-spacing: -0.025em;
}
.sc-section-header h2 em {
  font-style: normal;
  color: var(--nc-green);
  -webkit-text-fill-color: var(--nc-green);
  background: none;
}
.sc-section-header p { color: var(--nc-gray); font-size: .97rem; line-height: 1.75; }

/* ── Steps — style ClanyEco ── */
.sc-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; }
.sc-steps::before { display: none; }
.sc-step {
  text-align: center;
  background: white;
  border: 1.5px solid var(--nc-border);
  border-radius: var(--nc-radius);
  padding: 32px 24px;
  transition: var(--nc-transition);
  display: flex; flex-direction: column; align-items: center;
}
.sc-step:hover { transform: translateY(-4px); box-shadow: 0 12px 40px var(--nc-shadow-md); border-color: var(--nc-lime); }
.sc-step__num {
  width: 64px; height: 64px; flex-shrink: 0;
  background: var(--nc-green-light);
  border: 2px solid rgba(59,184,122,.25);
  border-radius: var(--nc-radius-sm);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem; font-weight: 900; color: var(--nc-green);
  margin-bottom: 20px;
}
.sc-step__title { font-size: 1.05rem; font-weight: 800; color: var(--nc-dark); margin-bottom: 8px; letter-spacing: -.02em; }
.sc-step__desc { font-size: .875rem; color: var(--nc-gray); line-height: 1.65; max-width: 220px; }

/* ── Stats section ── */
.sc-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--nc-border)}
.sc-stat-card{
  background:white;padding:36px 24px;text-align:center;
  position:relative;overflow:hidden;transition:var(--nc-transition);
  border-right:1px solid var(--nc-border);
}
.sc-stat-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--nc-green),var(--nc-green-mid));
}
.sc-stat-card:hover{background:var(--nc-green-xlight)}
.sc-stat-card__num{
  font-size:2.6rem;font-weight:900;line-height:1;
  color:var(--nc-green);letter-spacing:-.04em;
}
.sc-stat-card__label{font-size:.82rem;color:var(--nc-gray);margin-top:8px;font-weight:500}

/* ── CTA Banner — style ClanyEco (fond sombre) ── */
.sc-cta-banner{
  position:relative;overflow:hidden;
  background:var(--nc-dark);
  padding:90px 24px;
}
.sc-cta-banner::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 60% at 50% 0%,rgba(200,230,76,.12),transparent);
  pointer-events:none;
}
.sc-cta-banner::after{ display:none; }

/* ── Feature cards — style ClanyEco (sur fond vert) ── */
.sc-feature-card{
  background:rgba(255,255,255,.12);
  border:1.5px solid rgba(255,255,255,.2);
  border-radius:var(--nc-radius);
  padding:28px 24px;
  transition:all .3s ease;
  position:relative;overflow:hidden;
}
.sc-feature-card:hover{
  background:rgba(255,255,255,.22);
  transform:translateY(-3px);
  box-shadow:0 12px 32px rgba(0,0,0,.2);
}

/* ── Page hero intérieure override ── */
.sc-page-hero{
  background:var(--nc-green);
  animation:none;
  padding:80px 0 60px;
  position:relative;overflow:hidden;
}
.sc-page-hero::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(0,0,0,.15) 0%,transparent 60%);
  pointer-events:none;
}
.sc-page-hero__inner{text-align:center;position:relative;z-index:2}
.sc-page-hero__title{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:white;margin:16px 0 12px;line-height:1.12;letter-spacing:-.03em;text-transform:none}
.sc-breadcrumb{display:flex;align-items:center;justify-content:center;gap:8px;list-style:none;font-size:.8rem;color:rgba(255,255,255,.65)}
.sc-breadcrumb li:not(:last-child)::after{content:'›';margin-left:8px}
.sc-breadcrumb a{color:rgba(255,255,255,.75);text-decoration:none;transition:color .2s}
.sc-breadcrumb a:hover{color:white}

/* ── Testimonials ── */
.sc-testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.sc-testimonial{
  background:white;border:1.5px solid var(--nc-border);border-radius:var(--nc-radius);padding:28px;
  position:relative;transition:all .3s ease;
}
.sc-testimonial::before{
  content:'"';position:absolute;top:16px;right:20px;font-size:4rem;font-family:Georgia,serif;
  color:var(--nc-green-light);line-height:1;pointer-events:none;
}
.sc-testimonial:hover{transform:translateY(-5px);box-shadow:0 16px 48px var(--nc-shadow-md);border-color:var(--nc-lime)}

/* ── FAQ enrichie ── */
.sc-faq-item{
  border:1.5px solid var(--nc-border);border-radius:var(--nc-radius);margin-bottom:10px;overflow:hidden;
  transition:border-color .2s;
}
.sc-faq-item.open{border-color:var(--nc-lime)}
.sc-faq-q{
  padding:18px 22px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  font-weight:600;font-size:.95rem;color:var(--nc-dark);background:white;transition:background .2s;
  gap:12px;
}
.sc-faq-q:hover{background:var(--nc-green-xlight)}
.sc-faq-q::after{content:'+';font-size:1.4rem;color:var(--nc-green);line-height:1;flex-shrink:0;transition:transform .3s}
.sc-faq-item.open .sc-faq-q::after{transform:rotate(45deg)}
.sc-faq-a{display:none;padding:0 22px 18px;font-size:.875rem;color:var(--nc-gray);line-height:1.75;background:white}
.sc-faq-item.open .sc-faq-a{display:block}

/* ── Formulaire enrichi ── */
.sc-form-control{
  width:100%;border:1.5px solid var(--nc-border);border-radius:var(--nc-radius-sm);
  padding:12px 16px;font-size:.9rem;font-family:var(--nc-font-body);
  color:var(--nc-dark);background:white;outline:none;
  transition:all .25s ease;
}
.sc-form-control:focus{
  border-color:var(--nc-green);background:white;
  box-shadow:0 0 0 3px rgba(59,184,122,.12);
}
.sc-form-control::placeholder{color:var(--nc-gray-light)}
.sc-form-control.error{border-color:#ef4444;background:#fef2f2}

/* ── Fréquence items ── */
.sc-freq-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sc-freq-item{
  border:1.5px solid var(--nc-border);border-radius:var(--nc-radius-sm);padding:12px 10px;cursor:pointer;
  text-align:center;transition:all .25s ease;position:relative;overflow:hidden;
  background:white;
}
.sc-freq-item::before{
  content:'';position:absolute;inset:0;background:var(--nc-lime);
  opacity:0;transition:opacity .25s;z-index:0;
}
.sc-freq-item.active,.sc-freq-item:hover{border-color:var(--nc-lime);transform:translateY(-2px)}
.sc-freq-item.active::before{opacity:1}
.sc-freq-item > *{position:relative;z-index:1}
.sc-freq-item.active .sc-freq-item__name,.sc-freq-item.active .sc-freq-item__discount,.sc-freq-item.active .sc-freq-item__sub{color:white}
.sc-freq-item__name{font-weight:700;font-size:.875rem;color:var(--nc-dark);margin-bottom:2px}
.sc-freq-item__discount{font-size:.9rem;font-weight:800;color:var(--nc-green-dark)}
.sc-freq-item__sub{font-size:.72rem;color:var(--nc-gray);margin-top:2px}

/* ── WhatsApp button pulse ── */
.sc-whatsapp-btn{animation:pulse 2.5s infinite}

/* ── Scroll indicator ── */
.sc-scroll-indicator{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:6px;
  z-index:5;
  animation:float 2s ease-in-out infinite;
  text-align:center;
}
.sc-scroll-indicator__line{
  width:1.5px;height:36px;margin-top:4px;
  background:linear-gradient(to bottom,var(--nc-lime),transparent);
}

/* ── Section cream ClanyEco ── */
.sc-section--cream{ background: #f3f5f2; }
.sc-section--cream::before{
  display:none;
  background-size:30px 30px;
  pointer-events:none;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media(max-width:1024px){
  .sc-hero__content{width:60%;padding-bottom:40px}
  .sc-hero__visual{width:44%}
  .sc-footer__grid{grid-template-columns:1fr 1fr}
  .sc-steps{grid-template-columns:1fr 1fr}
  .sc-stats-row{grid-template-columns:repeat(2,1fr)}
  .sc-freq-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .sc-nav{display:none}.sc-burger{display:flex}
  .sc-section{padding:60px 0}
  .sc-hero{min-height:auto;padding-top:var(--nc-header-h);padding-bottom:0}
  .sc-hero__visual{position:relative;width:100%;height:300px;top:auto;right:auto;bottom:auto}
  .sc-hero__team-img{object-position:bottom center;mix-blend-mode:multiply}
  .sc-hero__content{width:100%;max-width:100%;padding-bottom:32px;padding-right:0;text-align:center}
  .sc-hero__title{font-size:clamp(2rem,8vw,2.8rem)}
  .sc-hero__subtitle{max-width:100%}
  .sc-hero__actions{flex-direction:column;align-items:center}
  .sc-hero__trust{justify-content:center;gap:16px}
  .sc-hero__stats{gap:10px;justify-content:center}
  .sc-hero__label{text-align:center}
  .sc-options-grid{grid-template-columns:1fr}
  .sc-calc__body{padding:20px}.sc-calc__header{padding:20px}
  .sc-calc__result{flex-direction:column;gap:16px}
  .sc-footer__cta-inner{flex-direction:column;text-align:center}
  .sc-footer__grid{grid-template-columns:1fr}
  .sc-cta-banner{padding:60px 20px}
  .sc-appointment-wrap{padding:24px}
  .sc-proof-bar__inner{gap:20px}.sc-proof-divider{display:none}
  .sc-admin-sidebar{display:none}.sc-admin-content{margin-left:0;padding:20px}
  .sc-room-grid{grid-template-columns:1fr}
  .sc-scroll-indicator{display:none}
  .sc-stats-row{grid-template-columns:repeat(2,1fr);border:none;gap:12px}
  .sc-stat-card{border:1.5px solid var(--nc-border);border-radius:var(--nc-radius)}
  .sc-steps{grid-template-columns:1fr}
}
@media(max-width:480px){
  .sc-hero__title{font-size:1.9rem}
  .sc-freq-grid{grid-template-columns:repeat(2,1fr)}
  .sc-stats-row{grid-template-columns:1fr 1fr}
  .sc-footer__bottom-inner{flex-direction:column;align-items:flex-start}
}

