/*
Theme Name: Écureuil Vert
Theme URI: https://ecureuil-vert.fr/
Author: Écureuil Vert
Description: Thème sur mesure pour L'Écureuil Vert, arboriste-grimpeur dans le Gard.
Version: 2.4.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: ecureuil-vert
*/
:root{--pine:#1e3324;--bark:#20281f;--stone:#e9e2cf;--paper:#faf8f2;--ochre:#c17a2c;--ochre-dark:#9c5f1e;--moss:#7c8f5a;--ink:#1e2419;--muted:#5f6a5a;--line:#d9d0b8;--display:"Fraunces",Georgia,serif;--sans:"Inter",Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.shell{width:min(1180px,calc(100% - 48px));margin:auto}.section{padding:120px 0}
.skip-link{position:fixed;left:12px;top:-100px;z-index:99;background:#fff;padding:12px}.skip-link:focus{top:12px}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 24px;color:var(--ochre-dark);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--ochre-dark)}.eyebrow.light{color:#e3d9b8}.eyebrow.light::before{background:#e3d9b8}
.eyebrow.center{justify-content:center}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.05;color:var(--bark)}
h1{max-width:900px;margin:0 0 30px;font-size:clamp(2.9rem,6vw,5.2rem);letter-spacing:-.01em}h1 em{font-style:italic;color:var(--ochre)}
h2{margin-bottom:26px;font-size:clamp(2.1rem,4vw,3.4rem);letter-spacing:-.01em}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:0;border-radius:100px;background:var(--ochre);padding:16px 30px;color:#fff;font:600 .82rem var(--sans);letter-spacing:.03em;cursor:pointer;transition:.25s}
.button:hover{background:var(--ochre-dark);transform:translateY(-2px)}.button-small{padding:11px 22px}.button-outline{background:transparent;border:1.5px solid rgba(255,255,255,.5);color:#fff}.button-outline:hover{background:rgba(255,255,255,.12);border-color:#fff}
.text-link{display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:.85rem;font-weight:600}
.text-link.light{color:#fff}

/* header */
.site-header{position:absolute;z-index:20;width:100%;color:#fff}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:100px}
.brand img{width:190px;height:auto}
.site-header nav{display:flex;align-items:center;gap:34px;font-size:.86rem}
.site-header nav>a:not(.button-outline){position:relative;padding:8px 0}
.site-header nav>a:not(.button-outline)::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:#fff;transition:.25s}
.site-header nav>a:not(.button-outline):hover::after{width:100%}
.menu-toggle{display:none}
.site-header.inner-header{position:relative;background:var(--pine)}

/* hero — silhouette de canopée en clip-path : élément signature */
.hero{position:relative;display:flex;align-items:center;min-height:880px;overflow:hidden;background:var(--pine)}
.hero-media{position:absolute;top:0;right:-4%;bottom:0;width:60%;background:url("assets/images/travaux-aeriens.jpg") 38% 32%/cover no-repeat;clip-path:path("M0,860 C40,700 20,520 130,430 C240,340 200,180 340,90 C460,15 640,10 760,90 C900,180 940,340 900,470 C860,600 940,720 860,860 Z");opacity:.92;transform:scale(1.25);transform-origin:38% 32%}
@supports not (clip-path:path("M0,0")){.hero-media{clip-path:none;border-radius:0 0 0 260px}}
.hero-shade{position:absolute;inset:0;background:linear-gradient(100deg,var(--pine) 0%,var(--pine) 34%,rgba(30,51,36,.55) 55%,rgba(30,51,36,0) 72%)}
.hero-content{position:relative;z-index:2;max-width:640px;padding-top:110px}
.hero-content h1{color:#fff}
.hero-lead{max-width:480px;margin-bottom:40px;color:#dde3d4;font-size:1.12rem}
.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.hero-marks{position:relative;z-index:2;display:flex;gap:44px;margin-top:90px;padding-top:26px;border-top:1px solid rgba(255,255,255,.22)}
.hero-marks div{color:#dde3d4;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.hero-marks strong{display:block;margin-bottom:4px;color:#fff;font:500 1.9rem var(--display)}

/* intro */
.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}
.intro-media img{width:100%;height:520px;object-fit:cover;border-radius:28px}
.intro-copy{color:var(--muted);font-size:1.08rem}.intro-copy p{margin-bottom:22px}

/* services teaser (accueil) */
.services-teaser{background:var(--stone)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.service-card{position:relative;border-radius:22px;background:var(--paper);overflow:hidden}
.service-card-img{width:100%;height:170px;object-fit:cover}
.service-card::before{content:"";position:absolute;top:170px;left:0;width:5px;height:calc(100% - 170px);background:var(--ochre)}
.service-card h3,.service-card p,.service-card a,.service-card .num{margin-left:0;padding-left:28px;padding-right:28px}
.service-card .num{display:block;margin-top:22px;color:var(--moss);font:500 1.1rem var(--display)}
.service-card h3{margin:14px 0;font-size:1.3rem}
.service-card p{color:var(--muted);font-size:.9rem;min-height:76px}
.service-card a{display:inline-block;margin-bottom:26px;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ochre-dark)}
.service-card:not(:has(img)) .num{margin-top:36px}

/* méthode / process — rappel de la corde du grimpeur */
.method{background:var(--pine);color:#fff}
.method-grid{display:grid;grid-template-columns:.85fr 1.15fr;grid-template-areas:"photo copy" "photo steps";column-gap:6vw;row-gap:20px;align-items:start}
.method-photo{grid-area:photo;height:100%}.method-photo img{width:100%;height:100%;min-height:560px;object-fit:cover;border-radius:28px}.method-copy{grid-area:copy}.rope-steps{grid-area:steps}
.method-copy h2{color:#fff}
.method-copy p{color:#c9d3bf;max-width:420px}

/* galerie */
.gallery{padding:60px 0}
.gallery-strip{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:14px}
.gallery-strip img{width:100%;height:380px;object-fit:cover;border-radius:22px}
.gallery-strip img:nth-child(2){height:440px;margin-top:-30px}

.rope-steps{position:relative;margin:10px 0 0;padding:0;list-style:none}
.rope-steps::before{content:"";position:absolute;left:23px;top:8px;bottom:8px;width:1px;background:repeating-linear-gradient(180deg,rgba(255,255,255,.4) 0 6px,transparent 6px 12px)}
.rope-steps li{position:relative;display:grid;grid-template-columns:48px 1fr;gap:20px;padding:22px 0}
.rope-steps b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--ochre);color:#fff;font:500 1rem var(--display)}
.rope-steps h3{margin:0 0 6px;color:#fff;font-size:1.05rem}.rope-steps p{margin:0;color:#c9d3bf;font-size:.9rem}

/* certifications — élément de confiance (absent de l'ancienne version) */
.trust{background:var(--paper)}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.trust-item{background:var(--paper);padding:34px}
.trust-item h3{margin:0 0 10px;font-size:1.05rem}
.trust-item p{margin:0;color:var(--muted);font-size:.88rem}

/* secteurs */
.areas{background:var(--stone)}
.areas-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}
.areas-grid>div:first-child p:not(.eyebrow){max-width:400px;color:var(--muted)}
.city-list a{display:grid;grid-template-columns:1fr 1.3fr 26px;align-items:center;border-top:1px solid #cfc6ac;padding:24px 6px}
.city-list a:last-child{border-bottom:1px solid #cfc6ac}
.city-list span{font:500 1.7rem var(--display)}.city-list small{color:var(--muted)}
.city-list b{font-weight:400;transition:.2s}.city-list a:hover b{transform:translateX(8px);color:var(--ochre-dark)}

/* avis / cta */
.quote{background:#f1ead6}
.quote-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}
.quote h2{margin-bottom:20px}
.quote p:not(.eyebrow){color:var(--muted);max-width:440px}

.page-cta{background:var(--pine);color:#fff;padding:110px 0}
.page-cta .shell{max-width:820px;text-align:center}
.page-cta h2{color:#fff}.page-cta p:not(.eyebrow){max-width:560px;margin:0 auto 34px;color:#d3dcc7}
.phone-link{display:inline-block;margin-left:26px;border-bottom:1px solid;padding-bottom:4px;font-weight:600;color:#fff}

/* footer */
footer{background:var(--bark);padding:80px 0 26px;color:#c7c0b0}
.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:60px}
.footer-brand img{width:200px;margin-bottom:20px;filter:brightness(0) invert(1) opacity(.92)}
.footer-brand p{max-width:300px}
.footer-grid h2{margin:0 0 18px;color:#fff;font:600 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase}
.footer-grid a{display:block;margin:8px 0}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #384532;margin-top:55px;padding-top:22px;font-size:.72rem}
.footer-bottom a{text-decoration:underline;text-underline-offset:2px}

@media(max-width:1000px){
.service-grid{grid-template-columns:1fr 1fr}
.trust-grid{grid-template-columns:1fr 1fr}
}
@media(min-width:1200px){
.section>.shell{width:calc(100% - clamp(96px,12vw,260px));max-width:1680px}
.intro-grid{grid-template-columns:minmax(420px,.9fr) minmax(560px,1.1fr);gap:clamp(70px,7vw,150px)}
.intro-media img{width:100%;height:clamp(520px,36vw,720px);object-fit:cover}
.services-teaser .service-grid{grid-template-columns:repeat(4,minmax(250px,1fr));gap:clamp(18px,1.5vw,30px)}
.service-card{padding:clamp(32px,2.4vw,52px)}
.gallery-strip{gap:clamp(14px,1.5vw,30px)}
.gallery-strip img{height:clamp(400px,28vw,570px)}
.gallery-strip img:nth-child(2){height:clamp(460px,32vw,650px)}
}
@media(min-width:1900px){
.section>.shell{width:calc(100% - clamp(180px,14vw,360px));max-width:none}
.services-teaser .page-heading{max-width:980px}
}
@media(max-width:900px){
.section{padding:85px 0}
.site-header nav{display:none;position:absolute;left:0;right:0;top:100px;flex-direction:column;align-items:stretch;gap:0;background:var(--pine);padding:22px}
.site-header nav.open{display:flex}.site-header nav a{padding:14px 0}
.menu-toggle{display:block;border:1px solid rgba(255,255,255,.5);border-radius:100px;background:transparent;padding:9px 16px;color:#fff}
.hero{min-height:760px}.hero-media{width:80%;right:-20%}
.intro-grid,.areas-grid,.quote-grid{grid-template-columns:1fr;gap:44px}.method-grid{grid-template-columns:1fr;grid-template-areas:"photo" "copy" "steps";gap:32px}
.intro-media img{height:340px}
.method-photo img{height:380px;min-height:0}
.gallery-strip{grid-template-columns:1fr;gap:16px}
.gallery-strip img,.gallery-strip img:nth-child(2){height:280px;margin-top:0}
.trust-grid{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
.shell{width:min(100% - 30px,1180px)}.section{padding:60px 0}
.brand img{width:160px}.hero-marks{gap:26px;flex-wrap:wrap}
.service-grid{grid-template-columns:1fr}
.city-list a{grid-template-columns:1fr 26px}.city-list small{display:none}
.footer-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.admin-bar .site-header{top:32px}@media(max-width:782px){.admin-bar .site-header{top:46px}}

@media(pointer:fine){
body.has-custom-cursor,body.has-custom-cursor a,body.has-custom-cursor button{cursor:none}
#cursor-ring{position:fixed;top:0;left:0;width:34px;height:34px;border:1.5px solid var(--ochre);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s,border-color .2s;opacity:0}
#cursor-dot{position:fixed;top:0;left:0;width:6px;height:6px;background:var(--ochre);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);opacity:0}
body.has-custom-cursor #cursor-ring,body.has-custom-cursor #cursor-dot{opacity:1}
}
