/* =========================================================
   SOURIRE PRESTIGE — Contact
   ========================================================= */

.sp-contact__info h2, .sp-contact__form-wrap h2 { margin-bottom: var(--space-6); }
.sp-contact__info .sp-footer__contact-item { color: var(--sp-text); font-size: var(--fs-body); margin-bottom: var(--space-4); }
.sp-contact__info .sp-footer__contact-item .sp-icon { color: var(--sp-accent); }
.sp-contact__hours-title { display: flex; align-items: center; gap: var(--space-2); font-size: var(--fs-body-lg); font-family: var(--font-body); font-weight: 600; margin-top: var(--space-8); margin-bottom: var(--space-4); }
.sp-contact__hours-title .sp-icon { width: 18px; height: 18px; color: var(--sp-accent); }
.sp-contact__hours { border-top: 1px solid var(--sp-border); padding-top: var(--space-2); }

.sp-contact__areas { display: flex; flex-direction: column; gap: var(--space-3); }
.sp-contact__area { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-3); font-size: var(--fs-small); padding-block: var(--space-2); border-bottom: 1px solid var(--sp-border); }
.sp-contact__area-region { font-weight: 600; flex-shrink: 0; min-width: 80px; }
.sp-contact__area-cities { color: var(--sp-text-muted); }

.sp-contact__map { margin-top: var(--space-8); aspect-ratio: 4/3; border-radius: var(--radius-md); overflow: hidden; }
.sp-contact__map iframe { width: 100%; height: 100%; border: 0; }

.sp-contact__form-wrap { background: var(--sp-off-white); padding: var(--space-8); border-radius: var(--radius-md); }
@media (max-width: 899px) { .sp-contact__form-wrap { padding: var(--space-6); } }

/* ---- Espace réservation (calendrier intégré) ---- */
.sp-booking { background: var(--sp-bg-alt); }
.sp-booking__head { max-width: 46ch; margin-bottom: clamp(2rem, 1.5rem + 2vw, 3.5rem); }
.sp-booking__title { margin-top: var(--space-3); }
.sp-booking__intro { margin-top: var(--space-3); color: var(--sp-text-muted); font-size: var(--fs-body-lg); }

/* Cadre du calendrier : conteneur blanc, arrondi, l'iframe s'y adapte. */
.sp-booking__embed {
	background: var(--sp-white);
	border: 1px solid var(--sp-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
	overflow: hidden;
	min-height: 640px;
}
.sp-booking__embed iframe { display: block; width: 100%; min-height: 640px; border: 0; }

.sp-booking__cta, .sp-booking__fallback { display: flex; flex-wrap: wrap; gap: var(--space-4); }

.sp-booking__placeholder {
	display: flex;
	align-items: flex-start;
	gap: var(--space-4);
	padding: var(--space-6);
	margin-bottom: var(--space-6);
	background: var(--sp-white);
	border: 1px dashed var(--sp-grey-300);
	border-radius: var(--radius-lg);
}
.sp-booking__placeholder .sp-icon { width: 28px; height: 28px; color: var(--sp-accent); flex-shrink: 0; margin-top: 2px; }
.sp-booking__placeholder strong { display: block; margin-bottom: var(--space-2); font-size: var(--fs-body-lg); }
.sp-booking__placeholder p { color: var(--sp-text-muted); font-size: var(--fs-small); max-width: 60ch; }
