/* ===========================================================
   Golf Arenka — Booking Page v2
   All rules namespaced under .gab-v2-* to avoid theme collisions.
   =========================================================== */

.gab-v2-hero,
.gab-v2-booking,
.gab-v2-features {
	--gab-v2-magenta-600: #b82a57;
	--gab-v2-magenta-500: #d33367;
	--gab-v2-magenta-400: #e04a7c;
	--gab-v2-magenta-300: #ec6d96;
	--gab-v2-magenta-200: #f5a3be;
	--gab-v2-magenta-100: #fce4ec;
	--gab-v2-white: #ffffff;
	--gab-v2-black: #000000;
	--gab-v2-light-50: #f8f9fa;
	--gab-v2-light-100: #f1f3f5;
	--gab-v2-light-200: #e9ecef;
	--gab-v2-light-300: #dee2e6;
	--gab-v2-light-400: #ced4da;
	--gab-v2-light-500: #adb5bd;
	--gab-v2-light-600: #868e96;
	--gab-v2-light-700: #495057;
	--gab-v2-light-800: #343a40;
	--gab-v2-text: #1a1a1a;
	--gab-v2-text-muted: #555555;
	--gab-v2-red-500: #ef4444;
	--gab-v2-green-500: #22c55e;
	--gab-v2-shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
	--gab-v2-shadow-md: 0 4px 12px rgba(0,0,0,0.12);
	--gab-v2-shadow-lg: 0 10px 30px rgba(0,0,0,0.15);
	--gab-v2-shadow-glow: 0 0 30px rgba(211, 51, 103, 0.12);
	--gab-v2-radius-sm: 8px;
	--gab-v2-radius-md: 12px;
	--gab-v2-radius-lg: 16px;
	--gab-v2-radius-xl: 20px;
	--gab-v2-radius-full: 100px;
	--gab-v2-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
	--gab-v2-font-display: 'Outfit', 'Inter', sans-serif;
	--gab-v2-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);

	font-family: var(--gab-v2-font-sans);
	color: var(--gab-v2-text);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

.gab-v2-hero *,
.gab-v2-hero *::before,
.gab-v2-hero *::after,
.gab-v2-booking *,
.gab-v2-booking *::before,
.gab-v2-booking *::after,
.gab-v2-features *,
.gab-v2-features *::before,
.gab-v2-features *::after {
	box-sizing: border-box;
}

/* =====================
   HERO
   ===================== */
.gab-v2-hero {
	position: relative;
	overflow: hidden;
	margin-bottom: 0;
	margin-bottom: 30px;
}

.gab-v2-hero::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -15%;
	width: 700px;
	height: 700px;
	background: radial-gradient(circle, rgba(211,51,103,0.05) 0%, transparent 65%);
	border-radius: 50%;
	pointer-events: none;
}

.gab-v2-hero__inner {
	max-width: 1360px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.gab-v2-breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
	font-size: 13px;
	color: var(--gab-v2-light-600);
}

.gab-v2-breadcrumb a {
	color: var(--gab-v2-light-600);
	text-decoration: none;
	transition: color var(--gab-v2-transition);
}

.gab-v2-breadcrumb a:hover { color: var(--gab-v2-magenta-500); }
.gab-v2-breadcrumb svg { width: 12px; height: 12px; opacity: 0.5; }

.gab-v2-hero__top {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
}

.gab-v2-hero__title {
	font-family: var(--gab-v2-font-display);
	font-size: 38px;
	font-weight: 800;
	color: var(--gab-v2-black);
	margin: 0 0 8px;
	letter-spacing: -1px;
	line-height: 1.15;
}

.gab-v2-hero__title em {
	font-style: normal;
	color: var(--gab-v2-magenta-500);
}

.gab-v2-hero__subtitle {
	font-size: 16px;
	color: var(--gab-v2-text-muted);
	max-width: 550px;
	margin: 0;
}

.gab-v2-hero__badges {
	display: flex;
	gap: 10px;
	margin-top: 22px;
	flex-wrap: wrap;
}

.gab-v2-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 14px;
	background: var(--gab-v2-light-100);
	border: 1px solid var(--gab-v2-light-300);
	border-radius: var(--gab-v2-radius-full);
	color: var(--gab-v2-light-700);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.2px;
}

.gab-v2-hero__badge svg { width: 14px; height: 14px; color: var(--gab-v2-magenta-500); }

.gab-v2-hero__stats {
	display: flex;
	gap: 32px;
	flex-shrink: 0;
}

.gab-v2-hero__stat { text-align: center; }

.gab-v2-hero__stat-value {
	font-family: var(--gab-v2-font-display);
	font-size: 28px;
	font-weight: 800;
	color: var(--gab-v2-magenta-500);
	line-height: 1.1;
}

.gab-v2-hero__stat-label {
	font-size: 11px;
	color: var(--gab-v2-light-600);
	text-transform: uppercase;
	letter-spacing: 0.8px;
	font-weight: 600;
}

/* =====================
   BOOKING SECTION (shortcode root)
   ===================== */
.gab-v2-booking {
	margin: 0 auto;
}

.gab-v2-booking__layout {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 28px;
	align-items: start;
}

/* =====================
   WIZARD PANEL
   ===================== */
.gab-v2-wizard-panel {
	background: var(--gab-v2-white);
	border-radius: var(--gab-v2-radius-lg);
	border: 1px solid var(--gab-v2-light-300);
	overflow: hidden;
	box-shadow: var(--gab-v2-shadow-md);
}

.gab-v2-step-indicator {
	display: flex;
	padding: 20px 28px;
	border-bottom: 1px solid var(--gab-v2-light-300);
	background: var(--gab-v2-light-50);
}

.gab-v2-step-item {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 12px;
	position: relative;
}

