/* ================================================================
   CWB Frontend — Mobile-screen style, flat, no gradients/shadows
   ================================================================ */

/* ── CSS Variables ─────────────────────────────────────────── */
.cwb-wrap {
	--cwb-primary:       #e91e8c;
	--cwb-secondary:     #fff0f7;
	--cwb-btn:           #e91e8c;
	--cwb-btn-text:      #ffffff;
	--cwb-step-active:   #e91e8c;
	--cwb-step-inactive: #cccccc;
	--cwb-text:          #222222;
	--cwb-subtext:       #666666;
	--cwb-border:        #e0e0e0;
	--cwb-input-bg:      #fafafa;
	--cwb-radius:        6px;
	--cwb-font:          -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ── Scoped reset ──────────────────────────────────────────── */
.cwb-wrap *, .cwb-wrap *::before, .cwb-wrap *::after {
	box-sizing: border-box !important;
}
.cwb-wrap {
	font-family: var(--cwb-font) !important;
	color: var(--cwb-text) !important;
	line-height: 1.5 !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

/* ================================================================
   STEP INDICATOR — upar ek horizontal line
   ================================================================ */
.cwb-steps {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	width: 100% !important;
	padding: 14px 6px 18px !important;
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch !important;
}
.cwb-step {
	display: flex !important; flex-direction: column !important;
	align-items: center !important; gap: 4px !important;
	flex: 1 !important; min-width: 0 !important;
}
.cwb-step__num {
	width: 20px !important; height: 20px !important;
	border-radius: 50% !important; background: var(--cwb-step-inactive) !important;
	color: #fff !important; font-size: 10px !important; font-weight: 700 !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	flex-shrink: 0 !important; transition: background 0.2s !important;
}
.cwb-step__circle { display: flex !important; align-items: center !important; justify-content: center !important; }
.cwb-step__circle .cwb-icon { width: 22px !important; height: 22px !important; color: var(--cwb-step-inactive) !important; transition: color 0.2s !important; }
.cwb-step__label { font-size: 9px !important; color: var(--cwb-step-inactive) !important; text-align: center !important; font-weight: 500 !important; line-height: 1.2 !important; width: 100% !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
/* Active */
.cwb-step--active .cwb-step__num   { background: var(--cwb-step-active) !important; }
.cwb-step--active .cwb-step__circle .cwb-icon { color: var(--cwb-step-active) !important; }
.cwb-step--active .cwb-step__label { color: var(--cwb-step-active) !important; font-weight: 700 !important; }
/* Done */
.cwb-step--done .cwb-step__num   { background: var(--cwb-step-active) !important; }
.cwb-step--done .cwb-step__circle .cwb-icon { color: var(--cwb-step-active) !important; }
.cwb-step--done .cwb-step__label { color: var(--cwb-step-active) !important; }
/* Connector */
.cwb-step__line { flex: 0 0 auto !important; width: 14px !important; height: 2px !important; background: var(--cwb-step-inactive) !important; align-self: center !important; margin-bottom: 24px !important; transition: background 0.2s !important; }
.cwb-step__line--done { background: var(--cwb-step-active) !important; }

/* ================================================================
   PANELS — step-wise, ek waqt ek visible
   ================================================================ */
.cwb-panel { display: none !important; }
.cwb-panel--active { display: block !important; }
.cwb-panel__inner {
	width: 100% !important;
	padding: 18px 16px 24px !important;
	background: #fff !important;
	border: 1px solid var(--cwb-border) !important;
	border-radius: 10px !important;
}
.cwb-panel__inner--center { text-align: center !important; }

.cwb-panel__title { font-size: 20px !important; font-weight: 700 !important; color: var(--cwb-text) !important; margin: 0 0 6px !important; }
.cwb-panel__sub   { font-size: 13px !important; color: var(--cwb-subtext) !important; margin: 0 0 16px !important; }

/* ================================================================
   CALENDAR (FLATPICKR)
   ================================================================ */
.cwb-calendar-wrap {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 14px !important;
}

/* Inline flatpickr inside cwb-wrap */
.cwb-wrap .flatpickr-calendar {
	border: 1px solid var(--cwb-border) !important;
	border-radius: var(--cwb-radius) !important;
	font-family: var(--cwb-font) !important;
	width: 100% !important;
	max-width: 100% !important;
}
.cwb-wrap .flatpickr-days,
.cwb-wrap .dayContainer {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}
.cwb-wrap .flatpickr-day {
	max-width: calc(100% / 7) !important;
	flex: 1 1 auto !important;
	height: 28px !important;
	line-height: 28px !important;
	font-size: 11px !important;
	margin: 1px !important;
}
.cwb-wrap .flatpickr-weekday {
	font-size: 10px !important;
	flex: 1 !important;
}
.cwb-wrap .flatpickr-weekdays,
.cwb-wrap .flatpickr-weeks {
	width: 100% !important;
}
.cwb-wrap .flatpickr-current-month {
	font-size: 12px !important;
	padding-top: 4px !important;
}
.cwb-wrap .flatpickr-current-month input.cur-year {
	font-size: 11px !important;
}
.cwb-wrap .flatpickr-current-month .flatpickr-monthDropdown-months {
	font-size: 11px !important;
	color: var(--cwb-text) !important;
}
.cwb-wrap .flatpickr-months {
	padding: 4px 0 !important;
}
.cwb-wrap .flatpickr-months .flatpickr-prev-month svg,
.cwb-wrap .flatpickr-months .flatpickr-next-month svg { width: 12px !important; height: 12px !important; }
.cwb-wrap .flatpickr-day.selected,
.cwb-wrap .flatpickr-day.selected:hover {
	background: var(--cwb-primary) !important;
	border-color: var(--cwb-primary) !important;
	color: #fff !important;
}
.cwb-wrap .flatpickr-day.flatpickr-disabled,
.cwb-wrap .flatpickr-day.cwb-booked {
	background: #fdedec !important;
	color: #c0392b !important;
	text-decoration: line-through !important;
	cursor: not-allowed !important;
}
.cwb-wrap .flatpickr-day:hover:not(.flatpickr-disabled):not(.cwb-booked) {
	background: var(--cwb-secondary) !important;
	border-color: var(--cwb-primary) !important;
	color: #222222 !important;
}
/* Global — calendar body-appended */
.flatpickr-calendar.cwb-cal {
	width: auto !important;
}
.flatpickr-calendar.cwb-cal .flatpickr-days,
.flatpickr-calendar.cwb-cal .dayContainer {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}
.flatpickr-calendar.cwb-cal .flatpickr-day {
	max-width: calc(100% / 7) !important;
	flex: 1 1 auto !important;
	height: 28px !important;
	line-height: 28px !important;
	font-size: 11px !important;
}
.flatpickr-calendar.cwb-cal .flatpickr-weekday {
	font-size: 10px !important;
	flex: 1 !important;
}
.flatpickr-calendar.cwb-cal .flatpickr-current-month { font-size: 12px !important; }
.flatpickr-calendar.cwb-cal input.cur-year { font-size: 11px !important; }
.flatpickr-calendar.cwb-cal .flatpickr-day:hover:not(.flatpickr-disabled):not(.selected):not(.cwb-booked) {
	background: #fff0f7 !important;
	border-color: #e91e8c !important;
	color: #222222 !important;
}
.flatpickr-calendar.cwb-cal .flatpickr-day.selected,
.flatpickr-calendar.cwb-cal .flatpickr-day.selected:hover {
	background: #e91e8c !important;
	border-color: #e91e8c !important;
	color: #fff !important;
}
.flatpickr-calendar.cwb-cal .flatpickr-day.flatpickr-disabled,
.flatpickr-calendar.cwb-cal .flatpickr-day.cwb-booked {
	background: #fdedec !important;
	color: #c0392b !important;
	text-decoration: line-through !important;
	cursor: not-allowed !important;
}
.flatpickr-calendar.cwb-cal .flatpickr-day.flatpickr-disabled:hover,
.flatpickr-calendar.cwb-cal .flatpickr-day.cwb-booked:hover {
	background: #fdedec !important;
	color: #c0392b !important;
}

.cwb-legend {
	display: flex !important;
	gap: 16px !important;
	font-size: 12px !important;
	color: var(--cwb-subtext) !important;
	align-items: center !important;
}
.cwb-legend-dot {
	width: 11px !important;
	height: 11px !important;
	border-radius: 50% !important;
	display: inline-block !important;
	margin-right: 4px !important;
	flex-shrink: 0 !important;
}
.cwb-legend-available { background: var(--cwb-primary) !important; }
.cwb-legend-booked    { background: #e74c3c !important; }

.cwb-selected-date-text {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--cwb-primary) !important;
	margin: 10px 0 0 !important;
	min-height: 20px !important;
}

/* ================================================================
   PACKAGES
   ================================================================ */
.cwb-packages { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.cwb-package-card { cursor: pointer !important; display: block !important; }
.cwb-package-card input[type="radio"] { position: absolute !important; opacity: 0 !important; pointer-events: none !important; }
.cwb-package-card__inner {
	border: 2px solid var(--cwb-border) !important;
	border-radius: var(--cwb-radius) !important;
	padding: 14px 16px !important;
	transition: border-color 0.2s !important;
	background: #fff !important;
}
.cwb-package-card:hover .cwb-package-card__inner  { border-color: var(--cwb-primary) !important; }
.cwb-package-card--selected .cwb-package-card__inner {
	border-color: var(--cwb-primary) !important;
	background: var(--cwb-secondary) !important;
}
.cwb-package-card__header {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-bottom: 10px !important;
}
.cwb-package-card__radio-dot {
	width: 16px !important;
	height: 16px !important;
	border-radius: 50% !important;
	border: 2px solid var(--cwb-border) !important;
	flex-shrink: 0 !important;
	transition: border-color 0.2s, background 0.2s !important;
}
.cwb-package-card--selected .cwb-package-card__radio-dot {
	border-color: var(--cwb-primary) !important;
	background: var(--cwb-primary) !important;
}
.cwb-package-card__name  { flex: 1 !important; font-weight: 700 !important; font-size: 15px !important; color: var(--cwb-text) !important; }
.cwb-package-card__price { font-weight: 700 !important; font-size: 17px !important; color: var(--cwb-primary) !important; }

/* Most Popular badge */
.cwb-package-card--popular .cwb-package-card__inner {
	border-color: var(--cwb-primary) !important;
}
.cwb-package-card__popular {
	background: var(--cwb-primary) !important;
	color: #fff !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.5px !important;
	text-align: center !important;
	padding: 4px 8px !important;
	margin: -16px -18px 10px !important;
	border-radius: var(--cwb-radius) var(--cwb-radius) 0 0 !important;
}

/* Deposit + Balance row */
.cwb-package-card__deposit {
	display: flex !important;
	gap: 12px !important;
	margin-top: 10px !important;
	padding-top: 8px !important;
	border-top: 1px solid var(--cwb-border) !important;
}
.cwb-pkg-deposit-label {
	font-size: 11px !important;
	font-weight: 700 !important;
	color: var(--cwb-primary) !important;
	background: var(--cwb-secondary) !important;
	padding: 3px 8px !important;
	border-radius: 3px !important;
}
.cwb-pkg-balance-label {
	font-size: 11px !important;
	font-weight: 600 !important;
	color: var(--cwb-subtext) !important;
	padding: 3px 0 !important;
}
.cwb-package-card__features {
	list-style: none !important; padding: 0 !important; margin: 0 !important;
	display: flex !important; flex-direction: column !important; gap: 5px !important;
}
.cwb-package-card__features li {
	display: flex !important; align-items: center !important; gap: 6px !important;
	font-size: 13px !important; color: var(--cwb-subtext) !important;
}
.cwb-package-card__features .cwb-icon { color: var(--cwb-primary) !important; width: 13px !important; height: 13px !important; flex-shrink: 0 !important; }

/* ================================================================
   FORM FIELDS
   ================================================================ */
.cwb-form { display: flex !important; flex-direction: column !important; gap: 14px !important; }
.cwb-form__field { display: flex !important; flex-direction: column !important; gap: 4px !important; }
.cwb-form__field label { font-size: 12px !important; font-weight: 600 !important; color: var(--cwb-text) !important; }
.cwb-form__field input,
.cwb-form__field textarea,
.cwb-form__field select {
	padding: 10px 12px !important;
	border: 1px solid var(--cwb-border) !important;
	border-radius: var(--cwb-radius) !important;
	font-size: 14px !important;
	font-family: var(--cwb-font) !important;
	color: var(--cwb-text) !important;
	background: var(--cwb-input-bg) !important;
	width: 100% !important;
	transition: border-color 0.2s !important;
}
.cwb-form__field input:focus,
.cwb-form__field textarea:focus { border-color: var(--cwb-primary) !important; outline: none !important; }
.cwb-readonly-field { background: var(--cwb-secondary) !important; color: var(--cwb-primary) !important; font-weight: 600 !important; cursor: default !important; }
.cwb-req { color: #e74c3c !important; }
.cwb-form__error { font-size: 12px !important; color: #e74c3c !important; margin-top: 8px !important; min-height: 16px !important; font-weight: 500 !important; }

/* ================================================================
   BUTTONS
   ================================================================ */
.cwb-btn-primary {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	padding: 11px 20px !important;
	background: var(--cwb-btn) !important;
	color: var(--cwb-btn-text) !important;
	border: none !important;
	border-radius: var(--cwb-radius) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	font-family: var(--cwb-font) !important;
	cursor: pointer !important;
	text-decoration: none !important;
	line-height: 1 !important;
	transition: opacity 0.2s !important;
}
.cwb-btn-primary:hover    { opacity: 0.88 !important; }
.cwb-btn-primary:disabled { opacity: 0.5 !important; cursor: not-allowed !important; }
.cwb-btn-primary .cwb-icon { width: 15px !important; height: 15px !important; }
.cwb-btn-large { padding: 13px 26px !important; font-size: 15px !important; }

.cwb-btn-ghost {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	padding: 10px 16px !important;
	background: none !important;
	color: var(--cwb-subtext) !important;
	border: 1px solid var(--cwb-border) !important;
	border-radius: var(--cwb-radius) !important;
	font-size: 14px !important;
	font-family: var(--cwb-font) !important;
	cursor: pointer !important;
	transition: border-color 0.2s, color 0.2s !important;
}
.cwb-btn-ghost:hover { border-color: var(--cwb-primary) !important; color: var(--cwb-primary) !important; }
.cwb-btn-ghost .cwb-icon { width: 15px !important; height: 15px !important; }

.cwb-btn-row {
	display: flex !important;
	gap: 10px !important;
	align-items: center !important;
	margin-top: 20px !important;
	flex-wrap: nowrap !important;
}

/* ================================================================
   AGREEMENT — image with text OVERLAY (pink, centered, no bg)
   ================================================================ */
.cwb-agree-header {
	position: relative !important;
	margin-bottom: 20px !important;
	border-radius: var(--cwb-radius) !important;
	overflow: hidden !important;
}
.cwb-agree-header__img {
	width: 100% !important;
	display: block !important;
	height: 100px !important;
	object-fit: cover !important;
}
/* Elementor overrides these via inline selectors directly */
/* Text sits ON TOP of image, centered, pink color, no overlay box */
.cwb-agree-header__title {
	position: absolute !important;
	top: 50% !important;
	left: 0 !important;
	right: 0 !important;
	transform: translateY(-50%) !important;
	text-align: center !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	color: #e91e8c !important;
	margin: 0 !important;
	padding: 0 16px !important;
	background: none !important;
	letter-spacing: 0.5px !important;
}

.cwb-agreement-text {
	background: var(--cwb-secondary) !important;
	border: 1px solid var(--cwb-border) !important;
	border-radius: var(--cwb-radius) !important;
	padding: 14px 16px !important;
	font-size: 12px !important;
	color: var(--cwb-subtext) !important;
	line-height: 1.7 !important;
	max-height: 160px !important;
	overflow-y: auto !important;
	margin-bottom: 18px !important;
}
.cwb-agree-form { display: flex !important; flex-direction: column !important; gap: 14px !important; }
.cwb-name-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }

/* Checkbox */
.cwb-checkbox-label {
	display: flex !important; align-items: flex-start !important; gap: 10px !important;
	cursor: pointer !important; font-size: 13px !important; color: var(--cwb-text) !important;
}
.cwb-checkbox-label input[type="checkbox"] { position: absolute !important; opacity: 0 !important; pointer-events: none !important; }
.cwb-checkbox-box {
	width: 17px !important; height: 17px !important;
	border: 2px solid var(--cwb-border) !important; border-radius: 3px !important;
	flex-shrink: 0 !important; display: flex !important; align-items: center !important;
	justify-content: center !important; transition: background 0.2s, border-color 0.2s !important; margin-top: 2px !important;
}
.cwb-checkbox-label input:checked + .cwb-checkbox-box {
	background: var(--cwb-primary) !important; border-color: var(--cwb-primary) !important;
}
.cwb-checkbox-label input:checked + .cwb-checkbox-box::after {
	content: '' !important; width: 9px !important; height: 5px !important;
	border-left: 2px solid #fff !important; border-bottom: 2px solid #fff !important;
	transform: rotate(-45deg) translateY(-1px) !important; display: block !important;
}

/* Signature pads — side by side, one line */
.cwb-sig-row {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 10px !important;
}
.cwb-sig-canvas { width: 100% !important; height: 70px !important; display: block !important; cursor: crosshair !important; touch-action: none !important; }
.cwb-sig-block { display: flex !important; flex-direction: column !important; gap: 5px !important; }
.cwb-sig-label { font-size: 11px !important; font-weight: 600 !important; color: var(--cwb-text) !important; }
.cwb-sig-pad-wrap {
	border: 1px solid var(--cwb-border) !important; border-radius: var(--cwb-radius) !important;
	background: #fff !important; overflow: hidden !important;
}
.cwb-sig-canvas { width: 100% !important; height: 70px !important; display: block !important; cursor: crosshair !important; touch-action: none !important; }
.cwb-sig-clear {
	background: none !important; border: 1px solid var(--cwb-border) !important;
	border-radius: var(--cwb-radius) !important; padding: 4px 10px !important;
	font-size: 11px !important; cursor: pointer !important; color: var(--cwb-subtext) !important;
	align-self: flex-start !important; font-family: var(--cwb-font) !important;
}
.cwb-sig-clear:hover { border-color: var(--cwb-primary) !important; color: var(--cwb-primary) !important; }

/* ================================================================
   PAYMENT
   ================================================================ */
.cwb-payment-summary {
	display: flex !important;
	flex-direction: column !important;
	padding: 12px 16px !important;
	background: var(--cwb-secondary) !important;
	border-radius: var(--cwb-radius) !important;
	margin-bottom: 18px !important;
}
.cwb-payment-summary__row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	font-size: 14px !important;
}
.cwb-payment-summary__balance {
	font-size: 12px !important;
	color: var(--cwb-subtext) !important;
	margin-top: 6px !important;
	padding-top: 6px !important;
	border-top: 1px solid var(--cwb-border) !important;
}
.cwb-payment-summary strong { font-size: 22px !important; color: var(--cwb-primary) !important; }

.cwb-pay-method {
	border: 1px solid var(--cwb-border) !important; border-radius: var(--cwb-radius) !important;
	padding: 14px 16px !important; margin-bottom: 14px !important; background: #fff !important;
}
.cwb-pay-method__header {
	display: flex !important; align-items: center !important; gap: 10px !important;
	font-weight: 700 !important; font-size: 14px !important; margin-bottom: 12px !important;
}
.cwb-pay-note { font-size: 12px !important; color: #e74c3c !important; margin: 6px 0 0 !important; }

.cwb-pay-divider {
	display: flex !important; align-items: center !important; gap: 10px !important;
	margin: 16px 0 !important; color: var(--cwb-subtext) !important; font-size: 12px !important;
}
.cwb-pay-divider::before,
.cwb-pay-divider::after { content: '' !important; flex: 1 !important; height: 1px !important; background: var(--cwb-border) !important; }

.cwb-alt-methods { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.cwb-alt-method {
	display: flex !important; align-items: center !important; gap: 12px !important;
	padding: 12px 14px !important; border: 1px solid var(--cwb-border) !important;
	border-radius: var(--cwb-radius) !important; cursor: pointer !important;
	transition: border-color 0.2s !important; background: #fff !important;
}
.cwb-alt-method:hover           { border-color: var(--cwb-primary) !important; }
.cwb-alt-method--selected        { border-color: var(--cwb-primary) !important; background: var(--cwb-secondary) !important; }
.cwb-alt-method__icon            { flex-shrink: 0 !important; }
.cwb-alt-method__icon .cwb-icon--brand { width: 34px !important; height: 34px !important; border-radius: 6px !important; }
.cwb-alt-method__info            { display: flex !important; flex-direction: column !important; gap: 1px !important; }
.cwb-alt-method__info strong     { font-size: 13px !important; font-weight: 700 !important; }
.cwb-alt-method__info span       { font-size: 12px !important; color: var(--cwb-subtext) !important; }
.cwb-alt-method__info em         { font-style: normal !important; color: var(--cwb-primary) !important; font-weight: 600 !important; }

/* Upload */
.cwb-screenshot-upload { margin-top: 16px !important; }
.cwb-upload-area {
	border: 2px dashed var(--cwb-border) !important; border-radius: var(--cwb-radius) !important;
	padding: 28px 16px !important; text-align: center !important; cursor: pointer !important;
	transition: border-color 0.2s, background 0.2s !important;
	position: relative !important; user-select: none !important; -webkit-user-select: none !important;
}
.cwb-upload-area:hover,
.cwb-upload-area:focus { border-color: var(--cwb-primary) !important; background: var(--cwb-secondary) !important; outline: none !important; }
.cwb-upload-placeholder { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 8px !important; color: var(--cwb-subtext) !important; font-size: 13px !important; pointer-events: none !important; }
.cwb-upload-placeholder .cwb-icon { width: 32px !important; height: 32px !important; color: var(--cwb-primary) !important; }
#cwb-preview-img   { max-height: 100px !important; max-width: 100% !important; border-radius: var(--cwb-radius) !important; }
#cwb-preview-name  { display: block !important; font-size: 12px !important; color: var(--cwb-subtext) !important; margin-top: 6px !important; }

/* ================================================================
   THANK YOU
   ================================================================ */
.cwb-thankyou { padding: 16px 0 32px !important; }
.cwb-thankyou__icon .cwb-icon--lg { width: 44px !important; height: 44px !important; color: var(--cwb-primary) !important; }
.cwb-thankyou__title { font-size: 28px !important; font-weight: 700 !important; color: var(--cwb-primary) !important; margin: 8px 0 10px !important; }
.cwb-thankyou__text  { font-size: 14px !important; color: var(--cwb-subtext) !important; margin: 0 auto 14px !important; }
.cwb-thankyou__ref   { font-size: 13px !important; color: var(--cwb-text) !important; margin-bottom: 20px !important; }
.cwb-thankyou__book-wrap { margin: 20px auto !important; max-width: 100px !important; }
.cwb-thankyou__book-img  { width: 100% !important; display: block !important; }

/* Download PDF button — compact, no cut-off */
.cwb-btn-download {
	padding: 9px 12px !important;
	font-size: 11px !important;
	white-space: normal !important;
	word-break: break-word !important;
	text-align: center !important;
	line-height: 1.4 !important;
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
}
.cwb-btn-download .cwb-icon { flex-shrink: 0 !important; width: 14px !important; height: 14px !important; }

/* ================================================================
   ICONS & SPINNER
   ================================================================ */
.cwb-icon        { width: 18px !important; height: 18px !important; display: inline-block !important; vertical-align: middle !important; flex-shrink: 0 !important; }
.cwb-icon--sm    { width: 13px !important; height: 13px !important; }
.cwb-icon--lg    { width: 38px !important; height: 38px !important; }
.cwb-icon--brand { width: 26px !important; height: 26px !important; border-radius: 4px !important; }

.cwb-spinner {
	display: inline-block !important; width: 14px !important; height: 14px !important;
	border: 2px solid rgba(255,255,255,0.4) !important; border-top-color: #fff !important;
	border-radius: 50% !important; animation: cwb-spin 0.7s linear infinite !important;
}
@keyframes cwb-spin { to { transform: rotate(360deg); } }

/* ================================================================
   RESPONSIVE
   ================================================================ */

/* ── Tablet: 768px ─────────────────────────────────────────── */
@media (max-width: 768px) {
	.cwb-wrap               { max-width: 100% !important; padding: 0 8px !important; }
	.cwb-step__label        { font-size: 9px !important; }
	.cwb-step__circle .cwb-icon { width: 18px !important; height: 18px !important; }
	.cwb-panel__title       { font-size: 18px !important; }
	.cwb-name-row           { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
	.cwb-sig-row            { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
	.cwb-thankyou__book-wrap { max-width: 140px !important; }
}

/* ── Mobile: 480px ─────────────────────────────────────────── */
@media (max-width: 480px) {
	/* Wrap */
	.cwb-wrap               { max-width: 100% !important; padding: 0 4px !important; }

	/* Step indicator — smaller */
	.cwb-steps              { padding: 8px 2px 12px !important; gap: 0 !important; }
	.cwb-step               { gap: 3px !important; }
	.cwb-step__num          { width: 15px !important; height: 15px !important; font-size: 8px !important; }
	.cwb-step__circle .cwb-icon { width: 14px !important; height: 14px !important; }
	.cwb-step__label        { font-size: 7px !important; white-space: normal !important; line-height: 1.1 !important; }
	.cwb-step__line         { width: 6px !important; margin-bottom: 20px !important; }

	/* Panel */
	.cwb-panel__inner       { padding: 12px 10px 18px !important; border-radius: 8px !important; }
	.cwb-panel__title       { font-size: 15px !important; }
	.cwb-panel__sub         { font-size: 12px !important; margin-bottom: 12px !important; }

	/* Calendar */
	.cwb-wrap .flatpickr-calendar { max-width: 100% !important; }
	.cwb-wrap .flatpickr-day { height: 24px !important; line-height: 24px !important; font-size: 10px !important; }
	.cwb-wrap .flatpickr-weekday { font-size: 9px !important; }
	.cwb-wrap .flatpickr-current-month { font-size: 11px !important; }

	/* Forms */
	.cwb-name-row           { grid-template-columns: 1fr !important; gap: 10px !important; }
	.cwb-form__field label  { font-size: 11px !important; }
	.cwb-form__field input,
	.cwb-form__field textarea { font-size: 13px !important; padding: 8px 10px !important; }

	/* Packages */
	.cwb-package-card__name  { font-size: 13px !important; }
	.cwb-package-card__price { font-size: 14px !important; }
	.cwb-package-card__features li { font-size: 11px !important; }

	/* Buttons */
	.cwb-btn-row            { flex-direction: column !important; gap: 8px !important; }
	.cwb-btn-primary,
	.cwb-btn-ghost          { width: 100% !important; justify-content: center !important; }
	.cwb-btn-primary        { font-size: 13px !important; padding: 10px 16px !important; }
	.cwb-btn-ghost          { font-size: 13px !important; padding: 9px 14px !important; }

	/* Agreement */
	.cwb-agree-header__img  { height: 80px !important; }
	.cwb-agree-header__title { font-size: 13px !important; }
	.cwb-agreement-text     { font-size: 11px !important; max-height: 120px !important; }

	/* Signatures — stack on very small screens */
	.cwb-sig-row            { grid-template-columns: 1fr !important; gap: 10px !important; }
	.cwb-sig-canvas         { height: 60px !important; }

	/* Payment */
	.cwb-payment-summary    { flex-direction: column !important; gap: 4px !important; text-align: center !important; }
	.cwb-payment-summary strong { font-size: 16px !important; }
	.cwb-alt-method         { padding: 10px 12px !important; gap: 10px !important; }
	.cwb-alt-method__icon .cwb-icon--brand { width: 28px !important; height: 28px !important; }

	/* Thank You */
	.cwb-thankyou__title    { font-size: 20px !important; }
	.cwb-thankyou__text     { font-size: 13px !important; }
	.cwb-thankyou__book-wrap { max-width: 120px !important; }
	.cwb-btn-download       { font-size: 11px !important; padding: 9px 12px !important; }
}

/* ── Very small: 360px ─────────────────────────────────────── */
@media (max-width: 360px) {
	.cwb-step__label        { display: none !important; }
	.cwb-step__num          { width: 14px !important; height: 14px !important; font-size: 7px !important; }
	.cwb-step__circle .cwb-icon { width: 12px !important; height: 12px !important; }
	.cwb-step__line         { width: 4px !important; }
	.cwb-panel__title       { font-size: 14px !important; }
}
