/* ==========================================================================
   La location — maquette/Location.dc.html
   loc-intro · loc-offre · loc-demande (formulaire : formulaires.css)
   ========================================================================== */

/* ----------------------------------------------------------------- Intro */
.loc-intro { padding: 40px 0 clamp(64px, 7vw, 96px); }
.loc-intro__inner { display: flex; flex-direction: column; gap: 40px; }
.loc-intro__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: end; }
.loc-intro__head { display: flex; flex-direction: column; gap: 14px; }
.loc-intro__script { font-family: var(--font-script); font-size: clamp(34px, 3vw, 44px); line-height: 1; color: var(--accent); }
.loc-intro__title { font-family: var(--font-display); font-weight: 400; font-size: clamp(34px, 4.2vw, 60px); line-height: 1.05; }
.loc-intro__text { font-size: var(--fs-body); line-height: 1.65; color: var(--ink-soft); }

/* ---------------------------------------------------------------- Offres */
.loc-offres { padding-bottom: clamp(80px, 9vw, 128px); }
.loc-offres__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.loc-offre { display: flex; flex-direction: column; background: var(--bg-alt); }
.loc-offre__img.b-img, .loc-offre .ph { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.loc-offre__body { display: flex; flex-direction: column; gap: 16px; padding: clamp(28px, 3.4vw, 48px); }
.loc-offre__title { font-family: var(--font-display); font-weight: 400; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.1; }
.loc-offre__text { font-size: 20px; line-height: 1.6; color: var(--ink-soft); }
.loc-offre__list { margin: 0; padding: 0 0 0 18px; display: flex; flex-direction: column; gap: 6px; font-size: 19px; line-height: 1.5; color: var(--ink-soft); }
.loc-offre__prices { display: flex; flex-direction: column; gap: 6px; }
.loc-offre__price { font-family: var(--font-display); font-size: 34px; line-height: 1.15; color: var(--ink); }
.loc-offre__rates { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 2px; font-size: 19px; line-height: 1.5; color: var(--ink-soft); }

/* ------------------------------------------------------------- Demande */
.loc-demande { padding: clamp(80px, 9vw, 128px) 0; background: var(--bg-alt); }
.loc-demande__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(40px, 5.6vw, 80px); }
.loc-demande__head { display: flex; flex-direction: column; gap: 14px; }
.loc-demande__script { font-family: var(--font-script); font-size: clamp(32px, 3vw, 44px); line-height: 1; color: var(--accent); }
.loc-demande__text { font-size: 20px; line-height: 1.6; color: var(--ink-soft); }
.loc-demande__form { min-width: 0; }

/* ------------------------------------------------------------ Responsive */
@media (max-width: 900px) {
	.loc-intro__grid, .loc-offres__grid, .loc-demande__grid { grid-template-columns: minmax(0, 1fr); }
}
.loc-offre__price--demande { font-family: var(--font-script); font-size: 32px; color: var(--accent); }
