/* =====================================================================
   LES COURTIÈRES — styles de sections internes (simulateur, agences,
   contact, mentions). Extraits des <style> de la maquette, inchangés.
   ===================================================================== */

/* ---------- Simulateur ---------- */
.sim-hero{background:linear-gradient(168deg,var(--rose-tint),var(--paper));text-align:center;position:relative;overflow:hidden;padding-block:clamp(48px,6vw,84px)}
.sim-hero .blob{opacity:calc(.5*var(--decor-opacity))}
.sim-hero .pill-note{margin-top:1.4rem}
.sim-main{margin-top:-40px}
.sim-shell{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-md);padding:clamp(20px,3vw,40px)}
.sim-layout{display:grid;grid-template-columns:1fr;gap:clamp(20px,2.5vw,32px)}
.read-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px)}
.read-card .n{font-family:var(--font-script);font-size:2.4rem;color:var(--rose);line-height:1}
.read-card h3{font-family:var(--font-display);font-size:1.2rem;margin:.3rem 0 .4rem}
.read-card p{color:var(--ink-2);font-size:.96rem}
.factors{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,20px)}
.factor{display:flex;gap:.9rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:18px}
.factor .icon-tile{width:44px;height:44px;border-radius:12px}
.factor .icon-tile svg{width:22px;height:22px}
.factor h4{font-family:var(--font-display);font-size:1.02rem;margin-bottom:.2rem}
.factor p{font-size:.9rem;color:var(--ink-soft)}
.rdv-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rdv-grid .full{grid-column:1/-1}
.notaire{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(20px,3vw,40px);align-items:center}

/* ---------- Hub agences ---------- */
.hub-card{display:flex;flex-direction:column;gap:.6rem;height:100%}
.hub-card .ag-photo{height:160px;border-radius:var(--r-md);overflow:hidden;background:linear-gradient(150deg,var(--rose-soft),var(--rose-wash))}
.hub-card .ag-photo img{width:100%;height:100%;object-fit:cover}
.hub-card h3{font-family:var(--font-display);font-size:1.4rem}
.hub-card .meta{font-size:.92rem;color:var(--ink-2);line-height:1.5}
.hub-card .meta a:hover{color:var(--rose-deep)}
.map-wrap{position:relative;border-radius:var(--r-xl);overflow:hidden;min-height:420px;background:linear-gradient(150deg,var(--rose-wash),var(--cream))}
.map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:80% 40%}
/* Carte Google dans le bloc coordonnées (page agence) */
.photo.map-embed-box{padding:0}
.photo.map-embed-box iframe{width:100%;height:100%;min-height:300px;border:0;display:block}

/* ---------- Blog : carte « stretched link » (catégorie cliquable) ---------- */
.post-card{position:relative}
.post-card__link{color:inherit;text-decoration:none}
.post-card__link::after{content:"";position:absolute;inset:0;z-index:1}
.post-card .post-cat{z-index:2}
a.post-cat{transition:background .2s,color .2s}
a.post-cat:hover{background:var(--rose-deep)}

/* ---------- Filtres blog : scroll horizontal sur mobile (une seule ligne) ---------- */
@media(max-width:560px){
  .blog-filter{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-inline:calc(-1*var(--gut));padding:2px var(--gut) 8px}
  .blog-filter::-webkit-scrollbar{display:none}
  .blog-filter .chip{flex:0 0 auto}
}

