/* KB Shines · black + blue palette on top of style.css + v6.css */

:root{
  --bleu:#0a1020;
  --bleu-clair:#14264a;
  --bleu-profond:#05080f;
  --or:#3d8bff;          /* accent = logo blue */
  --or-fonce:#1f6fe6;
  --or-pale:#e9f1ff;
  --trait:rgba(10,16,32,.14);
  --trait-fin:rgba(10,16,32,.08);
  --brume:#f3f6fb;
  --brume-2:#e7ecf5;
  --ombre-or:0 10px 30px -12px rgba(61,139,255,.55);
  --v6-vert:#1f6fe6;
  --v6-vert-vif:#3d8bff;
}

/* Accent text on dark backgrounds stays readable */
.hero .eyebrow,.ecran .eyebrow{ color:#8ec0ff; }
.btn--action{ color:#ffffff; }
.btn--action:hover{ color:#ffffff; }
.barre__plein{ color:#ffffff; }

/* ---------- HERO PROOF + BOOKING SECTION ---------- */
.kb-benefits{
  list-style:none; margin:14px 0 0; padding:0; display:grid; gap:8px; text-align:left;
}
.kb-benefits li{
  position:relative; padding-left:30px; color:#eaf2ff; font-weight:700; font-size:15.5px; line-height:1.35;
}
.kb-benefits li::before{
  content:""; position:absolute; left:0; top:2px; width:20px; height:20px; border-radius:50%;
  background:var(--bleu,#1f6feb);
  box-shadow:0 0 0 3px rgba(31,111,235,.22);
}
.kb-benefits li::after{
  content:""; position:absolute; left:6px; top:8px; width:8px; height:4px;
  border-left:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg);
}
.kb-review{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  margin-top:16px; padding:10px 14px; border-radius:14px;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(6px);
}
.kb-review__stars{ color:#ffc94d; letter-spacing:2px; font-size:16px; }
.kb-review__txt{ color:#eaf2ff; font-size:14px; }
.kb-review__txt strong{ color:#fff; }

/* Google / Trustindex-style rating badge in hero */
.kb-gbadge{
  display:inline-flex; align-items:center; gap:14px;
  margin-top:18px; padding:12px 18px 12px 14px; border-radius:14px;
  background:#ffffff; color:#1a1a1a; text-align:left;
  box-shadow:0 14px 34px -12px rgba(0,0,0,.55);
}
.kb-gbadge__g{ width:40px; height:40px; flex:none; }
.kb-gbadge__txt{ display:grid; gap:1px; }
.kb-gbadge__row{ display:flex; align-items:center; gap:8px; }
.kb-gbadge__stars{ color:#fbbc04; letter-spacing:2px; font-size:15px; }
.kb-gbadge__row b{ font-size:14px; font-weight:700; color:#1a1a1a; }
.kb-gbadge__txt strong{ font-size:16px; font-weight:800; color:#1a1a1a; line-height:1.2; }
.kb-gbadge__cert{ font-size:12.5px; color:#5f6368; }
.kb-gbadge__cert i{ font-style:normal; color:#9aa0a6; }

.kb-book{ background:linear-gradient(180deg,#05080f 0%,#071427 100%); padding-block:clamp(22px,5vw,44px); scroll-margin-top:64px; }
.kb-stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:18px; text-align:center;
}
.kb-stats div{
  padding:12px 6px; border-radius:14px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
}
.kb-stats strong{ display:block; color:#7fb6ff; font-size:20px; font-weight:800; }
.kb-stats span{ display:block; color:#cfdcf0; font-size:12px; margin-top:2px; }
.kb-book .form-carte{ box-shadow:0 24px 60px -18px rgba(0,0,0,.6); }
.kb-book .kb-embed iframe{ display:block; width:100%; min-height:900px; border:0; }
@media (min-width:768px){ .kb-book .kb-embed iframe{ min-height:820px; } }

/* ---------- HERO ---------- */
.hero__media{ background:#05080f; }
.hero__video{ z-index:0; }
.hero__video ~ picture .hero__fallback{ z-index:-1; }
.hero__voile{
  background:
    linear-gradient(90deg, rgba(5,8,15,.82) 0%, rgba(5,8,15,.5) 44%, rgba(5,8,15,.08) 78%),
    linear-gradient(180deg, rgba(5,8,15,.2) 0%, rgba(5,8,15,.12) 56%, rgba(5,8,15,.78) 100%);
}
@media (max-width:767px){
  .hero--calendar{ background:linear-gradient(180deg,#05080f 0%,#071427 55%,#0a1c37 100%); }
  .hero__video{ display:none; }
  .hero__media{ inset:0 0 auto 0; height:600px; }
  .hero__fallback{ object-position:50% 42%; z-index:0; }
  .hero__voile{
    inset:0 0 auto 0; height:600px;
    background:
      linear-gradient(180deg, rgba(5,8,15,.62) 0%, rgba(5,8,15,.24) 34%, rgba(5,8,15,.35) 68%, #05080f 100%);
  }
}
.hero .h1{ font-size:clamp(34px,8.6vw,68px); max-width:24ch; }
.kb-off{
  color:#7fb6ff;
  display:inline-block;
}
.kb-strike{
  color:rgba(255,255,255,.62);
  text-decoration:line-through;
  text-decoration-thickness:3px;
  font-weight:700;
}
.kb-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(180deg,#3d8bff,#1f6fe6);
  color:#fff;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  font-size:12px;padding:8px 14px;border-radius:999px;
  box-shadow:0 8px 24px -10px rgba(61,139,255,.8);
}
.hero__intro{ font-size:clamp(16px,4.2vw,19px); }

/* ---------- BOOKING ---------- */
.conteneur--form{ max-width:900px; }
.kb-embed{
  position:relative;
  border-radius:var(--r, 18px);
  overflow:hidden;
  border:1px solid var(--trait);
  background:var(--blanc);
}
.kb-embed iframe{
  display:block;
  width:100%;
  height:1120px;
  border:0;
}
@media (min-width:768px){
  .kb-embed iframe{ height:1080px; }
}
/* LeadConnector widget auto-resizes via form_embed.js */
.kb-embed--widget iframe{
  height:auto;
  min-height:660px;
}
@media (min-width:768px){
  .kb-embed--widget iframe{ min-height:700px; }
}

/* ---------- PRICING ---------- */
.kb-pricing{ max-width:780px;margin:0 auto; }
.kb-pricing__hero{
  background:linear-gradient(180deg, var(--bleu), var(--bleu-profond));
  color:#fff;border-radius:var(--r);padding:26px 24px 28px;
  box-shadow:0 18px 50px -18px rgba(5,8,15,.45);
}
.kb-pricing__hero-top{
  display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;
  margin-bottom:18px;
}
.kb-pricing__hero h3{
  font-size:clamp(22px,5vw,28px);line-height:1.1;margin:0 0 6px;
}
.kb-pricing__hero h3 span{
  display:block;font-size:15px;font-weight:500;color:#8ec0ff;letter-spacing:.02em;margin-top:4px;
}
.kb-pricing__tag{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(61,139,255,.18);color:#8ec0ff;
  font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  padding:6px 12px;border-radius:999px;margin:0;
}
.kb-pricing__price{ display:flex;flex-direction:column;align-items:flex-end;gap:2px; }
.kb-pricing__current{ font-size:42px;font-weight:800;color:#7fb6ff;line-height:1; }
.kb-pricing__original{ font-size:17px;font-weight:600;color:rgba(255,255,255,.55);text-decoration:line-through; }
.kb-pricing__includes{
  list-style:none;margin:0 0 22px;padding:0;
  display:grid;gap:10px;
}
.kb-pricing__includes li{
  position:relative;padding-left:28px;font-size:15px;line-height:1.35;color:#dbe6ff;
}
.kb-pricing__includes li::before{
  content:"";position:absolute;left:0;top:3px;width:18px;height:18px;
  background:#3d8bff;border-radius:50%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M5 12l5 5L20 7'/%3E%3C/svg%3E");
  background-size:12px;background-position:center;background-repeat:no-repeat;
}
.kb-pricing__grid{
  display:grid;gap:12px;margin-top:18px;
}
@media (min-width:640px){
  .kb-pricing__grid{ grid-template-columns:repeat(3,1fr); }
}
.kb-pricing__item{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r);
  padding:16px 18px;
}
.kb-pricing__item span{ font-size:15px;font-weight:600;color:var(--bleu); }
.kb-pricing__item strong{ font-size:17px;font-weight:800;color:var(--or-fonce);white-space:nowrap; }
#pricing .kb-plus{ margin-top:16px; }
#pricing .kb-pricing__note{
  text-align:center;font-size:13px;color:var(--gris);margin-top:18px;
}
#pricing .liste-compris em{ font-style:normal;font-weight:800;white-space:nowrap;color:var(--bleu); }

/* ---------- HERO LAYOUT ---------- */
.hero--calendar{ min-height:0; padding-block:0; }
.hero--calendar .hero__inner{
  position:relative;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding-block: clamp(26px, 6vh, 64px);
}
.hero--calendar .hero__bloc{ width:100%; max-width:620px; gap:8px; }
.hero--calendar .hero__intro{ max-width:46ch; }
.hero--calendar .hero__cta{ width:100%; margin-top:18px; }
.kb-book .form-carte__corps{ padding:12px; }
@media (min-width:480px){ .kb-book .form-carte__corps{ padding:var(--e3); } }
.kb-book .form-carte__accroche{ margin-bottom:12px; }
.kb-book .lf-rassure{ margin-top:10px; }
@media (min-width:960px){
  .hero--calendar .hero__bloc{ max-width:720px; }
  .kb-book .conteneur{ max-width:780px; }
}


/* ---------- TIGHTER SECTION RHYTHM ---------- */
#pricing.sect, #how.sect, #area.sect, #faq.sect{ padding-block:clamp(36px, 7vw, 64px); }
#faq.sect{ padding-bottom:clamp(20px, 4vw, 36px); }
#pricing .sect__tete, #how .sect__tete, #area .sect__tete, #faq .sect__tete{ margin-bottom:22px; }
#faq .faq{ max-width:760px; margin-inline:auto; }
#faq .cta-bloc{ margin-top:26px; }
#how .cta-bloc{ margin-top:26px; }
#area .liste-check{ margin-top:6px; }

/* ---------- FINAL CTA ---------- */
.kb-final{ overflow:hidden; }
.kb-final .ecran__media img{
  width:100%; height:100%; object-fit:cover; object-position:center 38%;
}
.kb-final__voile{
  position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(120% 90% at 50% 108%, rgba(31,111,230,.55) 0%, rgba(31,111,230,0) 55%),
    linear-gradient(180deg, rgba(5,8,15,.34) 0%, rgba(5,8,15,.42) 34%, rgba(8,14,32,.88) 72%, #05080f 100%);
}
.kb-final .ecran__inner{
  position:relative; z-index:2;
  display:flex; justify-content:center;
  padding-block:clamp(64px, 12vw, 120px);
}
.kb-final__card{
  max-width:620px; margin-inline:auto; text-align:center;
  background:rgba(8,14,32,.62);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border:1px solid rgba(142,192,255,.28);
  border-radius:22px;
  padding:clamp(28px, 6vw, 44px) clamp(20px, 5vw, 40px);
  box-shadow:0 30px 80px -20px rgba(3,6,14,.85), inset 0 1px 0 rgba(255,255,255,.08);
  display:flex; flex-direction:column; align-items:center; gap:16px;
}
.kb-final__card .h2{
  margin:0; color:#fff;
  font-size:clamp(28px, 7vw, 42px); line-height:1.08;
  text-wrap:balance;
}
.kb-final__copy{
  margin:0; color:#c9d9f5; font-size:clamp(15px, 4vw, 17px);
  max-width:40ch;
}
.kb-final__card .btn--action{ width:100%; }
.kb-final__card .cta-micro{ margin:0; color:#9fb6dd; }
.kb-final__card .cta-micro a{ color:#8ec0ff; }


/* ---- Google-style reviews ---- */
#reviews .conteneur{ display:flex; flex-direction:column; gap:22px; }
.g-rev__tete{
  display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap;
  background:#fff; color:#202124;
  border-radius:16px; padding:16px 22px;
  box-shadow:0 18px 40px -22px rgba(3,6,14,.9);
  max-width:520px; margin-inline:auto; width:100%;
}
.g-rev__logo{ font-family:Arial, Helvetica, sans-serif; font-size:30px; font-weight:700; letter-spacing:-1px; }
.g-b{ color:#4285F4; } .g-r{ color:#EA4335; } .g-y{ color:#FBBC05; } .g-g{ color:#34A853; }
.g-rev__score{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.g-rev__score strong{ font-size:24px; color:#202124; }
.g-rev__stars, .g-rev__etoiles{ color:#fbbc04; letter-spacing:2px; font-size:18px; }
.g-rev__count{ color:#5f6368; font-size:14px; }
.g-rev__liste{ list-style:none; margin:0; padding:0; display:grid; gap:16px; grid-template-columns:1fr; }
@media (min-width:860px){ .g-rev__liste{ grid-template-columns:repeat(3,1fr); } }
.g-rev{
  background:#fff; color:#202124; border-radius:14px;
  padding:18px; box-shadow:0 18px 40px -24px rgba(3,6,14,.85);
  display:flex; flex-direction:column; gap:10px;
}
.g-rev__haut{ display:flex; align-items:center; gap:12px; }
.g-rev__haut > div{ display:flex; flex-direction:column; flex:1; min-width:0; }
.g-rev__ava{
  width:40px; height:40px; border-radius:50%; flex:0 0 40px;
  display:grid; place-items:center; color:#fff; font-weight:600; font-size:17px;
}
.g-rev__nom{ font-weight:600; font-size:15px; color:#202124; }
.g-rev__date{ font-size:13px; color:#5f6368; }
.g-rev__mark{ width:18px; height:18px; flex:0 0 18px; }
.g-rev p{ margin:0; color:#3c4043; font-size:14.5px; line-height:1.55; }

/* minimalistic Google-style "see more" text link */
.g-rev__more-wrap{ text-align:center; margin-top:14px; }
.g-rev__more-btn{
  background:none; border:0; padding:6px 4px; cursor:pointer;
  font:inherit; font-size:14px; font-weight:500; color:#202124;
  opacity:.82; letter-spacing:0;
}
.g-rev__more-btn:hover{ opacity:1; text-decoration:underline; }


/* ---- Recent work gallery ---- */
.kb-work{
  list-style:none; margin:0; padding:0;
  display:grid; gap:14px; grid-template-columns:repeat(2,1fr);
}
@media (min-width:860px){ .kb-work{ grid-template-columns:repeat(4,1fr); gap:18px; } }
.kb-work__item{
  position:relative; border-radius:14px; overflow:hidden;
  box-shadow:0 20px 44px -26px rgba(3,6,14,.9);
  background:#0b1526;
}
.kb-work__zoom{
  display:block; width:100%; height:100%; margin:0; padding:0;
  border:0; background:none; cursor:zoom-in; position:relative;
}
.kb-work__item img{
  display:block; width:100%; height:100%; aspect-ratio:4/3; object-fit:cover;
  transition:transform .35s ease;
}
.kb-work__zoom:hover img{ transform:scale(1.04); }
.kb-work__zoom:focus-visible{ outline:3px solid #f5cd7a; outline-offset:3px; border-radius:14px; }
.kb-work__item span{
  position:absolute; left:0; right:0; bottom:0;
  padding:22px 12px 10px; color:#fff; font-size:13px; font-weight:600;
  background:linear-gradient(to top, rgba(4,8,18,.85), rgba(4,8,18,0));
  pointer-events:none;
}

/* ---- Photo lightbox ---- */
.kb-lightbox{
  position:fixed; inset:0; z-index:1000;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:14px; padding:20px;
  background:rgba(3,7,16,.94);
  opacity:0; visibility:hidden; transition:opacity .25s ease, visibility .25s ease;
}
.kb-lightbox.is-open{ opacity:1; visibility:visible; }
.kb-lightbox__img{
  max-width:min(94vw,1100px); max-height:80vh; width:auto; height:auto;
  border-radius:16px; box-shadow:0 40px 90px -30px rgba(0,0,0,.9);
  transform:scale(.96); transition:transform .25s ease;
}
.kb-lightbox.is-open .kb-lightbox__img{ transform:scale(1); }
.kb-lightbox__cap{
  margin:0; color:#f5cd7a; font-size:14px; font-weight:600; letter-spacing:.03em;
}
.kb-lightbox__close{
  position:absolute; top:14px; right:16px;
  width:44px; height:44px; border:0; border-radius:50%;
  background:rgba(255,255,255,.08); color:#fff; font-size:30px; line-height:1;
  cursor:pointer; transition:background .2s ease;
}
.kb-lightbox__close:hover{ background:rgba(255,255,255,.18); }
body.kb-no-scroll{ overflow:hidden; }

/* Service area map */
.kb-map { margin: 0 0 2rem; border-radius: 18px; overflow: hidden; border: 1px solid rgba(20,66,129,.18); box-shadow: 0 24px 50px -24px rgba(10,25,50,.35); }
.kb-map img { display: block; width: 100%; height: auto; }
.kb-map__cap { margin: 0; padding: .7rem 1rem; background: #0a1428; color: #f5cd7a; font-size: .8rem; letter-spacing: .04em; text-align: center; }
.nav__logo img{height:44px;width:44px;border-radius:50%}
@media (min-width:768px){.nav__logo img{height:56px;width:56px}}
.footer__logo img{height:64px;width:64px;border-radius:50%}

/* Footer: centered brand logo */
.footer__brand{
  text-align:center;
  margin-bottom:34px;
}
.footer__brand .footer__logo{
  display:flex;
  justify-content:center;
  margin-bottom:14px;
}
.footer__brand p{
  color:var(--gris-clair);
  font-size:15px;
  line-height:1.6;
  margin:0;
}
.footer__brand a{
  color:var(--or);
  font-weight:700;
}
.footer__grille{
  grid-template-columns:1fr 1fr;
  gap:28px;
  text-align:center;
}
@media (min-width:640px){
  .footer__grille{
    grid-template-columns:repeat(2, minmax(0, 220px));
    justify-content:center;
  }
}
.footer__grille nav{
  display:flex;
  flex-direction:column;
  gap:10px;
}
