/**
 * WooCommerce checkout & booking thank-you — Travol theme alignment.
 */

/* Fix sidebar overlap: full-width content on checkout */
body.mybd-checkout-page #travolmenu-aside,
body.mybd-thankyou-page #travolmenu-aside,
body.mybd-tour-checkout-page #travolmenu-aside,
body.mybd-booking-thankyou-page #travolmenu-aside,
body.mybd-checkout-page .travolmenu-nav-toggle,
body.mybd-thankyou-page .travolmenu-nav-toggle,
body.mybd-tour-checkout-page .travolmenu-nav-toggle,
body.mybd-booking-thankyou-page .travolmenu-nav-toggle {
	z-index: 100;
}

body.mybd-checkout-page .mybd-woo-checkout-wrap,
body.mybd-checkout-page .mybd-checkout-section,
body.mybd-thankyou-page .mybd-booking-thankyou-wrap {
	width: 100%;
	margin-left: 0;
	padding-left: 0;
	position: relative;
	z-index: 1;
}

body.mybd-checkout-page #travol-main,
body.mybd-thankyou-page #travol-main,
body.mybd-checkout-page .mybd-woo-checkout-wrap,
body.mybd-thankyou-page .mybd-booking-thankyou-wrap {
	margin-left: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	padding-left: 0 !important;
}

/* Travol off-canvas menu: keep checkout content above / full width when menu closed */
body.mybd-checkout-page.offcanvas .mybd-woo-checkout-wrap,
body.mybd-thankyou-page.offcanvas .mybd-booking-thankyou-wrap {
	transform: none;
}

@media (min-width: 821px) {
	body.mybd-checkout-page #travolmenu-aside,
	body.mybd-thankyou-page #travolmenu-aside,
	body.mybd-tour-checkout-page #travolmenu-aside,
	body.mybd-booking-thankyou-page #travolmenu-aside {
		transform: translateX(-100%);
		visibility: hidden;
		pointer-events: none;
	}

	body.mybd-checkout-page #travol-main,
	body.mybd-thankyou-page #travol-main,
	body.mybd-tour-checkout-page #travol-main,
	body.mybd-booking-thankyou-page #travol-main,
	body.mybd-checkout-page .mybd-woo-checkout-wrap,
	body.mybd-thankyou-page .mybd-booking-thankyou-wrap,
	body.mybd-tour-checkout-page .mybd-tour-checkout-page,
	body.mybd-booking-thankyou-page .mybd-booking-thankyou-page {
		width: 100% !important;
		float: none !important;
	}
}

body.mybd-checkout-page,
body.mybd-thankyou-page,
body.mybd-tour-checkout-page,
body.mybd-booking-thankyou-page {
	overflow-x: hidden;
}

/* Footer sits inside #travol-main (closed in footer.php) — full width on checkout */
body.mybd-tour-checkout-page #travol-main,
body.mybd-booking-thankyou-page #travol-main,
body.mybd-checkout-page #travol-main,
body.mybd-thankyou-page #travol-main {
	width: 100% !important;
	float: none !important;
	clear: both !important;
}

body.mybd-tour-checkout-page .footer,
body.mybd-booking-thankyou-page .footer,
body.mybd-checkout-page .footer,
body.mybd-thankyou-page .footer {
	clear: both !important;
	width: 100% !important;
	float: none !important;
	display: block !important;
	position: relative;
	margin-left: 0 !important;
	box-sizing: border-box;
}

/* —— Custom page: page-tour-checkout.php —— */
.mybd-tour-checkout-page .mybd-checkout-section {
	padding: 50px 0 80px;
	background: #f4f5f8;
}

.mybd-checkout-form-card {
	background: #fff;
	border: 1px solid #e8ecef;
	border-radius: 8px;
	padding: 32px 28px;
	box-shadow: 0 4px 24px rgba(15, 36, 84, 0.06);
}

/* Tour image under Order summary title */
.mybd-checkout-order-col .mybd-checkout-summary-image {
	margin: 0 0 20px;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #e8ecef;
	background: #f8fafb;
	line-height: 0;
}

.mybd-checkout-order-col .mybd-checkout-summary-image img {
	width: 100%;
	height: auto;
	max-height: 280px;
	object-fit: cover;
	display: block;
}

.mybd-checkout-block-title {
	font-family: 'Poppins', sans-serif;
	font-size: 20px;
	color: #0f2454;
	margin: 0 0 20px;
	font-weight: 600;
}

.mybd-checkout-form-layout {
	margin: 0;
}

.mybd-checkout-form-layout .mybd-checkout-customer-details .col-1,
.mybd-checkout-form-layout .mybd-checkout-customer-details .col-2 {
	float: none;
	width: 100%;
}

.mybd-checkout-order-review {
	background: #f8fafb;
	border: 1px solid #e8ecef;
	border-radius: 6px;
	padding: 20px;
}

/* Shared form styles (custom page + fallback) */
.mybd-checkout-form-col .form-row,
.mybd-checkout-col .form-row {
	margin-bottom: 18px;
}

