/*
Theme Name: Caseleya
Theme URI: https://caseleya.fr
Author: Caseleya
Description: Thème sur mesure Caseleya — location garantie, rénovation et décoration à Lyon. Vert sapin, laiton et pierre claire.
Version: 1.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: caseleya
*/

  :root{
    --sapin:#1F3A34;
    --sapin-fonce:#152824;
    --laiton:#B08D57;
    --laiton-clair:#C9A870;
    --pierre:#F5F1E8;
    --blanc:#FBF9F4;
    --encre:#26251F;
    --gris:#6E6A5E;
    --rouge-doux:#A4543F;
    --vert-ok:#4A7A5C;
    --radius:14px;
    --maxw:1120px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:'Figtree',sans-serif;color:var(--encre);background:var(--blanc);line-height:1.6;font-size:16.5px}
  h1,h2,h3,.wordmark{font-family:'Marcellus',serif;font-weight:400;line-height:1.15}
  img{max-width:100%}
  a{color:inherit}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--laiton);font-weight:600;margin-bottom:14px}
  section{padding:88px 0}
  .btn{display:inline-block;padding:15px 30px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.95rem;letter-spacing:.02em;transition:transform .18s ease, box-shadow .18s ease;cursor:pointer;border:none}
  .btn:hover{transform:translateY(-2px)}
  .btn:focus-visible{outline:3px solid var(--laiton);outline-offset:3px}
  .btn-or{background:var(--laiton);color:#fff;box-shadow:0 6px 18px rgba(176,141,87,.35)}
  .btn-ghost{background:transparent;color:var(--sapin);border:1.5px solid var(--sapin)}
  .btn-blanc{background:var(--blanc);color:var(--sapin)}

  /* ---------- NAV ---------- */
  header{position:sticky;top:0;z-index:50;background:rgba(251,249,244,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(38,37,31,.08)}
  nav{display:flex;align-items:center;justify-content:space-between;height:72px}
  .wordmark{font-size:1.55rem;color:var(--sapin);text-decoration:none;letter-spacing:.04em}
  .wordmark em{font-style:normal;color:var(--laiton)}
  .navlinks{display:flex;gap:30px;align-items:center;list-style:none}
  .navlinks a{text-decoration:none;font-size:.92rem;font-weight:500;color:var(--encre);opacity:.85}
  .navlinks a:hover{opacity:1;color:var(--sapin)}
  .navlinks .btn{padding:11px 22px}
  .burger{display:none;background:none;border:none;font-size:1.6rem;color:var(--sapin);cursor:pointer}

  /* ---------- HERO ---------- */
  .hero{background:linear-gradient(175deg,var(--pierre) 0%,var(--blanc) 78%);padding:72px 0 90px;overflow:hidden}
  .hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .hero h1{font-size:clamp(2.1rem,4.2vw,3.3rem);color:var(--sapin);margin-bottom:20px}
  .hero h1 em{font-style:normal;color:var(--laiton)}
  .hero p.lede{font-size:1.12rem;color:var(--gris);margin-bottom:30px;max-width:46ch}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
  .hero-note{font-size:.85rem;color:var(--gris)}
  .hero-note strong{color:var(--sapin)}

  /* Avant/Après slider */
  .ba{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:0 24px 60px rgba(21,40,36,.22);aspect-ratio:4/3;background:#ddd;user-select:none}
  .ba svg{position:absolute;inset:0;width:100%;height:100%;display:block}
  .ba .apres{clip-path:inset(0 0 0 var(--cut,50%))}
  .ba-line{position:absolute;top:0;bottom:0;left:var(--cut,50%);width:3px;background:#fff;box-shadow:0 0 10px rgba(0,0,0,.35);transform:translateX(-50%);pointer-events:none}
  .ba-handle{position:absolute;top:50%;left:var(--cut,50%);transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--sapin);box-shadow:0 4px 14px rgba(0,0,0,.3);pointer-events:none;font-size:1rem}
  .ba input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}
  .ba-tag{position:absolute;top:14px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:999px;color:#fff}
  .tag-avant{left:14px;background:rgba(38,37,31,.65)}
  .tag-apres{right:14px;background:var(--laiton)}
  .ba-caption{text-align:center;font-size:.84rem;color:var(--gris);margin-top:12px}

  /* ---------- BANDEAU GARANTIES ---------- */
  .bandeau{background:var(--sapin);color:var(--pierre);padding:34px 0}
  .bandeau .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center}
  .bandeau .g b{display:block;font-family:'Marcellus',serif;font-size:1.35rem;color:var(--laiton-clair);margin-bottom:4px}
  .bandeau .g span{font-size:.86rem;opacity:.85}

  /* ---------- OFFRE ---------- */
  .offre h2,.prestas h2,.zones h2,.process h2,.faq h2,.contact h2{font-size:clamp(1.7rem,3vw,2.3rem);color:var(--sapin);margin-bottom:16px;max-width:26ch}
  .offre .intro,.prestas .intro,.zones .intro,.process .intro{color:var(--gris);max-width:62ch;margin-bottom:44px}
  .cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .card{background:var(--pierre);border-radius:var(--radius);padding:34px 28px;border:1px solid rgba(176,141,87,.18);transition:transform .18s ease, box-shadow .18s ease}
  .card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(21,40,36,.12)}
  .card .pict{width:52px;height:52px;border-radius:12px;background:var(--sapin);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
  .card h3{font-size:1.22rem;color:var(--sapin);margin-bottom:10px}
  .card p{font-size:.95rem;color:var(--gris)}
  .card p strong{color:var(--encre)}

  /* ---------- PRESTATIONS ---------- */
  .prestas{background:var(--pierre)}
  .presta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
  .presta{background:var(--blanc);border-radius:var(--radius);padding:30px;display:flex;gap:20px;align-items:flex-start;border:1px solid rgba(38,37,31,.06)}
  .presta .num{font-family:'Marcellus',serif;font-size:1.05rem;color:var(--laiton);border:1.5px solid var(--laiton);border-radius:50%;width:42px;height:42px;flex:0 0 42px;display:flex;align-items:center;justify-content:center}
  .presta h3{font-size:1.12rem;color:var(--sapin);margin-bottom:6px}
  .presta p{font-size:.93rem;color:var(--gris)}

  /* ---------- ZONES ---------- */
  .zones-flex{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
  .commune-list{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
  .commune-list li{padding:9px 16px;border-radius:999px;font-size:.88rem;font-weight:500;background:var(--pierre);border:1px solid rgba(38,37,31,.1)}
  .commune-list li.md{border-color:var(--rouge-doux);color:var(--rouge-doux)}
  .commune-list li.cd{border-color:var(--vert-ok);color:var(--vert-ok)}
  .zone-legende{margin-top:22px;font-size:.86rem;color:var(--gris)}
  .zone-legende span{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:6px;vertical-align:baseline}
  .conf-box{background:var(--sapin);color:var(--pierre);border-radius:var(--radius);padding:34px 30px}
  .conf-box h3{color:var(--laiton-clair);font-size:1.3rem;margin-bottom:12px}
  .conf-box p{font-size:.94rem;opacity:.92;margin-bottom:14px}
  .conf-box p:last-child{margin-bottom:0}

  /* ---------- PROCESS ---------- */
  .process{background:var(--pierre)}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
  .step{padding:0 22px;position:relative}
  .step:not(:last-child)::after{content:"";position:absolute;top:26px;right:-2px;left:calc(50% + 40px);height:1.5px;background:repeating-linear-gradient(90deg,var(--laiton) 0 8px,transparent 8px 16px)}
  .step .dot{width:52px;height:52px;border-radius:50%;background:var(--blanc);border:1.5px solid var(--laiton);color:var(--sapin);font-family:'Marcellus',serif;font-size:1.15rem;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
  .step h3{font-size:1.05rem;color:var(--sapin);text-align:center;margin-bottom:8px}
  .step p{font-size:.88rem;color:var(--gris);text-align:center}

  /* ---------- FAQ ---------- */
  .faq details{border-bottom:1px solid rgba(38,37,31,.12);padding:20px 4px}
  .faq summary{cursor:pointer;font-weight:600;color:var(--sapin);font-size:1.02rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"+";font-family:'Marcellus',serif;font-size:1.5rem;color:var(--laiton);transition:transform .2s}
  .faq details[open] summary::after{transform:rotate(45deg)}
  .faq details p{margin-top:12px;color:var(--gris);font-size:.95rem;max-width:70ch}

  /* ---------- CONTACT ---------- */
  .contact{background:var(--sapin);color:var(--pierre)}
  .contact h2{color:var(--pierre)}
  .contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
  .contact .pitch p{opacity:.9;margin-bottom:18px;max-width:48ch}
  .contact .pitch .tel{font-family:'Marcellus',serif;font-size:1.5rem;color:var(--laiton-clair);text-decoration:none}
  form{background:var(--blanc);border-radius:var(--radius);padding:34px 30px;color:var(--encre);box-shadow:0 24px 60px rgba(0,0,0,.25)}
  .fgroup{margin-bottom:18px}
  label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--sapin)}
  input,select,textarea{width:100%;padding:12px 14px;border:1.5px solid rgba(38,37,31,.18);border-radius:10px;font-family:inherit;font-size:.95rem;background:#fff}
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--laiton)}
  form .btn{width:100%;text-align:center}
  .form-note{font-size:.78rem;color:var(--gris);margin-top:12px;text-align:center}

  /* ---------- FOOTER ---------- */
  footer{background:var(--sapin-fonce);color:rgba(245,241,232,.75);padding:44px 0;font-size:.88rem}
  footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
  footer .wordmark{color:var(--pierre);font-size:1.25rem}
  footer ul{list-style:none;display:flex;gap:22px;flex-wrap:wrap}
  footer a{text-decoration:none}
  footer a:hover{color:var(--laiton-clair)}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:900px){
    section{padding:64px 0}
    .hero .wrap,.zones-flex,.contact .wrap{grid-template-columns:1fr}
    .bandeau .wrap{grid-template-columns:repeat(2,1fr)}
    .cards3{grid-template-columns:1fr}
    .presta-grid{grid-template-columns:1fr}
    .steps{grid-template-columns:1fr 1fr;gap:34px 0}
    .step:not(:last-child)::after{display:none}
    .navlinks{display:none;position:absolute;top:72px;left:0;right:0;background:var(--blanc);flex-direction:column;padding:22px;gap:18px;border-bottom:1px solid rgba(38,37,31,.1)}
    .navlinks.open{display:flex}
    .burger{display:block}
  }
  @media (prefers-reduced-motion:reduce){
    *{transition:none!important;scroll-behavior:auto}
  }

/* ---------- PAGES INTERIEURES ---------- */
.page-hero{background:linear-gradient(175deg,var(--pierre) 0%,var(--blanc) 90%);padding:64px 0 48px}
.page-hero h1{font-size:clamp(1.9rem,3.6vw,2.8rem);color:var(--sapin);max-width:24ch}
.page-hero p{color:var(--gris);max-width:60ch;margin-top:14px;font-size:1.05rem}
.navlinks a.active,.navlinks .current-menu-item a{color:var(--sapin);opacity:1;border-bottom:2px solid var(--laiton);padding-bottom:3px}
.cta-band{background:var(--pierre);text-align:center;padding:64px 24px}
.cta-band h2{font-size:clamp(1.5rem,2.6vw,2rem);color:var(--sapin);margin-bottom:12px}
.cta-band p{color:var(--gris);margin-bottom:26px}
/* ---------- AJUSTEMENTS WORDPRESS ---------- */
body.admin-bar header{top:32px}
@media (max-width:782px){body.admin-bar header{top:46px}}
.entry-content>*{margin:0}
