/* ISOBAT — CSS figé depuis la maquette Claude Design (styles inline conservés dans le HTML).
   Ce fichier ne contient que : le reset de base de la maquette, les états :hover/:focus
   (remplacent style-hover="…"), et le comportement des composants devenus vanilla JS
   (slider, carrousel, lightbox, menu mobile, FAQ, reveal). Design non retouché. */

html{scroll-behavior:smooth;overflow-x:clip}
body{overflow-x:clip;margin:0;font-family:'Plus Jakarta Sans',sans-serif;color:#1c1917;background:#f6f1ea;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:#d93d00;text-decoration:none}
a:hover{color:#b33200}
p{margin:0}
h1,h2,h3{text-wrap:balance}
img{max-width:100%}
button{font-family:inherit}

@keyframes isoPulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.9);opacity:0}}
@keyframes isoMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Navigation responsive (remplace le calcul JS wide/narrow) ---------- */
.nav-desktop{display:none}
.nav-burger{display:flex}
.nav-mobile{display:none}
.nav-mobile.is-open{display:flex}
@media (min-width:1000px){
  .nav-desktop{display:flex}
  .nav-burger{display:none}
  .nav-mobile{display:none !important}
}

/* ---------- Header au scroll ---------- */
.site-header{background:#fff;box-shadow:0 1px 0 rgba(17,20,22,.06);transition:background .3s,box-shadow .3s}
.site-header.is-scrolled{background:rgba(255,255,255,.9);box-shadow:0 6px 30px rgba(17,20,22,.08)}

/* ---------- Barre de progression de scroll ---------- */
#scroll-progress{width:0}

/* ---------- Bouton flottant "appeler" : anneau pulsé ---------- */
.call-fab{position:relative}
.call-fab .pulse-ring{position:absolute;inset:0;border-radius:18px;background:#ff4b00;animation:isoPulse 2s ease-out infinite}
.call-fab svg{position:relative}

/* ---------- Hover / focus (remplace style-hover="…") ---------- */
.hov-navlink:hover{color:#1c1917 !important;border-color:#ff4b00 !important}
.hov-social:hover{background:#f6f1ea !important}
.hov-social-dark:hover{background:#ff4b00 !important}
.hov-cta-header:hover{background:#ff4b00 !important;color:#fff !important}
.hov-hero-primary:hover{transform:translateY(-2px) !important;background:#fff !important;color:#1c1917 !important}
.hov-hero-secondary:hover{background:rgba(255,255,255,.1) !important;color:#fff !important}
.hov-btn-dark:hover{background:#ff4b00 !important;color:#fff !important;transform:translateY(-2px) !important}
.hov-service-card:hover{transform:translateY(-8px) !important;color:#fff !important}
.hov-service-card:hover img{transform:scale(1.08) !important}
.hov-link-orange:hover{color:#d93d00 !important}
.hov-carousel-prev:hover{background:#1c1917 !important;border-color:#1c1917 !important;color:#fff !important}
.hov-carousel-next:hover{background:#1c1917 !important;color:#fff !important}
.hov-proj-img:hover img{transform:scale(1.06) !important}
.hov-reason-card:hover{transform:translateY(-6px) !important;box-shadow:0 24px 50px rgba(17,20,22,.1) !important}
.hov-test-prev:hover{border-color:#ff4b00 !important;color:#ff4b00 !important}
.hov-test-next:hover{background:#fff !important}
.hov-cta-dark:hover{transform:translateY(-2px) !important;color:#fff !important}
.hov-cta-outline:hover{background:rgba(17,20,22,.08) !important;color:#1c1917 !important}
.hov-footer-outline:hover{background:rgba(255,255,255,.08) !important;color:#fff !important}
.hov-footer-primary:hover{transform:translateY(-2px) !important;color:#1c1917 !important}
.hov-footer-social:hover{background:#ff4b00 !important}
.hov-footer-navlink:hover{color:#fff !important}
.hov-footer-bottom:hover{color:#fff !important}
.hov-footer-bottom-top:hover{color:#ff4b00 !important}
.hov-credit:hover{color:#ff4b00 !important}
.hov-breadcrumb:hover{color:#fff !important}
.hov-gallery-img:hover img{transform:scale(1.07) !important;filter:brightness(.85) !important}
.hov-lightbox-nav:hover{background:#ff4b00 !important;color:#fff !important}
.hov-lightbox-close:hover{background:#fff !important;color:#1c1917 !important}
.hov-contact-card:hover{transform:translateY(-4px) !important;box-shadow:0 18px 40px rgba(17,20,22,.1) !important;color:#1c1917 !important}
.hov-submit:hover{background:#ff4b00 !important;color:#fff !important;transform:translateY(-2px) !important}
.hov-reset:hover{border-color:#ff4b00 !important}
.field:focus{border-color:#ff4b00 !important;background:#fff !important}

/* ---------- Hero slideshow (accueil / réalisations / contact) ---------- */
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1);transition:opacity 1.1s ease,transform 7s linear}
.hero-slide.is-active{opacity:1;transform:scale(1.08)}

/* ---------- Slideshow "solutions" (accueil) ---------- */
.sol-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s}
.sol-slide.is-active{opacity:1}

/* ---------- Carrousel projets (accueil) ---------- */
.proj-track{display:flex;transition:transform .7s cubic-bezier(.65,0,.35,1)}
.proj-slide{flex:0 0 100%;padding:0 10px}
@media (min-width:640px){.proj-slide{flex-basis:50%}}
@media (min-width:980px){.proj-slide{flex-basis:33.3333%}}
.proj-progress-bar{height:100%;background:#ff4b00;transition:width .7s cubic-bezier(.65,0,.35,1)}

/* ---------- Témoignages (accueil) ---------- */
.test-slide{grid-area:1/1;opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s;pointer-events:none;display:flex;flex-direction:column;gap:26px}
.test-slide.is-active{opacity:1;transform:translateY(0);pointer-events:auto}
.test-dot{width:8px;height:6px;border-radius:6px;border:0;padding:0;background:rgba(255,255,255,.25);cursor:pointer;transition:width .4s,background .4s}
.test-dot.is-active{width:28px;background:#ff4b00}

/* ---------- Galerie / lightbox (réalisations) ---------- */
#lightbox{display:none}
#lightbox.is-open{display:flex}

/* ---------- Formulaire de contact ---------- */
#contact-sent{display:none}
#contact-form.is-sent{display:none}
#contact-form.is-sent + #contact-sent{display:flex}

/* ---------- FAQ accueil (section réinjectée depuis le WP, absente de la maquette) ---------- */
.faq-item{background:#fff;border:1px solid #e8e0d4;border-radius:18px;padding:6px 22px;transition:border-color .2s}
.faq-item[open]{border-color:#ff4b00}
.faq-item summary{cursor:pointer;list-style:none;padding:18px 0;font-family:'Bricolage Grotesque',sans-serif;font-size:17px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';flex:none;width:28px;height:28px;border-radius:8px;background:#f6f1ea;color:#ff4b00;font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;transition:transform .2s}
.faq-item[open] summary::after{content:'–'}
.faq-item p{padding:0 0 20px;font-size:15px;line-height:1.7;color:#4d5459}

/* ---------- Scroll-reveal (simplifié) ---------- */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}
[data-reveal="right"]{transform:translateX(60px)}
[data-reveal="zoom"]{transform:scale(.94)}
[data-reveal].is-visible{opacity:1;transform:none}

/* ---------- Pages légales / plan du site / 404 ---------- */
.legal-content h2{font-family:'Bricolage Grotesque',sans-serif;font-size:28px;font-weight:700;margin:40px 0 14px}
.legal-content h3{font-family:'Bricolage Grotesque',sans-serif;font-size:18px;font-weight:700;margin:26px 0 8px}
.legal-content p,.legal-content li{font-size:15px;line-height:1.7;color:#4d5459}
.legal-content ul{padding-left:20px}
.legal-content a{color:#d93d00}
.plan-list{display:flex;flex-direction:column;gap:10px;font-size:16px}
.plan-list a{color:#1c1917;font-weight:600}
.plan-list a:hover{color:#d93d00}
