/*
Theme Name: Deloriere Classic
Description: Theme classique reconstruit a partir du design reel du site Deloriere et fils (CSS extrait de la version live), pour que les pages WordPress locales aient le vrai rendu du site avant migration.
Version: 1.0
*/

*{box-sizing:border-box;margin:0;padding:0}
:root{--red:#C1272D;--black:#2B2B2B;--white:#FFFFFF;--muted:#6B6B6B}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:var(--black);background:var(--white);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
.container{max-width:1280px;margin:0 auto;padding:0 32px}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:'Montserrat',sans-serif;font-weight:900;letter-spacing:-1.2px;line-height:1.02}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.98);backdrop-filter:blur(10px);border-bottom:1px solid #f0f0f3;padding:18px 0}
.bar{display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:12px;font-family:'Montserrat',sans-serif;font-weight:900;font-size:20px;letter-spacing:-.5px}
.brand-mark{width:42px;height:42px;background:var(--red);display:grid;place-items:center;clip-path:polygon(12% 0,100% 0,88% 100%,0 100%)}
.brand-mark svg{width:22px;height:22px;color:var(--white)}
.brand em{color:var(--red);font-style:normal}
.nav{display:flex;gap:34px;font-weight:500;font-size:15px}
.nav a{position:relative}
.nav a:hover{color:var(--red)}
.tel-btn{display:inline-flex;align-items:center;gap:10px;background:var(--black);color:var(--white);padding:14px 26px;font-weight:700;font-size:14px;letter-spacing:.5px;transition:.25s;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.tel-btn:hover{background:var(--red)}
.tel-btn svg{width:16px;height:16px}

/* Hero */
.hero{position:relative;padding:110px 0 120px;overflow:hidden}
.hero::before{content:"";position:absolute;top:-200px;right:-200px;width:700px;height:700px;background:var(--red);border-radius:50%;opacity:.08;z-index:-1}
.hero::after{content:"";position:absolute;bottom:-300px;left:-100px;width:500px;height:500px;background:var(--black);opacity:.04;border-radius:50%;z-index:-1}
.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:center}
.hero-tag{display:inline-flex;align-items:center;gap:10px;background:rgba(193,39,45,.08);color:var(--red);padding:8px 18px;font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;border-radius:999px;margin-bottom:28px}
.hero-tag::before{content:"";width:8px;height:8px;background:var(--red);border-radius:50%;animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.4;transform:scale(1.3)}}
.hero h1{font-size:clamp(46px,6.2vw,86px);margin-bottom:28px;letter-spacing:-2px}
.hero h1 span{color:var(--red);display:inline-block;position:relative}
.hero h1 span::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:10px;background:var(--red);opacity:.2;z-index:-1;transform:skewX(-12deg)}
.hero p{font-size:19px;color:var(--muted);max-width:540px;margin-bottom:36px}
.hero-cta-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:30px}
.hero-cta{display:inline-flex;align-items:center;gap:14px;background:var(--red);color:var(--white);padding:22px 40px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:16px;letter-spacing:1px;text-transform:uppercase;transition:.3s}
.hero-cta:hover{background:var(--black);transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--red)}
.hero-cta svg{width:20px;height:20px;transition:.3s}
.hero-cta:hover svg{transform:translateX(4px)}
.hero-cta-secondary{display:inline-flex;align-items:center;gap:12px;padding:22px 30px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:16px;letter-spacing:.5px;color:var(--black);border:2px solid #e3e3e6;transition:.3s}
.hero-cta-secondary:hover{border-color:var(--black)}
.hero-cta-secondary svg{width:20px;height:20px;color:var(--red)}
.hero-trust{display:flex;flex-wrap:wrap;gap:22px}
.hero-trust span{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--black)}
.hero-trust svg{width:18px;height:18px;color:var(--red);flex-shrink:0}
.hero-visual{position:relative;aspect-ratio:4/5}
.hero-visual::before{content:"";position:absolute;top:-18px;right:-18px;bottom:18px;left:18px;border:2px solid var(--red);z-index:-1}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center center;filter:contrast(1.12) saturate(1.08);box-shadow:0 30px 70px rgba(43,43,43,.25)}
.hero-stat-box{position:absolute;background:var(--white);padding:22px 28px;box-shadow:0 20px 50px rgba(43,43,43,.2);display:flex;align-items:center;gap:14px}
.hero-stat-box strong{font-family:'Montserrat',sans-serif;font-weight:900;font-size:34px;color:var(--red);line-height:1}
.hero-stat-box small{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-weight:700}
.hero-stat-1{top:36px;left:-38px;transform:rotate(-3deg)}
.hero-stat-2{bottom:56px;right:-46px;transform:rotate(3deg);border-left:4px solid var(--red)}