/* ---------- Pagination archives ---------- */
.cm-pagination{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:clamp(28px,4vw,48px)}
.cm-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 .8em;border-radius:var(--r-pill);border:1.5px solid var(--line-2);background:#fff;color:var(--ink-2);font-weight:700;transition:.2s}
.cm-pagination .page-numbers:hover{border-color:var(--rose);color:var(--rose-deep)}
.cm-pagination .page-numbers.current{background:var(--rose);border-color:var(--rose);color:#fff;box-shadow:var(--sh-rose)}
.cm-pagination .page-numbers.dots{border:0;background:transparent}
/* Mobile : seulement Précédent · page courante · Suivant */
@media(max-width:560px){
  .cm-pagination .page-numbers:not(.current):not(.prev):not(.next){display:none}
  .cm-pagination .page-numbers.prev,.cm-pagination .page-numbers.next{padding:0 1em}
}

/* ---------- WPForms : habillage identique à la maquette ---------- */
.wpforms-container{margin:0 !important}
.wpforms-container .wpforms-field-container{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.wpforms-container .wpforms-field{padding:0 !important;margin:0 !important;grid-column:1 / -1;float:none;width:auto;clear:none}
.wpforms-container .wpforms-field.cm-half{grid-column:auto}
.wpforms-container .wpforms-field-label{font-family:var(--font-body) !important;font-weight:600 !important;font-size:.92rem !important;color:var(--ink-2) !important;margin:0 0 .4em !important;line-height:1.3 !important}
.wpforms-container .wpforms-required-label,
.wpforms-container .wpforms-field-label .wpforms-required-label,
.wpforms-container abbr.required,
.wpforms-container .wpforms-field-label abbr{color:var(--rose-deep) !important;border:0 !important;text-decoration:none !important;font-weight:600}
.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container input[type=url],
.wpforms-container input[type=number],
.wpforms-container textarea,
.wpforms-container select{
	font-family:inherit;font-size:1rem;color:var(--ink);background:#fff;
	border:1.6px solid var(--line-2);border-radius:var(--r-sm);padding:.78em 1em;
	width:100%;max-width:100%;box-shadow:none;line-height:1.4;height:auto}
.wpforms-container input:focus,.wpforms-container textarea:focus,.wpforms-container select:focus{
	outline:none;border-color:var(--rose);box-shadow:0 0 0 3px var(--rose-wash)}
/* WPForms applique une max-width selon la "taille" du champ (small/medium) → on force 100 % de la cellule (comme la maquette). On exclut checkbox/radio. */
.wpforms-container .wpforms-field input[type=text],
.wpforms-container .wpforms-field input[type=email],
.wpforms-container .wpforms-field input[type=tel],
.wpforms-container .wpforms-field input[type=url],
.wpforms-container .wpforms-field input[type=number],
.wpforms-container .wpforms-field input[type=date],
.wpforms-container .wpforms-field select,
.wpforms-container .wpforms-field textarea{ width:100% !important; max-width:100% !important }
.wpforms-container textarea{min-height:96px;resize:vertical}
.wpforms-container select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:2.6em;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23c43c74' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 1em center}
.wpforms-container ul.wpforms-field-required-indicator,.wpforms-container .wpforms-field-checkbox ul{list-style:none;margin:0;padding:0}
.wpforms-container .wpforms-field-checkbox .wpforms-field-label{display:none}
.wpforms-container .wpforms-field-checkbox li,.wpforms-container .wpforms-field-checkbox .wpforms-choice{display:flex;gap:.6rem;align-items:flex-start;margin:0}
.wpforms-container .wpforms-field-checkbox input[type=checkbox]{margin-top:.25rem;width:18px;height:18px;accent-color:var(--rose);flex:none}
.wpforms-container .wpforms-field-checkbox label{font-weight:400;font-size:.86rem;color:var(--ink-2);line-height:1.5}
.wpforms-container .wpforms-submit-container{margin-top:.5rem}
.wpforms-container button.wpforms-submit{
	display:inline-flex;align-items:center;justify-content:center;gap:.55em;
	font-family:var(--font-body);font-weight:700;font-size:1rem;
	padding:.85em 1.5em;border-radius:var(--r-pill);border:1.6px solid var(--rose);
	background:var(--rose);color:#fff;box-shadow:var(--sh-rose);width:100%;cursor:pointer;
	transition:transform .25s,background .2s,border-color .2s}
.wpforms-container button.wpforms-submit:hover{background:var(--rose-deep);border-color:var(--rose-deep);transform:translateY(-2px)}
.wpforms-container button.wpforms-submit::after{content:"→";font-weight:700;font-size:1.05em;line-height:1}
.wpforms-confirmation-container-full{background:var(--rose-wash);border:1px solid var(--rose-soft);border-radius:var(--r-md);padding:1em 1.2em;color:var(--rose-deep);font-weight:700;text-align:center;margin:0}
.wpforms-container label.wpforms-error{color:var(--rose-deep);font-size:.8rem;font-weight:600}
.wpforms-container input.wpforms-error,.wpforms-container textarea.wpforms-error,.wpforms-container select.wpforms-error{border-color:var(--rose-deep)}
@media(max-width:560px){ .wpforms-container .wpforms-field-container{grid-template-columns:1fr} }

/* ---------- Contact ---------- */
.ct-card{display:flex;flex-direction:column;gap:.35rem}
.ct-card h3{font-family:var(--font-display);font-size:1.25rem}
.ct-card .meta{font-size:.92rem;color:var(--ink-2);line-height:1.55}
.ct-card .meta a:hover{color:var(--rose-deep)}

/* ---------- Mentions légales ---------- */
.legal-wrap{display:grid;grid-template-columns:240px 1fr;gap:clamp(28px,4vw,60px);align-items:start}
.legal-nav{position:sticky;top:100px}
.legal-nav ul{list-style:none;display:flex;flex-direction:column;gap:.3rem;border-left:2px solid var(--line)}
.legal-nav a{display:block;padding:.45em .9em;font-size:.92rem;color:var(--ink-2);border-left:2px solid transparent;margin-left:-2px;font-weight:600}
.legal-nav a:hover{color:var(--rose-deep);border-left-color:var(--rose)}
.legal-body h2{font-family:var(--font-display);font-size:1.55rem;margin:0 0 .6rem}
.legal-body section{scroll-margin-top:100px;padding-bottom:2.2rem;margin-bottom:2.2rem;border-bottom:1px solid var(--line)}
.legal-body section:last-child{border-bottom:0}
.legal-body p{color:var(--ink-2);margin-bottom:.7rem;max-width:70ch}
.legal-body ul{margin:.2rem 0 1rem 1.3rem;color:var(--ink-2);line-height:1.7;display:flex;flex-direction:column;gap:.4rem}
.legal-body a{color:var(--rose-deep);font-weight:600}

@media(max-width:860px){
  .read-grid,.factors,.rdv-grid,.notaire{grid-template-columns:1fr}
  .legal-wrap{grid-template-columns:1fr}
  .legal-nav{position:static;margin-bottom:1.5rem}
}
