/* ViteSite 2.4.0 — charte globale, lisibilité et navigation simplifiée. */
:root{
  --vs-ink:#342936;
  --vs-ink-2:#514353;
  --vs-plum:#705b6d;
  --vs-plum-deep:#493a4b;
  --vs-rose:#a96f72;
  --vs-rose-soft:#f1dfdc;
  --vs-sage:#8fa095;
  --vs-sage-soft:#e8eee9;
  --vs-champagne:#c4a77b;
  --vs-cream:#fbf7f0;
  --vs-paper:#fffdfa;
  --vs-mist:#f3ede9;
  --vs-blue-soft:#eef2f3;
  --vs-text:#3c343d;
  --vs-muted:#6e6670;
  --vs-line:#ded4cf;
  --vs-shadow:0 22px 64px rgba(65,46,62,.11);
  --vs-serif:Georgia,"Times New Roman",serif;
  --vs-sans:"Avenir Next",Avenir,"Segoe UI",Inter,system-ui,-apple-system,sans-serif;
  --navy:var(--vs-ink);
  --navy2:var(--vs-plum-deep);
  --blue:var(--vs-plum);
  --azure:var(--vs-sage);
  --coral:var(--vs-rose);
  --orange:#b98370;
  --yellow:var(--vs-champagne);
  --violet:var(--vs-plum);
  --green:#667d70;
  --ink:var(--vs-text);
  --muted:var(--vs-muted);
  --line:var(--vs-line);
  --paper:var(--vs-paper);
  --soft:var(--vs-mist)
}

html{scroll-padding-top:112px;background:var(--vs-cream)}
body{padding-top:88px;background:var(--vs-cream);color:var(--vs-text);font-family:var(--vs-sans);font-size:17px;line-height:1.62}
body,button,input,select,textarea{font-family:var(--vs-sans)}
h1,h2,h3,.infoHero h1,.infoSections h2,.pageFaq h2,.relatedPages h2,.finalCta h2,.educationalDiagram h2,.v12Plans h3{font-family:var(--vs-serif);color:var(--vs-ink);font-weight:500;letter-spacing:-.038em}
p,li,small,label{color:var(--vs-text)}
.lead,.sectionLead,.infoSections p,.pageFaq p,.relatedPages p,.finalCta p{color:var(--vs-muted)}

