/* Gathered Split Pay booking widget inside the theme: Framer layout (max 1080px, no inner padding). */
.gd .gd-booking .gsp,
.gd .gd-booking .gsp.is-compact {
	max-width: 1080px;
	padding: 0;
	margin: 0 auto;
	background: transparent;
	font-family: var(--gd-inter);
	scroll-margin-top: 24px;
	line-height: normal; /* Framer's booking component uses Inter at line-height: normal */
}
.gd .gd-booking .gsp-qty__n { font-size: 12px; }
.gd .gd-booking .gsp-row { align-items: stretch; }
.gd .gd-booking .gsp__title {
	font-family: var(--e-global-typography-gd_title-font-family, "Inter"), "Inter", sans-serif;
	font-weight: var(--e-global-typography-gd_title-font-weight, 600);
	font-size: var(--e-global-typography-gd_title-font-size, 56px);
	line-height: 1.05;
	letter-spacing: -0.03em;
}
/* Elementor redefines the same Kit variable inside its tablet/mobile media queries; the
   fallbacks below only apply when the Kit is missing. */
@media (max-width: 1199px) { .gd .gd-booking .gsp__title { font-size: var(--e-global-typography-gd_title-font-size, 40.5px); } }
@media (max-width: 809px) { .gd .gd-booking .gsp__title { font-size: var(--e-global-typography-gd_title-font-size, 32px); } }
.gd .gd-booking .elementor-widget-gathered_booking { width: 100%; }

/* Phones: Framer keeps the desktop spacing and type on small screens (only the +/- buttons
   grow to 40px), so undo the plugin's tighter compact mode inside the theme. */
.gd .gd-booking .gsp.is-compact .gsp-card { padding: 20px 16px 24px; border-radius: 20px; }
.gd .gd-booking .gsp.is-compact .gsp-dish { padding: 14px 16px; gap: 16px; }
.gd .gd-booking .gsp.is-compact .gsp-qty { gap: 10px; }
.gd .gd-booking .gsp.is-compact .gsp-dish__note { font-size: 13px; }
.gd .gd-booking .gsp.is-compact .gsp-course__title { font-size: 20px; }
.gd .gd-booking .gsp.is-compact .gsp-steps__total { margin-left: auto; width: auto; }
