/* Maison Ilé Ifè V9 — présentation éditoriale / UX accessible
   Uniquement visuels et contenus existants, sans glassmorphism. */
:root{--v9-green:#0b2b20;--v9-greenlight:#184133;--v9-coral:#ad4d33;--v9-cream:#f7f6f1;--v9-text:#143025}
/* Hero — boutons explicites et véritable accès au dossier */
.hero__cta--v9{align-items:stretch;gap:12px}
.hero__cta--v9 .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-align:center;min-height:51px;line-height:1.32}
.hero__cta--v9 .btn .ui-icon{width:18px;height:18px;flex:none}
.hero__file{margin-top:15px;font-size:.92rem;line-height:1.5}
.hero__file a{display:inline-flex;align-items:center;gap:9px;color:#f0eee8;text-underline-offset:4px;text-decoration-thickness:1px;min-height:44px}
.hero__file .ui-icon{width:19px;height:19px;flex:none;color:#ffb59a}
.hero__file a:hover{color:#fff}
.hero__file a:focus-visible{outline:2px solid #ed9978;outline-offset:4px}
/* Compact navigation assistance */
#plans .plan__fig{min-width:0}
#plans .rooms li button{min-height:45px}
#climat .ctab{min-height:48px}
#investir .formula__body{transition:border-color .2s,background-color .2s}
#reserver .form__formula label{cursor:pointer}
#reserver .field input,#reserver .field select,#reserver .field textarea{min-height:45px}
#reserver .field textarea{min-height:104px}
/* Dialog — fond plein et composition magazine, pas de verre */
.guide{width:min(1120px,calc(100vw - 32px));max-width:1120px;max-height:min(92dvh,860px);padding:0;border:0;border-radius:13px;color:var(--v9-text);background:#fff;box-shadow:0 25px 80px rgba(0,0,0,.34);overscroll-behavior:contain}
.guide::backdrop{background:rgba(3,22,14,.88)}
.guide[open]{display:block}
.guide__shell{display:flex;flex-direction:column;min-width:0;min-height:0;max-height:min(92dvh,860px)}
.guide__top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(18px,3vw,32px);background:#fff;border-bottom:1px solid #e5e8e1}
.guide__eyebrow{display:block;color:#aa4d32;font-weight:800;letter-spacing:.11em;font-size:.75rem}
.guide__brand p{font-size:.82rem;color:#526b5d;margin:3px 0 0}
.guide__close{display:grid;place-items:center;flex:none;border:1px solid #d5ddd5;border-radius:50%;width:44px;height:44px;color:#17372a;background:#fff;cursor:pointer}
.guide__close:hover{background:#f6ece6}
.guide__progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;padding:0;background:#e5e8e1}
.guide__progress>span{height:4px;background:#cdd8cf}
.guide__progress>span.is-on{background:#b15238}
.guide__view{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1}
.guide__slide{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);min-height:410px}
.guide__slide[hidden]{display:none!important}
.guide__visual{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--v9-green);margin:0;align-self:stretch}
.guide__image{display:block;width:100%;min-height:300px;height:100%;max-height:560px;flex:1;object-fit:cover}
.guide__visual figcaption{padding:10px 18px;background:var(--v9-green);font-size:.78rem;color:#f1e6df;line-height:1.4}
.guide__copy{display:flex;flex-direction:column;min-width:0;justify-content:center;align-items:flex-start;gap:18px;padding:clamp(25px,4.6vw,56px);background:var(--v9-cream)}
.guide__chapter{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:#a54931;font-weight:800;margin:0}
.guide__title{font-family:var(--f-display,Georgia,serif);font-size:clamp(1.75rem,3vw,2.85rem);line-height:1.17;letter-spacing:-.02em;color:var(--v9-text);margin:0;overflow-wrap:break-word}
.guide__description{font-size:clamp(.97rem,1.2vw,1.06rem);line-height:1.68;color:#385447;margin:0;max-width:45ch}
.guide__investment{display:grid;gap:8px;border-left:3px solid #b05239;padding-left:16px;margin-top:1px}
.guide__investment p{margin:0;font-size:.9rem;color:#263e31}
.guide__section-link{display:inline-flex;align-items:center;gap:10px;font-size:.92rem;font-weight:750;color:#a44730;text-decoration:none;border-bottom:1px solid currentColor;min-height:44px}
.guide__section-link:hover{color:#80351f}
.guide__section-link svg{flex:none}
.guide__bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e5e8e1;padding:14px clamp(18px,3vw,32px);background:#fff}
.guide__counter{font-weight:750;color:#2b4538;font-variant-numeric:tabular-nums;margin:0}
.guide__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.guide__back,.guide__next{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:9px 17px;border:1px solid #d3dbd1;border-radius:6px;cursor:pointer;font-weight:750;font-size:.93rem;line-height:1.25}
.guide__back{background:#fff;color:var(--v9-text)}
.guide__next{background:#ad4d33;color:#fff;border-color:#ad4d33}
.guide__next:hover{background:#8e3e29}
.guide__back:disabled{opacity:.45;cursor:default}
.guide button:focus-visible,.guide a:focus-visible{outline:3px solid #e78d68;outline-offset:3px}
@media (max-width:800px){
 .guide{width:calc(100vw - 24px);max-height:94dvh}
 .guide__shell{max-height:94dvh}
 .guide__slide{grid-template-columns:1fr;min-height:0}
 .guide__image{height:clamp(190px,39dvh,350px);min-height:190px;max-height:350px;flex:initial}
 .guide__copy{padding:22px 24px 28px;gap:12px}
 .guide__title{font-size:clamp(1.55rem,5vw,2rem)}
 .guide__description{font-size:.96rem;line-height:1.56}
 .guide__visual figcaption{padding:8px 16px;font-size:.72rem}
}
@media (max-width:390px){
 .hero__cta--v9{flex-direction:column}
 .hero__cta--v9 .btn{width:100%;padding-inline:12px;white-space:normal}
 .guide__top{padding:10px 14px}
 .guide__brand p{font-size:.72rem}
 .guide__close{width:40px;height:40px}
 .guide__copy{padding:16px 16px 22px}
 .guide__image{height:185px;min-height:185px}
 .guide__bottom{padding:11px 13px}
 .guide__actions{gap:6px}
 .guide__back,.guide__next{padding:8px 10px;font-size:.82rem}
}
@media (prefers-reduced-motion:reduce){.guide *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Accessibilité : libellés agrandis, très petits téléphones */
@media (max-width:359px){
 .guide__bottom{flex-direction:column;align-items:stretch;gap:7px}
 .guide__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .guide__actions button{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;padding:8px 6px}
 .guide__actions svg{flex:none}
}
/* Compte de rentabilité : éviter la coupure au zoom, sans perdre la colonne calcul. */
@media (max-width:600px){
 #rentabilite .tbl--yields,#rentabilite .tbl--yields tbody,#rentabilite .tbl--yields tbody tr{display:block;width:100%;min-width:0}
 #rentabilite .tbl--yields thead{display:none}
 #rentabilite .tbl--yields tbody tr{padding:12px 0;border-bottom:1px solid #426351}
 #rentabilite .tbl--yields tbody th,#rentabilite .tbl--yields tbody td{display:block;width:100%;max-width:100%;padding:3px 0;border:0;white-space:normal;overflow-wrap:anywhere;text-align:left}
 #rentabilite .tbl--yields tbody th{font-weight:750;color:#fff}
 #rentabilite .tbl--yields .hide-s{display:block!important;color:#d8e7d9!important;font-size:.83rem}
 #rentabilite .tbl--yields td.num{color:#f7f2eb!important;font-weight:750}
}
@media (max-width:420px){
 #opportunite .steps3,#opportunite .steps3 li,#opportunite .fund__legend,#opportunite .fund__legend li,#opportunite .fund__legend li span,
 #faq .faq__item,#faq .faq__item summary,#faq .faq__item summary span{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}
 #opportunite .fund__bar{overflow:hidden}
}