/* Stats band */
.stats{background:var(--black);color:var(--white);padding:80px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stat-num{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(60px,7vw,100px);line-height:.9;color:var(--red);display:block}
.stat-lbl{font-size:13px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:700;margin-top:12px}

/* Contenu SEO */
.seo-content{padding:100px 0;background:#fafafa}
.seo-content h2{font-size:clamp(32px,4vw,52px);margin-bottom:24px;max-width:900px}
.seo-content h3{font-size:22px;margin:0;color:var(--black)}
.seo-content p{font-size:17px;color:#3a3a3a;margin-bottom:18px;max-width:900px}
.seo-content strong{color:var(--black)}
.seo-accordion{max-width:900px;margin-top:10px}
.seo-accordion details{border-bottom:1px solid #e6e6e6;padding:22px 0}
.seo-accordion details:first-child{border-top:1px solid #e6e6e6}
.seo-accordion summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px}
.seo-accordion summary::-webkit-details-marker{display:none}
.seo-accordion summary::after{content:"+";font-family:'Montserrat',sans-serif;font-size:26px;font-weight:400;color:var(--red);flex-shrink:0;transition:.25s}
.seo-accordion details[open] summary::after{transform:rotate(45deg)}
.seo-accordion details p{margin-top:16px;margin-bottom:0}
.seo-accordion details:last-child p{margin-bottom:0}

/* Services — asymmetric */
#services{padding:130px 0}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:80px;align-items:end}
.sec-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin-bottom:16px}
.sec-head h2{font-size:clamp(36px,4.5vw,62px)}
.sec-head p{color:var(--muted);font-size:17px;padding-bottom:12px}
.services-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}
.service{grid-column:span 2;padding:44px 34px;background:#f6f6f9;transition:.35s;position:relative;overflow:hidden}
.service:nth-child(1){grid-column:span 3;background:var(--black);color:var(--white)}
.service:nth-child(4){grid-column:span 3;background:var(--red);color:var(--white)}
.service:hover{transform:translateY(-6px)}
.service-num{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:800;letter-spacing:3px;opacity:.5;margin-bottom:24px;display:block}
.service-ico{width:48px;height:48px;display:grid;place-items:center;margin-bottom:26px}
.service-ico svg{width:40px;height:40px;stroke-width:1.6}
.service h3{font-size:24px;margin-bottom:14px}
.service p{font-size:15px;opacity:.85}
.service-arrow{position:absolute;bottom:28px;right:28px;width:36px;height:36px;border:1.5px solid currentColor;border-radius:50%;display:grid;place-items:center;opacity:.6;transition:.3s}
.service:hover .service-arrow{opacity:1;transform:rotate(-45deg)}
.service-arrow svg{width:16px;height:16px}


.services-cta{margin-top:50px;text-align:center}
.services-cta-btn{display:inline-flex;align-items:center;gap:10px;color:var(--red);padding:12px 20px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;letter-spacing:.3px;transition:.2s;border-bottom:2px solid var(--red)}
.services-cta-btn:hover{color:var(--black);border-color:var(--black)}
.services-cta-btn svg{width:16px;height:16px}
.services-cta-note{margin-top:10px;font-size:13px;color:var(--muted);font-weight:500}

/* Portfolio */
.works{background:var(--black);color:var(--white);padding:140px 0;position:relative;overflow:hidden}
.works h2{color:var(--white)}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.work{position:relative;aspect-ratio:3/4;overflow:hidden;cursor:pointer}
.work:nth-child(3n+2){transform:translateY(40px)}
.work img{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:grayscale(.3);transition:.8s}
.work:hover img{filter:none;transform:scale(1.07)}
.work-cap{position:absolute;inset:auto 0 0 0;padding:24px;background:linear-gradient(transparent,rgba(43,43,43,.95));font-weight:700}
.work-cap small{display:block;color:var(--red);font-size:11px;letter-spacing:3px;text-transform:uppercase;margin-bottom:6px;font-weight:800}
.work-cap strong{font-family:'Montserrat',sans-serif;font-size:18px;font-weight:800}

/* Zone d'intervention */
.zones{padding:110px 0;background:var(--white)}
.zones h2{font-size:clamp(32px,4vw,48px);margin-bottom:24px}
.zones-intro{font-size:18px;color:var(--muted);max-width:780px;margin-bottom:40px}
.zones-list{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}
.zone-chip{padding:12px 22px;background:#f6f6f9;color:var(--black);font-weight:700;font-size:14px;letter-spacing:.5px;border-left:3px solid var(--red);display:inline-block;transition:.2s}
.zone-chip:hover{background:var(--red);color:var(--white)}

/* Reviews */
.reviews-sec{padding:130px 0;background:#fafafc}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.review{background:var(--white);padding:40px 34px;position:relative;transition:.3s;border:2px solid transparent}
.review:hover{border-color:var(--red);transform:translate(-4px,-4px);box-shadow:8px 8px 0 var(--black)}
.review-q{position:absolute;top:-20px;left:30px;background:var(--red);color:var(--white);width:44px;height:44px;display:grid;place-items:center;font-family:'Montserrat',sans-serif;font-weight:900;font-size:30px;line-height:1}
.stars{display:flex;gap:3px;margin:14px 0 20px}
.stars svg{width:18px;height:18px;color:var(--red);fill:var(--red)}
.review p{font-size:16px;line-height:1.55;margin-bottom:30px;color:#2a2b3d}
.review-meta{display:flex;align-items:center;gap:14px;padding-top:22px;border-top:1px solid #eee}
.review-av{width:44px;height:44px;background:var(--red);color:var(--white);display:grid;place-items:center;font-family:'Montserrat',sans-serif;font-weight:900;font-size:14px;letter-spacing:.5px}
.review-meta strong{font-family:'Montserrat',sans-serif;font-weight:800;font-size:14px;display:block}
.review-meta span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:2px;font-weight:600}

/* Contact CTA */
#contact{padding:120px 0;background:linear-gradient(135deg,var(--red) 0%,#8E1A1F 100%);color:var(--white);text-align:center;position:relative;overflow:hidden}
#contact::before{content:"";position:absolute;top:-150px;left:-150px;width:400px;height:400px;background:rgba(255,255,255,.06);border-radius:50%}
#contact::after{content:"";position:absolute;bottom:-200px;right:-100px;width:500px;height:500px;background:rgba(0,0,0,.1);border-radius:50%}
#contact .sec-eyebrow{color:var(--white);opacity:.85}
#contact h2{font-size:clamp(36px,5vw,64px);color:var(--white);max-width:900px;margin:16px auto 24px;position:relative;z-index:2}
#contact .lead{font-size:19px;opacity:.9;max-width:640px;margin:0 auto 44px;position:relative;z-index:2}
.cta-row{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-bottom:60px;position:relative;z-index:2}
.cta-primary,.cta-secondary{display:inline-flex;align-items:center;gap:14px;padding:22px 40px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:16px;letter-spacing:1px;text-transform:uppercase;transition:.3s;cursor:pointer;border:none}
.cta-primary{background:var(--white);color:var(--red)}
.cta-primary:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--black)}
.cta-secondary{background:transparent;color:var(--white);border:2px solid var(--white)}
.cta-secondary:hover{background:var(--white);color:var(--red)}
.cta-primary svg,.cta-secondary svg{width:20px;height:20px}
.contact-info{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:900px;margin:0 auto;position:relative;z-index:2}
.info-box{background:rgba(255,255,255,.08);backdrop-filter:blur(10px);padding:30px 24px;border:1px solid rgba(255,255,255,.15)}
.info-box svg{width:28px;height:28px;margin-bottom:14px;color:var(--white)}
.info-box h4{font-family:'Montserrat',sans-serif;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:10px;font-weight:800}
.info-box p{font-size:15px;opacity:.9;line-height:1.5}
.info-box a{color:var(--white);font-weight:700}
.info-box a:hover{text-decoration:underline}

/* Footer */
footer{background:var(--black);color:var(--white);padding:100px 0 30px}
.foot{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;margin-bottom:70px}
.foot-brand p{color:rgba(255,255,255,.7);font-size:15px;max-width:340px;margin-top:22px}
footer h4{font-family:'Montserrat',sans-serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin-bottom:22px;font-weight:800}
footer li{list-style:none;font-size:15px;margin-bottom:10px;color:rgba(255,255,255,.78)}
footer a{color:rgba(255,255,255,.78)}
footer a:hover{color:var(--red)}
.copy{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:600;flex-wrap:wrap;gap:10px}

/* Mobile call bar */
.call-bar{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--red);padding:14px 20px;z-index:100;box-shadow:0 -6px 24px rgba(193,39,45,.35)}
.call-bar a{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--white);font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;font-size:14px}
.call-bar svg{width:18px;height:18px}

@media(max-width:1024px){.services-grid{grid-template-columns:1fr}.service{grid-column:span 1!important}}
@media(max-width:900px){
 .nav{display:none}.tel-btn{display:none}
 .stats-grid,.sec-head,.work-grid,.reviews,.foot,.contact-info{grid-template-columns:1fr;gap:30px}
 .hero{padding:60px 0 70px}
 .hero-grid{display:flex;flex-direction:column;gap:0}
 .hero-grid > div:first-child{display:contents}
 .hero-tag{order:1;margin-bottom:18px;font-size:11px;padding:6px 14px}
 .hero h1{order:2;font-size:clamp(34px,8vw,54px);margin-bottom:22px}
 .hero-visual{order:3;aspect-ratio:3/4;margin:6px 0 24px}
 .hero-visual img{object-position:center center}
 .hero p{order:4;font-size:16px;margin-bottom:26px}
 .hero-cta-row{order:5;flex-direction:column;align-items:stretch;width:100%}
 .hero-cta,.hero-cta-secondary{justify-content:center;padding:18px 28px;font-size:14px}
 .hero-trust{order:6;gap:12px 18px}
 .hero-trust span{font-size:12.5px}
 .hero-visual::before{display:none}
 .hero-visual img{box-shadow:0 16px 34px rgba(43,43,43,.2)}
 .hero-stat-box{padding:14px 18px}
 .hero-stat-box strong{font-size:24px}
 .hero-stat-box small{font-size:10px;letter-spacing:1.5px}
 .hero-stat-1{top:15px;left:10px}
 .hero-stat-2{bottom:15px;right:10px}
 .work:nth-child(3n+2){transform:none}
 .container{padding:0 20px}
 body{padding-bottom:62px}
 .call-bar{display:block}
 .cta-row{flex-direction:column;align-items:stretch;padding:0 20px}
 .cta-primary,.cta-secondary{justify-content:center;padding:18px 20px;font-size:14px}
}