/* En-tête commun : fixe, calme et volontairement court. */
.header.premiumHeader.v12Header{position:fixed!important;z-index:150!important;top:0!important;right:0!important;left:0!important;width:100%!important;height:88px!important;min-height:88px!important;padding:8px max(18px,calc((100vw - 1240px)/2))!important;border-bottom:1px solid rgba(73,58,75,.12)!important;background:rgba(255,253,250,.97)!important;box-shadow:0 8px 28px rgba(64,45,61,.055)!important;backdrop-filter:blur(18px)!important}
.header .brand{display:flex!important;width:250px!important;min-width:210px!important;height:68px!important;align-items:center!important}
.header .brand img.vsBrandLogo{width:100%!important;height:100%!important;object-fit:contain!important;object-position:left center!important}
.header .brand:not(:has(.vsBrandLogo)):before{content:"";display:block;width:235px;height:62px;background:url('/assets/vitesite-logo-21.svg') left center/contain no-repeat}
.header .brand:not(:has(.vsBrandLogo))>*{display:none!important}
.infoNav.v12DesktopNav{display:flex;gap:clamp(14px,1.7vw,27px);align-items:center;margin-left:auto}
.infoNav.v12DesktopNav a{position:relative;color:var(--vs-ink);font-size:.84rem;font-weight:750;white-space:nowrap}
.infoNav.v12DesktopNav a:after{content:"";position:absolute;right:100%;bottom:-7px;left:0;height:1px;background:var(--vs-rose);transition:right .2s}
.infoNav.v12DesktopNav a:hover:after,.infoNav.v12DesktopNav a:focus-visible:after{right:0}
.businessStatus{display:none!important}
.headerActions{gap:10px!important}
.headerActions .button.compact{border-radius:999px!important}
.mobileMenu.v12Menu{position:static!important}
.mobileMenu.v12Menu summary{display:grid!important;width:50px!important;height:50px!important;place-items:center!important;border:1px solid var(--vs-line)!important;border-radius:17px!important;background:#fff!important;box-shadow:0 8px 20px rgba(65,46,62,.07)!important}
.mobileMenu .burger4{display:grid!important;gap:5px!important;width:23px!important;height:auto!important}
.mobileMenu .burger4 i{display:block!important;width:23px!important;height:2px!important;margin:0!important;border-radius:99px!important;background:var(--vs-ink)!important}
.mobileMenu.v12Menu nav{background:var(--vs-paper)!important;color:var(--vs-ink)!important}
.mobileMenu .menuGroup{display:grid;gap:5px}
.mobileMenu .menuGroup strong{color:var(--vs-plum);font-size:.7rem;letter-spacing:.11em;text-transform:uppercase}
.mobileMenu .menuGroup a{color:var(--vs-text)!important}

/* Boutons et liens : une seule gamme, sans bleu ni orange criard. */
.button,.button.coral,.button.compact,.homeDomainOrder,.vsHomeDomainForm button,.vsDomainForm button,.contactForm button{border:1px solid transparent!important;border-radius:999px!important;background:linear-gradient(135deg,var(--vs-plum-deep),var(--vs-rose))!important;color:#fff!important;box-shadow:0 12px 30px rgba(83,52,71,.18)!important}
.button:hover,.button:focus-visible{background:linear-gradient(135deg,#3f3241,#956168)!important;transform:translateY(-1px)}
.button.ghost{border-color:var(--vs-line)!important;background:#fff!important;color:var(--vs-ink)!important;box-shadow:none!important}
a:not(.button):focus-visible,summary:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(169,111,114,.27);outline-offset:3px}

/* Pages éditoriales : mêmes surfaces, mêmes contrastes, mêmes courbes. */
.infoPage{padding-top:46px!important}
.breadcrumbs{color:var(--vs-muted)!important;font-size:.78rem!important}
.infoHero,.infoHero.v12InfoHero{overflow:hidden!important;border:1px solid var(--vs-line)!important;border-radius:28px 78px 28px 28px!important;background:linear-gradient(140deg,#fffdfa 8%,#f2e9e6 100%)!important;box-shadow:var(--vs-shadow)!important}
.infoHero:before{background:radial-gradient(circle,rgba(143,160,149,.18),transparent 68%)!important}
.infoHero h1{color:var(--vs-ink)!important;font-size:clamp(3rem,5.7vw,5.7rem)!important;line-height:.98!important}
.infoHero .lead{color:var(--vs-muted)!important}
.kicker,.darkKicker,.coralKicker,.eyebrow{color:var(--vs-plum)!important}
.infoHeroMedia img{border-radius:24px 60px 24px 24px!important}
.infoSections{gap:18px!important}
.infoSections>section,.contentSection,.pageFaq,.relatedPages,.emailContactPanel{border:1px solid var(--vs-line)!important;border-radius:24px 54px 24px 24px!important;background:rgba(255,253,250,.92)!important;box-shadow:0 14px 38px rgba(65,46,62,.055)!important}
.infoSections>section:nth-child(3n+2){background:linear-gradient(140deg,#fffdfa,var(--vs-sage-soft))!important}
.infoSections>section:nth-child(3n){background:linear-gradient(140deg,#fffdfa,var(--vs-rose-soft))!important}
.infoSections h2{font-size:clamp(1.8rem,3vw,2.65rem)!important;line-height:1.04!important}

/* Schémas : contraste renforcé et palette strictement ViteSite. */
.educationalDiagram{overflow:hidden!important;border:1px solid var(--vs-line)!important;border-radius:28px 72px 28px 28px!important;background:linear-gradient(145deg,#f8f4ee,#eaf0ec)!important;box-shadow:var(--vs-shadow)!important}
.educationalDiagram h2{color:var(--vs-ink)!important}
.diagramFlow{gap:13px!important}
.diagramFlow>div{position:relative!important;border:1px solid rgba(73,58,75,.13)!important;border-radius:20px 42px 20px 20px!important;background:rgba(255,253,250,.94)!important;box-shadow:0 10px 28px rgba(65,46,62,.055)!important}
.diagramFlow>div:not(:last-child):after{background:var(--vs-rose)!important;color:#fff!important;box-shadow:0 7px 20px rgba(169,111,114,.18)!important}
.diagramFlow span{color:var(--vs-rose)!important}
.diagramFlow strong{color:var(--vs-ink)!important}
.diagramFlow small{color:var(--vs-muted)!important;opacity:1!important}

/* Tarifs et cartes. */
.v12Plans{gap:16px!important}
.v12Plans article{overflow:hidden!important;border:1px solid var(--vs-line)!important;border-radius:22px 50px 22px 22px!important;background:#fffdfa!important;box-shadow:0 13px 34px rgba(65,46,62,.07)!important}
.v12Plans article.featured{border:1px solid var(--vs-rose)!important;background:linear-gradient(145deg,#fffdfa,#f3e5e2)!important;box-shadow:0 18px 42px rgba(121,73,83,.11)!important}
.v12Plans span,.v12Plans a{color:var(--vs-plum)!important}
.v12Plans h3{color:var(--vs-ink)!important}
.v12Plans p{color:var(--vs-muted)!important}
.projectCard,.gallery-card{border-color:var(--vs-line)!important;background:var(--vs-paper)!important;box-shadow:0 16px 42px rgba(65,46,62,.07)!important}

/* FAQ, liens utiles et appel final. */
.pageFaq details{border-color:var(--vs-line)!important}
.pageFaq summary{color:var(--vs-ink)!important;font-family:var(--vs-sans)!important;font-weight:750!important}
.relatedPages>div>a{border:1px solid var(--vs-line)!important;border-radius:18px 38px 18px 18px!important;background:#fff!important;color:var(--vs-ink)!important;box-shadow:0 9px 24px rgba(65,46,62,.045)!important}
.relatedPages>div>a:before{background:var(--vs-rose-soft)!important;color:var(--vs-plum)!important}
.finalCta,.vsClosingCard{overflow:hidden!important;border-radius:28px 76px 28px 28px!important;background:radial-gradient(circle at 88% 15%,rgba(196,167,123,.26),transparent 18rem),linear-gradient(135deg,#463848,#725d6e)!important;color:#fff!important;box-shadow:var(--vs-shadow)!important}
.finalCta h2,.finalCta p,.vsClosingCard h2,.vsClosingCard p{color:#fff!important}
.finalCta .button,.vsClosingCard .button{background:#fff!important;color:var(--vs-ink)!important;box-shadow:none!important}

/* Formulaire de contact : retire l'ancien grand aplat bleu. */
.emailContactPanel{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;gap:30px!important;padding:clamp(24px,4vw,48px)!important;background:linear-gradient(145deg,#f1e8e6,#e7eee9)!important}
.contactForm{padding:clamp(20px,3vw,34px)!important;border:1px solid var(--vs-line)!important;border-radius:22px 48px 22px 22px!important;background:rgba(255,253,250,.96)!important;color:var(--vs-text)!important}
.contactForm label{color:var(--vs-ink)!important;font-weight:750!important}
.contactForm input,.contactForm select,.contactForm textarea{border:1px solid #cfc4c8!important;border-radius:13px!important;background:#fff!important;color:var(--vs-text)!important;box-shadow:none!important}
.contactForm input::placeholder,.contactForm textarea::placeholder{color:#8a8088!important}

/* Commande : garde les radios dans l'écran et les champs lisibles. */
.vsOrderPage{background:var(--vs-mist)!important}
.vsWizard,.vsOrderPlan,.vsExtraChoice>label,.vsOptions>details,.vsSocialBox{border-color:var(--vs-line)!important;background:var(--vs-paper)!important}
.vsOrderPlan:has(input:checked),.vsExtraChoice>label:has(input:checked){border-color:var(--vs-rose)!important;box-shadow:0 0 0 4px rgba(169,111,114,.11)!important}
.vsOrderPlan input,.vsExtraChoice input,.vsOption input,.vsConsent input,.vsSocialConsent input{accent-color:var(--vs-rose)!important}
.vsOption{background:#f7f2ef!important}.vsOption:has(input:checked){background:#f1e3e1!important}

/* Avis Google sans fabriquer de note ni de commentaire. */
.vsGoogleReviews{padding:34px 0 84px}
.vsGoogleReviewsCard{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;padding:clamp(25px,4vw,46px);border:1px solid var(--vs-line);border-radius:28px 76px 28px 28px;background:linear-gradient(135deg,#fffdfa,#eaf0ec);box-shadow:var(--vs-shadow)}
.vsGoogleReviewsLogo{display:grid;width:72px;height:72px;place-items:center;border:1px solid var(--vs-line);border-radius:22px;background:#fff}
.vsGoogleReviewsLogo img{width:38px;height:38px;object-fit:contain}
.vsGoogleReviews h2{margin:0 0 7px;font-size:clamp(2rem,3.8vw,3.4rem);line-height:1}
.vsGoogleReviews p{max-width:720px;margin:0;color:var(--vs-muted)}
.vsGoogleReviews .button{white-space:nowrap}
.vsGoogleReviewsNote{display:block;margin-top:9px;color:var(--vs-muted);font-size:.72rem}

/* Pied de page : prune lisible, avec version réellement espacée. */
.v12Footer{overflow:hidden!important;background:#403342!important;color:#fff!important}
.v12Footer:before{background:linear-gradient(90deg,transparent,var(--vs-champagne),transparent)!important}
.v12Footer p,.v12Footer a,.v12Footer small,.v12Footer .siteVersion{color:#eee7ed!important}
.v12Footer strong{color:#fff!important}
.v12Footer>.siteVersion,.v12Footer p.siteVersion{margin-top:24px!important;padding-top:20px!important;padding-bottom:34px!important;border-top:1px solid rgba(255,255,255,.15)!important}

@media(max-width:1080px){
  .infoNav.v12DesktopNav{display:none!important}
  .mobileMenu.v12Menu{display:block!important;margin-left:auto}
  .headerActions{margin-left:auto}
}

@media(max-width:780px){
  html{scroll-padding-top:94px}
  body{padding-top:82px}
  .header.premiumHeader.v12Header{display:grid!important;grid-template-columns:minmax(0,1fr) 50px!important;gap:10px!important;height:82px!important;min-height:82px!important;padding:7px 13px!important}
  .header .brand{width:min(255px,calc(100vw - 82px))!important;min-width:0!important;height:64px!important}
  .header .brand:not(:has(.vsBrandLogo)):before{width:min(255px,calc(100vw - 82px));height:62px}
  .headerActions{display:none!important}
  .mobileMenu.v12Menu{display:block!important;justify-self:end!important;margin:0!important}
  .mobileMenu.v12Menu nav{position:fixed!important;top:82px!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;max-width:100vw!important;max-height:calc(100dvh - 82px)!important;padding:18px 18px 40px!important;overflow-y:auto!important;border:0!important;border-top:1px solid var(--vs-line)!important;border-radius:0!important;box-shadow:0 20px 50px rgba(65,46,62,.16)!important}
  .mobileMenu .menuGroup{gap:2px!important;padding:7px 0!important}
  .mobileMenu .menuGroup a{padding:12px 8px!important;border-bottom:1px solid rgba(73,58,75,.08)!important;font-size:1rem!important}
  body:has(.mobileMenu[open]){overflow:hidden}
  .infoPage{padding-top:24px!important}
  .infoHero,.infoHero.v12InfoHero,.educationalDiagram,.infoSections>section,.contentSection,.pageFaq,.relatedPages,.emailContactPanel{border-radius:22px 46px 22px 22px!important}
  .infoHero h1{font-size:clamp(2.7rem,12vw,4.15rem)!important}
  .educationalDiagram{padding:28px 18px!important}
  .educationalDiagram h2{font-size:clamp(2.5rem,12vw,3.7rem)!important}
  .diagramFlow{grid-template-columns:1fr!important}
  .diagramFlow>div{min-height:0!important;padding:23px 19px!important}
  .diagramFlow>div:not(:last-child):after{right:auto!important;bottom:-22px!important;left:50%!important;transform:translateX(-50%) rotate(90deg)!important}
  .emailContactPanel{grid-template-columns:1fr!important;padding:21px!important}
  .contactForm{padding:19px!important}
  .contactFormGrid{grid-template-columns:1fr!important}
  .vsGoogleReviews{padding:24px 0 65px}
  .vsGoogleReviewsCard{grid-template-columns:auto 1fr;gap:16px;padding:24px 20px;border-radius:24px 54px 24px 24px}
  .vsGoogleReviewsLogo{width:58px;height:58px;border-radius:18px}
  .vsGoogleReviewsLogo img{width:31px;height:31px}
  .vsGoogleReviews .button{grid-column:1/-1;width:100%}
  .v12Footer>.siteVersion,.v12Footer p.siteVersion{padding-bottom:44px!important}
}

@media(max-width:430px){
  .wrap,.infoPage.wrap,.gallery-grid{width:calc(100% - 28px)!important;max-width:calc(100% - 28px)!important}
  .v12Plans article{padding:24px 19px!important}
  .v12Plans h3{font-size:clamp(2rem,10.4vw,2.75rem)!important;overflow-wrap:anywhere}
  .relatedPages>div>a{padding:17px!important}
}

@supports not selector(:has(*)){
  .header .brand:before{content:"";display:block;width:235px;height:62px;background:url('/assets/vitesite-logo-21.svg') left center/contain no-repeat}
  .header .brand>*{display:none!important}
}
