/* Native MyTravel layout corrections. No product/booking state is changed. */
@media (max-width: 1199.98px) {
	#header .navbar-brand {
		flex: 0 1 auto;
		min-width: 0;
		max-width: calc(100% - 7rem);
		white-space: normal;
		overflow-wrap: anywhere;
	}
	#header .u-header__navbar-brand-text {
		min-width: 0;
		max-width: 100%;
		white-space: normal;
		overflow-wrap: anywhere;
	}
	#header .navbar-brand img { max-width: 100%; height: auto; object-fit: contain; }
	/* Native title banners remain usable without JavaScript. Enhancement below
	 * restores the existing overlay and measures its actual clearance. Elementor
	 * headers/hero templates are not selected by this native markup signature. */
	html:not(.mytravel-native-header-ready) body:has(.bg-img-hero.text-center.bg-dark > .container.space-top-xl-3) #header.u-header--abs-top {
		position: relative;
		background-color: #fff;
	}
	html:not(.mytravel-native-header-ready) body:has(.bg-img-hero.text-center.bg-dark > .container.space-top-xl-3) #header.u-header--abs-top.u-header--bg-transparent {
		background-color: #3b444f;
	}
}
.mytravel-native-hero { padding-top: var(--mytravel-header-clearance, 0px); }
@media (max-width: 600px) {
	/* A portal is an application, not a narrow prose column. Preserve native
	 * page gutters while giving mobile order labels and amounts room to reflow. */
	body.sp-portal-page .entry-content [class~="max-w-[75%]"]:has(.sp-portal) {
		width: 100%;
		max-width: 100%;
	}
}
/* Native prose's negative alignwide margins must not widen Woo's application
 * layouts beyond their own container. Ordinary Blocks products remain supported;
 * this does not enable the deliberately unsupported Surf Session Blocks flow. */
.entry-content [class~="max-w-[75%]"]:has(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) {
	width: 100%;
	max-width: 100%;
}
body:not(.has-sidebar) .entry-content :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout).alignwide {
	margin-inline: 0;
	max-width: 100%;
	width: 100%;
}
/* Classic cart: keep quantity, price, subtotal and removal visible on phones.
 * Header cells remain available to assistive technology, with visual data-title
 * labels complementing the native table semantics. Never hide financial values. */
.woocommerce-cart-form.table-responsive { position: relative; }
@media (max-width: 767.98px) {
	.woocommerce-cart-form .shop_table_responsive.cart { display: block; width: 100%; white-space: normal !important; }
	.woocommerce-cart-form .shop_table_responsive.cart thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
	.woocommerce-cart-form .shop_table_responsive.cart tbody,
	.woocommerce-cart-form .shop_table_responsive.cart tr { display: block; width: 100%; }
	.woocommerce-cart-form .shop_table_responsive.cart td { display: block; width: 100%; padding: .8rem 1rem; white-space: normal; overflow-wrap: anywhere; }
	.woocommerce-cart-form .shop_table_responsive.cart td[data-title]:not(.product-name) { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: .5rem; text-align: end; }
	.woocommerce-cart-form .shop_table_responsive.cart td[data-title]:not(.product-name)::before { content: attr(data-title); color: #52616c; text-align: start; font-weight: 500; }
	.woocommerce-cart-form .shop_table_responsive.cart td.product-quantity .quantity { justify-self: end; max-width: 100%; }
	.woocommerce-cart-form .shop_table_responsive.cart .product-remove { text-align: end; }
	.woocommerce-cart-form .shop_table_responsive.cart .product-remove a.remove { position: static; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; float: none; opacity: 1; }
	.woocommerce-cart-form .shop_table_responsive.cart .text-gray-1 { color: #52616c; }
	.woocommerce-cart-form .shop_table_responsive.cart .actions { border-top: 1px solid #e7e7ec; }
	.woocommerce-cart-form .shop_table_responsive.cart .actions button { min-height: 44px; }
}