.mybd-checkout-form-col .form-row label,
.mybd-checkout-col .form-row label {
	display: block;
	font-size: 14px;
	color: #0f2454;
	font-weight: 500;
	margin-bottom: 6px;
}

.mybd-checkout-form-col .form-row .input-text,
.mybd-checkout-form-col .form-row select,
.mybd-checkout-form-col .form-row textarea,
.mybd-checkout-col .form-row .input-text,
.mybd-checkout-col .form-row select,
.mybd-checkout-col .form-row textarea {
	width: 100%;
	padding: 14px 16px !important;
	border: 1px solid #dde2e8 !important;
	border-radius: 4px !important;
	background: #fff !important;
	font-size: 15px !important;
	color: #333 !important;
	height: auto !important;
	min-height: 48px;
	line-height: 1.4 !important;
	box-shadow: none !important;
	margin-bottom: 0 !important;
}

.mybd-checkout-form-col #place_order,
.mybd-checkout-col #place_order {
	width: 100%;
	background: #2095ae !important;
	color: #fff !important;
	border: none !important;
	padding: 16px 28px !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-radius: 4px !important;
	cursor: pointer;
	height: auto !important;
}

.mybd-checkout-form-col #place_order:hover,
.mybd-checkout-col #place_order:hover {
	background: #0f2454 !important;
}

.mybd-pay-code-info {
	text-align: left;
	background: #f8fafb;
	border-radius: 6px;
	padding: 20px 24px;
	margin-bottom: 28px;
	border: 1px solid #e8ecef;
}

.mybd-pay-code-info h3 {
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	color: #0f2454;
	margin: 0 0 12px;
}

.mybd-pay-code-info ul {
	margin: 0;
	padding-left: 20px;
	color: #676977;
	font-size: 14px;
	line-height: 1.7;
}

/* Checkout form card */
.mybd-checkout-section {
	padding: 50px 0 80px;
	background: #f4f5f8;
}

.mybd-checkout-col .woocommerce-checkout,
.mybd-checkout-col form.checkout {
	max-width: 100%;
}

.mybd-checkout-col .woocommerce {
	font-family: 'Barlow', sans-serif;
}

.mybd-checkout-col .col2-set {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 30px;
}

.mybd-checkout-col .col2-set .col-1,
.mybd-checkout-col .col2-set .col-2 {
	flex: 1 1 320px;
	min-width: 0;
	float: none !important;
	width: auto !important;
}

.mybd-checkout-col .woocommerce-billing-fields h3,
.mybd-checkout-col #order_review_heading,
.mybd-checkout-col h3#order_review_heading {
	font-family: 'Poppins', sans-serif;
	font-size: 22px;
	color: #0f2454;
	margin-bottom: 20px;
	font-weight: 600;
}

.mybd-checkout-col .form-row {
	margin-bottom: 18px;
}

.mybd-checkout-col .form-row label {
	display: block;
	font-size: 14px;
	color: #0f2454;
	font-weight: 500;
	margin-bottom: 6px;
}

.mybd-checkout-col .form-row .input-text,
.mybd-checkout-col .form-row select,
.mybd-checkout-col .form-row textarea {
	width: 100%;
	padding: 14px 16px !important;
	border: 1px solid #dde2e8 !important;
	border-radius: 4px !important;
	background: #fff !important;
	font-size: 15px !important;
	color: #333 !important;
	height: auto !important;
	min-height: 48px;
	line-height: 1.4 !important;
	box-shadow: none !important;
	margin-bottom: 0 !important;
}

.mybd-checkout-col .form-row .input-text:focus,
.mybd-checkout-col .form-row select:focus {
	border-color: #2095ae !important;
	outline: none;
}

/* Order review box */
.mybd-checkout-col #order_review {
	background: #fff;
	border: 1px solid #e8ecef;
	border-radius: 6px;
	padding: 28px;
	box-shadow: 0 4px 24px rgba(15, 36, 84, 0.06);
}

.mybd-checkout-col table.shop_table {
	border: none;
	width: 100%;
}

.mybd-checkout-col table.shop_table th,
.mybd-checkout-col table.shop_table td {
	border-bottom: 1px solid #eef1f4;
	padding: 14px 8px;
	color: #333;
}

.mybd-checkout-col table.shop_table .order-total th,
.mybd-checkout-col table.shop_table .order-total td {
	font-size: 18px;
	font-weight: 600;
	color: #0f2454;
	border-bottom: none;
}

/* Pay Later payment box */
.mybd-checkout-col #payment {
	background: transparent;
	border-radius: 0;
}

.mybd-checkout-col #payment .payment_methods {
	border: 1px solid #e8ecef;
	border-radius: 6px;
	padding: 16px 20px;
	background: #f8fafb;
	list-style: none;
	margin: 0 0 24px;
}

.mybd-checkout-col #payment .payment_methods li {
	margin: 0;
	padding: 0;
}