.gab-v2-step-item.is-completed:not(:last-child)::after {
	background: var(--gab-v2-magenta-500);
}

.gab-v2-step-circle {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 2px solid var(--gab-v2-light-300);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
	color: var(--gab-v2-light-600);
	background: var(--gab-v2-white);
	transition: all var(--gab-v2-transition);
	position: relative;
	z-index: 2;
	flex-shrink: 0;
}

.gab-v2-step-item.is-active .gab-v2-step-circle {
	border-color: var(--gab-v2-magenta-500);
	background: var(--gab-v2-magenta-500);
	color: var(--gab-v2-white);
	box-shadow: 0 0 0 4px rgba(211, 51, 103, 0.15);
}

.gab-v2-step-item.is-completed .gab-v2-step-circle {
	border-color: var(--gab-v2-magenta-500);
	background: var(--gab-v2-magenta-500);
	color: var(--gab-v2-white);
}

.gab-v2-step-label {
	font-size: 13px;
	font-weight: 600;
	color: var(--gab-v2-light-600);
	line-height: 1.3;
}

.gab-v2-step-label small {
	display: block;
	font-size: 11px;
	font-weight: 400;
	margin-top: 1px;
	color: var(--gab-v2-light-500);
}

.gab-v2-step-item.is-active .gab-v2-step-label { color: var(--gab-v2-black); }
.gab-v2-step-item.is-active .gab-v2-step-label small { color: var(--gab-v2-light-600); }
.gab-v2-step-item.is-completed .gab-v2-step-label { color: var(--gab-v2-magenta-500); }
.gab-v2-step-item.is-completed .gab-v2-step-label small { color: var(--gab-v2-light-600); }

/* Wizard body */
.gab-v2-wizard-body {
	padding: 32px;
	min-height: 470px;
}

.gab-v2-wizard-step {
	display: none;
	animation: gab-v2-fade-slide 0.35s ease;
}

.gab-v2-wizard-step.is-active { display: block; }

@keyframes gab-v2-fade-slide {
	from { opacity: 0; transform: translateY(10px); }
	to   { opacity: 1; transform: translateY(0); }
}

.gab-v2-step-title {
	font-family: var(--gab-v2-font-display);
	font-size: 21px;
	font-weight: 700;
	color: var(--gab-v2-black);
	margin: 0 0 4px;
}

.gab-v2-step-desc {
	font-size: 14px;
	color: var(--gab-v2-text-muted);
	margin: 0 0 28px;
}

/* =====================
   SERVICE CARDS
   ===================== */
.gab-v2-service-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.gab-v2-service-card {
	padding: 28px 24px;
	border: 2px solid var(--gab-v2-light-300);
	border-radius: var(--gab-v2-radius-md);
	background: var(--gab-v2-white);
	cursor: pointer;
	transition: all var(--gab-v2-transition);
	position: relative;
	outline: none;
}

.gab-v2-service-card:hover,
.gab-v2-service-card:focus-visible {
	border-color: var(--gab-v2-light-400);
	box-shadow: var(--gab-v2-shadow-sm);
}

.gab-v2-service-card.is-selected {
	border-color: var(--gab-v2-magenta-500);
	background: var(--gab-v2-magenta-100);
	box-shadow: 0 0 0 3px rgba(211, 51, 103, 0.12);
}

.gab-v2-service-card__icon {
	width: 48px;
	height: 48px;
	background: var(--gab-v2-light-100);
	border-radius: var(--gab-v2-radius-sm);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}

.gab-v2-service-card.is-selected .gab-v2-service-card__icon {
	background: rgba(211, 51, 103, 0.15);
}

.gab-v2-service-card__icon svg {
	width: 24px;
	height: 24px;
	color: var(--gab-v2-light-700);
}

.gab-v2-service-card.is-selected .gab-v2-service-card__icon svg {
	color: var(--gab-v2-magenta-500);
}

.gab-v2-service-card h3 {
	font-family: var(--gab-v2-font-display);
	font-size: 18px;
	font-weight: 700;
	color: var(--gab-v2-black);
	margin: 0 0 6px;
}

.gab-v2-service-card__desc {
	font-size: 13px;
	color: var(--gab-v2-text-muted);
	margin: 0 0 12px;
}

.gab-v2-service-card__price {
	font-family: var(--gab-v2-font-display);
	font-size: 16px;
	font-weight: 700;
	color: var(--gab-v2-magenta-500);
	margin: 0;
}

/* =====================
   DATE PICKER (flatpickr scoped)
   ===================== */
.gab-v2-date-picker-wrapper {
	display: flex;
	gap: 24px;
	align-items: flex-start;
}

.gab-v2-calendar-container { flex: 1; }

.gab-v2-date-input {
	width: 1px;
	height: 1px;
	padding: 0;
	border: 0;
	opacity: 0;
	position: absolute;
	pointer-events: none;
}

.gab-v2-booking .flatpickr-calendar {
	background: var(--gab-v2-white) !important;
	box-shadow: var(--gab-v2-shadow-md) !important;
	border: 1px solid var(--gab-v2-light-300) !important;
	border-radius: var(--gab-v2-radius-md) !important;
	width: 100% !important;
	font-family: var(--gab-v2-font-sans) !important;
}

.gab-v2-booking .flatpickr-months .flatpickr-month {
	background: var(--gab-v2-light-50) !important;
	border-radius: var(--gab-v2-radius-md) var(--gab-v2-radius-md) 0 0 !important;
}

.gab-v2-booking .flatpickr-current-month .flatpickr-monthDropdown-months,
.gab-v2-booking .flatpickr-current-month input.cur-year {
	color: var(--gab-v2-black) !important;
	font-weight: 700 !important;
}

.gab-v2-booking .flatpickr-months .flatpickr-prev-month,
.gab-v2-booking .flatpickr-months .flatpickr-next-month {
	fill: var(--gab-v2-black) !important;
	color: var(--gab-v2-black) !important;
}

