/* ============================================================
   elagueur-argeles.fr — style.css
   Palette : vert pin des Albères / blanc craie / ambre solaire
   ============================================================ */
:root{
    --pin:#1E3D2F;
    --pin-fonce:#132A20;
    --pin-clair:#2E5A45;
    --craie:#FAFAF7;
    --sable:#F1EEE6;
    --ambre:#E8A21D;
    --ambre-fonce:#C4860D;
    --mer:#2B6E8F;
    --encre:#1C2320;
    --gris:#5C665F;
    --display:'Archivo',system-ui,sans-serif;
    --body:'Source Serif 4',Georgia,serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{font-family:var(--body);color:var(--encre);background:var(--craie);line-height:1.65;font-size:1.05rem}
.container{max-width:1140px;margin:0 auto;padding:0 20px}
h1,h2,h3,.brand-text{font-family:var(--display);line-height:1.15;color:var(--pin)}
h1{font-size:clamp(1.9rem,4.5vw,3.1rem);font-weight:800;letter-spacing:-.01em}
h2{font-size:clamp(1.4rem,3vw,2rem);font-weight:700;margin-bottom:.6em}
h3{font-size:1.15rem;font-weight:700;margin-bottom:.4em}
p{margin-bottom:1em}
a{color:var(--mer)}
img{max-width:100%;height:auto}
ul{list-style:none}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ambre);color:var(--pin-fonce);padding:8px 16px;z-index:99}
.skip-link:focus{left:0}
a:focus-visible,button:focus-visible{outline:3px solid var(--ambre);outline-offset:2px}

/* ---------- topbar ---------- */
.topbar{background:var(--pin-fonce);color:var(--craie);font-family:var(--display);font-size:.85rem}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;padding:6px 20px;gap:12px;flex-wrap:wrap}
.topbar-phone{color:var(--ambre);text-decoration:none;font-weight:700}

