/*
Theme Name: MSF Menuiserie Premium
Theme URI: https://www.msfmenuiserie.fr/
Author: MSF / Teamalf
Description: Refonte moderne sur mesure pour MSF Menuiserie.
Version: 1.2.4
Text Domain: msf-premium
*/
:root{--navy:#063b66;--navy2:#022c4e;--green:#42a62a;--blue:#078cc2;--ink:#17344d;--muted:#657586;--bg:#f7f9fa;--white:#fff;--line:#e7edf1;--radius:18px;--shadow:0 14px 40px rgba(2,44,78,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.topbar{font-size:13px;padding:8px 0;border-bottom:1px solid var(--line)}.topbar .wrap{display:flex;justify-content:flex-end;gap:28px}.header{position:relative;z-index:50;background:rgba(255,255,255,.98);box-shadow:0 2px 18px rgba(0,0,0,.04);overflow:visible}.nav{min-height:78px;display:flex;align-items:center;gap:26px;position:relative;padding-left:190px}.brand{position:absolute;left:0;top:-30px;z-index:80;display:flex;align-items:center;justify-content:center;width:170px;height:170px;border-radius:50%;background:#fff;box-shadow:0 10px 28px rgba(2,44,78,.18);overflow:hidden}.brand img{width:170px;height:170px;object-fit:contain}.menu{display:flex;gap:22px;align-items:center;font-size:14px}.menu a:hover{color:var(--green)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 23px;font-weight:700;border:1px solid transparent;transition:.2s}.btn-green{background:var(--green);color:white}.btn-green:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(66,166,42,.25)}.btn-outline{border-color:white;color:white}.hero{position:relative;z-index:1;min-height:590px;background:linear-gradient(90deg,rgba(18,21,20,.75),rgba(18,21,20,.12)),url('https://www.msfmenuiserie.fr/wp-content/uploads/2024/11/bandeau-11-scaled.jpg') center/cover;display:flex;align-items:center;color:white}.hero-inner{max-width:640px;padding:70px 0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:700;color:#31b979}.hero .eyebrow{color:white}.hero h1{font-size:clamp(44px,6vw,72px);line-height:.98;margin:18px 0 24px;letter-spacing:-.035em}.hero p{font-size:19px;max-width:560px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.trust{background:white;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:26px 24px;display:flex;gap:14px;align-items:center;border-right:1px solid var(--line)}.trust-item:last-child{border:0}.icon{font-size:30px;color:var(--navy)}.trust-item strong{display:block;color:var(--navy)}section{padding:80px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-head h2,.split h2,.contact h2{font-size:clamp(32px,4vw,48px);line-height:1.08;margin:8px 0;color:var(--navy2);letter-spacing:-.025em}.section-head p{max-width:430px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white;box-shadow:0 8px 25px rgba(2,44,78,.05);transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card img{width:100%;height:230px;object-fit:cover}.card-body{padding:20px}.card h3{margin:0 0 7px;color:var(--navy);font-size:20px}.card p{margin:0;color:var(--muted);font-size:14px}.split{padding:0;display:grid;grid-template-columns:1fr 1.15fr;background:var(--navy);color:white}.split-copy{padding:70px max(40px,calc((100vw - 1180px)/2));padding-right:60px}.split h2{color:white}.split p{color:#d9e5ec}.split-img{min-height:480px;background:url('https://www.msfmenuiserie.fr/wp-content/uploads/2024/11/bandeau-11-scaled.jpg') center/cover}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery img{height:260px;width:100%;object-fit:cover;border-radius:14px}.quote{background:#f2f7f9;padding:45px 0}.quote blockquote{margin:0 auto;max-width:800px;font-size:20px;font-style:italic;text-align:center;color:var(--navy)}.contact{background:linear-gradient(135deg,var(--navy2),#075487);color:white}.contact h2{color:white}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}.contact-info p{color:#d9e5ec}.contact-list{margin-top:25px;display:grid;gap:12px}.form{background:white;padding:28px;border-radius:var(--radius);display:grid;grid-template-columns:1fr 1fr;gap:14px}.form input,.form textarea,.form select{width:100%;border:1px solid #dbe3e8;border-radius:10px;padding:14px;font:inherit}.form textarea,.form .full{grid-column:1/-1}.form textarea{min-height:120px;resize:vertical}.form button{cursor:pointer}.notice{grid-column:1/-1;padding:12px;border-radius:8px;background:#eef8ea;color:#246c16}.footer{background:#012743;color:#d7e2e9;padding:42px 0 25px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}.footer img{width:90px;background:white;border-radius:50%}.footer h4{color:white;margin-top:0}.footer a{display:block;margin:8px 0;font-size:14px}.copyright{border-top:1px solid rgba(255,255,255,.15);margin-top:30px;padding-top:20px;font-size:12px}.mobile-toggle{display:none}.page-hero{padding:85px 0;background:var(--bg)}.page-content{padding:60px 0}.page-content h1{color:var(--navy);font-size:48px}
@media(max-width:900px){.topbar{display:none}.nav{padding-left:112px;min-height:76px}.brand{width:116px;height:116px;top:-20px}.brand img{width:116px;height:116px}.menu{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:25px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}.menu.open{display:flex}.mobile-toggle{display:block;border:0;background:none;font-size:28px}.nav>.btn{display:none}.cards,.gallery{grid-template-columns:1fr 1fr}.trust-grid{grid-template-columns:1fr 1fr}.split,.contact-grid{grid-template-columns:1fr}.split-copy{padding:55px 30px}.footer-grid{grid-template-columns:1fr}.hero{min-height:540px}}
@media(max-width:560px){.wrap{width:min(100% - 28px,1180px)}.nav{padding-left:84px;min-height:70px}.brand{width:92px;height:92px;top:-12px}.brand img{width:92px;height:92px}.menu{top:70px}.hero h1{font-size:45px}.cards,.gallery,.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line)}.section-head{display:block}.form{grid-template-columns:1fr}.form>*{grid-column:1/-1}.gallery img{height:230px}section{padding:58px 0}}
/* V1.2 — pages & orientation agencement */
.card h3 a{color:inherit;text-decoration:none}.card h3 a:hover{color:#079447}.page-hero{min-height:520px;display:flex;align-items:center;background-size:cover;background-position:center;position:relative;color:#fff}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,30,50,.88),rgba(3,30,50,.35),rgba(3,30,50,.08))}.page-hero .wrap{position:relative;z-index:1;width:100%}.page-hero-copy{max-width:650px}.page-hero h1{font-size:clamp(42px,5.2vw,72px);line-height:1.02;margin:.2em 0}.page-hero p{font-size:19px;line-height:1.6;max-width:650px}.page-hero.compact{min-height:340px;background:linear-gradient(135deg,#073d63,#0b5a83)}.page-hero.compact:before{display:none}.agencement-hero{background-image:url('https://www.msfmenuiserie.fr/wp-content/uploads/2024/11/cuisine-4.webp')}.decor-hero{background-image:url('https://www.msfmenuiserie.fr/wp-content/uploads/2024/11/IMG-20241003-WA0169_resultat.webp')}.windows-hero{background-image:url('https://www.msfmenuiserie.fr/wp-content/uploads/2024/11/bandeau-11-scaled.jpg')}.gate-hero{background:linear-gradient(120deg,#052f4d,#0b5479)}.cards-3{grid-template-columns:repeat(3,1fr)}.process{background:#f3f7f9}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.steps>div,.features-grid>div,.about-panel{background:#fff;border:1px solid #e4ecef;border-radius:18px;padding:28px;box-shadow:0 8px 28px rgba(0,42,70,.06)}.steps b{font-size:34px;color:#0aa34f}.steps h3,.features-grid h3{color:#063e67}.cta-band{background:#073f68;color:#fff;padding:46px 0}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band h2{margin:5px 0 0;color:#fff}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.gallery-3{grid-template-columns:repeat(3,1fr)}.projects-gallery{grid-template-columns:repeat(2,1fr)}.projects-gallery img{height:420px}.about-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:60px;align-items:start}.prose{max-width:900px}.front-page #agencement{padding-top:72px}
@media(max-width:900px){.cards-3,.steps,.features-grid,.gallery-3{grid-template-columns:1fr 1fr}.about-grid{grid-template-columns:1fr}.page-hero{min-height:460px}.cta-band .wrap{align-items:flex-start;flex-direction:column}.projects-gallery{grid-template-columns:1fr}}
@media(max-width:600px){.cards-3,.steps,.features-grid,.gallery-3{grid-template-columns:1fr}.page-hero h1{font-size:40px}.page-hero p{font-size:17px}.projects-gallery img{height:280px}}
\n/* V1.2.1 — header sticky, navigation aérée, sans CTA devis */
.header{position:sticky;top:0;z-index:999;transition:min-height .25s ease,box-shadow .25s ease;background:rgba(255,255,255,.98);backdrop-filter:saturate(150%) blur(10px)}
body.admin-bar .header{top:32px}
.nav{min-height:88px;padding-left:190px;gap:20px;transition:min-height .25s ease,padding-left .25s ease}
.menu{flex:1;justify-content:space-between;gap:15px;font-size:13px;line-height:1.15}
.menu a{white-space:nowrap}
.brand{width:170px;height:170px;top:-38px;transition:width .25s ease,height .25s ease,top .25s ease,box-shadow .25s ease}
.brand img{width:170px;height:170px;transition:width .25s ease,height .25s ease}
.header.is-scrolled{box-shadow:0 8px 28px rgba(2,44,78,.13)}
.header.is-scrolled .nav{min-height:66px;padding-left:128px}
.header.is-scrolled .brand{width:112px;height:112px;top:-18px;box-shadow:0 7px 22px rgba(2,44,78,.15)}
.header.is-scrolled .brand img{width:112px;height:112px}
@media(max-width:900px){body.admin-bar .header{top:46px}.header{position:sticky}.nav{padding-left:118px;min-height:76px}.brand{width:120px;height:120px;top:-22px}.brand img{width:120px;height:120px}.header.is-scrolled .nav{min-height:66px;padding-left:88px}.header.is-scrolled .brand{width:86px;height:86px;top:-10px}.header.is-scrolled .brand img{width:86px;height:86px}.menu{top:76px;z-index:1000}.header.is-scrolled .menu{top:66px}}
@media(max-width:782px){body.admin-bar .header{top:46px}}
@media(max-width:600px){body.admin-bar .header{top:0}}
@media(max-width:560px){.nav{padding-left:90px;min-height:70px}.brand{width:96px;height:96px;top:-14px}.brand img{width:96px;height:96px}.header.is-scrolled .nav{padding-left:76px}.header.is-scrolled .brand{width:74px;height:74px;top:-6px}.header.is-scrolled .brand img{width:74px;height:74px}.menu{top:70px}.header.is-scrolled .menu{top:66px}}

/* V1.2.2 — fixed header fallback: remains visible on every scroll */
.site-fixed-header{position:fixed;top:0;left:0;right:0;z-index:9999;background:#fff}
.site-fixed-header .header{position:relative;top:auto;z-index:2}
.site-header-spacer{height:var(--msf-fixed-header-height,120px)}
body.admin-bar .site-fixed-header{top:32px}
@media(max-width:782px){body.admin-bar .site-fixed-header{top:46px}}
@media(max-width:600px){body.admin-bar .site-fixed-header{top:0}}

/* V1.2.3 — hero d'accueil plus compact */
.front-page .hero{min-height:410px;background-position:center 48%}
.front-page .hero-inner{padding:48px 0;max-width:650px}
.front-page .hero h1{font-size:clamp(38px,4.6vw,58px);margin:12px 0 16px;line-height:1.02}
.front-page .hero p{font-size:17px;line-height:1.5;max-width:590px;margin:0}
.front-page .hero .actions{margin-top:22px}
@media(max-width:900px){.front-page .hero{min-height:430px}.front-page .hero-inner{padding:52px 0}.front-page .hero h1{font-size:clamp(38px,7vw,54px)}}
@media(max-width:560px){.front-page .hero{min-height:450px;background-position:center}.front-page .hero-inner{padding:50px 0}.front-page .hero h1{font-size:40px}.front-page .hero p{font-size:16px}}


/* V1.2.4 — signature manuscrite à droite du hero */
.front-page .hero .wrap{position:relative;width:min(1180px,calc(100% - 40px))}
.front-page .hero-signature{position:absolute;right:8px;top:50%;transform:translateY(-50%) rotate(-5deg);z-index:3;width:205px;text-align:center;color:#fff;font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;font-style:italic;font-weight:500;font-size:30px;line-height:1.08;letter-spacing:.01em;text-shadow:0 2px 10px rgba(0,0,0,.32);pointer-events:none}
.front-page .hero-signature span{display:block}.front-page .hero-signature span:nth-child(2){margin-left:22px}.front-page .hero-signature span:nth-child(3){margin-left:42px}
.front-page .hero-signature i{display:block;width:150px;height:4px;margin:12px 0 0 48px;border-radius:99px;background:#10a94f;transform:rotate(-7deg);box-shadow:0 1px 3px rgba(0,0,0,.15)}
@media(max-width:1100px){.front-page .hero-signature{right:12px;width:175px;font-size:25px}.front-page .hero-inner{max-width:570px}}
@media(max-width:820px){.front-page .hero-signature{display:none}}
