/* Mise en page calme : colonne centrée, tailles réduites, bandes bleu clair inclinées (toutes les pages) */
.wrap{max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;padding-left:clamp(18px,3vw,32px)!important;padding-right:clamp(18px,3vw,32px)!important}
body{font-size:14.5px;background:#fff!important}
h1,.hero h1,.hero.hx h1{font-size:clamp(1.7rem,2.7vw,2.3rem)!important;line-height:1.1!important;margin-bottom:14px!important}
.head h2,.v-two h2,.v-section .head h2,.h3-h2,.f6-h2,.about h2,.zones h2,.faq h2,.services h2,.local-intro h2{font-size:clamp(1.35rem,2vw,1.7rem)!important;line-height:1.15!important}
.v-h2s{font-size:1.15rem!important}
h3{font-size:1rem}
.lead,.v-two p,.local-intro .copy p,.v-card p,.v-steps p,.v-habitat p,.about p,.card p,.fa,.head p{font-size:.93rem!important;line-height:1.6!important}
.cheap{font-size:clamp(.95rem,1.3vw,1.1rem)!important}
.bigcall{font-size:clamp(1rem,1.4vw,1.15rem)!important;padding:11px 22px!important;margin-top:18px!important}
.bubble{transform:scale(.7);transform-origin:center}
.hero.hx{padding-top:30px;padding-bottom:30px}
.hero.hx .media img{max-height:300px;object-fit:cover}
.hero.hx .wrap{align-items:center}
.fast{font-size:.9rem}
.perks{padding:26px 0!important}
.perk{padding:16px 12px!important}
.perk .pi{width:40px!important;height:40px!important}
.perks .perk b{font-size:.92rem}
.perks .perk span{font-size:.8rem}
.mq-title,.kick{font-size:.74rem}
.ins-marquee:not(.h4-mq),.brand-marquee{padding:10px 0 12px!important}
.mq-list img{height:40px!important;width:auto!important}
.btn,.btn-primary{font-size:.95rem!important;padding:11px 20px!important}
.v-section{padding:46px 0!important}
.v-intro{padding:46px 0 40px!important}
.v-two{gap:34px!important}
.v-card{padding:18px!important}
.v-card h3{font-size:1rem!important}
.v-steps>div{padding:16px!important}
.v-steps span{width:32px!important;height:32px!important}
.v-table{font-size:.9rem!important}
.v-table th,.v-table td{padding:9px 12px!important}
.v-checklist li{padding:9px 0 9px 30px!important;font-size:.92rem!important}
.v-chips span,.v-links a,.chips a{font-size:.85rem!important;padding:7px 14px!important}
.v-reperes li{padding:8px 0!important;font-size:.9rem!important}
.card{padding:22px 20px!important}
.step{padding:22px 18px!important}
.facc summary{font-size:.98rem!important}
.cta-banner{padding:28px 0 6px!important}
.cta-banner .wrap{max-width:1000px!important}
.cta-tel{font-size:.88rem!important}
/* bandes bleu clair inclinées pour casser le blanc */
.v-alt,.services,section#etapes,.faq,.zones,.about,.local-intro[style],.h4-moment{background:#eef3fc!important;clip-path:polygon(0 28px,100% 0,100% calc(100% - 28px),0 100%);padding-top:66px!important;padding-bottom:66px!important;margin:10px 0}
.about{clip-path:polygon(0 0,100% 28px,100% 100%,0 calc(100% - 28px))}
.faq{clip-path:polygon(0 0,100% 28px,100% 100%,0 calc(100% - 28px))}
.h4-moment{clip-path:polygon(0 6%,100% 0,100% 100%,0 94%)!important;margin-top:20px!important}
.reviews,.contact,.v-section:not(.v-alt),.v-intro,.perks,.ins-marquee{background:#fff!important}
/* accueil */
.h3{min-height:470px!important}
.h3-wrap{padding:60px clamp(18px,3vw,32px) 110px!important}
.h3 h1{font-size:clamp(1.8rem,3vw,2.6rem)!important;line-height:1.05!important}
.h3-sub{font-size:1rem!important;margin-bottom:22px!important}
.h3-btn{font-size:.95rem!important;padding:12px 22px!important}
.h3-tel{font-size:.85rem!important}
.h4-moment{padding:60px 0 80px!important}
.h4-illu{min-height:400px!important}
.h4-man{height:400px!important;left:110px!important}
.h4-stripe{height:46px!important}
.h4-acc summary{font-size:1.02rem!important}
.h4-acc p{font-size:.93rem!important}
.h4-note{font-size:.9rem!important}
.h3-why{padding:26px 0 44px!important}
.h3-why-grid svg{width:40px!important;height:40px!important}
.h3-why-grid h3{font-size:.98rem!important}
.h3-why-grid p{font-size:.9rem!important}
.h4-banner{max-width:1000px;margin:0 auto}
.f6-join{padding:26px 32px!important}
.f6-join h2{font-size:1.25rem!important}
.f6-join p{font-size:.95rem!important}
.f6-feat img{height:280px!important}
.f6-feat strong{font-size:1.02rem!important}
.f6-post strong{font-size:.9rem!important}
.f6-post img{width:80px!important;height:80px!important}
.f6-post{grid-template-columns:80px 1fr!important}
.f6-cols a{font-size:.9rem!important}
@media(max-width:960px){.h4-man{position:relative!important;left:auto!important;height:360px!important}.v-alt,.services,section#etapes,.faq,.zones,.about,.local-intro[style]{clip-path:polygon(0 14px,100% 0,100% calc(100% - 14px),0 100%);padding-top:46px!important;padding-bottom:46px!important}}

/* ---- mobile ---- */
@media(max-width:600px){
  .h3{min-height:0!important;clip-path:polygon(0 0,100% 0,100% 95%,0 100%)!important;margin-bottom:-26px!important}
  .h3-wrap{padding:26px 18px 58px!important}
  .h3 h1{font-size:1.55rem!important;margin-bottom:10px!important}
  .h3-sub{font-size:.93rem!important;margin-bottom:16px!important;line-height:1.45!important}
  .h3-price{display:inline-block!important;white-space:nowrap;font-size:.78rem!important;padding:5px 10px!important;margin-bottom:12px!important}
  .h3-price b{font-size:.9rem!important}
  .h3-btn{font-size:.9rem!important;padding:11px 18px!important;width:100%;justify-content:center}
  .h3-tel{font-size:.8rem!important;margin-top:12px!important}
  .h3-media img{object-position:70% 50%!important;opacity:.35!important}
  .h4-mq{padding:52px 0 14px!important}
  .mq-title{padding:0 18px}
  .perks{padding:16px 0!important}
  .perk{padding:12px 8px!important}
  .v-section{padding:34px 0!important}
  .v-intro{padding:34px 0 28px!important}
  .v-alt,.services,section#etapes,.faq,.zones,.about,.local-intro[style]{clip-path:polygon(0 12px,100% 0,100% calc(100% - 12px),0 100%)!important;padding-top:40px!important;padding-bottom:40px!important}
  .v-two{gap:22px!important}
  .v-card{padding:16px!important}
  .v-grid3{gap:12px!important}
  .v-steps{gap:12px!important}
  .v-table{display:block;overflow-x:auto;white-space:nowrap}
  .v-table td{white-space:normal;min-width:140px}
  .v-chips span,.v-links a,.chips a{padding:9px 13px!important;font-size:.84rem!important;line-height:1.2}
  .f6-cols{grid-template-columns:1fr 1fr!important;gap:18px!important}
  .f6-cols li{margin:10px 0!important}
  .f6-cols a,.f6-bottom a{display:inline-block;padding:4px 0}
  .kick{font-size:.72rem!important}
  p,li,td{font-size:max(.93rem,14px)}
  .h4-illu{min-height:0!important}
  .h4-man{height:320px!important;margin:0 auto 10px!important;display:block}
  .cta-banner{padding:18px 0 4px!important}
  .h4-moment{padding:44px 0 56px!important}
}

/* corrections mobile : pied de site et liste du blog */
@media(max-width:600px){
  .f6-post-noimg{grid-template-columns:1fr!important}
  .f6-cols{grid-template-columns:1fr 1fr!important;gap:14px!important}
  .f6-cols>div{min-width:0}
  .f6-cols a,.f6-mail a{word-break:break-word;overflow-wrap:anywhere}
  .f6-contact{padding:8px 12px!important;font-size:.85rem!important}
  .f6-brand img{width:160px!important}
  .f6-bottom ul{gap:10px 16px}
  .f6-feat img{height:200px!important}
}

/* section artisan : photo pleine carte */
.about-media{padding:0!important;overflow:hidden;aspect-ratio:1/1}
.about-media img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:center top;border-radius:inherit}