/* ---------- header ---------- */
.site-header{background:var(--craie);border-bottom:3px solid var(--pin);position:sticky;top:0;z-index:50}
.header-inner{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-mark{font-size:2rem}
.brand-text{font-weight:800;font-size:1.05rem;line-height:1.05;text-transform:uppercase;letter-spacing:.02em}
.brand-text em{font-style:normal;color:var(--ambre-fonce);font-size:.8rem;font-weight:600;letter-spacing:.08em}
.nav-toggle{display:none;font-family:var(--display);font-size:1rem;background:var(--pin);color:#fff;border:0;padding:8px 14px;border-radius:6px;cursor:pointer}
.nav-list{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.nav-list a{font-family:var(--display);font-weight:600;font-size:.95rem;color:var(--pin);text-decoration:none;padding:8px 12px;border-radius:6px}
.nav-list a:hover{background:var(--sable)}
.nav-cta{background:var(--ambre);color:var(--pin-fonce)!important;font-weight:700!important}
.nav-cta:hover{background:var(--ambre-fonce)!important;color:#fff!important}

/* ---------- hero ---------- */
.hero{background:linear-gradient(160deg,var(--pin) 0%,var(--pin-fonce) 100%);color:var(--craie);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-8%;bottom:-45%;width:60%;height:120%;background:var(--pin-clair);transform:rotate(14deg);opacity:.35;pointer-events:none}
.hero-inner{position:relative;z-index:1;padding:64px 20px 72px;max-width:760px}
.hero h1{color:#fff}
.hero .accroche{font-size:1.2rem;margin:18px 0 26px;color:#E7EFE9}
.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.hero-badges span{font-family:var(--display);font-size:.85rem;font-weight:600;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:6px 12px;border-radius:999px}
.btn{display:inline-block;font-family:var(--display);font-weight:700;text-decoration:none;padding:14px 26px;border-radius:8px;font-size:1.05rem}
.btn-primary{background:var(--ambre);color:var(--pin-fonce)}
.btn-primary:hover{background:var(--ambre-fonce);color:#fff}
.btn-secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);margin-left:10px}
.btn-secondary:hover{border-color:#fff}
.btn-light{background:#fff;color:var(--pin)}
.btn-outline-light{background:transparent;color:#fff;border:2px solid #fff}

/* ---------- sections ---------- */
.section{padding:56px 0}
.section-alt{background:var(--sable)}
.section-head{max-width:680px;margin-bottom:32px}
.eyebrow{font-family:var(--display);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ambre-fonce);display:block;margin-bottom:8px}

/* ---------- cards prestations ---------- */
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.card{background:#fff;border:1px solid #E2E0D8;border-left:4px solid var(--pin);border-radius:10px;padding:24px}
.card .icon{font-size:2rem;display:block;margin-bottom:10px}
.card a.card-link{font-family:var(--display);font-weight:700;text-decoration:none;color:var(--mer)}
.card a.card-link:hover{text-decoration:underline}

/* ---------- pourquoi nous ---------- */
.points{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}
.point strong{font-family:var(--display);display:block;color:var(--pin);margin-bottom:4px}

/* ---------- communes ---------- */
.communes-grid{display:flex;flex-wrap:wrap;gap:10px}
.communes-grid a{font-family:var(--display);font-size:.9rem;font-weight:600;text-decoration:none;color:var(--pin);background:#fff;border:1px solid #D9D6CC;padding:8px 14px;border-radius:999px}
.communes-grid a:hover{border-color:var(--ambre);background:var(--ambre);color:var(--pin-fonce)}

/* ---------- FAQ ---------- */
.faq details{background:#fff;border:1px solid #E2E0D8;border-radius:8px;margin-bottom:10px;padding:16px 20px}
.faq summary{font-family:var(--display);font-weight:700;cursor:pointer;color:var(--pin)}
.faq details[open] summary{margin-bottom:8px}

/* ---------- CTA band ---------- */
.cta-band{background:var(--ambre);color:var(--pin-fonce);padding:40px 0}
.cta-band h2{color:var(--pin-fonce)}
.cta-band-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta-band-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- formulaire ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:720px}
.form-grid .full{grid-column:1/-1}
label{font-family:var(--display);font-weight:600;font-size:.9rem;display:block;margin-bottom:4px;color:var(--pin)}
input,select,textarea{width:100%;padding:12px;border:1px solid #C9C6BC;border-radius:6px;font-family:var(--body);font-size:1rem;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--ambre);border-color:var(--ambre)}
.alert{padding:14px 18px;border-radius:8px;margin-bottom:20px;font-family:var(--display)}
.alert-ok{background:#E4F2E7;border:1px solid var(--pin-clair);color:var(--pin)}
.alert-err{background:#FBE9E7;border:1px solid #C0392B;color:#7B241C}

/* ---------- footer ---------- */
.site-footer{background:var(--pin-fonce);color:#C9D6CD;padding:48px 0 0;font-size:.95rem}
.site-footer h3{color:#fff;font-size:1rem;text-transform:uppercase;letter-spacing:.06em}
.site-footer a{color:#C9D6CD;text-decoration:none}
.site-footer a:hover{color:var(--ambre)}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.6fr;gap:36px}
.footer-grid ul li{margin-bottom:6px}
.communes-inline{display:flex;flex-wrap:wrap;gap:4px 14px}
.communes-inline li{font-size:.85rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:16px;padding-bottom:16px;font-size:.85rem}

/* ---------- mobile call ---------- */
.mobile-call{display:none;position:fixed;bottom:16px;left:16px;right:16px;background:var(--ambre);color:var(--pin-fonce);font-family:var(--display);font-weight:800;font-size:1.15rem;text-align:center;text-decoration:none;padding:15px;border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:60}

/* ---------- breadcrumb ---------- */
.breadcrumb{font-family:var(--display);font-size:.85rem;padding:14px 0;color:var(--gris)}
.breadcrumb a{color:var(--gris);text-decoration:none}
.breadcrumb a:hover{color:var(--pin)}

/* ---------- responsive ---------- */
@media(max-width:860px){
    .footer-grid{grid-template-columns:1fr}
    .form-grid{grid-template-columns:1fr}
    .nav-toggle{display:block}
    .nav-list{display:none;flex-direction:column;align-items:stretch;position:absolute;left:0;right:0;top:100%;background:var(--craie);border-bottom:3px solid var(--pin);padding:10px 20px 20px}
    .nav-list.open{display:flex}
    .mobile-call{display:block}
    body{padding-bottom:70px}
    .btn-secondary{margin-left:0;margin-top:10px}
}