.gab-v2-booking .flatpickr-months .flatpickr-prev-month svg,
.gab-v2-booking .flatpickr-months .flatpickr-next-month svg {
	fill: var(--gab-v2-black) !important;
}

.gab-v2-booking span.flatpickr-weekday {
	color: var(--gab-v2-light-600) !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	background: transparent !important;
}

.gab-v2-booking .flatpickr-innerContainer,
.gab-v2-booking .flatpickr-days,
.gab-v2-booking .dayContainer {
	background: var(--gab-v2-white) !important;
	border: none !important;
}

.gab-v2-booking .flatpickr-day {
	color: var(--gab-v2-text) !important;
	border: none !important;
	border-radius: 8px !important;
}

.gab-v2-booking .flatpickr-day:hover {
	background: var(--gab-v2-magenta-100) !important;
	color: var(--gab-v2-magenta-500) !important;
}

.gab-v2-booking .flatpickr-day.selected,
.gab-v2-booking .flatpickr-day.selected:hover {
	background: var(--gab-v2-magenta-500) !important;
	color: var(--gab-v2-white) !important;
	box-shadow: 0 0 12px rgba(211, 51, 103, 0.3) !important;
}

.gab-v2-booking .flatpickr-day.today {
	border: 1px solid var(--gab-v2-magenta-500) !important;
}

.gab-v2-booking .flatpickr-day.gab-v2-day-unavailable,
.gab-v2-booking .flatpickr-day.flatpickr-disabled,
.gab-v2-booking .flatpickr-day.prevMonthDay,
.gab-v2-booking .flatpickr-day.nextMonthDay {
	color: var(--gab-v2-light-400) !important;
}

.gab-v2-booking .flatpickr-day.gab-v2-day-unavailable {
	text-decoration: line-through;
	pointer-events: none;
}

.gab-v2-booking .flatpickr-day.gab-v2-day-available {
	font-weight: 600;
}

.gab-v2-date-info-panel {
	width: 220px;
	background: var(--gab-v2-light-50);
	border: 1px solid var(--gab-v2-light-300);
	border-radius: var(--gab-v2-radius-md);
	padding: 20px;
}

.gab-v2-date-info-panel h4 {
	font-size: 11px;
	font-weight: 700;
	color: var(--gab-v2-magenta-500);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0 0 16px;
}

.gab-v2-info-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid var(--gab-v2-light-300);
	font-size: 13px;
	color: var(--gab-v2-text-muted);
}

.gab-v2-info-item:last-child { border-bottom: none; }

.gab-v2-info-item svg {
	width: 16px;
	height: 16px;
	color: var(--gab-v2-magenta-500);
	flex-shrink: 0;
}

/* =====================
   TIME SLOTS
   ===================== */
.gab-v2-time-slots-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--gab-v2-light-300);
	gap: 12px;
	flex-wrap: wrap;
}

.gab-v2-selected-date-display {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	background: var(--gab-v2-magenta-100);
	border: 1px solid var(--gab-v2-magenta-200);
	border-radius: var(--gab-v2-radius-sm);
	font-size: 14px;
	font-weight: 600;
	color: var(--gab-v2-magenta-600);
}

.gab-v2-selected-date-display svg { width: 16px; height: 16px; }

.gab-v2-time-period-tabs {
	display: flex;
	gap: 3px;
	background: var(--gab-v2-light-100);
	padding: 3px;
	border-radius: var(--gab-v2-radius-sm);
	border: 1px solid var(--gab-v2-light-300);
}

.gab-v2-period-tab {
	padding: 7px 16px;
	border: none;
	background: transparent;
	font-size: 12px;
	font-weight: 600;
	color: var(--gab-v2-light-700);
	cursor: pointer;
	border-radius: 6px;
	transition: all var(--gab-v2-transition);
	font-family: var(--gab-v2-font-sans);
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

.gab-v2-period-tab:hover { color: var(--gab-v2-black); }

.gab-v2-period-tab.is-active {
	background: var(--gab-v2-magenta-500);
	color: var(--gab-v2-white);
	box-shadow: 0 2px 8px rgba(211, 51, 103, 0.25);
}

.gab-v2-time-slots-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	min-height: 80px;
}

.gab-v2-time-slot {
	padding: 14px 8px;
	border: 1px solid var(--gab-v2-light-300);
	border-radius: var(--gab-v2-radius-sm);
	text-align: center;
	cursor: pointer;
	transition: all var(--gab-v2-transition);
	background: var(--gab-v2-white);
	position: relative;
	font-family: var(--gab-v2-font-sans);
}

.gab-v2-time-slot:hover:not(.is-unavailable) {
	border-color: var(--gab-v2-magenta-400);
	background: var(--gab-v2-magenta-100);
}

.gab-v2-time-slot.is-selected {
	border-color: var(--gab-v2-magenta-500);
	background: var(--gab-v2-magenta-100);
	box-shadow: 0 0 0 2px rgba(211, 51, 103, 0.15), inset 0 0 12px rgba(211, 51, 103, 0.08);
}

.gab-v2-time-slot.is-selected::after {
	content: '';
	position: absolute;
	top: 5px;
	right: 5px;
	width: 18px;
	height: 18px;
	background: var(--gab-v2-magenta-500);
	border-radius: 50%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white' width='12' height='12'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 11px;
}

.gab-v2-time-slot.is-unavailable {
	background: var(--gab-v2-light-100);
	border-color: var(--gab-v2-light-300);
	cursor: not-allowed;
	opacity: 0.5;
}

.gab-v2-time-slot__time {
	font-size: 15px;
	font-weight: 700;
	color: var(--gab-v2-black);
	margin-bottom: 2px;
}

