/**
 * EduBlink theme compatibility – booking modal inherits theme button styles.
 */

.bsb-modal.bsb-edublink-theme,
.bsb-booking-app.bsb-edublink-theme {
	--bsb-primary: #1ab69d;
	--bsb-primary-dark: #15967f;
	--bsb-accent: #ee4a62;
	--bsb-text: #181818;
	--bsb-muted: #808080;
	--bsb-border: #e5e5e5;
	--bsb-bg: #f0f4f5;
	--bsb-radius: 5px;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	color: var(--bsb-text);
}

.bsb-modal.bsb-edublink-theme .bsb-modal-container {
	border-radius: var(--bsb-radius);
}

.bsb-modal.bsb-edublink-theme .bsb-step-title,
.bsb-booking-app.bsb-edublink-theme .bsb-step-title {
	font-weight: 700;
	color: var(--bsb-text);
}

.bsb-modal.bsb-edublink-theme .bsb-progress-dot,
.bsb-booking-app.bsb-edublink-theme .bsb-progress-dot {
	background: var(--bsb-border);
}

.bsb-modal.bsb-edublink-theme .bsb-progress-step.bsb-active .bsb-progress-dot,
.bsb-modal.bsb-edublink-theme .bsb-progress-step.bsb-done .bsb-progress-dot,
.bsb-booking-app.bsb-edublink-theme .bsb-progress-step.bsb-active .bsb-progress-dot,
.bsb-booking-app.bsb-edublink-theme .bsb-progress-step.bsb-done .bsb-progress-dot {
	background: var(--bsb-primary);
}

.bsb-modal.bsb-edublink-theme .bsb-plan-summary,
.bsb-booking-app.bsb-edublink-theme .bsb-plan-summary {
	border-left: 4px solid var(--bsb-primary);
	background: var(--bsb-bg);
}

.bsb-modal.bsb-edublink-theme .bsb-success-icon,
.bsb-booking-app.bsb-edublink-theme .bsb-success-icon {
	background: var(--bsb-primary);
}

.bsb-modal.bsb-edublink-theme .bsb-booking-ref,
.bsb-booking-app.bsb-edublink-theme .bsb-booking-ref {
	color: var(--bsb-accent);
}

.bsb-modal.bsb-edublink-theme .bsb-modal-overlay {
	background: rgba(24, 24, 24, 0.65);
}

.bsb-modal.bsb-edublink-theme .bsb-form-row input:focus,
.bsb-modal.bsb-edublink-theme .bsb-form-row select:focus,
.bsb-booking-app.bsb-edublink-theme .bsb-form-row input:focus,
.bsb-booking-app.bsb-edublink-theme .bsb-form-row select:focus {
	border-color: var(--bsb-primary);
	box-shadow: 0 0 0 3px rgba(26, 182, 157, 0.15);
}

.bsb-modal.bsb-edublink-theme .bsb-slot-card.bsb-selected,
.bsb-booking-app.bsb-edublink-theme .bsb-slot-card.bsb-selected {
	border-color: var(--bsb-primary);
	background: rgba(26, 182, 157, 0.06);
}

/* Use theme edu-btn inside modal – do not override theme button skin */
.bsb-edublink-theme .bsb-nav-edublink {
	align-items: center;
}

.bsb-edublink-theme .bsb-nav-edublink .bsb-nav-btn {
	width: auto;
	min-width: 140px;
	text-align: center;
	cursor: pointer;
}

.bsb-edublink-theme .bsb-nav-edublink .edu-btn.btn-medium {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

/* Fallback edu-btn styles when theme CSS is not loaded (e.g. local preview) */
.bsb-edublink-theme .edu-btn.btn-medium {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 18px 36px;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.2;
	border-radius: 5px;
	text-decoration: none;
	transition: all 0.25s ease;
	cursor: pointer;
	background: var(--bsb-primary);
	color: #fff !important;
	border: 2px solid var(--bsb-primary);
}

.bsb-edublink-theme .edu-btn.btn-medium:hover {
	background: var(--bsb-primary-dark);
	border-color: var(--bsb-primary-dark);
	color: #fff !important;
}

.bsb-edublink-theme .edu-btn.btn-border.btn-medium {
	background: transparent;
	color: var(--bsb-primary) !important;
	border: 2px solid var(--bsb-primary);
}

.bsb-edublink-theme .edu-btn.btn-border.btn-medium:hover {
	background: var(--bsb-primary);
	color: #fff !important;
}

/* Never restyle Elementor pricing tables – theme owns that design */
.eb-pricing-table-wrapper .edu-btn.bsb-open-booking {
	cursor: pointer;
}

.eb-pricing-table-wrapper.bsb-wired .edu-btn {
	pointer-events: auto;
}

/* Plugin shortcode pricing only – separate from Elementor */
.bsb-pricing-grid .bsb-enroll-btn {
	border-radius: 5px;
}

@media (max-width: 768px) {
	.bsb-edublink-theme .edu-btn.btn-medium,
	.bsb-edublink-theme .edu-btn.btn-border.btn-medium {
		width: 100%;
		min-height: 44px;
		padding: 14px 24px;
		font-size: 16px;
	}

	.bsb-edublink-theme .bsb-nav-edublink .bsb-nav-btn {
		width: 100%;
		min-width: 0;
	}
}
