/* Prestations (page mère) — maquette/Prestations.dc.html */

/* ----------------------------------------------------------- Introduction */
.prests-intro { padding: 40px var(--gutter) clamp(64px, 8vw, 112px); }
.prests-intro__inner { max-width: var(--wide); margin: 0 auto; display: flex; flex-direction: column; gap: clamp(40px, 5vw, 72px); }
.prests-intro__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: end; }
.prests-intro__head { display: flex; flex-direction: column; gap: 16px; }
.prests-intro__script { font-family: var(--font-script); font-size: clamp(32px, 3vw, 44px); line-height: 1; color: var(--accent); }
.prests-intro__title { font-family: var(--font-display); font-weight: 400; font-size: clamp(34px, 4.2vw, 60px); line-height: 1.05; }
.prests-intro__text { font-size: clamp(19px, 1.5vw, 21px); line-height: 1.65; color: var(--ink-soft); }

/* ------------------------------------------------------- Grille des cartes */
.prests-grid { padding: 0 var(--gutter) var(--section); }
.prests-grid__list { list-style: none; margin: 0 auto; padding: 0; max-width: var(--wide); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px 24px; }
.card-prest { display: flex; flex-direction: column; gap: 18px; text-decoration: none; color: var(--ink); }
.card-prest__media { display: block; overflow: hidden; background: var(--ph); }
.card-prest__media .b-img { aspect-ratio: 4 / 5; object-fit: cover; transition: transform 1.2s var(--ease); }
.card-prest:hover .card-prest__media .b-img, .card-prest:focus-visible .card-prest__media .b-img { transform: scale(1.04); }
.card-prest__body { display: flex; flex-direction: column; gap: 8px; }
.card-prest__num { font-family: var(--font-ui); font-size: 11px; font-weight: 500; letter-spacing: .22em; color: var(--accent); }
.card-prest__title { font-family: var(--font-display); font-weight: 400; font-size: clamp(24px, 2vw, 30px); line-height: 1.15; color: var(--ink); transition: color var(--t-hover) ease; }
.card-prest:hover .card-prest__title { color: var(--accent); }
.card-prest__text { font-size: 19px; line-height: 1.5; color: var(--ink-soft); }
.card-prest__more {
	display: inline-flex; align-items: center; gap: 10px; margin-top: 6px; min-height: 44px;
	font-family: var(--font-ui); font-size: 12px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--ink);
	transition: gap var(--t-hover) ease;
}
.card-prest:hover .card-prest__more { gap: 16px; }

/* --------------------------------------------------- Création & location */
.prests-annexes { padding: clamp(80px, 9vw, 128px) var(--gutter); background: var(--bg-alt); }
.prests-annexes__inner { max-width: var(--wide); margin: 0 auto; display: flex; flex-direction: column; gap: 48px; }
.prests-head { display: flex; flex-direction: column; gap: 10px; }
.prests-annexes__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.card-annexe { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: var(--bg); text-decoration: none; color: var(--ink); }
.card-annexe__media { display: block; overflow: hidden; }
.card-annexe__media .b-img { height: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.card-annexe__media .ph { font-size: 10px; letter-spacing: .14em; padding: 12px; }
.card-annexe__body { padding: clamp(24px, 2.8vw, 40px); display: flex; flex-direction: column; gap: 14px; justify-content: center; }
.card-annexe__title { font-family: var(--font-display); font-weight: 400; font-size: clamp(22px, 2vw, 28px); line-height: 1.15; color: var(--ink); transition: color var(--t-hover) ease; }
.card-annexe:hover .card-annexe__title { color: var(--accent); }
.card-annexe__text { font-size: 19px; line-height: 1.5; color: var(--ink-soft); }
.card-annexe__more { font-family: var(--font-ui); font-size: 12px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--ink); }

/* -------------------------------------------------------------- Responsive */
@media (max-width: 900px) {
	.prests-intro__grid, .prests-annexes__grid { grid-template-columns: minmax(0, 1fr); }
	.prests-grid__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.prests-grid__list { grid-template-columns: minmax(0, 1fr); }
}