.gab-v2-time-slot.is-unavailable .gab-v2-time-slot__time {
	color: var(--gab-v2-light-500);
	text-decoration: line-through;
}

.gab-v2-time-slot__status {
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--gab-v2-green-500);
}

.gab-v2-time-slot.is-unavailable .gab-v2-time-slot__status { color: var(--gab-v2-light-500); }

.gab-v2-time-slot__happy {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #d33367;
}

.gab-v2-time-slot.is-happy-hour {
	border-color: rgba(211, 51, 103, 0.3);
}

.gab-v2-time-slot.is-happy-hour:hover:not(.is-unavailable) {
	border-color: #d33367;
	background: rgba(211, 51, 103, 0.06);
}

.gab-v2-time-slot.is-happy-hour.is-selected {
	border-color: #d33367;
	background: rgba(211, 51, 103, 0.12);
}

.gab-v2-time-slots-empty {
	grid-column: 1 / -1;
	padding: 24px 16px;
	text-align: center;
	color: var(--gab-v2-light-600);
	font-size: 14px;
	border: 1px dashed var(--gab-v2-light-300);
	border-radius: var(--gab-v2-radius-sm);
	background: var(--gab-v2-light-50);
}

.gab-v2-time-slots-note {
	margin-top: 16px;
	padding: 12px 16px;
	background: var(--gab-v2-light-100);
	border: 1px solid var(--gab-v2-light-300);
	border-radius: var(--gab-v2-radius-sm);
	font-size: 13px;
	color: var(--gab-v2-light-700);
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--gab-v2-magenta-500);
}

.gab-v2-time-slots-note svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	color: var(--gab-v2-magenta-500);
}

/* =====================
   FORM (Details step)
   ===================== */
