/* Pages guides « Habiter » — même base visuelle que le guide PTZ */
.seo-page{background:#fff;padding:0 0 4rem;}
.seo-wrap{max-width:1120px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}
.seo-breadcrumb{
  font-size:0;
  letter-spacing:0;
  line-height:1.5;
  color:#6f7a76;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.15rem .38rem;
}
.seo-breadcrumb a,
.seo-breadcrumb > span{
  font-size:13px;
  letter-spacing:.01em;
}
.seo-breadcrumb a{
  color:#2f3f3b;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color .15s ease,color .15s ease;
}
.seo-breadcrumb a:hover{color:var(--vert);border-bottom-color:rgba(53,76,72,.32)}
.seo-breadcrumb span[aria-hidden]{margin:0;opacity:.4;font-weight:400;font-size:11px;line-height:1;user-select:none}
.seo-breadcrumb > span:not([aria-hidden]),
.seo-breadcrumb [aria-current="page"]{color:#95a09c;font-weight:500}

.ptz-hero{
  background:linear-gradient(145deg,#fdfbf8 0%,#f7f4ee 42%,#fff 72%);
  border-bottom:1px solid #e8e1d6;
  padding:clamp(24px,4vw,40px) 0 clamp(40px,6vw,64px);
}
.ptz-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:clamp(28px,5vw,52px);align-items:center}
@media(max-width:900px){.ptz-hero-grid{grid-template-columns:1fr;gap:clamp(20px,4vw,28px)}}
.ptz-hero-col{position:relative;padding-left:clamp(0px,2vw,18px);border-left:3px solid var(--terre)}
@media(max-width:900px){.ptz-hero-col{padding-left:14px;border-left-width:2px}}
.ptz-hero .ptz-hero-bcwrap{display:block;margin:0 0 18px;padding:0 0 14px;background:none;border-radius:0;border-bottom:1px solid rgba(53,76,72,.09)}
@media(max-width:900px){.ptz-hero .ptz-hero-bcwrap{padding-bottom:12px;margin-bottom:16px}}
.ptz-hero .sec-eyebrow{color:#8f6a4d!important;margin:0 0 14px!important;letter-spacing:.14em!important}
.ptz-hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.ptz-hero-badge{font-family:'DM Sans',sans-serif;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--vert);background:rgba(255,255,255,.85);border:1px solid #e4dcd0;padding:6px 11px;border-radius:999px}
.ptz-hero h1{font-family:'Playfair Display',serif;font-weight:600;color:var(--vert);font-size:clamp(1.85rem,3.8vw,2.75rem);line-height:1.1;margin:0 0 18px}
.ptz-hero-lead{font-family:'DM Sans',sans-serif;font-size:1.02rem;color:#4d5654;line-height:1.72;max-width:36rem;margin:0 0 22px}
.ptz-hero-lead strong{color:#2f3836;font-weight:600}
/* Hero Habiter / guides : 3 CTA sur une seule ligne (évite le retour à la ligne serré) */
.ptz-hero-cta{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  align-items:stretch;
  width:100%;
  max-width:100%;
}
.ptz-hero-cta > a,
.ptz-hero-cta > button{
  flex:1 1 0;
  min-width:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:normal;
  line-height:1.25;
  font-size:clamp(10px,2.1vw,14px);
  padding:10px 8px;
}
.ptz-hero-cta .btn-p{box-shadow:0 6px 20px rgba(175,123,86,.28);padding-inline:1.3rem}
.ptz-hero-cta .btn-o{background:#fff;border-color:#dcd4c8}
.ptz-hero-media{margin:0;border-radius:20px;overflow:hidden;border:1px solid #e2dbd2;box-shadow:0 20px 50px rgba(53,76,72,.1);background:#f0ebe3}
.ptz-hero-media img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}
@media(max-width:900px){.ptz-hero-media{max-width:520px;margin-inline:auto}}

.seo-section{padding:clamp(40px,5vw,60px) 0;border-top:1px solid #f0ebe3;background:#fff}
.seo-section:first-of-type{border-top:none}
.seo-section.alt{background:#f9f7f4;border-top-color:#eee6dc}
.seo-h2{
  font-family:'Playfair Display',serif;
  font-weight:600;
  color:var(--vert);
  font-size:clamp(1.4rem,2.6vw,1.9rem);
  line-height:1.18;
  margin:0 0 14px;
  padding-bottom:14px;
  border-bottom:2px solid rgba(175,123,86,.48);
  display:inline-block;
  max-width:100%;
}
/* Variante : séparateur sur toute la largeur du contenu (gris) */
.seo-h2.seo-h2--rule-full{
  display:block;
  border-bottom:none;
  padding-bottom:0;
  margin-bottom:0;
}
.seo-h2.seo-h2--rule-full::after{
  content:'';
  display:block;
  height:1px;
  margin-top:14px;
  margin-bottom:14px;
  background:#d5dcd8;
  border-radius:1px;
}
.seo-h3{font-family:'DM Sans',sans-serif;font-weight:600;color:var(--vert);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin:24px 0 10px}
.seo-muted{color:#5a635f;font-family:'DM Sans',sans-serif;line-height:1.85}
/* Liens de maillage dans le corps (gras + soulignement type captures « Sérénité » / guides) */
.seo-muted a[href]:not(.btn-p):not(.btn-o),
.guide-criteria-stack a[href]:not(.btn-p):not(.btn-o){
  color:var(--vert);
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:0.2em;
  text-decoration-thickness:1px;
  text-decoration-color:rgba(175,123,86,.55);
}
.seo-muted a[href]:not(.btn-p):not(.btn-o):hover,
.guide-criteria-stack a[href]:not(.btn-p):not(.btn-o):hover{
  color:var(--terre);
  text-decoration-color:var(--terre);
}
.seo-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.seo-links a,.seo-links button{white-space:nowrap}

.seo-callout{border-radius:14px;padding:18px 20px;margin:20px 0;line-height:1.72;border:1px solid transparent}
.seo-callout--terre{background:#fdfaf6;border-color:#ead9c8}
.seo-callout--vert{background:#f6f8f7;border-color:#d5e0dc}
.seo-callout p{margin:0;color:#4a524f;font-size:.93rem;font-family:'DM Sans',sans-serif}

.seo-checklist{list-style:none;margin:16px 0;padding:0;display:flex;flex-direction:column;gap:10px}
.seo-checklist li{display:flex;gap:12px;align-items:flex-start;color:#4d5654;font-size:.93rem;line-height:1.62;font-family:'DM Sans',sans-serif;padding:12px 14px;background:#faf9f7;border-radius:12px;border:1px solid #efe8de}
.seo-checklist li::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--terre);flex-shrink:0;margin-top:7px}

.seo-table{overflow:auto;margin-top:18px;border-radius:14px;border:1px solid #e8e3dc;box-shadow:0 4px 18px rgba(53,76,72,.04)}
.seo-table table{width:100%;border-collapse:collapse;min-width:520px}
.seo-table th,.seo-table td{padding:12px 14px;border-bottom:1px solid #efe8df;text-align:left;font-family:'DM Sans',sans-serif;font-size:.88rem}
.seo-table th{color:#fff;font-weight:600;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;background:var(--vert)}
.seo-table tbody tr:nth-child(even) td{background:#faf9f7}
.seo-table tbody tr:last-child td{border-bottom:none}
.seo-table td{color:#4d5654;line-height:1.5}

.seo-faq{display:grid;gap:8px;margin-top:20px}
.seo-faq details{background:#fff;border:1px solid #e8e3dc;border-radius:12px;overflow:hidden}
.seo-faq summary{cursor:pointer;color:var(--vert);font-weight:600;font-family:'DM Sans',sans-serif;font-size:.92rem;padding:14px 16px;list-style:none}
.seo-faq summary::-webkit-details-marker{display:none}
.seo-faq p{margin:0;padding:0 16px 16px;color:#5a635f;line-height:1.75;font-size:.9rem;font-family:'DM Sans',sans-serif;border-top:1px solid #f4f0ea}

.seo-hub{padding:clamp(32px,4vw,48px) 0;border-top:1px solid #eee6dc;background:linear-gradient(180deg,#faf9f7,#fff)}

/* Cartes critères (type capture « Conditions prêt accession ») — réutilisable Habiter / Investir */
.guide-criteria-stack{
  list-style:none;
  margin:22px 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.guide-criteria-stack > li{
  margin:0;
  padding:17px 20px;
  border-radius:14px;
  border:1px solid #e4e0da;
  background:#fff;
  font-family:'DM Sans',sans-serif;
  font-size:.95rem;
  line-height:1.72;
  color:#3d4542;
  box-shadow:0 1px 8px rgba(53,76,72,.04);
}
.guide-criteria-stack > li strong{color:#2a3330;font-weight:600}
.guide-criteria-stack > li a{color:var(--vert);font-weight:600;text-decoration:underline;text-underline-offset:0.2em;text-decoration-thickness:1px;text-decoration-color:rgba(175,123,86,.55)}
.guide-criteria-stack > li a:hover{color:var(--terre);text-decoration-color:var(--terre)}
.guide-criteria-source{
  margin-top:22px;
  font-size:.82rem;
  line-height:1.68;
  color:#6f7874;
  font-family:'DM Sans',sans-serif;
  max-width:72ch;
}
.guide-criteria-source a{color:#1a5f9e;text-decoration:underline}
.guide-criteria-source a:hover{color:var(--terre)}

/* Même famille de cartes, avec pastille terre (bloc assurance, etc.)
   Pas de flex sur le <li> : le texte mélangé à <strong> doit rester un flux
   typographique normal (évite espacements / coupures bizarres). */
.guide-criteria-stack--with-dot > li{
  position:relative;
  padding:18px 20px 18px 44px;
}
.guide-criteria-stack--with-dot > li::before{
  content:'';
  position:absolute;
  left:22px;
  top:50%;
  transform:translateY(-50%);
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--terre);
}

/* Sous-bloc type « Convention Aeras » sous les cartes */
.guide-subblock{
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid #e4ded4;
}
.guide-subblock .seo-h3{margin-top:0}
.guide-subblock .guide-aeras-link{
  color:#1a5f9e;
  font-weight:600;
  text-decoration:underline;
}
.guide-subblock .guide-aeras-link:hover{color:var(--terre)}
.guide-subblock .seo-muted a.guide-aeras-link{font-weight:600}

/* Sommaire guide (puces / groupes lisibles) */
.guide-sommaire{margin-top:18px;max-width:920px}
.guide-sommaire-label{
  font-family:'DM Sans',sans-serif;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8f6a4d;
  margin:22px 0 12px;
}
.guide-sommaire-label:first-child{margin-top:0}
.guide-sommaire ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.guide-sommaire a{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid #e4ded4;
  background:#fff;
  font-family:'DM Sans',sans-serif;
  font-size:.88rem;
  font-weight:600;
  color:var(--vert);
  text-decoration:none;
  line-height:1.25;
  transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease;
  box-shadow:0 1px 6px rgba(53,76,72,.04);
}
.guide-sommaire a:hover{
  border-color:rgba(175,123,86,.5);
  background:#fdfaf7;
  color:var(--terre);
}
.guide-sommaire a:focus-visible{
  outline:2px solid var(--terre);
  outline-offset:2px;
}
@media (max-width:520px){
  .guide-sommaire a{font-size:.84rem;padding:7px 12px}
}
