/**
 * Phase 13 Advanced Mobile Experience.
 */
@media (max-width: 782px) {
	.dsp-mobile-experience-enabled {
		font-size: var(--dsp-mobile-body, 1rem);
		-webkit-text-size-adjust: 100%;
		text-size-adjust: 100%;
	}

	.dsp-mobile-experience-enabled h1,
	.dsp-mobile-experience-enabled .hero-title,
	.dsp-mobile-experience-enabled .dsp-hero-title {
		font-size: var(--dsp-mobile-h1, 2.1rem);
		line-height: 1.12;
	}

	.dsp-mobile-experience-enabled .site-header,
	.dsp-mobile-experience-enabled .dsp-header,
	.dsp-mobile-experience-enabled .dsp-header-builder {
		z-index: 999;
	}

	.dsp-mobile-sticky-header-enabled .site-header,
	.dsp-mobile-sticky-header-enabled .dsp-header,
	.dsp-mobile-sticky-header-enabled .dsp-header-builder {
		position: sticky;
		top: 0;
		background: var(--dsp-surface, #fff);
		box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
	}

	.dsp-mobile-experience-enabled section,
	.dsp-mobile-experience-enabled .section,
	.dsp-mobile-experience-enabled .dsp-section,
	.dsp-mobile-experience-enabled .home-section {
		padding-top: var(--dsp-mobile-section-padding, 48px);
		padding-bottom: var(--dsp-mobile-section-padding, 48px);
	}

	.dsp-mobile-experience-enabled a,
	.dsp-mobile-experience-enabled button,
	.dsp-mobile-experience-enabled input[type="button"],
	.dsp-mobile-experience-enabled input[type="submit"],
	.dsp-mobile-experience-enabled .button,
	.dsp-mobile-experience-enabled .btn,
	.dsp-mobile-experience-enabled .menu-toggle {
		min-height: var(--dsp-mobile-touch-target, 48px);
		min-width: var(--dsp-mobile-touch-target, 48px);
	}

	.dsp-mobile-experience-enabled input,
	.dsp-mobile-experience-enabled select,
	.dsp-mobile-experience-enabled textarea {
		font-size: 16px;
		min-height: var(--dsp-mobile-touch-target, 48px);
	}

	.dsp-mobile-experience-enabled img,
	.dsp-mobile-experience-enabled video,
	.dsp-mobile-experience-enabled iframe {
		max-width: 100%;
		height: auto;
	}

	.dsp-mobile-menu-offcanvas-right .main-navigation,
	.dsp-mobile-menu-offcanvas-left .main-navigation,
	.dsp-mobile-menu-fullscreen .main-navigation {
		transition: transform .28s ease, opacity .28s ease, visibility .28s ease;
	}

	.dsp-mobile-menu-offcanvas-right .main-navigation:not(.toggled),
	.dsp-mobile-menu-offcanvas-left .main-navigation:not(.toggled),
	.dsp-mobile-menu-fullscreen .main-navigation:not(.toggled) {
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}

	.dsp-mobile-menu-offcanvas-right .main-navigation:not(.toggled) {
		transform: translateX(100%);
	}

	.dsp-mobile-menu-offcanvas-left .main-navigation:not(.toggled) {
		transform: translateX(-100%);
	}

	.dsp-mobile-menu-offcanvas-right .main-navigation,
	.dsp-mobile-menu-offcanvas-left .main-navigation {
		position: fixed;
		top: 0;
		bottom: 0;
		width: min(86vw, 380px);
		padding: 84px 24px 24px;
		background: var(--dsp-surface, #fff);
		box-shadow: 0 25px 80px rgba(15, 23, 42, .25);
		overflow-y: auto;
		z-index: 1001;
	}

	.dsp-mobile-menu-offcanvas-right .main-navigation {
		right: 0;
	}

	.dsp-mobile-menu-offcanvas-left .main-navigation {
		left: 0;
	}

	.dsp-mobile-menu-fullscreen .main-navigation {
		position: fixed;
		inset: 0;
		padding: 88px 26px 32px;
		background: var(--dsp-surface, #fff);
		overflow-y: auto;
		z-index: 1001;
	}

	.dsp-mobile-menu-fullscreen .main-navigation:not(.toggled) {
		transform: scale(.98);
	}

	.dsp-mobile-experience-enabled .main-navigation.toggled {
		visibility: visible;
		opacity: 1;
		transform: none;
		pointer-events: auto;
	}

	.dsp-mobile-experience-enabled .main-navigation ul,
	.dsp-mobile-experience-enabled .main-navigation li {
		width: 100%;
	}

	.dsp-mobile-experience-enabled .main-navigation a {
		display: flex;
		align-items: center;
		padding: 12px 0;
		border-bottom: 1px solid rgba(148, 163, 184, .22);
	}

	.dsp-mobile-action-bar {
		position: fixed;
		left: 12px;
		right: 12px;
		bottom: max(12px, env(safe-area-inset-bottom));
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: 1fr;
		gap: 8px;
		padding: 8px;
		background: rgba(255, 255, 255, .94);
		backdrop-filter: blur(16px);
		border: 1px solid rgba(148, 163, 184, .35);
		border-radius: 22px;
		box-shadow: 0 22px 60px rgba(15, 23, 42, .22);
		z-index: 1002;
	}

	.dsp-mobile-action-bar__item {
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2px;
		padding: 8px 6px;
		border-radius: 16px;
		background: var(--dsp-primary, #1e3a8a);
		color: #fff;
		text-decoration: none;
		font-weight: 700;
		font-size: .76rem;
	}

	.dsp-mobile-action-bar__icon {
		font-size: 1rem;
		line-height: 1;
	}

	.dsp-mobile-woo-sticky-cart {
		position: fixed;
		left: 12px;
		right: 12px;
		bottom: calc(88px + env(safe-area-inset-bottom));
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 10px 12px;
		background: var(--dsp-surface, #fff);
		border: 1px solid rgba(148, 163, 184, .35);
		border-radius: 18px;
		box-shadow: 0 18px 50px rgba(15, 23, 42, .18);
		z-index: 1001;
	}

	.dsp-mobile-woo-sticky-cart__summary {
		display: grid;
		gap: 2px;
		min-width: 0;
		font-size: .84rem;
	}

	.dsp-mobile-woo-sticky-cart__summary strong {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.dsp-mobile-woo-sticky-cart__button {
		flex: 0 0 auto;
		padding: 10px 14px;
		border-radius: 999px;
		background: var(--dsp-accent, #f97316);
		color: #fff;
		font-weight: 800;
		text-decoration: none;
	}

	.woocommerce div.product form.cart,
	.woocommerce-cart table.cart,
	.woocommerce-checkout form.checkout {
		max-width: 100%;
		overflow-x: auto;
	}

	@media (prefers-reduced-motion: reduce) {
		.dsp-mobile-experience-enabled *,
		.dsp-mobile-experience-enabled *::before,
		.dsp-mobile-experience-enabled *::after {
			scroll-behavior: auto !important;
			transition-duration: .01ms !important;
			animation-duration: .01ms !important;
		}
	}
}

@media (min-width: 783px) {
	.dsp-mobile-action-bar,
	.dsp-mobile-woo-sticky-cart {
		display: none !important;
	}
}