.gab-v2-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.gab-v2-form-group {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.gab-v2-form-group--full { grid-column: 1 / -1; }

.gab-v2-form-label {
	font-size: 12px;
	font-weight: 600;
	color: var(--gab-v2-light-700);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.gab-v2-form-label__required { color: var(--gab-v2-magenta-500); }

.gab-v2-form-input {
	padding: 13px 16px;
	border: 1px solid var(--gab-v2-light-300);
	border-radius: var(--gab-v2-radius-sm);
	font-size: 15px;
	font-family: var(--gab-v2-font-sans);
	color: var(--gab-v2-black);
	background: var(--gab-v2-white);
	transition: all var(--gab-v2-transition);
	outline: none;
}

.gab-v2-form-input::placeholder { color: var(--gab-v2-light-500); }

.gab-v2-form-input:focus {
	border-color: var(--gab-v2-magenta-500);
	box-shadow: 0 0 0 3px rgba(211, 51, 103, 0.1);
}

.gab-v2-form-input.has-error {
	border-color: var(--gab-v2-red-500);
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.gab-v2-checkbox-group {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px;
	background: var(--gab-v2-light-100);
	border-radius: var(--gab-v2-radius-sm);
	border: 1px solid var(--gab-v2-light-300);
}

.gab-v2-checkbox-input {
	width: 20px;
	height: 20px;
	accent-color: var(--gab-v2-magenta-500);
	cursor: pointer;
	flex-shrink: 0;
	margin-top: 2px;
}

.gab-v2-checkbox-label {
	font-size: 13px;
	color: var(--gab-v2-text-muted);
	line-height: 1.6;
	cursor: pointer;
}

/* =====================
   WIZARD FOOTER
   ===================== */
.gab-v2-wizard-footer {
	padding: 20px 32px;
	border-top: 1px solid var(--gab-v2-light-300);
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--gab-v2-light-50);
}

.gab-v2-btn {
	padding: 12px 28px;
	border-radius: var(--gab-v2-radius-sm);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: all var(--gab-v2-transition);
	border: none;
	font-family: var(--gab-v2-font-sans);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

.gab-v2-btn svg { width: 15px; height: 15px; }

.gab-v2-btn--back {
	background: transparent;
	color: var(--gab-v2-light-700);
	border: 1px solid var(--gab-v2-light-300);
}

.gab-v2-btn--back:hover {
	border-color: var(--gab-v2-light-600);
	color: var(--gab-v2-black);
}

button.gab-v2-btn.gab-v2-btn--next {
	background: var(--gab-v2-magenta-500);
	color: #ffffff !important;
}

button.gab-v2-btn.gab-v2-btn--next svg { color: #ffffff; stroke: currentColor; }

button.gab-v2-btn.gab-v2-btn--next:hover:not(:disabled) {
	background: var(--gab-v2-magenta-400);
	color: #ffffff !important;
	box-shadow: 0 4px 20px rgba(211, 51, 103, 0.25);
	transform: translateY(-1px);
}

button.gab-v2-btn.gab-v2-btn--next:disabled {
	background: var(--gab-v2-light-300);
	color: var(--gab-v2-light-600) !important;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

/* =====================
   REVIEW SIDEBAR
   ===================== */
.gab-v2-review-panel {
	position: sticky;
	top: 100px;
}

.gab-v2-review-card {
	background: var(--gab-v2-white);
	border-radius: var(--gab-v2-radius-lg);
	border: 1px solid var(--gab-v2-light-300);
	overflow: hidden;
	box-shadow: var(--gab-v2-shadow-md);
}

.gab-v2-review-header {
	padding: 20px 24px;
	background: linear-gradient(135deg, var(--gab-v2-magenta-600), var(--gab-v2-magenta-500));
	position: relative;
	overflow: hidden;
}

.gab-v2-review-header::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -30%;
	width: 120px;
	height: 120px;
	background: rgba(255,255,255,0.1);
	border-radius: 50%;
}

.gab-v2-review-header h3 {
	font-family: var(--gab-v2-font-display);
	font-size: 17px;
	font-weight: 700;
	color: var(--gab-v2-white);
	margin: 0 0 2px;
	position: relative;
}

.gab-v2-review-header p {
	font-size: 12px;
	color: rgba(255,255,255,0.8);
	margin: 0;
	position: relative;
}

.gab-v2-review-body { padding: 24px; }

.gab-v2-review-section {
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--gab-v2-light-300);
}

.gab-v2-review-section:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.gab-v2-review-section__title {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--gab-v2-light-600);
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.gab-v2-review-section__title svg {
	width: 13px;
	height: 13px;
	color: var(--gab-v2-magenta-500);
}

.gab-v2-review-empty {
	font-size: 13px;
	color: var(--gab-v2-light-600);
	font-style: italic;
}

.gab-v2-review-value {
	font-size: 14px;
	color: var(--gab-v2-text);
	font-weight: 500;
}

.gab-v2-review-value--accent {
	color: var(--gab-v2-magenta-600);
	font-weight: 600;
}

.gab-v2-review-slots {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.gab-v2-review-slot-tag {
	padding: 4px 10px;
	background: var(--gab-v2-magenta-100);
	border: 1px solid var(--gab-v2-magenta-200);
	color: var(--gab-v2-magenta-600);
	border-radius: var(--gab-v2-radius-full);
	font-size: 12px;
	font-weight: 600;
}

.gab-v2-review-detail-row {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--gab-v2-text-muted);
	margin-bottom: 7px;
	word-break: break-word;
}

.gab-v2-review-detail-row:last-child { margin-bottom: 0; }

.gab-v2-review-detail-row svg {
	width: 14px;
	height: 14px;
	color: var(--gab-v2-light-600);
	flex-shrink: 0;
}

/* Lock timer pill inside sidebar */
.gab-v2-lock-timer-wrap {
	margin: 0 24px 12px;
	padding: 10px 14px;
	border-radius: var(--gab-v2-radius-full);
	background: rgba(211, 51, 103, 0.08);
	color: var(--gab-v2-magenta-600);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

.gab-v2-lock-timer-wrap[hidden] { display: none; }

.gab-v2-lock-timer-wrap.is-expired {
	background: rgba(178, 34, 34, 0.08);
	color: #b22222;
}

.gab-v2-review-error {
	margin: 0 24px 12px;
	padding: 10px 14px;
	border-radius: var(--gab-v2-radius-sm);
	background: #fdecef;
	border: 1px solid #f2c2cf;
	color: #9e1e3e;
	font-size: 12px;
	display: none;
}

.gab-v2-review-error.is-visible { display: block; }

.gab-v2-review-pricing {
	padding: 20px 24px;
	background: var(--gab-v2-light-50);
	border-top: 1px solid var(--gab-v2-light-300);
}

.gab-v2-price-row {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	color: var(--gab-v2-light-700);
	margin-bottom: 8px;
}

.gab-v2-price-row--total {
	font-size: 19px;
	font-weight: 800;
	color: var(--gab-v2-black);
	margin-bottom: 0;
	padding-top: 12px;
	border-top: 1px solid var(--gab-v2-light-300);
}

.gab-v2-price-row--total span:last-child { color: var(--gab-v2-magenta-500); }

.gab-v2-review-cta {
	padding: 20px 24px;
	border-top: 1px solid var(--gab-v2-light-300);
}

button.gab-v2-btn-pay {
	width: 100%;
	padding: 16px;
	background-color: var(--gab-v2-magenta-500);
	background-image: linear-gradient(135deg, var(--gab-v2-magenta-500), var(--gab-v2-magenta-600));
	color: #ffffff !important;
	border: none;
	border-radius: var(--gab-v2-radius-sm);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: all var(--gab-v2-transition);
	font-family: var(--gab-v2-font-sans);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

button.gab-v2-btn-pay:hover:not(:disabled) {
	background-color: var(--gab-v2-magenta-400);
	background-image: linear-gradient(135deg, var(--gab-v2-magenta-400), var(--gab-v2-magenta-500));
	color: #ffffff !important;
	box-shadow: 0 8px 30px rgba(211, 51, 103, 0.3);
	transform: translateY(-2px);
}

button.gab-v2-btn-pay:disabled {
	background-color: var(--gab-v2-light-300);
	background-image: none;
	color: var(--gab-v2-light-600) !important;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

button.gab-v2-btn-pay svg { width: 18px; height: 18px; color: #ffffff; stroke: currentColor; }

.gab-v2-secure-note {
	text-align: center;
	font-size: 11px;
	color: var(--gab-v2-light-600);
	margin-top: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
}

.gab-v2-secure-note svg { width: 12px; height: 12px; }

.gab-v2-trust-badges {
	margin-top: 20px;
	padding: 16px;
	background: var(--gab-v2-light-100);
	border: 1px solid var(--gab-v2-light-300);
	border-radius: var(--gab-v2-radius-md);
}

.gab-v2-trust-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	font-size: 12px;
	color: var(--gab-v2-text-muted);
}

.gab-v2-trust-item svg {
	width: 16px;
	height: 16px;
	color: var(--gab-v2-magenta-500);
	flex-shrink: 0;
}

/* =====================
   FEATURES SECTION
   ===================== */
.gab-v2-features {
	margin: 0 auto;
}

.gab-v2-features__label {
	text-align: center;
	font-size: 11px;
	font-weight: 700;
	color: var(--gab-v2-magenta-500);
	text-transform: uppercase;
	letter-spacing: 2px;
	margin-bottom: 8px;
}

.gab-v2-features__title {
	font-family: var(--gab-v2-font-display);
	font-size: 30px;
	font-weight: 800;
	color: var(--gab-v2-black);
	text-align: center;
	margin: 0 0 8px;
}

.gab-v2-features__subtitle {
	text-align: center;
	color: var(--gab-v2-text-muted);
	font-size: 15px;
	margin: 0 0 40px;
}

.gab-v2-features__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.gab-v2-feature-card {
	padding: 28px 22px;
	background: var(--gab-v2-white);
	border: 1px solid var(--gab-v2-light-300);
	border-radius: var(--gab-v2-radius-md);
	text-align: center;
	transition: all var(--gab-v2-transition);
	box-shadow: var(--gab-v2-shadow-sm);
}

.gab-v2-feature-card:hover {
	border-color: var(--gab-v2-magenta-300);
	box-shadow: var(--gab-v2-shadow-glow);
	transform: translateY(-3px);
}

.gab-v2-feature-card__icon {
	width: 52px;
	height: 52px;
	background: var(--gab-v2-magenta-100);
	border: 1px solid var(--gab-v2-magenta-200);
	border-radius: var(--gab-v2-radius-sm);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
}

.gab-v2-feature-card__icon svg {
	width: 24px;
	height: 24px;
	color: var(--gab-v2-magenta-500);
}

.gab-v2-feature-card__icon:not(:has(svg)) {
	font-size: 1.5rem;
	line-height: 1;
}

.gab-v2-feature-card h4 {
	font-size: 15px;
	font-weight: 700;
	color: var(--gab-v2-black);
	margin: 0 0 6px;
}

.gab-v2-feature-card p {
	font-size: 13px;
	color: var(--gab-v2-text-muted);
	line-height: 1.5;
	margin: 0;
}

/* =====================
   RESPONSIVE
   ===================== */
@media (max-width: 1024px) {
	.gab-v2-booking__layout { grid-template-columns: 1fr; }
	.gab-v2-review-panel { position: static; }
	.gab-v2-features__grid { grid-template-columns: repeat(2, 1fr); }
	.gab-v2-hero__stats { display: none; }
}

@media (max-width: 768px) {
	.gab-v2-hero { padding: 24px 20px 20px; }
	.gab-v2-breadcrumb { margin-bottom: 10px; font-size: 12px; }
	.gab-v2-hero__top { gap: 16px; }
	.gab-v2-hero__title { font-size: 26px; margin-bottom: 6px; }
	.gab-v2-hero__subtitle { font-size: 13px; max-width: none; }
	.gab-v2-hero__badges { gap: 6px; margin-top: 14px; }
	.gab-v2-hero__badge { padding: 5px 10px; font-size: 11px; gap: 5px; }
	.gab-v2-hero__badge svg { width: 12px; height: 12px; }
	.gab-v2-step-indicator { padding: 14px 16px; }
	.gab-v2-step-label { display: none; }
	.gab-v2-step-item:not(:last-child)::after { display: none; }
	.gab-v2-wizard-body { padding: 24px 20px; }
	.gab-v2-wizard-footer { padding: 16px 20px; }
	.gab-v2-date-picker-wrapper { flex-direction: column; }
	.gab-v2-date-info-panel { width: 100%; }
	.gab-v2-time-slots-grid { grid-template-columns: repeat(3, 1fr); }
	.gab-v2-time-slots-header { flex-direction: column; gap: 12px; align-items: flex-start; }
	.gab-v2-form-grid { grid-template-columns: 1fr; }
	.gab-v2-features__grid { grid-template-columns: 1fr; }
	.gab-v2-features__title { font-size: 24px; }
}

@media (max-width: 480px) {
	.gab-v2-service-cards { grid-template-columns: 1fr; }
	.gab-v2-service-card { min-height: auto; }
	.gab-v2-time-slots-grid { grid-template-columns: repeat(2, 1fr); }
	.gab-v2-time-slot { min-height: 56px; }
	.gab-v2-hero { padding: 20px 16px 18px; }
	.gab-v2-hero__title { font-size: 22px; }
	.gab-v2-hero__subtitle { font-size: 12px; }
	.gab-v2-hero__badges { gap: 6px; margin-top: 12px; }
	.gab-v2-hero__badge { padding: 4px 9px; font-size: 10.5px; }
	.gab-v2-lock-timer-wrap {
		white-space: normal;
		max-width: 100%;
		text-align: center;
		padding: 8px 12px;
	}
	.gab-v2-wizard-body { padding: 20px 16px; }
	.gab-v2-wizard-footer { padding: 14px 16px; }
	.gab-v2-btn { min-height: 44px; font-size: 13px; padding: 10px 16px; }
	.gab-v2-form-input { min-height: 44px; }
}

/* =====================
   SUCCESS / CONFIRMATION PAGE
   ===================== */
.gab-v2-success {
	--gab-v2-green-500: #22c55e;
	--gab-v2-green-400: #4ade80;
	--gab-v2-green-100: #dcfce7;

	font-family: var(--gab-v2-font-sans, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);
	color: #1a1a1a;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	max-width: 580px;
	margin: 0 auto;
	padding: 48px 28px 72px;
}

.gab-v2-success *,
.gab-v2-success *::before,
.gab-v2-success *::after { box-sizing: border-box; }

.gab-v2-success__icon-wrap {
	text-align: center;
	margin-bottom: 28px;
}

.gab-v2-success__circle {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	background: var(--gab-v2-green-100);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	animation: gab-v2-scale-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.gab-v2-success__circle svg {
	width: 44px;
	height: 44px;
	color: var(--gab-v2-green-500);
	stroke-dasharray: 60;
	stroke-dashoffset: 60;
	animation: gab-v2-draw-check 0.6s 0.35s ease forwards;
}

.gab-v2-success__circle::after {
	content: '';
	position: absolute;
	inset: -8px;
	border-radius: 50%;
	border: 2px solid var(--gab-v2-green-400);
	opacity: 0;
	animation: gab-v2-ring-pulse 0.8s 0.3s ease forwards;
}

.gab-v2-success__circle--pending {
	background: rgba(211, 51, 103, 0.12);
	animation: none;
}

.gab-v2-success__circle--pending::after {
	border-color: var(--gab-v2-magenta-400, #e04a7c);
	animation: gab-v2-ring-pulse 1.4s ease infinite;
}

.gab-v2-success__circle--error {
	background: #fdecef;
	animation: gab-v2-scale-in 0.4s ease forwards;
}

.gab-v2-success__circle--error svg {
	color: #b22222;
	animation: none;
	stroke-dashoffset: 0;
	stroke-dasharray: none;
}

.gab-v2-success__circle--error::after {
	border-color: #f2c2cf;
	animation: gab-v2-ring-pulse 0.8s 0.3s ease forwards;
}

.gab-v2-success__spinner {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 3px solid rgba(211, 51, 103, 0.2);
	border-top-color: var(--gab-v2-magenta-500, #d33367);
	animation: gab-v2-spin 0.9s linear infinite;
}

@keyframes gab-v2-scale-in {
	from { transform: scale(0); opacity: 0; }
	to   { transform: scale(1); opacity: 1; }
}

@keyframes gab-v2-draw-check {
	to { stroke-dashoffset: 0; }
}

@keyframes gab-v2-ring-pulse {
	0%   { opacity: 0.6; transform: scale(0.95); }
	100% { opacity: 0; transform: scale(1.2); }
}

@keyframes gab-v2-spin {
	to { transform: rotate(360deg); }
}

.gab-v2-success__heading {
	text-align: center;
	margin-bottom: 32px;
}

.gab-v2-success__heading h1 {
	font-family: var(--gab-v2-font-display, 'Outfit', 'Inter', sans-serif);
	font-size: 30px;
	font-weight: 800;
	color: #000;
	margin: 0 0 8px;
	letter-spacing: -0.5px;
}

.gab-v2-success__heading p {
	font-size: 16px;
	color: #555;
	margin: 0;
}

.gab-v2-success__heading p strong {
	color: #1a1a1a;
	font-weight: 600;
}

/* Confirmation card */
.gab-v2-confirm-card {
	background: #fff;
	border: 1px solid #dee2e6;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

.gab-v2-confirm-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 20px 28px;
	background: #f8f9fa;
	border-bottom: 1px solid #dee2e6;
	flex-wrap: wrap;
}

.gab-v2-confirm-card__header h2 {
	font-family: var(--gab-v2-font-display, 'Outfit', 'Inter', sans-serif);
	font-size: 16px;
	font-weight: 700;
	color: #000;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.gab-v2-confirm-card__header h2 svg {
	width: 18px;
	height: 18px;
	color: var(--gab-v2-green-500);
}

.gab-v2-confirm-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 12px;
	background: var(--gab-v2-green-100);
	color: var(--gab-v2-green-500);
	border-radius: 100px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.gab-v2-confirm-badge svg { width: 12px; height: 12px; }

.gab-v2-confirm-body { padding: 0; }

.gab-v2-confirm-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 28px;
	border-bottom: 1px solid #e9ecef;
	transition: background 0.25s ease;
}

.gab-v2-confirm-row:last-child { border-bottom: none; }
.gab-v2-confirm-row:hover { background: #f8f9fa; }

.gab-v2-confirm-row__label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: #555;
	font-weight: 500;
}

.gab-v2-confirm-row__label svg {
	width: 16px;
	height: 16px;
	color: #adb5bd;
	flex-shrink: 0;
}

.gab-v2-confirm-row__value {
	font-size: 14px;
	font-weight: 600;
	color: #1a1a1a;
	text-align: right;
}

.gab-v2-confirm-row--code {
	background: linear-gradient(135deg, rgba(211, 51, 103, 0.04) 0%, rgba(211, 51, 103, 0.08) 100%);
}

.gab-v2-confirm-row--code:hover { background: linear-gradient(135deg, rgba(211, 51, 103, 0.06) 0%, rgba(211, 51, 103, 0.1) 100%); }

.gab-v2-confirm-row--code .gab-v2-confirm-row__label {
	color: #1a1a1a;
	font-weight: 600;
}

.gab-v2-confirm-row--code .gab-v2-confirm-row__label svg {
	color: var(--gab-v2-magenta-500, #d33367);
}

.gab-v2-access-code {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	background: #fff;
	border: 2px solid var(--gab-v2-magenta-200, #f5a3be);
	border-radius: 8px;
	font-family: 'SF Mono', 'Fira Code', Consolas, monospace;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 2px;
	color: var(--gab-v2-magenta-500, #d33367);
}

.gab-v2-copy-btn {
	width: 28px;
	height: 28px;
	border: none;
	background: var(--gab-v2-magenta-100, #fce4ec);
	border-radius: 6px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.25s ease;
	padding: 0;
}

.gab-v2-copy-btn:hover { background: var(--gab-v2-magenta-200, #f5a3be); }

.gab-v2-copy-btn svg {
	width: 14px;
	height: 14px;
	color: var(--gab-v2-magenta-500, #d33367);
}

.gab-v2-copy-btn.is-copied { background: var(--gab-v2-green-100); }
.gab-v2-copy-btn.is-copied svg { color: var(--gab-v2-green-500); }

.gab-v2-confirm-row--total {
	background: #f8f9fa;
	padding: 18px 28px;
	border-top: 1px solid #dee2e6;
}

.gab-v2-confirm-row--total .gab-v2-confirm-row__label {
	font-size: 15px;
	font-weight: 700;
	color: #1a1a1a;
}

.gab-v2-confirm-row--total .gab-v2-confirm-row__value {
	font-family: var(--gab-v2-font-display, 'Outfit', 'Inter', sans-serif);
	font-size: 20px;
	font-weight: 800;
	color: var(--gab-v2-magenta-500, #d33367);
}

.gab-v2-email-notice {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
	padding: 16px 20px;
	background: #fff;
	border: 1px solid #dee2e6;
	border-radius: 12px;
	font-size: 14px;
	color: #555;
}

.gab-v2-email-notice svg {
	width: 20px;
	height: 20px;
	color: var(--gab-v2-magenta-500, #d33367);
	flex-shrink: 0;
}

.gab-v2-success__actions {
	display: flex;
	gap: 12px;
	margin-top: 24px;
}

.gab-v2-success .gab-v2-btn-action {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 22px;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
	transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease, color 0.25s ease, border-color 0.25s ease;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	border: 1px solid transparent;
	font-family: var(--gab-v2-font-sans, 'Inter', sans-serif);
	line-height: 1.2;
	white-space: nowrap;
}

.gab-v2-success .gab-v2-btn-action:focus { outline: none; }
.gab-v2-success .gab-v2-btn-action:focus-visible { box-shadow: 0 0 0 3px rgba(211, 51, 103, 0.35); }

.gab-v2-success .gab-v2-btn-action svg {
	width: 16px;
	height: 16px;
	color: currentColor;
	stroke: currentColor;
	flex-shrink: 0;
}

.gab-v2-success a.gab-v2-btn-action--primary,
.gab-v2-success a.gab-v2-btn-action--primary:link,
.gab-v2-success a.gab-v2-btn-action--primary:visited {
	background-color: var(--gab-v2-magenta-500, #d33367);
	background-image: linear-gradient(135deg, var(--gab-v2-magenta-500, #d33367), var(--gab-v2-magenta-600, #b82a57)) !important;
	color: #fff !important;
	border-color: transparent;
	box-shadow: 0 4px 14px rgba(211, 51, 103, 0.25) !important;
}

.gab-v2-success a.gab-v2-btn-action--primary:hover,
.gab-v2-success a.gab-v2-btn-action--primary:focus {
	background-color: var(--gab-v2-magenta-400, #e04a7c);
	background-image: linear-gradient(135deg, var(--gab-v2-magenta-400, #e04a7c), var(--gab-v2-magenta-500, #d33367)) !important;
	color: #fff !important;
	box-shadow: 0 10px 26px rgba(211, 51, 103, 0.35) !important;
	transform: translateY(-1px);
}

.gab-v2-success a.gab-v2-btn-action--secondary,
.gab-v2-success a.gab-v2-btn-action--secondary:link,
.gab-v2-success a.gab-v2-btn-action--secondary:visited {
	background-color: #fff;
	color: #1a1a1a !important;
	border-color: #dee2e6;
}

.gab-v2-success a.gab-v2-btn-action--secondary:hover,
.gab-v2-success a.gab-v2-btn-action--secondary:focus {
	background-color: #f8f9fa;
	color: var(--gab-v2-magenta-500, #d33367) !important;
	border-color: var(--gab-v2-magenta-300, #ec6d96);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06) !important;
	transform: translateY(-1px);
}

@media (max-width: 768px) {
	.gab-v2-success { padding: 40px 20px 60px; }
	.gab-v2-success__heading h1 { font-size: 26px; }
	.gab-v2-success__heading p { font-size: 14px; }
	.gab-v2-confirm-card__header { padding: 18px 20px; }
	.gab-v2-confirm-row { padding: 14px 20px; }
	.gab-v2-confirm-row--total { padding: 16px 20px; }
	.gab-v2-access-code { font-size: 16px; letter-spacing: 1.8px; }
	.gab-v2-success__actions { gap: 10px; }
	.gab-v2-btn-action { min-height: 44px; }
}

@media (max-width: 480px) {
	.gab-v2-success { padding: 32px 16px 56px; }
	.gab-v2-success__actions { flex-direction: column; }
	.gab-v2-access-code { font-size: 15px; letter-spacing: 1.5px; padding: 6px 12px; }
	.gab-v2-confirm-row { flex-direction: column; align-items: flex-start; gap: 6px; padding: 14px 20px; }
	.gab-v2-confirm-row__value { text-align: left; }
	.gab-v2-confirm-card__header { padding: 16px 20px; }
	.gab-v2-success__heading h1 { font-size: 24px; }
}

@media print {
	.gab-v2-success__actions { display: none; }
	.gab-v2-confirm-card { box-shadow: none; border: 1px solid #ccc; }
}

/* ===== MOBILE "PAY" SCROLL-TO-SUMMARY BUTTON (spec 2026-04-18) ===== */
.gab-v2-btn.gab-v2-btn--scroll-summary {
	display: none;
	background-color: var(--gab-v2-magenta-500, #d33367);
	background-image: linear-gradient(135deg, var(--gab-v2-magenta-500, #d33367), var(--gab-v2-magenta-600, #b82a57));
	color: #ffffff !important;
	border: none;
	min-height: 44px;
	padding: 10px 20px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	border-radius: 8px;
	cursor: pointer;
	font-family: inherit;
	align-items: center;
	gap: 8px;
	box-shadow: 0 4px 14px rgba(211, 51, 103, 0.25);
}

.gab-v2-btn.gab-v2-btn--scroll-summary svg {
	width: 14px;
	height: 14px;
	color: #ffffff;
	stroke: currentColor;
}

.gab-v2-btn.gab-v2-btn--scroll-summary:hover {
	background-image: linear-gradient(135deg, var(--gab-v2-magenta-400, #e04a7c), var(--gab-v2-magenta-500, #d33367));
	box-shadow: 0 8px 22px rgba(211, 51, 103, 0.35);
}

@media (max-width: 768px) {
	.gab-v2-wizard-footer.is-step-details .gab-v2-btn.gab-v2-btn--scroll-summary {
		display: inline-flex;
	}
	.gab-v2-wizard-footer.is-step-details .gab-v2-btn.gab-v2-btn--next {
		display: none;
	}
}
