/* ===== Pages internes v2 : harmonisation avec l'accueil (28/09/2026) =====
   Charge en dernier (index.php). Retirer le <link> pour revenir en arriere. */

/* --- 1. Palette : gris froids -> tons sable de l'accueil --- */
body.is-inner{--soft:var(--sand);--line:var(--sand-line)}

/* --- 2. Boutons du contenu : meme style que l'accueil --- */
html body.is-inner .xi-main .xi-btn{border-radius:8px;font-weight:700;font-size:1rem;padding:13px 20px;background:var(--red);color:#fff}
html body.is-inner .xi-main .xi-btn:hover{background:var(--red-dark);color:#fff;text-decoration:none}

/* --- 3. Accordeons et FAQ : cartes claires, plus de bandeau rouge a l'ouverture --- */
html body.is-inner .xi-accordion details,
html body.is-inner details.xi-faq{border:1px solid var(--sand-line);border-radius:12px;background:#fff;margin-bottom:10px;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}
html body.is-inner .xi-accordion details:hover,
html body.is-inner details.xi-faq:hover{border-color:#d9d2c9}
html body.is-inner .xi-accordion summary,
html body.is-inner details.xi-faq summary{background:#fff;color:var(--ink);font-weight:700;padding:16px 58px 16px 20px;line-height:1.4;min-height:0}
html body.is-inner .xi-accordion summary:after,
html body.is-inner details.xi-faq summary:after{content:"+";width:28px;height:28px;border-radius:50%;background:var(--sand);color:var(--red);
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;right:16px;transition:transform .2s ease,background .2s ease}
html body.is-inner .xi-accordion details[open],
html body.is-inner details.xi-faq[open]{border-color:var(--ink);box-shadow:0 10px 26px rgba(31,39,51,.07)}
html body.is-inner .xi-accordion details[open] summary,
html body.is-inner details.xi-faq[open] summary{background:#fff;color:var(--ink)}
html body.is-inner .xi-accordion details[open] summary:after,
html body.is-inner details.xi-faq[open] summary:after{content:"+";background:var(--red);color:#fff;transform:translateY(-50%) rotate(45deg)}
html body.is-inner .xi-acc-body,
html body.is-inner details.xi-faq>p{padding:0 20px 18px;color:#3d4754;line-height:1.6}

/* --- 4. Liens de maillage (« Nous intervenons aussi pres de… ») : cartes flechees --- */
html body.is-inner .xi-related-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;list-style:none;padding:0;columns:auto;margin:14px 0 0}
html body.is-inner .xi-related-links li{margin:0;padding:0}
html body.is-inner .xi-related-links a{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 14px;border:1px solid var(--sand-line);border-radius:10px;background:#fff;color:var(--ink);font-size:.95rem;text-decoration:none;transition:border-color .15s,box-shadow .15s}
html body.is-inner .xi-related-links a::after{content:"\2192";margin-left:auto;color:var(--red)}
html body.is-inner .xi-related-links a:hover{border-color:var(--red);box-shadow:0 4px 12px rgba(200,16,46,.10)}

/* --- 5. Sections d'une commune : etiquettes neutres (non cliquables) --- */
html body.is-inner .xi-zone-tags span{background:var(--sand);color:var(--ink);border:1px solid var(--sand-line);font-weight:500;padding:6px 14px}

/* --- 6. Encart xpert.immo : carte sable, bouton sombre --- */
html body.is-inner .xi-related-xi{background:var(--sand);border:0;border-radius:18px;padding:28px 30px;display:grid;grid-template-columns:1fr auto;gap:6px 28px;align-items:center}
html body.is-inner .xi-related-xi h2{grid-column:1;margin:0 !important}
html body.is-inner .xi-related-xi p{grid-column:1;margin:0;color:#3d4754;line-height:1.55}
html body.is-inner .xi-related-xi p:last-child{grid-column:2;grid-row:1 / span 2}
html body.is-inner .xi-related-xi .xi-btn{background:var(--ink);white-space:nowrap}
html body.is-inner .xi-related-xi .xi-btn:hover{background:#000}

/* --- 7. Notes « Voir aussi / Une question ? » : encadre discret --- */
html body.is-inner .xi-tarif-note{text-align:left;background:var(--sand);border-radius:12px;padding:16px 20px;margin:30px 0 8px;font-size:1rem;line-height:1.55}

/* --- 8. Grille tarifaire (module 110) : style des cartes de prix de l'accueil --- */
html body.is-inner .xi-price{border:1px solid var(--sand-line);border-radius:14px;box-shadow:none;background:#fff}
html body.is-inner .xi-price:hover{transform:none;box-shadow:0 8px 20px rgba(31,39,51,.07)}
html body.is-inner .xi-price-val{font-family:var(--serif);font-weight:400;font-size:1.6rem}
html body.is-inner .xi-prices-v2 .xi-price-edl{background:var(--sand);border-color:var(--sand)}
html body.is-inner .xi-main h2.xi-center{text-align:left}

/* --- 9. Cartes de sous-themes --- */
html body.is-inner .xi-topic{border:1px solid var(--sand-line);border-radius:14px;padding:18px 20px}
html body.is-inner .xi-topic-t{color:var(--ink);display:flex;align-items:center;gap:8px}
html body.is-inner .xi-topic-t:after{content:"\2192";color:var(--red);margin-left:auto;transition:transform .15s}
html body.is-inner .xi-topic:hover .xi-topic-t:after{transform:translateX(3px)}

/* --- 10. Images, tableaux, listes --- */
html body.is-inner .xi-content-img{border-radius:16px;box-shadow:none}
html body.is-inner .xi-main .item-page table:not(.xp-table){border-collapse:collapse;border:1px solid var(--sand-line);border-radius:12px;overflow:hidden;margin:16px 0}
html body.is-inner .xi-main .item-page table:not(.xp-table) th,
html body.is-inner .xi-main .item-page table:not(.xp-table) td{padding:11px 14px;border-bottom:1px solid var(--sand-line);text-align:left}
html body.is-inner .xi-main .item-page table:not(.xp-table) th{background:var(--sand);font-size:.85rem}
html body.is-inner .xi-page ul:not([class]) li::marker{color:var(--red)}

/* --- 11. Bandeau d'appel de bas de page : carte rouge, comme sur l'accueil --- */
html body.is-inner .xi-cta-band{background:transparent;padding:8px 0 0}
html body.is-inner .xi-cta-band .xi-container{background:var(--red);border-radius:20px;padding:34px 40px;max-width:1120px}
html body.is-inner .xi-cta-band .xi-cta-txt strong{font-family:var(--serif);font-weight:400;font-size:1.75rem;line-height:1.2}
html body.is-inner .xi-cta-band .xi-cta-txt span{color:#fff;opacity:.9}
html body.is-inner .xi-cta-band .xi-btn{background:#fff;color:var(--ink);border-radius:10px;font-weight:800;font-size:1.2rem;padding:15px 26px}
html body.is-inner .xi-cta-band .xi-btn:hover{background:var(--ink);color:#fff}
html body.is-inner .xi-footer{margin-top:40px}
@media(max-width:1180px){html body.is-inner .xi-cta-band .xi-container{margin:0 20px}}
@media(max-width:700px){html body.is-inner .xi-cta-band .xi-container{padding:26px 22px;margin:0 16px}
  html body.is-inner .xi-cta-band .xi-cta-txt strong{font-size:1.5rem}
  html body.is-inner .xi-cta-band .xi-btn{width:100%;justify-content:center;font-size:1.05rem;white-space:nowrap}}

/* --- 12. Pages d'information (.xi-page) : colonne de lecture + colonne laterale (xi-aside.php) --- */
.xi-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
.xi-layout .xi-page{max-width:760px}
.xi-layout .xi-page>*:first-child{margin-top:0}
html body.is-inner .xi-layout .xi-page h2{margin-top:40px}
.xi-layout .xi-topics{grid-template-columns:repeat(2,1fr)}
.xi-aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}
.xi-aside-box{border:1px solid var(--sand-line);border-radius:16px;padding:18px 16px;background:#fff}
.xi-aside-k{display:block;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin:0 0 8px 6px}
.xi-aside-nav{list-style:none;margin:0;padding:0}
.xi-aside-nav li{margin:0 !important}
.xi-aside-nav a{display:block;padding:8px 10px;border-radius:8px;color:var(--ink);font-size:.95rem;line-height:1.35}
.xi-aside-nav a:hover{background:var(--sand);text-decoration:none}
.xi-aside-nav a.is-current{background:var(--sand);color:var(--red);font-weight:700;box-shadow:inset 3px 0 0 var(--red)}
.xi-aside-call{background:var(--ink);color:#c9d1dc;border-radius:16px;padding:22px 20px;line-height:1.45}
.xi-aside-call strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.35rem;color:#fff;line-height:1.2;margin-bottom:6px}
.xi-aside-call .xi-aside-price{display:block;margin:12px 0 16px;font-size:.9rem}
.xi-aside-call .xi-aside-price b{font-family:var(--serif);font-weight:400;font-size:1.7rem;color:#fff}
.xi-aside-call a{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:10px;font-weight:700;text-decoration:none}
.xi-aside-call a+a{margin-top:8px}
.xi-aside-call .xi-aside-tel{background:var(--red);color:#fff}
.xi-aside-call .xi-aside-tel:hover{background:var(--red-dark);color:#fff;text-decoration:none}
.xi-aside-call .xi-aside-dev{border:1.5px solid rgba(255,255,255,.35);color:#fff}
.xi-aside-call .xi-aside-dev:hover{border-color:#fff;color:#fff;text-decoration:none}
@media(min-width:641px){.xi-layout .xi-content-img.xi-img-right{width:min(300px,42%)}}
@media(max-width:980px){
  .xi-layout{grid-template-columns:1fr;gap:36px}
  .xi-layout .xi-page{max-width:none}
  .xi-aside{display:none} /* sur mobile, le bandeau d'appel de bas de page suffit */
}
@media(max-width:700px){
  html body.is-inner .xi-related-xi{grid-template-columns:1fr;padding:22px 20px}
  html body.is-inner .xi-related-xi p:last-child{grid-column:1;grid-row:auto;margin-top:10px}
  html body.is-inner .xi-related-xi .xi-btn{width:100%;justify-content:center;white-space:normal}
  .xi-layout .xi-topics{grid-template-columns:1fr}
}
