/* Pages secondaires dans le style de l'accueil (18/10/2026) : tarifs, phase de test, particuliers. */
.p-hero { padding: 72px 0 40px; background: radial-gradient(90% 120% at 90% 0%, #E3F4EA 0%, #F4FAF6 50%, #fff 100%); }
.p-hero h1 { font-size: clamp(36px, 5.4vw, 60px); line-height: 1.04; letter-spacing: -.035em; margin: 10px 0 18px; text-wrap: balance; max-width: 18ch; }
.p-hero h1 em { font-style: normal; color: var(--vert); }
.p-hero .sous { font-size: clamp(17px, 1.6vw, 19px); color: var(--texte-2, #4B6B5A); max-width: 62ch; line-height: 1.6; margin: 0 0 20px; }
.p-hero .boutons { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 8px; }
.p-pastille { display: inline-flex; gap: 10px; align-items: center; background: #fff; border: 1px solid #CFE6D8; border-radius: 30px;
  padding: 9px 16px; font-size: 14.5px; font-weight: 600; color: #0F5132; margin: 4px 0 0; max-width: 100%; }
.p-pastille i { width: 8px; height: 8px; border-radius: 50%; background: var(--vert); flex: none; }
.p-trois { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.p-trois > div { border: 1px solid var(--trait); border-radius: 16px; padding: 20px 22px; background: #fff; }
.p-trois b { display: block; font-size: 17px; margin-bottom: 6px; } .p-trois p { margin: 0; color: var(--texte-2, #4B6B5A); line-height: 1.55; }
.p-quatre { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 820px) { .p-trois, .p-quatre { grid-template-columns: 1fr; } .p-hero { padding: 48px 0 28px; } }

/* Tarifs */
.t-offres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: start; margin-top: 8px; }
.t-offre { position: relative; background: #fff; border: 1px solid var(--trait); border-radius: 20px; padding: 26px 24px 24px;
  display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.t-offre h2 { font-size: 22px; margin: 0; } .t-pour { margin: 0; color: var(--texte-2, #4B6B5A); font-size: 15px; min-height: 2.9em; }
.t-prix { margin: 6px 0 0; display: flex; align-items: baseline; gap: 6px; } .t-prix b { font-size: 44px; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.t-prix span { color: var(--gris); font-size: 15px; } .t-cond { margin: 0 0 8px; font-size: 13.5px; color: var(--gris); }
.t-offre .btn-1, .t-offre .btn-2 { justify-content: center; text-align: center; margin-bottom: 8px; }
.t-plus { margin: 4px 0 0; font-size: 13.5px; font-weight: 600; color: var(--gris); }
.t-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.t-liste li { position: relative; padding-left: 24px; font-size: 15px; line-height: 1.45; }
.t-liste li::before { content: "\2713"; position: absolute; left: 0; top: 0; color: var(--vert); font-weight: 800; }
.t-avant { border: 2px solid var(--vert); box-shadow: 0 30px 60px -36px rgba(15, 81, 50, .5); }
.t-badge { position: absolute; top: -13px; left: 24px; background: var(--vert); color: #fff; font-size: 12.5px; font-weight: 700; border-radius: 20px; padding: 4px 12px; }
.t-notes { color: var(--gris); font-size: 14px; line-height: 1.7; margin: 18px 0 0; text-align: center; }
.t-bonus { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 28px; align-items: center;
  background: #F4FAF6; border-radius: 22px; padding: 34px 36px; margin-top: 48px; }
.t-bonus h2 { margin: 6px 0 0; } .t-bonus p { margin: 0 0 8px; color: var(--texte-2, #4B6B5A); line-height: 1.6; }
@media (max-width: 900px) { .t-offres { grid-template-columns: 1fr; } .t-pour { min-height: 0; } .t-bonus { grid-template-columns: 1fr; padding: 24px 20px; gap: 12px; } }

/* Phase de test : les quatre étapes */
.p-etapes ol { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 900px) { .p-etapes ol { grid-template-columns: 1fr !important; } }

/* Particuliers (18/10) */
.pa-hero-in { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 44px; align-items: center; }
.pa-confiance { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.pa-confiance li { position: relative; padding-left: 26px; font-weight: 600; font-size: 16px; }
.pa-confiance li::before { content: "\2713"; position: absolute; left: 0; top: 0; color: var(--vert); font-weight: 800; }
.pa-carte { background: #fff; border: 1px solid #D3E3DA; border-radius: 22px; padding: 24px; box-shadow: 0 30px 70px -40px rgba(15, 60, 40, .5); min-width: 0; }
.pa-carte-t { display: block; font-size: 21px; margin-bottom: 4px; } .pa-carte-s { margin: 0 0 14px; color: var(--texte-2, #4B6B5A); font-size: 14.5px; line-height: 1.5; }
.pchat { display: flex; flex-direction: column; }
.pchat-log { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; min-height: 120px; max-height: 300px; overflow-y: auto; }
.pmsg { max-width: 88%; padding: 10px 13px; border-radius: 14px; font-size: 14.5px; line-height: 1.45; white-space: pre-wrap; }
.pmsg.bot { align-self: flex-start; background: #F1F7F3; color: #1C2B22; border-bottom-left-radius: 4px; }
.pmsg.me { align-self: flex-end; background: var(--vert); color: #fff; border-bottom-right-radius: 4px; }
.pchat-form { display: flex; gap: 8px; }
.pchat-form input { flex: 1; min-width: 0; border: 1.5px solid #D3E3DA; border-radius: 12px; padding: 13px 14px; font: 500 16px var(--txt, Inter, sans-serif); color: #1C2B22; }
.pchat-form input:focus { outline: none; border-color: var(--vert); box-shadow: 0 0 0 3px rgba(34, 139, 91, .15); }
.pchat-form button { width: 50px; flex: none; border: 0; border-radius: 12px; background: var(--vert); color: #fff; font-size: 20px; cursor: pointer; }
.form-note { margin: 10px 0 0; font-size: 12.5px; color: var(--gris); text-align: center; }
.form-success { display: none; margin-top: 10px; font-weight: 600; color: #065F46; }
.pa-note { font-size: 14px; color: var(--gris); line-height: 1.55; } .pa-centre { text-align: center; margin-top: 16px; }
.pa-deco, .pa-scan { align-items: center; }
.pa-liens { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.pa-liens b { display: block; margin-bottom: 10px; font-size: 15px; }
.pa-liens nav { display: flex; flex-direction: column; gap: 7px; } .pa-liens a { color: var(--texte-2, #4B6B5A); font-size: 14.5px; } .pa-liens a:hover { color: var(--vert); }
@media (max-width: 900px) { .pa-hero-in { grid-template-columns: 1fr; gap: 26px; } .pa-liens { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .pa-liens { grid-template-columns: 1fr; } .pa-carte { padding: 18px 14px; } }
.nav-liens > a, .nav-droite > a { white-space: nowrap; }

/* Studio pour les pros de l'immobilier (18/10) */
.im-profils { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 26px; max-width: 760px; }
.im-profils a { display: flex; flex-direction: column; gap: 3px; background: #fff; border: 1.5px solid #D3E3DA; border-radius: 14px; padding: 14px 16px; transition: border-color .2s; }
.im-profils a:hover { border-color: var(--vert); } .im-profils b { font-size: 16px; } .im-profils span { font-size: 13.5px; color: var(--gris); }
.im-points { display: flex; flex-direction: column; gap: 14px; margin: 6px 0 14px; }
.im-points b { display: block; font-size: 17px; margin-bottom: 3px; } .im-points p { margin: 0; color: var(--texte-2, #4B6B5A); line-height: 1.55; }
.bs-form select { border: 1.5px solid #D3E3DA; border-radius: 10px; padding: 11px 12px; font: 500 15px var(--txt, Inter, sans-serif); background: #fff; }
@media (max-width: 640px) { .im-profils { grid-template-columns: 1fr; } }
.im-profils a { color: inherit; text-decoration: none; }

/* Nos applications (18/10) */
.na-trois { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; margin-top: 8px; }
.na-carte { background: #fff; border: 1px solid var(--trait); border-radius: 22px; padding: 26px 24px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.na-carte h2 { font-size: 22px; line-height: 1.2; margin: 0 0 4px; letter-spacing: -.015em; }
.na-carte .t-liste { flex: 1; margin-bottom: 10px; }
.na-carte .btn-1, .na-carte .btn-2 { justify-content: center; text-align: center; }
.na-logo { height: 40px; width: auto; align-self: flex-start; } .na-logo-studio { margin: 0; height: 40px; }
.na-pour { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--vert); }
.na-pro { border: 2px solid var(--vert); box-shadow: 0 30px 60px -36px rgba(15, 81, 50, .5); }
.na-ensemble ol { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.na-tableau { overflow-x: auto; border: 1px solid var(--trait); border-radius: 16px; background: #fff; }
.na-tableau table { width: 100%; border-collapse: collapse; min-width: 640px; font-size: 15px; }
.na-tableau th, .na-tableau td { padding: 14px 16px; border-bottom: 1px solid #EDF2EF; text-align: center; }
.na-tableau thead th { font-size: 13px; color: var(--gris); font-weight: 600; } .na-tableau tbody th { text-align: left; font-weight: 600; }
.na-tableau tr:last-child th, .na-tableau tr:last-child td { border-bottom: 0; }
.na-oui { color: var(--vert); font-weight: 800; } .na-non { color: #B9C7BF; } .na-tableau a { color: var(--vert); font-weight: 600; white-space: nowrap; }
.na-cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; } .na-cta-2 { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
@media (max-width: 900px) { .na-trois, .na-ensemble ol { grid-template-columns: 1fr !important; } }
.na-tableau tbody th { font-family: var(--txt, Inter, sans-serif); text-transform: none; letter-spacing: 0; font-size: 15px; color: #1C2B22; }
/* 320 px : rien ne doit dépasser */
.h-contact > *, .h-alt > *, .rub-ba, .deco-demo, .dd-form { min-width: 0; max-width: 100%; }
.dd-form input, .bs-form input, .bs-form select, .bs-form textarea { min-width: 0; width: 100%; box-sizing: border-box; }

/* Agents : les trois moments et l'exemple de dossier (18/10) */
.im-moments { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 8px; }
.im-moments article { background: #fff; border: 1px solid var(--trait); border-radius: 18px; padding: 22px 22px 20px; min-width: 0; }
.im-moments h3 { font-size: 19px; margin: 10px 0 8px; letter-spacing: -.01em; }
.im-moments p { margin: 0; color: var(--texte-2, #4B6B5A); line-height: 1.6; font-size: 15.5px; }
.im-num { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #E3F4EA; color: var(--vert); font-weight: 800; font-size: 14px; }
.im-fort { border: 2px solid var(--vert) !important; background: #F4FAF6 !important; }
.im-dossier { margin: 40px 0 0; text-align: center; }
.im-feuilles { display: flex; justify-content: center; align-items: flex-end; gap: 0; padding: 30px 10px 10px; background: radial-gradient(90% 90% at 50% 20%, #E3F4EA 0%, #F4FAF6 60%, transparent 100%); border-radius: 26px; }
.im-feuilles img { width: min(30%, 260px); height: auto; border-radius: 6px; box-shadow: 0 24px 50px -24px rgba(15, 60, 40, .45), 0 1px 3px rgba(15, 60, 40, .12); background: #fff; }
.im-feuilles img:nth-child(1) { transform: rotate(-4deg) translateX(18px); z-index: 1; }
.im-feuilles img:nth-child(2) { transform: translateY(-14px); z-index: 2; position: relative; }
.im-feuilles img:nth-child(3) { transform: rotate(4deg) translateX(-18px); z-index: 1; }
.im-dossier figcaption { max-width: 70ch; margin: 16px auto 18px; font-size: 14px; color: var(--gris); line-height: 1.55; }
@media (max-width: 860px) { .im-moments { grid-template-columns: 1fr; } .im-feuilles img { width: 34%; } }
.na-bientot { color: var(--gris); font-size: 13.5px; font-weight: 600; }
.na-liens-studio { margin: 4px 0 0; font-size: 14.5px; font-weight: 600; } .na-liens-studio a { color: var(--vert); }
.na-carte p.marque-studio.na-logo-studio { --h: 30px; height: 40px; margin: 0; }
.na-logo { height: 40px; }
