/*
Theme Name: DPM Conciergerie
Description: Thème sur mesure pour DPM Conciergerie — charte vert profond, or et crème, typographie Cormorant Garamond. Conçu pour fonctionner avec l'extension DPM Conciergerie (biens, catalogue, calendrier Hostaway).
Author: DPM Consulting Group
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.1
License: GPLv2 or later
Text Domain: dpm-conciergerie
*/

:root{
  --vert:#14352A;--vert-clair:#1D4636;--or:#C9A227;--creme:#FBFAF6;--sable:#EFE9DC;
  --encre:#22302A;--gris:#6E7A72;
  --display:"Cormorant Garamond", Garamond, serif;--corps:Arial, Helvetica, sans-serif;--max:1120px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--creme);color:var(--encre);font-family:var(--corps);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--vert)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}

h1,h2,h3,h4{font-family:var(--display);font-weight:400;letter-spacing:.01em;margin:0}
h1{font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.08}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.18;margin:0 0 .5em}
h3{font-size:1.5rem;line-height:1.25;margin:2.2em 0 .5em}
h4{font-size:1.2rem;margin:1.6em 0 .4em}
p{margin:0 0 1.1em}
.eyebrow{font-family:var(--corps);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--or);display:block;margin-bottom:16px}
.lead,.dpm-lead{font-size:1.12rem;color:var(--gris);max-width:64ch}

/* ---------- En-tête ---------- */
.entete{position:sticky;top:0;z-index:100;background:rgba(251,250,246,.96);backdrop-filter:blur(8px);border-bottom:1px solid rgba(20,53,42,.1)}
.barre{display:flex;align-items:center;gap:24px;min-height:76px;flex-wrap:wrap}
.logo{font-family:var(--display);font-size:1.32rem;letter-spacing:.06em;text-decoration:none;color:var(--vert);white-space:nowrap}
.logo span{color:var(--or)}
.menu{display:flex;gap:20px;margin-left:auto;flex-wrap:wrap;list-style:none;padding:0;margin-block:0}
.menu li{margin:0}
.menu a{font-size:.76rem;letter-spacing:.11em;text-transform:uppercase;color:var(--gris);text-decoration:none;border-bottom:1px solid transparent;padding:5px 0;display:inline-block}
.menu a:hover{color:var(--vert)}
.menu .current-menu-item>a,.menu .current_page_item>a{color:var(--vert);border-bottom-color:var(--or)}

/* ---------- Boutons ---------- */
.btn,.dpm-btn{display:inline-block;padding:14px 26px;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1px solid var(--vert);background:var(--vert);color:var(--creme);cursor:pointer;transition:background .25s ease,color .25s ease}
.btn:hover{background:var(--vert-clair);color:var(--creme)}
.btn.or,.dpm-btn{background:var(--or);border-color:var(--or);color:var(--vert)}
.btn.or:hover,.dpm-btn:hover{background:#d8b13a;color:var(--vert)}
.btn.clair{background:transparent;border-color:rgba(251,250,246,.5);color:var(--creme)}
.btn.clair:hover{background:var(--creme);color:var(--vert)}
.btn.ghost{background:transparent;color:var(--vert)}
.btn.ghost:hover{background:var(--vert);color:var(--creme)}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
:focus-visible{outline:2px solid var(--or);outline-offset:3px}

/* ---------- Hero ---------- */
.hero{position:relative;color:var(--creme);padding:150px 0 0;min-height:620px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--vert)}
.hero .fond{position:absolute;inset:0;z-index:0}
.hero .fond img{width:100%;height:100%;object-fit:cover}
.hero .voile{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(20,53,42,.82) 0%,rgba(20,53,42,.6) 40%,rgba(20,53,42,.94) 100%)}
.hero .contenu{position:relative;z-index:2;width:100%}
.hero h1{max-width:16ch}
.hero .lead{color:rgba(251,250,246,.85);margin-top:24px}
.hero-page{min-height:0;padding:120px 0 70px;justify-content:center}
.hero-page h1{max-width:22ch}

