/* Accord refonte 2026 : pages produits /services (lot parallele)
   services/credit-immobilier.php, assurance-pret.php, rachat-credit.php, remere-immobilier.php, credit-professionnel.php
   Charge apres accord-2026.css et accord-2026-pages.css (variables --ac-*). Aucune ancienne feuille sur ces pages. */

/* ---------- bases (pages autonomes, sans les anciennes feuilles) ---------- */
body.aci-body { margin: 0; background: #fff; font-family: var(--ac-police); color: var(--ac-texte); -webkit-font-smoothing: antialiased; }
.aci-body main { display: block; }
.aci-body img { max-width: 100%; }
.pointer, .cliquable { cursor: pointer; }
.aci-page { font-family: var(--ac-police); color: var(--ac-texte); line-height: 1.55; font-feature-settings: 'tnum'; }
.aci-page *, .aci-page *:before, .aci-page *:after { box-sizing: border-box; }
:where(.aci-page) :where(p, h1, h2, h3, h4, ul) { margin: 0; padding: 0; }
:where(.aci-page) ul { list-style: none; }
.aci-page a { text-decoration: none; }
.aci-main-inner, .aci-bottom-inner, .aci-trust-inner, .aci-legal-inner { width: min(var(--ac-large), calc(100% - 64px)); margin: 0 auto; }

/* ---------- bandeau (meme mise en page que .ac-page-hero des pages interieures) ---------- */
.aci-hero .ac-page-hero-in { padding-bottom: 60px; min-height: 250px; }
.aci-hero .ac-page-hero-texte { max-width: 800px; }
.aci-hero .ac-page-titre { text-wrap: balance; }
.aci-hero .ac-page-intro { max-width: 640px; }
.aci-hero .ac-page-intro strong { color: #fff; font-weight: 700; }
.aci-hero .ac-mini-cta span, .aci-hero .ac-mini-cta small { font-family: var(--ac-police); }

/* ---------- chiffres : carte blanche a cheval sur le bandeau ---------- */
.aci-chiffres { position: relative; z-index: 3; margin-top: -28px; background: linear-gradient(180deg, transparent 28px, var(--ac-fond) 28px); }
.aci-kpis { display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border-radius: var(--ac-r); box-shadow: var(--ac-ombre-1); border: 1px solid var(--ac-ligne); overflow: hidden; }
.aci-kpi { padding: 16px 24px; border-right: 1px solid var(--ac-ligne); display: flex; align-items: baseline; gap: 12px; }
.aci-kpi:last-child { border-right: 0; }
.aci-kpi strong { font-size: 26px; font-weight: 800; line-height: 1.1; letter-spacing: -.02em; color: var(--ac-nuit); white-space: nowrap; }
.aci-kpi:nth-child(3) strong { color: var(--ac-ambre-fonce); }
.aci-kpi span { font-size: 15px; font-weight: 500; line-height: 1.3; color: var(--ac-texte); }

/* ---------- formulaire + colonne laterale ---------- */
.aci-main { background: var(--ac-fond); padding: 24px 0 48px; }
.aci-main-inner { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: start; }
.aci-form-col { min-width: 0; }
.aci-form-wrapper { background: #fff; border: 1px solid var(--ac-ligne); border-radius: var(--ac-r); box-shadow: var(--ac-ombre-1); overflow: hidden; }
.aci-form-header { padding: 16px 24px; border-bottom: 1px solid var(--ac-ligne); }
.aci-form-header h2 { font-size: 20px; font-weight: 800; letter-spacing: -.01em; line-height: 1.25; color: var(--ac-encre); }
.aci-form-header h2 span { color: var(--ac-ardoise); }
.aci-iframe-wrap { background: #fff; }
.aci-iframe-wrap iframe { display: block; width: 100%; height: 1050px; border: 0; }

.aci-sidebar { position: sticky; top: 130px; min-width: 0; display: grid; gap: 12px; }
.aci-sb-block { background: #fff; border: 1px solid var(--ac-ligne); border-radius: var(--ac-r); box-shadow: var(--ac-ombre-1); padding: 16px 20px 18px; }
.aci-sb-head { margin-bottom: 10px; font-size: 16px; font-weight: 800; letter-spacing: -.01em; color: var(--ac-encre); }
.aci-sb-taux { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.aci-sb-taux-item { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: var(--ac-r-max, 7px); background: var(--ac-fond); }
.aci-sb-taux-dur { font-size: 13px; font-weight: 600; color: var(--ac-gris); }
.aci-sb-taux-val { font-size: 20px; font-weight: 800; letter-spacing: -.015em; color: var(--ac-nuit); }
.aci-sb-av li { display: flex; align-items: flex-start; gap: 10px; padding: 4px 0; font-size: 15px; line-height: 1.45; color: var(--ac-texte); }
.aci-sb-av li:before, .aci-ti:before, .aci-sb-trust-item:before {
	content: ""; flex: none; width: 18px; height: 18px; margin-top: 1px; background: var(--ac-ambre-fonce);
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/contain no-repeat;
	        mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/contain no-repeat;
}
.aci-sb-testi-stars { margin-bottom: 6px; font-size: 15px; letter-spacing: 2px; color: var(--ac-ambre); }
.aci-sb-testi { margin-bottom: 12px !important; font-size: 15px; line-height: 1.55; color: var(--ac-encre); }
.aci-sb-testi-meta { display: flex; align-items: center; gap: 10px; }
.aci-sb-avatar { width: 36px; height: 36px; flex: none; border-radius: 50%; background: var(--ac-ardoise); color: #fff; font-size: 12px; font-weight: 700; display: grid; place-items: center; }
.aci-sb-testi-name { font-size: 14px; font-weight: 700; color: var(--ac-encre); }
.aci-sb-testi-ville { font-size: 13px; color: var(--ac-gris); }
.aci-sb-trust { display: grid; gap: 6px; }
.aci-sb-trust-item { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 1.35; color: var(--ac-texte); }
.aci-sb-trust-item:before { width: 16px; height: 16px; background: var(--ac-ardoise); }

/* barre de partage (services/share-bar.php) : discrete */
.aci-sb-partage { padding: 12px 20px; display: block; }
.aci-partage { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.aci-partage-label { font-size: 13px; font-weight: 600; color: var(--ac-gris); }
.aci-partage-liens { display: flex; gap: 4px; flex-wrap: wrap; }
.aci-partage-liens a { width: 28px; height: 28px; border-radius: 6px; display: grid; place-items: center; color: var(--ac-ardoise); font-size: 13px; transition: background-color .15s ease, color .15s ease; }
.aci-partage-liens a:hover { background: var(--ac-nuit); color: #fff; }

/* ---------- solutions + questions ---------- */
.aci-bottom { background: #fff; padding: 48px 0 40px; }
.aci-section-head { margin-bottom: 20px; }
.aci-section-title { font-size: clamp(26px, 2.4vw, 34px); font-weight: 800; line-height: 1.15; letter-spacing: -.02em; color: var(--ac-encre); }
.aci-section-title span { color: var(--ac-ardoise); }
.aci-types-section { margin-bottom: 44px; }
.aci-types-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.aci-type-card { display: grid; grid-template-columns: 44px 1fr; column-gap: 16px; align-items: start; padding: 20px 22px; background: #fff; border: 1px solid var(--ac-ligne); border-radius: var(--ac-r); transition: border-color .2s ease, box-shadow .2s ease; }
.aci-type-card:hover { border-color: #CFD8E2; box-shadow: var(--ac-ombre-1); }
.aci-type-icon { grid-row: span 2; width: 44px; height: 44px; border-radius: var(--ac-r-max, 7px); background: var(--ac-ambre-clair); color: var(--ac-ambre-fonce); display: grid; place-items: center; }
.aci-type-icon svg { width: 22px; height: 22px; }
.aci-type-card h4 { margin-bottom: 4px; font-size: 17px; font-weight: 700; line-height: 1.3; color: var(--ac-encre); }
.aci-type-card p { font-size: 15px; line-height: 1.5; color: var(--ac-texte); }

.aci-faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; align-items: start; }
.aci-faq-item { background: #fff; border: 1px solid var(--ac-ligne); border-radius: var(--ac-r-max, 7px); transition: border-color .2s ease; }
.aci-faq-item.open { border-color: var(--ac-ardoise); }
.aci-faq-q { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 15px 18px; font-size: 16px; font-weight: 700; line-height: 1.35; color: var(--ac-encre); cursor: pointer; user-select: none; }
.aci-faq-q:after {
	content: ""; flex: none; width: 20px; height: 20px; background: var(--ac-ardoise); transition: transform .2s ease;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") center/contain no-repeat;
	        mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") center/contain no-repeat;
}
.aci-faq-item.open .aci-faq-q:after { transform: rotate(180deg); }
.aci-faq-a { display: none; padding: 0 18px 16px; font-size: 15px; line-height: 1.65; color: var(--ac-texte); }
.aci-faq-a strong { color: var(--ac-encre); }
.aci-faq-item.open .aci-faq-a { display: block; }

/* ---------- reseau (carte bleu nuit) + mentions ---------- */
.aci-trust { background: #fff; padding: 0 0 16px; }
.aci-trust-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px 32px; padding: 24px 32px; border-radius: var(--ac-r); background: var(--ac-nuit); }
.aci-trust-txt h2 { font-size: 22px; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; color: #fff; }
.aci-trust-txt p { margin-top: 4px !important; font-size: 14px; color: rgba(255, 255, 255, .7); }
.aci-trust-items { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.aci-ti { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; color: #fff; }
.aci-ti:before { margin-top: 0; background: var(--ac-ambre); }
.aci-legal { background: #fff; padding: 4px 0 36px; font-size: 13px; line-height: 1.6; text-align: center; color: var(--ac-gris); }

/* ---------- fenetre du comparateur (a.poplight + js/popup/popup.js) ---------- */
#fade { display: none; position: fixed; inset: 0; z-index: 999; background: rgba(14, 24, 36, .72); }
.popup_block.aci-popup { display: none; position: absolute; top: 0; left: 50%; z-index: 1000; width: 800px; max-width: calc(100vw - 32px); padding: 44px 16px 16px; background: #fff; border-radius: var(--ac-r); box-shadow: var(--ac-ombre-2); }
.popup_block.aci-popup a.close { position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--ac-fond); }
.popup_block.aci-popup a.close img { width: 14px; height: 14px; }
.popup_block.aci-popup iframe { display: block; border: 0; }

/* ---------- fenetre "Etude gratuite" (modale Bootstrap chargee par load_html_popup) ---------- */
.aci-body .modal { display: none; position: fixed; inset: 0; z-index: 1055; overflow-x: hidden; overflow-y: auto; outline: 0; font-family: var(--ac-police); color: var(--ac-texte); }
.aci-body .modal.fade { opacity: 0; transition: opacity .15s linear; }
.aci-body .modal.show { opacity: 1; }
.aci-body .modal-dialog { position: relative; width: auto; max-width: 760px; margin: 32px auto; padding: 0 16px; pointer-events: none; }
.aci-body .modal-content { position: relative; display: flex; flex-direction: column; pointer-events: auto; background: #fff; border-radius: var(--ac-r); box-shadow: var(--ac-ombre-2); overflow: hidden; }
.aci-body .modal-header { display: flex; align-items: center; gap: 12px; padding: 18px 24px; border-bottom: 1px solid var(--ac-ligne); }
.aci-body .modal-title { margin: 0; font-size: 22px !important; font-weight: 800 !important; letter-spacing: -.01em; text-transform: none; text-align: left !important; color: var(--ac-encre) !important; }
.aci-body .modal-title span { color: var(--ac-ambre-fonce) !important; }
.aci-body .btn-close { flex: none; width: 32px; height: 32px; border: 0; border-radius: 50%; cursor: pointer; background: var(--ac-fond) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316283A' stroke-width='2.4' stroke-linecap='round'><path d='M6 6l12 12M18 6L6 18'/></svg>") center/14px no-repeat; }
.aci-body .modal-body { padding: 0; font-size: 15px; }
.aci-body .modal-body .depot-avis { padding: 20px 24px !important; background: #fff !important; }
.aci-body .modal-body .bold { font-weight: 700; color: var(--ac-encre); }
.aci-body .modal-body .row { display: flex; flex-wrap: wrap; align-items: center; margin: 0 0 8px; }
.aci-body .modal-body .row > label:first-child { flex: 0 0 100%; margin-bottom: 4px; font-size: 14px; font-weight: 600; color: var(--ac-encre); }
.aci-body .modal-body .row > .col { flex: 1 1 0; min-width: 0; }
.aci-body .modal-body .clearfix { flex: 0 0 100%; height: 0; padding: 0 !important; }
.aci-body .modal-body input[type="text"], .aci-body .modal-body input[type="email"] { min-height: 42px; padding: 0 12px; border: 1px solid #CBD3DC; border-radius: var(--ac-r-max, 7px); font: inherit; font-size: 15px; color: var(--ac-encre); }
.aci-body .modal-body input[type="text"]:focus { outline: none; border-color: var(--ac-nuit); box-shadow: 0 0 0 3px rgba(67, 94, 121, .18); }
.aci-body .modal-body span.col { padding: 10px 12px; border-radius: var(--ac-r-max, 7px); background: var(--ac-fond) !important; line-height: 1.9; }
.aci-body .modal-body span.col label { margin-left: 4px; }
.aci-body .modal-body .erreur { flex: 1 1 0; color: #B3261E; font-size: 13px; }
.aci-body .modal-body .abeille { display: none !important; }
.aci-body .modal-body .g-recaptcha { margin: 8px 0 0; }
.aci-body .modal-body br.spacer { display: none; }
.aci-body .modal-footer { display: flex; justify-content: flex-end; align-items: center; gap: 10px; padding: 14px 24px; border-top: 1px solid var(--ac-ligne); }
.aci-body .modal-footer .btn { min-height: 44px; padding: 0 22px; border-radius: var(--ac-r-btn); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; border: 1px solid var(--ac-ligne); }
.aci-body .modal-footer .btn-secondary { background: #fff; color: var(--ac-nuit); }
.aci-body .modal-footer .btn-primary { background: var(--ac-ambre); border-color: var(--ac-ambre); color: var(--ac-nuit); }
.aci-body .modal-footer .pastille { width: 24px; height: 24px; }
.aci-body .modal-backdrop { position: fixed; inset: 0; z-index: 1050; background: #0E1824; }
.aci-body .modal-backdrop.fade { opacity: 0; transition: opacity .15s linear; }
.aci-body .modal-backdrop.show { opacity: .7; }
body.aci-body.modal-open { overflow: hidden; }
@media (min-width: 768px) {
	.aci-body .modal-body .row > label:first-child { flex: 0 0 32%; margin-bottom: 0; }
}

/* ---------- ecrans moyens ---------- */
@media (max-width: 1140px) {
	.aci-main-inner { grid-template-columns: 1fr; }
	.aci-sidebar { position: static; grid-template-columns: 1fr 1fr; }
	.aci-types-grid { grid-template-columns: 1fr 1fr; }
	.aci-kpi { flex-direction: column; gap: 2px; }
}

/* ---------- mobile ---------- */
@media (max-width: 767px) {
	.aci-main-inner, .aci-bottom-inner, .aci-trust-inner, .aci-legal-inner { width: calc(100% - 32px); }
	.aci-hero .ac-page-hero-in { min-height: 0; padding-bottom: 52px; }
	.aci-hero .ac-page-actions { flex-direction: row; }
	.aci-hero .ac-mini-cta { flex: 1 1 0; min-width: 0; padding: 7px 10px 7px 7px; }
	.aci-hero .ac-mini-cta img { width: 34px; height: 34px; padding: 5px; }
	.aci-hero .ac-mini-cta span { font-size: 14px; white-space: normal; }
	.aci-hero .ac-mini-cta small { font-size: 9.5px; }
	.aci-kpis { grid-template-columns: 1fr 1fr; }
	.aci-kpi { padding: 12px 14px; }
	.aci-kpi:nth-child(2) { border-right: 0; }
	.aci-kpi:nth-child(-n+2) { border-bottom: 1px solid var(--ac-ligne); }
	.aci-kpi strong { font-size: 21px; }
	.aci-kpi span { font-size: 13.5px; }
	.aci-main { padding: 16px 0 36px; }
	.aci-form-header { padding: 14px 16px; }
	.aci-form-header h2 { font-size: 17px; }
	.aci-sidebar { grid-template-columns: 1fr; }
	.aci-bottom { padding: 36px 0 28px; }
	.aci-types-section { margin-bottom: 32px; }
	.aci-types-grid, .aci-faq-grid { grid-template-columns: 1fr; }
	.aci-type-card { padding: 16px; }
	.aci-faq-q { padding: 14px 16px; font-size: 15px; }
	.aci-faq-a { padding: 0 16px 14px; }
	.aci-trust-inner { flex-direction: column; align-items: flex-start; padding: 22px 20px; }
	.aci-trust-items { gap: 8px 18px; }
	.aci-legal { padding-bottom: 28px; }
	.aci-body .modal-dialog { margin: 16px auto; }
}

/* Pages services : formulaire charge au premier geste ; place reservee a sa hauteur (mesuree, mobile / ordinateur) et message
   d'attente, sans saut de page a son arrivee (02/10/2026). Valeurs dans les pages (--cip-h, --cip-h-pc). */
.aci-iframe-wrap { position: relative; min-height: var(--cip-h, 0px); }
@media (min-width: 992px) { .aci-iframe-wrap { min-height: var(--cip-h-pc, var(--cip-h, 0px)); } }
.aci-iframe-wrap iframe:not([src]) { display: none; }
.aci-attente { position: absolute; top: 40px; left: 0; right: 0; margin: 0; text-align: center; font-size: 15px; color: var(--ac-gris, #5F6B78); }
.aci-iframe-wrap iframe[src] ~ .aci-attente { display: none; }
