/* ===== T1 « Artisan local » — sobre, 1 colonne, tons vert/terre ===== */
:root{
  --ink:#23302a; --muted:#5d6b63; --line:#e2e6e2;
  --green:#3c5233; --green-d:#2f4029; --sand:#f6f4ea; --sand-d:# eeeae1;
  --accent:#cf8a2e; --accent-d:#b57826; --white:#fff;
  --radius:10px; --shadow:0 2px 14px rgba(35,58,47,.08);
  --wrap:1080px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.t1{
  margin:0; font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink); background:var(--white); line-height:1.6;
}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 20px}
.narrow{max-width:760px}
h1,h2,h3{line-height:1.25; color:var(--green-d); margin:0 0 .5em}
h1{font-size:clamp(1.7rem,4vw,2.5rem)}
h2{font-size:clamp(1.35rem,3vw,1.9rem); margin-top:0}
a{color:var(--accent-d)}
img{max-width:100%; height:auto}

/* Header */
.site-head{position:sticky; top:0; z-index:20; background:var(--white); border-bottom:1px solid var(--line)}
.head-inner{display:flex; align-items:center; gap:20px; min-height:66px}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--green-d); font-weight:700}
.brand-mark{display:grid; place-items:center; width:34px; height:34px; border-radius:8px; background:var(--green); color:#fff; font-weight:800}
.brand-txt b{color:var(--accent)}
.nav{display:flex; gap:18px; margin-left:auto}
.nav a{text-decoration:none; color:var(--ink); font-weight:500; padding:6px 2px}
.nav a:hover{color:var(--accent-d)}
.tel-cta{display:inline-flex; align-items:center; gap:11px; text-decoration:none; background:var(--green); color:#fff; padding:11px 20px 11px 12px; border-radius:12px; font-weight:800; font-size:1.05rem; cursor:pointer; box-shadow:0 4px 14px rgba(35,58,47,.28); line-height:1}
.tel-cta:hover{background:var(--green-d)}
.tel-cta .tel-ico{display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.14); color:#eec27a; font-size:1.05rem}
.tel-cta .tel-slot{display:inline-flex; align-items:center}
.tel-cta .tel-slot svg{display:block; vertical-align:middle}
.tel-ico{font-size:1.05em}
/* Numéro dévoilé mis en valeur (boutons texte, desktop) */
.btn.tel-shown{display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background:#fff; color:var(--green-d); border:2px solid var(--accent); cursor:default;
  box-shadow:0 4px 16px rgba(192,113,58,.22)}
.btn.tel-shown .tel-glyph{color:var(--accent); font-size:1.35em; line-height:1}

/* Boutons */
.btn{display:inline-block; text-decoration:none; text-align:center; padding:13px 22px; border-radius:var(--radius); font-weight:700; cursor:pointer; border:0; font-size:1rem}
.btn-primary{background:var(--accent); color:#fff}
.btn-primary:hover{background:var(--accent-d)}
.btn-ghost{background:transparent; color:var(--green-d); border:2px solid var(--green)}
.btn-ghost:hover{background:var(--sand)}
.btn-light{background:#fff; color:var(--green-d)}
.btn-ghost-light{background:transparent; color:#fff; border:2px solid rgba(255,255,255,.7)}
.btn-block{display:block; width:100%}
.btn-lg{padding:15px 26px; font-size:1.05rem}

/* Hero */
.hero{background:linear-gradient(180deg,var(--sand),#fff); padding:48px 0 40px}
.hero-grid{display:grid; grid-template-columns:1.3fr .9fr; gap:38px; align-items:start}
.eyebrow{text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; font-weight:700; color:var(--accent-d); margin:0 0 8px}
.lead{font-size:1.12rem; color:var(--muted)}
.hero-cta{display:flex; flex-wrap:wrap; gap:12px; margin:22px 0 18px}
.hero-points{list-style:none; display:flex; flex-wrap:wrap; gap:18px; padding:0; margin:0; color:var(--green-d); font-weight:600}
.hero-points li{position:relative; padding-left:22px}
.hero-points li::before{content:"✓"; position:absolute; left:0; color:var(--accent); font-weight:800}
.hero-card{background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); padding:22px}
.hero-card-price{margin:0; font-size:1.25rem; color:var(--muted)}
.hero-card-price b{font-size:1.9rem; color:var(--green-d)}
.hero-card-sub{margin:2px 0 16px; color:var(--muted); font-size:.95rem}

/* Formulaire */
.lead-form label{display:block; font-size:.9rem; font-weight:600; color:var(--green-d); margin-bottom:12px}
.lead-form select,.lead-form input[type=tel],.lead-form input[type=text]{
  width:100%; margin-top:5px; padding:11px 12px; border:1px solid var(--line); border-radius:8px; font-size:1rem; font-family:inherit; background:var(--sand)
}
.lead-form select:focus,.lead-form input:focus{outline:2px solid var(--accent); background:#fff}
.form-mini{font-size:.8rem; color:var(--muted); text-align:center; margin:.6em 0 0}
.hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0}

/* Bandeau confiance — icônes terracotta sans fond, centrées, titre + description dessous */
.strip{background:linear-gradient(180deg,var(--green),var(--green-d)); color:#fff; margin-top:-1px}
.strip-inner{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; padding:40px 0}
.strip-item{display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; padding:0 14px}
.strip-ico{color:var(--accent); line-height:0}
.strip-ico svg{width:46px; height:46px; stroke-width:1.6}
.strip-item b{font-size:1.15rem; letter-spacing:.01em}
.strip-item span{font-size:.85rem; opacity:.8; line-height:1.4; max-width:24ch}

/* Section 2 colonnes + média */
.split{display:grid; grid-template-columns:1fr 1.05fr; gap:38px; align-items:center}
.split-media{position:relative}
.split-media img{width:100%; border-radius:16px; box-shadow:0 14px 40px rgba(35,58,47,.18); display:block; object-fit:cover}
.split-badge{position:absolute; left:16px; bottom:16px; background:var(--accent); color:#fff;
  font-size:.8rem; font-weight:700; padding:7px 13px; border-radius:999px; box-shadow:var(--shadow)}
.split-txt h2{margin-top:0}

/* Blocs */
.block{padding:46px 0}
.block-alt{background:var(--sand)}
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:24px}
.card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:20px}
.card h3{font-size:1.1rem}
.steps{margin:18px 0 0; padding-left:20px}
.steps li{margin-bottom:12px}
.link-arrow{font-weight:700; text-decoration:none}
.link-arrow::after{content:" →"}

/* CTA final */
.cta-final{background:var(--green-d); color:#fff; padding:50px 0}
.cta-final h2{color:#fff}
.cta-inner{max-width:760px; text-align:center}
.cta-inner p{color:rgba(255,255,255,.85)}
.cta-final .hero-cta{justify-content:center}

/* Footer */
.site-foot{background:#26301f; color:#cdd6cf; padding:40px 0 20px; font-size:.94rem}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:26px}
.site-foot .brand-txt{color:#fff; font-weight:700; font-size:1.05rem}
.site-foot nav{display:flex; flex-direction:column; gap:8px}
.site-foot a{color:#cdd6cf; text-decoration:none}
.site-foot a:hover{color:#fff}
.foot-tel p{margin:0 0 10px}
.foot-copy{text-align:center; border-top:1px solid rgba(255,255,255,.12); margin-top:26px; padding-top:16px; font-size:.82rem; color:#9aa79f}

/* Divers contenu */
.muted-note{background:var(--sand); border-left:3px solid var(--accent); padding:14px 18px; border-radius:0 8px 8px 0; color:var(--muted); font-size:.96rem; margin-top:24px}
.link-inline{font-weight:600; text-decoration:underline}
.tick-2col{columns:2; column-gap:30px; margin:16px 0}
.tick-2col li{break-inside:avoid}

/* FAQ */
.faq details{background:#fff; border:1px solid var(--line); border-radius:10px; margin-bottom:12px; overflow:hidden}
.faq summary{cursor:pointer; padding:16px 18px; font-weight:700; color:var(--green-d); list-style:none; position:relative; padding-right:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; position:absolute; right:18px; top:14px; font-size:1.4rem; color:var(--accent); transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 18px 16px; margin:0; color:var(--muted)}

/* Index guides à vignettes */
.guide-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:26px}
.guide-card{display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; text-decoration:none; color:inherit; box-shadow:var(--shadow); transition:transform .15s, box-shadow .15s}
.guide-card:hover{transform:translateY(-4px); box-shadow:0 14px 34px rgba(35,58,47,.16)}
.guide-card img{width:100%; height:150px; object-fit:cover; display:block}
.guide-card-body{padding:16px 16px 18px; display:flex; flex-direction:column; gap:6px; flex:1}
.guide-card-body h3{font-size:1.05rem; margin:0}
.guide-card-body p{margin:0; font-size:.9rem; color:var(--muted); flex:1}
.guide-card-body .link-arrow{color:var(--accent-d); font-weight:700; font-size:.9rem}

/* Visuel pleine largeur de page intérieure */
.page-visual{margin:0 0 8px; position:relative}
.page-visual img{width:100%; max-height:340px; object-fit:cover; border-radius:16px; box-shadow:0 12px 36px rgba(35,58,47,.16); display:block}
.page-visual figcaption{margin-top:8px; font-size:.85rem; color:var(--muted); text-align:center; font-style:italic}

/* Grille tarifaire */
.price-table{border:1px solid var(--line); border-radius:12px; overflow:hidden; margin:22px 0}
.price-row{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:15px 18px; border-bottom:1px solid var(--line)}
.price-row:last-child{border-bottom:0}
.price-row:nth-child(odd){background:var(--sand)}
.price-row .pr-label{font-weight:600; color:var(--green-d)}
.price-row .pr-label small{display:block; font-weight:400; color:var(--muted); font-size:.85rem}
.price-row .pr-price{white-space:nowrap; font-weight:800; color:var(--accent-d); font-size:1.05rem}
.price-note{font-size:.9rem; color:var(--muted)}

/* En-tête de page intérieure */
.page-head{background:linear-gradient(180deg,var(--sand),#fff); padding:40px 0 8px}
.page-head h1{margin-bottom:.3em}

/* Textarea (form long) */
.lead-form textarea{width:100%; margin-top:5px; padding:11px 12px; border:1px solid var(--line); border-radius:8px; font-size:1rem; font-family:inherit; background:var(--sand); resize:vertical}
.lead-form textarea:focus{outline:2px solid var(--accent); background:#fff}
.lead-form-lg label{margin-bottom:16px}

/* Contact */
.contact-grid{display:grid; grid-template-columns:1.5fr .85fr; gap:40px; align-items:start}
.contact-form-wrap{background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 10px 40px rgba(35,58,47,.10); padding:34px 34px 30px}
.contact-form-wrap h2{font-size:1.4rem; margin-bottom:.7em}
.contact-side{display:flex; flex-direction:column; gap:18px}
.side-card{background:var(--sand); border:1px solid var(--line); border-radius:14px; padding:22px}
.side-card h3{font-size:1.08rem; margin-bottom:.5em}
/* Formulaire long moderne : labels au-dessus, champs larges, textarea généreuse */
.lead-form-lg{display:grid; gap:20px}
.lead-form-lg label{display:block; font-size:.92rem; font-weight:700; color:var(--green-d); margin:0}
.lead-form-lg select,.lead-form-lg input[type=tel],.lead-form-lg input[type=text],.lead-form-lg textarea{
  width:100%; margin-top:8px; padding:14px 15px; border:1.5px solid var(--line); border-radius:10px;
  font-size:1rem; font-family:inherit; background:var(--sand); transition:border-color .15s, background .15s}
.lead-form-lg select:focus,.lead-form-lg input:focus,.lead-form-lg textarea:focus{outline:none; border-color:var(--accent); background:#fff; box-shadow:0 0 0 3px rgba(192,113,58,.12)}
.lead-form-lg textarea{min-height:130px; resize:vertical; line-height:1.5}
.lead-form-lg .btn{margin-top:4px}
.tick{list-style:none; padding:0; margin:0}
.tick li{position:relative; padding-left:24px; margin-bottom:8px}
.tick li::before{content:"✓"; position:absolute; left:0; color:var(--accent); font-weight:800}

/* Pages légales / contenu long */
.legal h2{font-size:1.2rem; margin-top:1.6em}
.legal p{color:var(--muted)}
.legal-back{margin-top:2em}

/* Responsive */
@media(max-width:860px){
  .contact-grid{grid-template-columns:1fr; gap:22px}
  .hero-grid{grid-template-columns:1fr; gap:26px}
  .nav{display:none}
  .cards{grid-template-columns:1fr}
  .split{grid-template-columns:1fr; gap:22px}
  .split-media{order:-1}
  .guide-grid{grid-template-columns:repeat(2,1fr)}
  .strip-inner{grid-template-columns:repeat(2,1fr); gap:18px 14px}
  .strip-item:nth-child(2n)::after{display:none}
  .foot-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .strip-inner{grid-template-columns:1fr}
  .strip-item::after{display:none}
  .guide-grid{grid-template-columns:1fr}
}

/*BURGER-t1*/
.artmenu{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:38px;padding:0;margin-left:auto;background:none;border:0;cursor:pointer;color:inherit}
.artmenu span{display:block;width:24px;height:3px;margin:0 auto;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s}
.head-inner.artopen .artmenu span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.head-inner.artopen .artmenu span:nth-child(2){opacity:0}
.head-inner.artopen .artmenu span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media(max-width:860px){
 .head-inner{flex-wrap:wrap}
 .artmenu{display:flex}
 .nav{flex-basis:100%;width:100%;order:10;margin-left:0}
 .head-inner.artopen .nav{display:flex;flex-direction:column;gap:0;padding:6px 0 10px}
 .head-inner.artopen .nav a{padding:11px 4px;border-top:1px solid rgba(0,0,0,.07)}
}
