/* ==========================================================================
   Page « Immobilier neuf »
   ========================================================================== */

.wc-neuf { color: var(--wc-ink); }
.wc-neuf section { padding: clamp(3rem, 6vw, 5.5rem) clamp(20px, 5vw, 60px); }
.wc-neuf h2 { font-family: var(--wc-font-display); font-size: var(--wc-fs-3xl); color: var(--wc-marine); line-height: 1.1; }
.wc-neuf h3 { font-family: var(--wc-font-display); color: var(--wc-marine); }

.wc-neuf-section__head { max-width: 720px; margin: 0 auto clamp(2rem, 4vw, 3rem); text-align: center; }
.wc-neuf-section__head p { color: var(--wc-muted); font-size: var(--wc-fs-lg); margin-top: .8rem; line-height: 1.6; }
.wc-neuf-section__head--light h2 { color: #fff; }
.wc-neuf-section__head--light p { color: rgba(255,255,255,.8); }

/* HERO */
.wc-neuf-hero { background: linear-gradient(150deg, var(--wc-marine), var(--wc-marine-2) 55%, #0e3547); color: #fff; }
.wc-neuf-hero { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem, 4vw, 3.5rem); align-items: center; }
.wc-neuf-hero__inner { max-width: 620px; }
.wc-neuf-hero h1 { font-family: var(--wc-font-display); font-size: var(--wc-fs-hero); line-height: 1.06; margin-bottom: 1.4rem; color: #fff; }
.wc-neuf-hero__eyebrow { display: inline-block; font-size: var(--wc-fs-sm); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--wc-teal-l); margin-bottom: 1.2rem; }
.wc-neuf-hero__lead { font-size: var(--wc-fs-xl); line-height: 1.55; color: rgba(255,255,255,.85); margin: 0 0 2.2rem; }
.wc-neuf-hero__cta { display: flex; gap: 1rem; flex-wrap: wrap; }
.wc-neuf-hero__visual { border-radius: var(--wc-radius); overflow: hidden; box-shadow: var(--wc-shadow); aspect-ratio: 16/11; }
.wc-neuf-hero__visual img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wc-btn--ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.4); }
.wc-btn--ghost:hover { background: rgba(255,255,255,.1); border-color: #fff; }

/* AVANTAGES */
.wc-neuf-avantages { background: var(--wc-paper); }
.wc-neuf-avantages__grid { max-width: var(--wc-maxw); margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.wc-adv-card { background: #fff; border: 1px solid var(--wc-line); border-radius: var(--wc-radius); padding: 1.8rem; transition: .2s; }
.wc-adv-card:hover { transform: translateY(-3px); box-shadow: var(--wc-shadow); border-color: var(--wc-teal); }
.wc-adv-card__num { font-family: var(--wc-font-display); font-size: 2rem; color: var(--wc-orange); line-height: 1; margin-bottom: .8rem; }
.wc-adv-card h3 { font-size: var(--wc-fs-xl); margin-bottom: .6rem; line-height: 1.2; }
.wc-adv-card p { color: var(--wc-muted); line-height: 1.6; font-size: var(--wc-fs-sm); }

/* PROGRAMMES */
.wc-neuf-progs { background: var(--wc-paper-2); }
.wc-neuf-progs__grid { max-width: var(--wc-maxw); margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.wc-prog-card { background: #fff; border: 1px solid var(--wc-line); border-radius: var(--wc-radius); overflow: hidden; text-decoration: none; color: inherit; transition: .2s; }
.wc-prog-card:hover { transform: translateY(-4px); box-shadow: var(--wc-shadow); border-color: var(--wc-teal); }
.wc-prog-card__img { position: relative; aspect-ratio: 4/3; background: linear-gradient(135deg, #12384a, #0a2230); overflow: hidden; }
.wc-prog-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wc-prog-card__ph { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(255,255,255,.25); font-family: var(--wc-font-display); font-size: 2.4rem; }
.wc-prog-card__body { padding: 1.2rem 1.4rem 1.6rem; }
.wc-prog-card__loc { font-size: var(--wc-fs-xs); color: var(--wc-teal); font-weight: 600; letter-spacing: .02em; }
.wc-prog-card h3 { font-size: var(--wc-fs-xl); margin: .3rem 0 .6rem; }
.wc-prog-card__price { font-size: var(--wc-fs-sm); color: var(--wc-muted); }
.wc-prog-card__price b { color: var(--wc-marine); font-family: var(--wc-font-display); font-size: var(--wc-fs-lg); }
.wc-neuf-progs__cta { text-align: center; margin-top: 2.4rem; }

/* VEFA (fond foncé) */
.wc-neuf-vefa { background: linear-gradient(150deg, var(--wc-marine), var(--wc-marine-2)); }
.wc-vefa-steps { max-width: var(--wc-maxw); margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; }
.wc-vefa-step { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: var(--wc-radius); padding: 1.6rem; }
.wc-vefa-step__n { width: 40px; height: 40px; border-radius: 50%; background: var(--wc-orange); color: #fff; display: grid; place-items: center; font-family: var(--wc-font-display); font-size: 1.3rem; margin-bottom: 1rem; }
.wc-vefa-step h3 { color: #fff; font-size: var(--wc-fs-lg); margin-bottom: .5rem; line-height: 1.2; }
.wc-vefa-step p { color: rgba(255,255,255,.75); line-height: 1.6; font-size: var(--wc-fs-sm); }
.wc-neuf-vefa__note { max-width: var(--wc-maxw); margin: 1.8rem auto 0; padding: 1.2rem 1.4rem; background: rgba(255,255,255,.06); border-left: 3px solid var(--wc-teal-l); border-radius: 8px; color: rgba(255,255,255,.85); font-size: var(--wc-fs-sm); line-height: 1.6; }

/* FINANCEMENT */
.wc-neuf-finance { background: var(--wc-paper); }
.wc-neuf-finance__inner { max-width: var(--wc-maxw); margin: 0 auto; display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.wc-neuf-finance__eyebrow { display: inline-block; font-size: var(--wc-fs-sm); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--wc-teal); margin-bottom: .8rem; }
.wc-neuf-finance__text p { color: var(--wc-muted); font-size: var(--wc-fs-lg); line-height: 1.6; margin: 1rem 0 1.8rem; }
.wc-neuf-finance__card { background: var(--wc-marine); color: #fff; border-radius: var(--wc-radius); padding: 2rem; box-shadow: var(--wc-shadow); }
.wc-neuf-finance__row { display: flex; justify-content: space-between; align-items: center; padding: .9rem 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.wc-neuf-finance__row span { color: rgba(255,255,255,.7); font-size: var(--wc-fs-sm); }
.wc-neuf-finance__row b { font-family: var(--wc-font-display); font-size: var(--wc-fs-lg); }
.wc-neuf-finance__hint { margin-top: 1.2rem; font-size: var(--wc-fs-xs); color: rgba(255,255,255,.55); line-height: 1.5; }

/* RAPPEL COMPARATIF */
.wc-neuf-compa { background: linear-gradient(135deg, var(--wc-teal), var(--wc-teal-l)); }
.wc-neuf-compa__inner { max-width: 820px; margin: 0 auto; text-align: center; color: #fff; }
.wc-neuf-compa__badge { display: inline-block; background: var(--wc-orange); color: #fff; font-size: var(--wc-fs-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: .35em .9em; border-radius: 6px; margin-bottom: 1.2rem; }
.wc-neuf-compa h2 { color: #fff; font-size: var(--wc-fs-2xl); line-height: 1.15; margin-bottom: 1rem; }
.wc-neuf-compa p { color: rgba(255,255,255,.9); font-size: var(--wc-fs-lg); line-height: 1.6; margin-bottom: 1.8rem; }
.wc-neuf-compa .wc-btn--primary { background: #fff; color: var(--wc-marine); }
.wc-neuf-compa .wc-btn--primary:hover { background: var(--wc-paper); }

/* CTA FINAL */
.wc-neuf-cta { background: var(--wc-paper-2); text-align: center; }
.wc-neuf-cta__inner { max-width: 720px; margin: 0 auto; }
.wc-neuf-cta p { color: var(--wc-muted); font-size: var(--wc-fs-lg); line-height: 1.6; margin: 1rem 0 2rem; }
.wc-neuf-cta__actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.wc-neuf-cta .wc-btn--ghost { color: var(--wc-marine); border-color: var(--wc-line); }
.wc-neuf-cta .wc-btn--ghost:hover { background: #fff; }

@media (max-width: 860px) {
	.wc-neuf-avantages__grid,
	.wc-neuf-progs__grid,
	.wc-vefa-steps,
	.wc-neuf-finance__inner { grid-template-columns: 1fr; }
}
@media (min-width: 861px) and (max-width: 1100px) {
	.wc-vefa-steps { grid-template-columns: repeat(2, 1fr); }
}

/* Chips de typologies sur les cartes de programmes */
.wc-prog-card__typos { display: flex; flex-wrap: wrap; gap: .3rem; margin-bottom: .7rem; }
.wc-typo-chip { display: inline-block; font-size: .72rem; font-weight: 700; color: var(--wc-teal); background: rgba(0,122,140,.1); padding: .18em .55em; border-radius: 5px; letter-spacing: .02em; }

/* Photo section VEFA */
.wc-neuf-vefa__visual { max-width: var(--wc-maxw); margin: 1.8rem auto 0; border-radius: var(--wc-radius); overflow: hidden; box-shadow: var(--wc-shadow); aspect-ratio: 21/8; }
.wc-neuf-vefa__visual img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Hero responsive : empile la photo sous le texte */
@media (max-width: 860px) {
	.wc-neuf-hero { grid-template-columns: 1fr; text-align: center; }
	.wc-neuf-hero__inner { max-width: 100%; }
	.wc-neuf-hero__cta { justify-content: center; }
}

/* --- OFFRE DUO ÉPARGNE + ACCESSION --- */
.wc-neuf-duo { background: var(--wc-paper-2); }
.wc-neuf-duo__inner { max-width: var(--wc-maxw); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 4vw, 3.5rem); align-items: center; }
.wc-neuf-duo__badge { display: inline-block; background: var(--wc-orange); color: #fff; font-size: var(--wc-fs-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: .35em .9em; border-radius: 6px; margin-bottom: 1.2rem; }
.wc-neuf-duo__text h2 { font-size: var(--wc-fs-2xl); line-height: 1.15; margin-bottom: 1rem; }
.wc-neuf-duo__text > p { color: var(--wc-muted); font-size: var(--wc-fs-lg); line-height: 1.6; margin-bottom: 1.4rem; }
.wc-neuf-duo__points { list-style: none; padding: 0; margin: 0; }
.wc-neuf-duo__points li { position: relative; padding-left: 1.7em; margin-bottom: .6em; color: var(--wc-ink); line-height: 1.5; }
.wc-neuf-duo__points li::before { content: '✓'; position: absolute; left: 0; color: var(--wc-teal); font-weight: 700; }

/* Mini-simulateur */
.wc-duo-sim { background: var(--wc-marine); color: #fff; border-radius: var(--wc-radius); padding: clamp(1.6rem, 3vw, 2.2rem); box-shadow: var(--wc-shadow); }
.wc-duo-sim h3 { color: #fff; font-size: var(--wc-fs-xl); margin-bottom: 1.4rem; }
.wc-duo-sim__field { margin-bottom: 1.3rem; }
.wc-duo-sim__field label { display: block; font-size: var(--wc-fs-sm); color: rgba(255,255,255,.8); margin-bottom: .5rem; }
.wc-duo-sim__inputline { display: flex; align-items: center; gap: .5rem; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); border-radius: 8px; padding: 0 .85em; }
.wc-duo-sim__inputline:focus-within { border-color: var(--wc-orange); }
.wc-duo-sim__inputline input { flex: 1; background: transparent; border: none; color: #fff; font-family: var(--wc-font-display); font-size: var(--wc-fs-lg); padding: .55em 0; }
.wc-duo-sim__inputline input:focus { outline: none; }
.wc-duo-sim__unit { color: rgba(255,255,255,.7); font-family: var(--wc-font-display); font-size: var(--wc-fs-lg); }
.wc-duo-sim__hint { display: block; font-size: var(--wc-fs-xs); color: rgba(255,255,255,.5); margin-top: .35rem; }
.wc-duo-sim__range { display: flex; align-items: center; gap: 1rem; }
.wc-duo-sim__range input[type=range] { flex: 1; accent-color: var(--wc-orange); }
.wc-duo-sim__range output { flex: 0 0 auto; min-width: 68px; text-align: right; font-family: var(--wc-font-display); font-size: var(--wc-fs-lg); color: #fff; }
.wc-duo-sim__result { background: rgba(255,255,255,.06); border-radius: 12px; padding: 1.3rem; text-align: center; margin: 1.4rem 0; }
.wc-duo-sim__result-label { display: block; font-size: var(--wc-fs-sm); color: rgba(255,255,255,.7); margin-bottom: .3rem; }
.wc-duo-sim__result b { display: block; font-family: var(--wc-font-display); font-size: clamp(1.8rem, 4vw, 2.4rem); color: var(--wc-orange); line-height: 1.1; }
.wc-duo-sim__result-detail { display: block; font-size: var(--wc-fs-xs); color: rgba(255,255,255,.6); margin-top: .4rem; }
.wc-duo-sim .wc-btn--primary { width: 100%; justify-content: center; }

/* Demande de renseignement */
.wc-duo-gate { margin-top: 1.2rem; }
.wc-duo-gate__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin-bottom: .8rem; }
.wc-duo-gate__grid input { padding: .7em .85em; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); border-radius: 8px; font-family: inherit; font-size: .92rem; color: #fff; }
.wc-duo-gate__grid input::placeholder { color: rgba(255,255,255,.5); }
.wc-duo-gate__grid input:focus { outline: none; border-color: var(--wc-orange); }
.wc-duo-gate__err { color: #ffb4a2; font-size: var(--wc-fs-sm); margin-bottom: .6rem; }
.wc-duo-gate__legal { font-size: var(--wc-fs-xs); color: rgba(255,255,255,.5); margin-top: .9rem; line-height: 1.5; }
.wc-duo-confirm { margin-top: 1.2rem; text-align: center; background: rgba(0,122,140,.2); border: 1px solid rgba(10,148,168,.4); border-radius: 12px; padding: 1.4rem; }
.wc-duo-confirm__icon { width: 40px; height: 40px; margin: 0 auto .6rem; border-radius: 50%; background: var(--wc-teal); color: #fff; display: grid; place-items: center; font-size: 1.3rem; }
.wc-duo-confirm p { color: rgba(255,255,255,.9); font-size: var(--wc-fs-sm); margin: 0; }
.wc-duo-sim__disclaimer { font-size: var(--wc-fs-xs); color: rgba(255,255,255,.45); margin-top: 1.2rem; line-height: 1.5; }

@media (max-width: 860px) {
	.wc-neuf-duo__inner { grid-template-columns: 1fr; }
	.wc-duo-gate__grid { grid-template-columns: 1fr; }
}
