/* ============================================================
   DLL — Notre maison v3 (Phase A)
   Fichier : assets/css/dll-maison.css
   Charge : uniquement sur la page Notre maison (ID 17)
   Depend : dll-main.css (variables --dll-*)
   Version : suit DLL_VERSION (0.7.5-v85)
   ============================================================ */

/* ---------- Signature : filet dore double ---------- */
.dll-nm-rule{border:none;height:7px;width:96px;position:relative;margin:1.4rem 0 0;background:transparent}
.dll-nm-rule::before,.dll-nm-rule::after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--dll-do),var(--dll-do-light) 70%,transparent)}
.dll-nm-rule::before{top:0}
.dll-nm-rule::after{top:6px;right:22px}
.dll-nm-rule--center{margin-left:auto;margin-right:auto}
.dll-nm-rule--center::before,.dll-nm-rule--center::after{background:linear-gradient(90deg,transparent,var(--dll-do) 30%,var(--dll-do) 70%,transparent)}
.dll-nm-rule--center::after{left:11px;right:11px}

/* ---------- Fil d'Ariane ---------- */
.dll-nm-crumbs{max-width:1240px;margin:0 auto;padding:1.1rem 1.5rem 0;font-size:.82rem;color:#7d786c}
.dll-nm-crumbs a{color:#7d786c;text-decoration:none}
.dll-nm-crumbs a:hover{color:var(--dll-do)}

/* ---------- Hero creme ---------- */
.dll-nm-hero{background:var(--dll-iv);position:relative;overflow:hidden}
.dll-nm-hero::after{content:"";position:absolute;right:-90px;top:50%;transform:translateY(-50%);width:420px;height:420px;border-radius:50%;border:1px solid rgba(184,149,42,.22);pointer-events:none}
.dll-nm-hero::before{content:"";position:absolute;right:-30px;top:50%;transform:translateY(-50%);width:300px;height:300px;border-radius:50%;border:1px solid rgba(184,149,42,.14);pointer-events:none}
.dll-nm-hero-in{max-width:1240px;margin:0 auto;padding:3.6rem 1.5rem 3.2rem;position:relative}
.dll-nm-kicker{font-family:'Source Sans 3',system-ui,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--dll-do);margin:0}
.dll-nm-hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:clamp(2.5rem,5.2vw,3.7rem);line-height:1.08;color:var(--dll-vn);margin:.7rem 0 0}
.dll-nm-hero h1 em{font-style:italic;font-weight:600;color:#4a5a52}
.dll-nm-chapo{max-width:46em;margin:1.5rem 0 0;font-size:1.14rem;line-height:1.65;color:#43514a}
.dll-nm-chapo strong{color:var(--dll-vn)}

/* ---------- Nav interne sticky ---------- */
.dll-nm-nav{position:sticky;top:0;z-index:50;background:rgba(245,240,232,.96);backdrop-filter:blur(6px);border-top:1px solid rgba(184,149,42,.5);border-bottom:1px solid rgba(184,149,42,.5);box-shadow:inset 0 2px 0 rgba(184,149,42,.18),inset 0 -2px 0 rgba(184,149,42,.18)}
body.admin-bar .dll-nm-nav{top:32px}
.dll-nm-nav ul{max-width:1240px;margin:0 auto;padding:0 1rem;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.1rem}
.dll-nm-nav li{margin:0}
.dll-nm-nav a{display:block;padding:.85rem .95rem;text-decoration:none;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#5a655e;border-bottom:2px solid transparent;white-space:nowrap}
.dll-nm-nav a:hover{color:var(--dll-do)}
.dll-nm-nav a.dll-nm-active{color:var(--dll-do);border-bottom-color:var(--dll-do)}

/* ---------- Sections ---------- */
.dll-nm-sec{padding:4.2rem 0}
.dll-nm-sec[id]{scroll-margin-top:80px}
.dll-nm-sec--iv{background:var(--dll-iv)}
.dll-nm-sec--ivd{background:var(--dll-iv-deep)}
.dll-nm-sec--wh{background:#fbf8f2}
.dll-nm-in{max-width:1240px;margin:0 auto;padding:0 1.5rem}
.dll-nm-head{max-width:720px;margin:0 0 2.6rem}
.dll-nm-head .dll-nm-kicker{font-size:.74rem}
.dll-nm-head h2{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1.12;margin:.45rem 0 0;color:var(--dll-vn)}
.dll-nm-lede{margin:1.1rem 0 0;color:#4d5b53;max-width:44em;line-height:1.65}

/* ---------- Histoire : timeline ---------- */
.dll-nm-tl{position:relative;max-width:820px;margin-top:1rem;padding-left:2.1rem}
.dll-nm-tl::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:1px;background:linear-gradient(180deg,var(--dll-do-light),rgba(184,149,42,.25))}
.dll-nm-tl-item{position:relative;padding:0 0 2.4rem 1.2rem}
.dll-nm-tl-item:last-child{padding-bottom:.3rem}
.dll-nm-tl-item::before{content:"";position:absolute;left:-2.1rem;top:.42rem;width:11px;height:11px;border-radius:50%;background:var(--dll-iv);border:2px solid var(--dll-do);margin-left:3px}
.dll-nm-tl-item:last-child::before{background:var(--dll-do)}
.dll-nm-tl-date{font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--dll-do);margin:0}
.dll-nm-tl-item h3{font-family:'Playfair Display',Georgia,serif;font-size:1.32rem;font-weight:600;margin:.25rem 0 .45rem;color:var(--dll-vn)}
.dll-nm-tl-item p{color:#4d5b53;max-width:42em;margin:0;line-height:1.65}
.dll-nm-tl-item p+p{margin-top:.6rem}

/* ---------- Valeurs : cartes ---------- */
.dll-nm-val{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.dll-nm-val-card{background:var(--dll-iv);border:1px solid rgba(184,149,42,.25);border-top:2px solid var(--dll-do);padding:1.6rem 1.5rem;box-shadow:0 6px 18px rgba(45,59,53,.05)}
.dll-nm-val-card h3{font-family:'Playfair Display',Georgia,serif;font-size:1.22rem;font-weight:600;color:var(--dll-vn);margin:0}
.dll-nm-val-card p{margin:.55rem 0 0;font-size:.98rem;color:#4d5b53;line-height:1.6}

/* ---------- Ligne editoriale : collections ---------- */
.dll-nm-led{max-width:46em;color:#4d5b53;margin:0;line-height:1.65}
.dll-nm-col{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:2.4rem}
.dll-nm-col-card{background:#fff;border:1px solid rgba(45,59,53,.12);padding:1.5rem 1.5rem 1.35rem;position:relative;box-shadow:0 6px 18px rgba(45,59,53,.05)}
.dll-nm-col-card::after{content:"";position:absolute;left:1.5rem;bottom:1.05rem;width:34px;height:5px;border-top:1px solid var(--dll-do);border-bottom:1px solid var(--dll-do-light)}
.dll-nm-col-card h3{font-family:'Playfair Display',Georgia,serif;font-size:1.28rem;font-weight:700;color:var(--dll-vn);margin:0}
.dll-nm-col-tag{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--dll-do);margin:0 0 .4rem}
.dll-nm-col-card p{margin:.5rem 0 0;font-size:.96rem;color:#4d5b53;padding-bottom:1.3rem;line-height:1.6}
.dll-nm-col-card--soon{background:var(--dll-iv);border-style:dashed}
.dll-nm-col-cta{margin:2.2rem 0 0;font-size:.95rem}
.dll-nm-col-cta a{color:var(--dll-do);font-weight:700;text-decoration:none;letter-spacing:.04em}
.dll-nm-col-cta a:hover{text-decoration:underline}

/* ---------- Comite d'honneur ---------- */
.dll-nm-sec--comite{background:var(--dll-vn);color:#e9e2d2}
.dll-nm-sec--comite .dll-nm-head h2{color:#f3ecdd}
.dll-nm-sec--comite .dll-nm-lede{color:#c4cdc4}
.dll-nm-com{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.dll-nm-com-card{background:rgba(245,240,232,.045);border:1px solid rgba(212,176,96,.35);padding:1.9rem 1.5rem 1.7rem;text-align:center}
.dll-nm-com-orn{color:var(--dll-do-light);font-size:.9rem;letter-spacing:.4em;margin:0 0 .8rem}
.dll-nm-com-card h3{font-family:'Playfair Display',Georgia,serif;font-size:1.34rem;font-weight:600;color:#f3ecdd;line-height:1.25;margin:0}
.dll-nm-com-card p{margin:.55rem 0 0;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dll-do-light)}

/* ---------- Partenaires ---------- */
.dll-nm-part{background:#fbf8f2;border:1px solid rgba(184,149,42,.3);padding:2.1rem 2rem;max-width:820px}
.dll-nm-part p{color:#4d5b53;max-width:44em;margin:0;line-height:1.65}
.dll-nm-part p+p{margin-top:.9rem}

/* ---------- Appel final ---------- */
.dll-nm-cta{background:var(--dll-vn);color:#e9e2d2;padding:3.4rem 0}
.dll-nm-cta-in{max-width:1240px;margin:0 auto;padding:0 1.5rem;text-align:center}
.dll-nm-cta h2{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:clamp(1.7rem,3vw,2.2rem);color:#f3ecdd;margin:0}
.dll-nm-cta p{max-width:40em;margin:.9rem auto 0;color:#c4cdc4;line-height:1.65}
.dll-nm-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem;margin-top:2rem}
.dll-nm-btn{display:inline-block;text-decoration:none;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:.85rem 1.6rem;border:1px solid var(--dll-do-light);color:#f3ecdd;transition:background .18s,color .18s}
.dll-nm-btn:hover{background:var(--dll-do);border-color:var(--dll-do);color:var(--dll-vn-deep)}
.dll-nm-btn--solid{background:var(--dll-do);border-color:var(--dll-do);color:var(--dll-vn-deep)}
.dll-nm-btn--solid:hover{background:var(--dll-do-light);border-color:var(--dll-do-light)}

/* ---------- Accessibilite / mouvement ---------- */
.dll-nm-nav a:focus-visible,.dll-nm-btn:focus-visible,.dll-nm-col-cta a:focus-visible{outline:2px solid var(--dll-do);outline-offset:3px}
@media (prefers-reduced-motion:reduce){
  .dll-nm-btn{transition:none}
}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .dll-nm-val,.dll-nm-col,.dll-nm-com{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:840px){
  .dll-nm-hero-in{padding:2.8rem 1.25rem 2.6rem}
  .dll-nm-hero::before,.dll-nm-hero::after{display:none}
}
@media (max-width:600px){
  .dll-nm-val,.dll-nm-col,.dll-nm-com{grid-template-columns:1fr}
  .dll-nm-sec{padding:3.1rem 0}
  .dll-nm-in,.dll-nm-hero-in,.dll-nm-cta-in{padding-left:1.1rem;padding-right:1.1rem}
  .dll-nm-nav ul{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .dll-nm-nav a{padding:.8rem .7rem;font-size:.7rem}
  .dll-nm-tl{padding-left:1.7rem}
  .dll-nm-tl-item::before{left:-1.7rem}
  .dll-nm-chapo{font-size:1.05rem}
}