/* Bandeau de pilotage */
.pilotage{margin-top:78px;border-top:1px solid rgba(201,162,39,.5);display:grid;grid-template-columns:repeat(4,1fr)}
.pilotage div{padding:24px 22px 32px;border-right:1px solid rgba(201,162,39,.25)}
.pilotage div:last-child{border-right:0}
.pilotage .k{font-family:var(--display);font-size:1.45rem;display:block}
.pilotage .l{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--or)}
.pilotage .d{font-size:.83rem;color:rgba(251,250,246,.65);margin:8px 0 0;line-height:1.5}

/* ---------- Sections ---------- */
.section{padding:88px 0}
.sable{background:var(--sable)}
.fonce{background:var(--vert);color:var(--creme)}
.fonce h1,.fonce h2,.fonce h3{color:var(--creme)}
.fonce p,.fonce li,.fonce .lead{color:rgba(251,250,246,.8)}

/* Contenu éditorial */
.prose{max-width:78ch}
.prose h3{padding-top:1.4em;border-top:1px solid rgba(20,53,42,.15)}
.prose h3:first-of-type{border-top:0;padding-top:0}
.prose ul,.prose ol{padding-left:0;list-style:none;margin:1.2em 0}
.prose ul li{padding:11px 0 11px 26px;position:relative;border-bottom:1px solid rgba(20,53,42,.1)}
.prose ul li:before{content:"";position:absolute;left:0;top:20px;width:10px;height:1px;background:var(--or)}
.prose ol{counter-reset:dpm}
.prose ol li{counter-increment:dpm;padding:14px 0 14px 52px;position:relative;border-bottom:1px solid rgba(20,53,42,.1)}
.prose ol li:before{content:counter(dpm,decimal-leading-zero);position:absolute;left:0;top:12px;font-family:var(--display);font-size:1.3rem;color:var(--or)}
.prose strong{color:var(--vert)}

/* ---------- Bandeau final ---------- */
.bandeau{position:relative;color:var(--creme);text-align:center;padding:100px 0;overflow:hidden;background:var(--vert-clair)}
.bandeau .fond{position:absolute;inset:0;z-index:0}
.bandeau .fond img{width:100%;height:100%;object-fit:cover}
.bandeau .voile{position:absolute;inset:0;z-index:1;background:rgba(20,53,42,.86)}
.bandeau .wrap{position:relative;z-index:2}
.bandeau p{color:rgba(251,250,246,.8);max-width:56ch;margin:16px auto 0}
.bandeau .cta-row{justify-content:center}

/* ---------- Pied de page ---------- */
.pied{background:var(--vert);color:rgba(251,250,246,.62);padding:54px 0 38px;font-size:.85rem}
.pied-grille{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.pied .logo{color:var(--creme)}
.pied a{color:rgba(251,250,246,.62);text-decoration:none;display:block;padding:4px 0}
.pied a:hover{color:var(--or)}
.pied ul{list-style:none;padding:0;margin:0}
.filet{height:1px;background:rgba(201,162,39,.3);margin:34px 0 20px}

/* ---------- Fiche d'un bien ---------- */
.fiche-entete{padding:56px 0 0}
.retour{display:inline-block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);text-decoration:none;margin-bottom:22px}
.retour:hover{color:var(--vert)}
.fiche-titre{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-top:10px}

@media (max-width:900px){
  .barre{min-height:0;padding:14px 0 6px;gap:10px}
  .menu{margin-left:0;width:100%;gap:12px 18px;padding-bottom:10px}
  .menu a{font-size:.72rem}
  .section{padding:60px 0}
  .hero{padding:80px 0 0;min-height:0}
  .hero-page{padding:70px 0 46px}
  .pilotage{grid-template-columns:1fr 1fr;margin-top:52px}
  .pied-grille{grid-template-columns:1fr;gap:26px}
}