.mybd-checkout-col #payment .payment_box {
	background: #fff;
	border: 1px solid #e8ecef;
	margin-top: 12px;
	padding: 14px;
	border-radius: 4px;
	color: #676977;
	font-size: 14px;
}

/* Place order button */
.mybd-checkout-col #place_order,
.mybd-checkout-col button#place_order {
	width: 100%;
	background: #2095ae !important;
	color: #fff !important;
	border: none !important;
	padding: 16px 28px !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-radius: 4px !important;
	cursor: pointer;
	transition: background 0.2s ease;
	height: auto !important;
	line-height: 1.4 !important;
}

.mybd-checkout-col #place_order:hover,
.mybd-checkout-col button#place_order:hover {
	background: #0f2454 !important;
}

/* Thank you page */
.mybd-thankyou-section {
	background: #f4f5f8;
}

.mybd-thankyou-card {
	background: #fff;
	border-radius: 8px;
	padding: 48px 40px;
	text-align: center;
	box-shadow: 0 8px 40px rgba(15, 36, 84, 0.08);
	border: 1px solid #e8ecef;
}

.mybd-thankyou-icon {
	width: 72px;
	height: 72px;
	line-height: 72px;
	border-radius: 50%;
	background: #2095ae;
	color: #fff;
	font-size: 36px;
	margin: 0 auto 24px;
	font-weight: 700;
}

.mybd-thankyou-card h2 {
	font-family: 'Poppins', sans-serif;
	color: #0f2454;
	font-size: 28px;
	margin-bottom: 16px;
}

.mybd-thankyou-lead {
	color: #676977;
	font-size: 16px;
	line-height: 1.7;
	margin-bottom: 32px;
}

.mybd-pay-code-box {
	background: linear-gradient(135deg, #0f2454 0%, #2095ae 100%);
	border-radius: 8px;
	padding: 32px 24px;
	margin-bottom: 32px;
	color: #ffffff !important;
}

.mybd-pay-code-box .mybd-pay-code-label,
.mybd-pay-code-box .mybd-pay-code-value,
.mybd-pay-code-box .mybd-pay-code-hint,
.mybd-pay-code-box p {
	color: #ffffff !important;
}

.mybd-pay-code-label {
	margin: 0 0 12px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 2px;
	opacity: 1;
}

.mybd-pay-code-value {
	font-family: 'Poppins', monospace;
	font-size: 36px;
	font-weight: 700;
	letter-spacing: 6px;
	margin-bottom: 16px;
	word-break: break-all;
	color: #ffffff !important;
}

.mybd-pay-code-hint {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	opacity: 1;
	color: #ffffff !important;
}

.mybd-order-id-box {
	background: linear-gradient(135deg, #0f2454 0%, #2095ae 100%);
	border-radius: 8px;
	padding: 32px 24px;
	margin-bottom: 32px;
	color: #ffffff !important;
}

.mybd-order-id-box .mybd-order-id-label,
.mybd-order-id-box .mybd-order-id-value,
.mybd-order-id-box .mybd-order-id-hint,
.mybd-order-id-box p {
	color: #ffffff !important;
}

.mybd-order-id-label {
	margin: 0 0 12px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.mybd-order-id-value {
	font-family: 'Poppins', monospace;
	font-size: 36px;
	font-weight: 700;
	letter-spacing: 4px;
	margin-bottom: 16px;
	word-break: break-all;
	color: #ffffff !important;
}

.mybd-order-id-hint {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #ffffff !important;
}

.mybd-thankyou-icon--error {
	background: #c0392b;
	color: #fff;
}

.mybd-thankyou-icon--pending {
	background: #f39c12;
	color: #fff;
}

.mybd-thankyou-meta {
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
	text-align: left;
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
}

.mybd-thankyou-meta li {
	padding: 8px 0;
	border-bottom: 1px solid #eef1f4;
	color: #333;
}

.mybd-thankyou-booking-details {
	text-align: left;
	background: #f8fafb;
	padding: 20px 24px;
	border-radius: 6px;
	margin-bottom: 24px;
}

.mybd-thankyou-booking-details h3 {
	font-size: 16px;
	color: #0f2454;
	margin-bottom: 12px;
}

.mybd-thankyou-email-note {
	font-size: 14px;
	color: #676977;
	margin-bottom: 28px;
}

.mybd-thankyou-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
	align-items: center;
}

.mybd-thankyou-link {
	color: #2095ae;
	font-weight: 500;
	text-decoration: underline;
}

@media (max-width: 991px) {
	.mybd-checkout-form-layout .mybd-checkout-order-col {
		margin-top: 30px;
	}
}

@media (max-width: 767px) {
	.mybd-checkout-col .col2-set {
		flex-direction: column;
	}

	.mybd-checkout-form-card {
		padding: 24px 16px;
	}

	.mybd-pay-code-value {
		font-size: 24px;
		letter-spacing: 3px;
	}

	.mybd-thankyou-card {
		padding: 32px 20px;
	}
}
