/**
 * Axon mobile CRO layer.
 *
 * Loaded after the shared design styles. This file intentionally changes only
 * presentation: the parent theme and WooCommerce keep owning navigation,
 * product, cart, account, and checkout behaviour.
 */

@media (max-width: 767px) {
	:root {
		--axon-mobile-gutter: 14px;
		--axon-mobile-radius: 18px;
		--axon-mobile-bar-height: 64px;
	}

	html {
		scroll-padding-top: 16px;
	}

	body.axon-design-system {
		min-width: 320px;
		background: var(--axon-navy-strong);
		color: var(--axon-text);
		font-size: 15px;
		line-height: 1.55;
		-webkit-text-size-adjust: 100%;
	}

	body.axon-design-system :where(img, svg, video, iframe) {
		max-width: 100%;
	}

	body.axon-design-system :where(button, .button, input[type="button"], input[type="submit"], a.button) {
		min-height: 44px;
		touch-action: manipulation;
	}

	body.axon-design-system :where(input, select, textarea) {
		font-size: 16px !important;
	}

	.axon-design-system #page-title.pls-page-title .pls-breadcrumb {
		max-width: 100%;
		flex-wrap: nowrap;
		overflow: hidden;
		white-space: nowrap;
	}

	.axon-design-system #page-title.pls-page-title .pls-breadcrumb .last {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	/* Keep the compact header in normal document flow. It should not follow the
	 * customer down long catalog, product, cart, or checkout pages. */
	.axon-design-system .pls-site-header {
		position: relative;
		top: auto;
		z-index: 30;
	}

	.axon-design-system .pls-site-header,
	.axon-design-system .pls-header-mobile {
		min-height: 60px !important;
		border-bottom: 1px solid rgba(142, 220, 247, 0.14);
		background: rgba(8, 27, 37, 0.96) !important;
		box-shadow: 0 10px 30px rgba(1, 12, 18, 0.18);
		-webkit-backdrop-filter: blur(14px);
		backdrop-filter: blur(14px);
	}

	.admin-bar.axon-design-system .pls-site-header {
		top: auto;
	}

	.axon-design-system .pls-header-mobile > .container,
	.axon-design-system .pls-header-mobile .pls-header-inner,
	.axon-design-system .pls-header-mobile .pls-header-col {
		min-height: 60px !important;
	}

	.axon-design-system .pls-header-mobile > .container {
		width: 100%;
		max-width: none;
		padding-right: var(--axon-mobile-gutter);
		padding-left: var(--axon-mobile-gutter);
	}

	.axon-design-system .pls-header-mobile .pls-header-logo img,
	.axon-design-system .pls-header-mobile .custom-logo {
		width: auto;
		max-width: 118px;
		max-height: 38px;
		object-fit: contain;
	}

	.axon-design-system .pls-header-mobile :where(.pls-mobile-menu-toggle, .search-icon-text, .pls-header-cart > a, .header-search-icon, .pls-header-cart-icon),
	.axon-design-system .pls-header-mobile :where(.pls-mobile-menu-toggle, .header-search-icon, .pls-header-cart-icon)::before,
	.axon-design-system .pls-header-mobile :where(.pls-mobile-menu-toggle, .header-search-icon, .pls-header-cart-icon)::after {
		border-color: var(--axon-text) !important;
		color: var(--axon-text) !important;
		-webkit-text-fill-color: var(--axon-text) !important;
	}

	.axon-design-system .pls-header-mobile .pls-mobile-menu-toggle::before,
	.axon-design-system .pls-header-mobile .pls-mobile-menu-toggle::after {
		background-color: var(--axon-text) !important;
	}

	.axon-design-system .pls-header-mobile :where(.pls-header-icon, .pls-mobile-menu-btn, .pls-header-cart, .pls-header-mini-search) {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
		margin: 0;
		padding: 0;
	}

	.axon-design-system .pls-mobile-menu-wrap {
		width: min(90vw, 370px);
		max-width: 100%;
		border-right: 1px solid var(--axon-border);
		box-shadow: 24px 0 60px rgba(0, 0, 0, 0.34);
	}

	.axon-design-system .pls-mobile-menu-header {
		min-height: 66px;
		padding-right: 14px;
		padding-left: 14px;
	}

	.axon-design-system .pls-mobile-menu .mobile-main-menu > li > a {
		min-height: 52px;
		padding: 12px 18px;
		font-size: 14px;
		font-weight: 650;
		letter-spacing: 0.06em;
	}

	.axon-design-system .pls-mobile-menu .sub-menu a {
		min-height: 46px;
		padding: 10px 22px;
		color: var(--axon-text-muted) !important;
	}

	/* Parent-theme bottom navigation remains functional, with safe-area spacing. */
	.axon-design-system .pls-mobile-navbar {
		min-height: var(--axon-mobile-bar-height);
		padding-bottom: env(safe-area-inset-bottom);
		background: rgba(8, 27, 37, 0.98) !important;
		box-shadow: 0 -14px 34px rgba(0, 0, 0, 0.28);
	}

	.axon-design-system .pls-mobile-navbar :where(a, .mobile-element) {
		min-width: 44px;
		min-height: 52px;
		padding: 7px 5px;
		font-size: 11px;
		line-height: 1.2;
	}

	/* Reusable homepage: intentional edge-to-edge bands and compact rhythm. */
	.axon-home {
		width: 100%;
		max-width: 100%;
		overflow: clip;
		background: var(--axon-ink);
		color: var(--axon-text);
	}

	.axon-home :where(.axon-home__inner, .axon-home__container) {
		width: 100%;
		max-width: none;
		margin-right: auto;
		margin-left: auto;
		padding-right: var(--axon-mobile-gutter);
		padding-left: var(--axon-mobile-gutter);
	}

	.axon-home :where(.axon-home__section, section) {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.axon-home :where(.axon-home__eyebrow, .axon-kicker) {
		margin-bottom: 10px;
		font-size: 11px;
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: 0.16em;
		text-transform: uppercase;
	}

	.axon-home :where(.axon-home__title, .axon-section-title) {
		max-width: 12ch;
		margin-bottom: 26px;
		font-size: clamp(30px, 10vw, 42px);
		line-height: 1.02;
		letter-spacing: -0.035em;
	}

	.axon-home :where(.axon-home__hero, .axon-hero) {
		min-height: auto;
		padding: 34px var(--axon-mobile-gutter) 40px;
		border-radius: 0 0 28px 28px;
		background: linear-gradient(160deg, #0e4a66 0%, #083143 44%, var(--axon-ink) 100%);
	}

	.axon-home :where(.axon-home__hero-inner, .axon-hero__inner, .axon-hero-layout) {
		display: flex !important;
		flex-direction: column;
		gap: 18px !important;
		width: 100%;
		max-width: none;
		padding: 0 !important;
	}

	.axon-home :where(.axon-home__hero-copy, .axon-hero__copy) {
		position: relative;
		z-index: 2;
		width: 100%;
	}

	.axon-home :where(.axon-home__hero-title, .axon-hero__title) {
		max-width: 10ch;
		margin: 0;
		font-size: clamp(38px, 12vw, 54px);
		font-weight: 700;
		line-height: 0.98;
		letter-spacing: -0.045em;
		text-wrap: balance;
	}

	.axon-home :where(.axon-home__hero-copy p, .axon-hero__copy p) {
		max-width: 37ch;
		margin: 18px 0 0;
		color: var(--axon-text-muted);
		font-size: 15px;
		line-height: 1.58;
	}

	.axon-home :where(.axon-home__hero-actions, .axon-hero__actions) {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
		width: 100%;
		margin-top: 24px;
	}

	.axon-home :where(.axon-home__hero-actions, .axon-hero__actions) :where(a, button) {
		width: 100%;
		min-height: 52px;
		justify-content: center;
	}

	.axon-home :where(.axon-home__hero-art, .axon-hero__art, .ax-hero-art) {
		min-height: 310px !important;
		margin: -6px -8px -8px;
	}

	.axon-home :where(.axon-home__hero-art img, .axon-hero__art img, .ax-hero-image) {
		width: min(96vw, 390px) !important;
		max-width: none !important;
		margin-right: auto;
		margin-left: auto;
	}

	.axon-home :where(.axon-proof, .axon-home__metrics) {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 6px;
		margin-top: 28px;
	}

	.axon-home :where(.axon-home__proof-item, .axon-proof__item, .axon-home__metric) {
		min-width: 0;
		padding: 10px 6px;
		border: 1px solid var(--axon-border);
		border-radius: 12px;
		background: rgba(255, 255, 255, 0.035);
		text-align: center;
	}

	.axon-home :where(.axon-home__proof-item, .axon-proof__item, .axon-home__metric) strong {
		display: block;
		font-size: 13px;
		line-height: 1.25;
	}

	.axon-home :where(.axon-home__proof-item, .axon-proof__item, .axon-home__metric) span {
		display: block;
		margin-top: 3px;
		color: var(--axon-text-muted);
		font-size: 10px;
		line-height: 1.25;
	}

	.axon-home :where(.axon-home__grid, .axon-feature-grid, .axon-category-grid, .axon-review-grid, .axon-benefit-grid) {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	.axon-home :where(.axon-review-grid, .axon-home__reviews, .axon-home__steps) {
		grid-template-columns: 1fr !important;
	}

	.axon-home :where(.axon-card, .axon-home__card) {
		min-width: 0;
		border-radius: 16px;
	}

	.axon-home :where(.axon-card, .axon-home__card) :where(h3, .axon-card__title) {
		font-size: 15px;
		line-height: 1.25;
	}

	.axon-home :where(.axon-home__faq, .axon-faq-list) details {
		border-radius: 14px;
	}

	.axon-home :where(.axon-home__faq, .axon-faq-list) summary {
		min-height: 52px;
		padding: 14px 16px;
	}

	.axon-home :where(.axon-home__cta, .axon-cta) {
		margin-right: var(--axon-mobile-gutter);
		margin-left: var(--axon-mobile-gutter);
		padding: 34px 20px;
		border-radius: 20px;
		text-align: left;
	}

	.axon-home :where(.axon-home__cta, .axon-cta) :where(a.button, .axon-button) {
		width: 100%;
		margin-top: 20px;
	}

	/* Store/archive: two readable cards per row, no desktop border leakage. */
	.axon-design-system.woocommerce-shop .pls-site-content,
	.axon-design-system.tax-product_cat .pls-site-content,
	.axon-design-system.tax-product_tag .pls-site-content,
	.axon-design-system.post-type-archive-product .pls-site-content {
		background: var(--axon-navy-strong);
	}

	.axon-design-system.woocommerce-shop :where(.pls-site-container, .container),
	.axon-design-system.tax-product_cat :where(.pls-site-container, .container),
	.axon-design-system.post-type-archive-product :where(.pls-site-container, .container) {
		max-width: none;
		padding-right: var(--axon-mobile-gutter);
		padding-left: var(--axon-mobile-gutter);
	}

	.axon-design-system.woocommerce-shop :where(ul.products, .products.products-wrap),
	.axon-design-system.tax-product_cat :where(ul.products, .products.products-wrap),
	.axon-design-system.tax-product_tag :where(ul.products, .products.products-wrap),
	.axon-design-system.post-type-archive-product :where(ul.products, .products.products-wrap) {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
		margin: 0 !important;
	}

	.axon-design-system.woocommerce-shop :where(ul.products, .products.products-wrap)::before,
	.axon-design-system.woocommerce-shop :where(ul.products, .products.products-wrap)::after,
	.axon-design-system.tax-product_cat :where(ul.products, .products.products-wrap)::before,
	.axon-design-system.tax-product_cat :where(ul.products, .products.products-wrap)::after,
	.axon-design-system.tax-product_tag :where(ul.products, .products.products-wrap)::before,
	.axon-design-system.tax-product_tag :where(ul.products, .products.products-wrap)::after {
		display: none !important;
	}

	.axon-design-system.woocommerce ul.products li.product,
	.axon-design-system.woocommerce-page ul.products li.product,
	.axon-design-system .products:not(.swiper-wrapper) > .product {
		float: none !important;
		flex: none !important;
		width: auto !important;
		max-width: none !important;
		min-width: 0;
		margin: 0 !important;
		border: 0 !important;
		border-radius: var(--axon-mobile-radius) !important;
		background: var(--axon-surface) !important;
		box-shadow: none !important;
	}

	.axon-design-system .products.grid-view:not(.pls-product-horizontal):not(.swiper-wrapper) > .product {
		flex: none !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
	}

	.axon-design-system.single-product :where(.related.products, .upsells.products) {
		display: block !important;
		width: 100% !important;
	}

	.axon-design-system.single-product :where(.related.products, .upsells.products) > h2 {
		display: block;
		width: 100%;
		margin: 0 0 20px !important;
	}

	.axon-design-system.single-product :where(.related.products, .upsells.products) .products.products-wrap {
		display: flex !important;
		gap: 0 !important;
		width: 100% !important;
		margin: 0 !important;
	}

	.axon-design-system.single-product :where(.related.products, .upsells.products) .products.products-wrap.swiper-wrapper > .product.swiper-slide {
		max-width: none !important;
	}

	.axon-design-system .products .product .pls-product-inner {
		display: flex;
		flex-direction: column;
		height: 100%;
		min-height: 0;
		border: 0 !important;
		border-radius: inherit !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.axon-design-system .products.grid-view:not(.pls-product-horizontal) > .product > .pls-product-inner {
		border: 0 !important;
		border-radius: var(--axon-mobile-radius) !important;
		background: #111e27 !important;
	}

	.axon-design-system .products .product .pls-product-image {
		position: relative;
		margin: 0 !important;
		overflow: hidden;
		border-radius: var(--axon-mobile-radius) var(--axon-mobile-radius) 0 0 !important;
		background: #102631;
		aspect-ratio: 1 / 1;
	}

	.axon-design-system .products.grid-view:not(.pls-product-horizontal) > .product .pls-product-image {
		margin: 0 !important;
		border-radius: var(--axon-mobile-radius) var(--axon-mobile-radius) 0 0 !important;
	}

	.axon-design-system .products .product .pls-product-image :where(a, img) {
		display: block;
		width: 100%;
		height: 100%;
	}

	.axon-design-system .products .product .pls-product-image img {
		aspect-ratio: 1 / 1;
		object-fit: contain;
		object-position: center;
	}

	.axon-design-system .products .product .pls-product-labels {
		top: 9px;
		left: 9px;
	}

	.axon-design-system .products .product .pls-product-labels span {
		min-height: 26px;
		padding: 5px 9px;
		border: 1px solid rgba(142, 220, 247, 0.32);
		background: rgba(31, 154, 209, 0.18) !important;
		color: var(--axon-cyan-soft) !important;
		font-size: 9px;
		line-height: 1.2;
	}

	.axon-design-system .products .product .pls-product-info {
		display: flex;
		flex: 1;
		flex-direction: column;
		align-items: stretch;
		min-width: 0;
		padding: 13px 12px 14px !important;
		background: transparent !important;
		text-align: left !important;
	}

	.axon-design-system .products.grid-view:not(.pls-product-horizontal) > .product .pls-product-info {
		min-height: 142px;
		padding: 14px !important;
		background: #1a2832 !important;
	}

	.axon-design-system .products.grid-view:not(.pls-product-horizontal) > .product :where(.product-title, .woocommerce-loop-product__title, .pls-product-title) {
		width: 100%;
		min-height: 39px;
		margin-bottom: 10px !important;
		font-size: 14px !important;
	}

	.axon-design-system .products.grid-view:not(.pls-product-horizontal) > .product :where(.price, .pls-product-price, .price .amount) {
		font-size: 14px !important;
	}

	.axon-design-system .products.grid-view:not(.pls-product-horizontal) > .product .pls-product-price,
	.axon-design-system .products.grid-view:not(.pls-product-horizontal) > .product .pls-product-info > .price {
		display: block !important;
		width: calc(100% - 52px) !important;
		max-width: none;
		min-width: 0;
		white-space: normal;
	}

	.axon-design-system .products.grid-view:not(.pls-product-horizontal) > .product .pls-product-price > .price {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
	}

	.axon-design-system .products.grid-view.product-style-8 > .product .pls-product-actions {
		right: 12px !important;
		bottom: -124px !important;
		width: 44px !important;
		height: 44px !important;
	}

	.axon-design-system .products.grid-view.product-style-8 > .product .pls-product-actions :where(div, .pls-cart-button, a) {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
	}

	.axon-design-system .products.grid-view.product-style-8 > .product .pls-product-actions a::after {
		font-size: 18px;
	}

	.axon-design-system .products .product :where(.product-title, .product-title a, .woocommerce-loop-product__title, .pls-product-title) {
		display: -webkit-box;
		overflow: hidden;
		min-height: 39px;
		margin: 0 0 10px !important;
		color: var(--axon-text) !important;
		font-size: 14px !important;
		font-weight: 650 !important;
		line-height: 1.38 !important;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.axon-design-system .products .product :where(.price, .pls-product-price) {
		margin-top: auto;
		color: var(--axon-text) !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		line-height: 1.3;
	}

	.axon-design-system .products .product :where(.price del, .pls-product-price del) {
		color: var(--axon-text-muted) !important;
		font-size: 11px;
	}

	.axon-design-system .products .product :where(.price ins, .pls-product-price ins) {
		color: var(--axon-cyan-soft) !important;
		text-decoration: none;
	}

	.axon-design-system .products .product :where(.add_to_cart_button, .product_type_variable, .product_type_simple) {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 44px;
		margin: 12px 0 0 !important;
		padding: 8px 10px !important;
		border-radius: 999px !important;
		font-size: 11px !important;
		line-height: 1.2;
		text-align: center;
	}

	.axon-design-system .products .product :where(.pls-product-icons, .pls-product-buttons, .pls-product-actions) {
		max-width: calc(100% - 14px);
	}

	.axon-design-system :where(.pls-products-header, .woocommerce-ordering, .woocommerce-result-count) {
		min-width: 0;
	}

	.axon-design-system.woocommerce-shop .pls-products-header {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 7px;
		margin-bottom: 18px;
		padding: 0;
		border: 0;
		border-bottom: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.axon-design-system.woocommerce-shop .pls-products-header-controls {
		display: flex;
		width: 100%;
		min-height: 44px;
		grid-column: 1;
		grid-row: 1;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
	}

	.axon-design-system.woocommerce-shop .pls-products-active-filters {
		width: 100%;
		min-height: 19px;
		grid-column: 1;
		grid-row: 2;
		align-items: center;
		margin: 0;
	}

	.axon-design-system.woocommerce-shop .pls-products-header-filter {
		min-width: 0;
		flex: 0 1 auto;
	}

	.axon-design-system.woocommerce-shop .pls-products-view {
		display: none !important;
	}

	.axon-design-system.woocommerce-shop .pls-products-header-sorting,
	.axon-design-system.woocommerce-shop .woocommerce-ordering {
		width: min(48vw, 176px);
		min-width: 148px;
		min-height: 44px;
		flex: 0 1 176px;
	}

	.axon-design-system.woocommerce-shop .pls-product-off-canvas-btn {
		display: inline-flex;
		width: 76px !important;
		min-width: 76px !important;
		max-width: 76px;
		min-height: 44px;
		align-items: center;
		gap: 7px;
		justify-content: flex-start;
		padding: 0 4px !important;
		border: 0 !important;
		border-radius: 0;
		background: transparent !important;
		color: var(--axon-text) !important;
		box-shadow: none !important;
		font-size: 12px;
		font-weight: 650;
	}

	.axon-design-system.woocommerce-shop .pls-product-off-canvas-btn::before {
		color: var(--axon-cyan-soft) !important;
	}

	.axon-design-system.woocommerce-shop .woocommerce-result-count {
		max-width: 24ch;
		overflow: hidden;
		color: var(--axon-text-muted) !important;
		font-size: 11px;
		line-height: 1.35;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.axon-design-system.woocommerce-shop .woocommerce-ordering {
		position: relative;
		display: block !important;
	}

	.axon-design-system.woocommerce-shop .woocommerce-ordering::after {
		position: absolute !important;
		top: 50%;
		right: 12px;
		display: grid;
		width: 18px;
		height: 18px;
		place-items: center;
		color: var(--axon-cyan-soft) !important;
		font-size: 11px;
		line-height: 1;
		pointer-events: none;
		transform: translateY(-50%);
	}

	.axon-design-system.woocommerce-shop .woocommerce-ordering select {
		width: 100%;
		min-width: 0;
		min-height: 46px;
		padding-right: 38px;
		padding-left: 12px;
		border: 0 !important;
		border-radius: 10px;
		background-color: rgba(142, 220, 247, .055);
		color: var(--axon-text) !important;
		text-indent: 0 !important;
	}

	.axon-design-system .woocommerce-pagination :where(a.page-numbers, span.page-numbers) {
		display: inline-flex;
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
		align-items: center;
		justify-content: center;
		border: 1px solid var(--axon-border) !important;
		border-radius: 50%;
		background: var(--axon-surface) !important;
		color: var(--axon-text) !important;
	}

	.axon-design-system .woocommerce-pagination span.page-numbers.current {
		border-color: var(--axon-cyan-strong) !important;
		background: var(--axon-cyan-strong) !important;
		color: var(--axon-navy-strong) !important;
	}

	.axon-design-system .woocommerce-pagination a.page-numbers:hover,
	.axon-design-system .woocommerce-pagination a.page-numbers:focus-visible {
		border-color: var(--axon-cyan-soft) !important;
		color: var(--axon-cyan-soft) !important;
	}

	.axon-design-system .pls-sidebar,
	.axon-design-system .widget-area,
	.axon-design-system .pls-widget-area {
		border-color: var(--axon-border) !important;
		background: var(--axon-navy) !important;
		color: var(--axon-text-muted);
	}

	.axon-design-system :where(.pls-sidebar .widget, .widget-area .widget, .pls-widget-area .widget) {
		padding: 18px 16px;
		border-color: var(--axon-border) !important;
	}

	.axon-design-system :where(.price_slider_amount .button, .widget_price_filter .button) {
		min-width: 110px;
		background: var(--axon-cyan-strong) !important;
		color: var(--axon-on-cyan) !important;
	}

	.axon-design-system :where(.price_slider_amount .price_label, .widget_price_filter .price_label) {
		color: var(--axon-text-muted) !important;
	}

	/* Single product: product-first order, corner-to-corner visual stage. */
	.axon-design-system.single-product .pls-site-content {
		padding-bottom: calc(80px + env(safe-area-inset-bottom));
	}

	.axon-design-system.single-product .pls-single-product-top {
		padding: 9px var(--axon-mobile-gutter) !important;
		border-bottom: 1px solid var(--axon-border);
		background: #0c3344;
		font-size: 12px;
		white-space: nowrap;
	}

	.axon-design-system.single-product .pls-single-product-top :where(.container, .row) {
		padding: 0;
	}

	.axon-design-system.single-product div.product {
		width: 100%;
		margin-right: 0;
		margin-left: 0;
	}

	.axon-design-system.single-product div.product .pls-product-gallery {
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #102631;
		box-shadow: none !important;
	}

	.axon-design-system.single-product div.product .pls-product-gallery img,
	.axon-design-system.single-product div.product .woocommerce-product-gallery__image img {
		width: 100%;
		border-radius: 0 !important;
	}

	.axon-design-system.single-product div.product .summary {
		margin: 0 !important;
		padding: 22px var(--axon-mobile-gutter) 26px !important;
		border: 0 !important;
		border-top: 1px solid var(--axon-border) !important;
		border-radius: 0 !important;
		background: var(--axon-navy) !important;
		box-shadow: none !important;
	}

	.axon-design-system.single-product div.product .product_title {
		margin-bottom: 10px;
		font-size: clamp(28px, 9vw, 38px);
		line-height: 1.04;
		text-wrap: balance;
	}

	.axon-design-system.single-product div.product :where(.price, p.price, .pls-product-price) {
		font-size: 22px !important;
		line-height: 1.25;
	}

	.axon-design-system.single-product div.product form.cart {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		width: 100%;
	}

	.axon-design-system.single-product div.product form.cart :where(.quantity, .pls-quantity) {
		min-height: 48px;
		border-color: var(--axon-border) !important;
		border-radius: 999px;
		background: var(--axon-surface);
	}

	.axon-design-system.single-product div.product form.cart :where(.single_add_to_cart_button, .pls_quick_buy_button) {
		flex: 1 1 160px;
		min-height: 50px;
		margin: 0;
	}

	.axon-design-system.single-product .woocommerce-tabs,
	.axon-design-system.single-product .related.products,
	.axon-design-system.single-product .upsells.products {
		margin: 14px 0 0 !important;
		padding: 22px var(--axon-mobile-gutter) !important;
		border-right: 0 !important;
		border-left: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}

	.axon-design-system.single-product .woocommerce-tabs ul.tabs {
		display: none !important;
	}

	.axon-design-system.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
		display: none;
	}

	.axon-design-system.single-product .woocommerce-tabs ul.tabs li {
		flex: 0 0 auto;
		margin: 0;
	}

	.axon-design-system.single-product .woocommerce-tabs ul.tabs li a {
		min-height: 44px;
		padding: 10px 0;
	}

	.axon-design-system.single-product .woocommerce-tabs .tab-content-wrap > .accordion-title {
		display: flex !important;
		min-height: 56px;
		align-items: center;
		padding: 14px 16px;
		border-top: 1px solid var(--axon-border);
		background: rgba(255, 255, 255, .025);
		color: var(--axon-text) !important;
		font-size: 14px;
		font-weight: 700;
	}

	.axon-design-system.single-product .woocommerce-tabs .tab-content-wrap:first-child > .accordion-title {
		border-top: 0;
	}

	.axon-design-system.single-product .woocommerce-tabs .tab-content-wrap > .accordion-title.active,
	.axon-design-system.single-product .woocommerce-tabs .tab-content-wrap > .accordion-title:hover,
	.axon-design-system.single-product .woocommerce-tabs .tab-content-wrap > .accordion-title:focus-visible {
		background: rgba(31, 154, 209, .15);
		color: var(--axon-cyan-soft) !important;
	}

	/* Cart: stacked rows with a persistent, easy-to-hit checkout action. */
	.axon-design-system.woocommerce-cart .pls-site-content,
	.axon-design-system.woocommerce-account .pls-site-content {
		background: var(--axon-navy-strong);
	}

	.axon-design-system.woocommerce-cart :where(.pls-site-container, .container),
	.axon-design-system.woocommerce-account :where(.pls-site-container, .container) {
		max-width: none;
		padding-right: var(--axon-mobile-gutter);
		padding-left: var(--axon-mobile-gutter);
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-wrapper {
		display: block;
	}

	.axon-design-system.woocommerce-cart :where(.woocommerce-cart-form, .cart_totals) {
		border-radius: var(--axon-mobile-radius);
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__cart-item {
		position: relative;
		display: grid;
		grid-template-columns: 76px minmax(0, 1fr);
		gap: 12px;
		padding: 14px;
		border-bottom: 1px solid var(--axon-border);
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__cart-item :where(td, .product-thumbnail, .product-name, .product-price, .product-quantity, .product-subtotal) {
		display: block;
		width: auto;
		padding: 0;
		border: 0;
		text-align: left;
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail {
		position: static !important;
		grid-column: 1;
		grid-row: 1 / span 4;
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__cart-item .product-name,
	.axon-design-system.woocommerce-cart .woocommerce-cart-form__cart-item .product-price,
	.axon-design-system.woocommerce-cart .woocommerce-cart-form__cart-item .product-quantity,
	.axon-design-system.woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal {
		grid-column: 2;
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__cart-item :where(.product-price, .product-quantity, .product-subtotal) {
		display: flex;
		gap: 10px;
		align-items: center;
		justify-content: space-between;
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__cart-item td::before,
	.axon-design-system.woocommerce-cart .cart_totals :where(th, td, td::before) {
		color: var(--axon-text-muted) !important;
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__cart-item :where(.woocommerce-Price-amount, .amount),
	.axon-design-system.woocommerce-cart .cart_totals :where(.woocommerce-Price-amount, .amount, strong) {
		color: var(--axon-text) !important;
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail img {
		width: 76px;
		border-radius: 12px;
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__cart-item .product-remove {
		position: absolute;
		top: 8px;
		right: 8px;
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__cart-item .product-remove a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__contents .actions {
		padding: 14px;
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__contents .actions :where(.coupon, input, button) {
		width: 100%;
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__contents .actions .coupon {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 8px;
		margin-bottom: 10px;
	}

	.axon-design-system.woocommerce-cart .cart-collaterals {
		margin-top: 14px;
	}

	.axon-design-system.woocommerce-cart .wc_points_rewards_earn_points {
		margin: 0 0 14px !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: var(--axon-mobile-radius) !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.axon-design-system.woocommerce-cart .wc_points_rewards_earn_points .woocommerce-info {
		min-height: 64px;
		margin: 0 !important;
		padding: 14px 16px 14px 48px !important;
		border: 1px solid var(--axon-border) !important;
		border-radius: var(--axon-mobile-radius) !important;
		background: var(--axon-surface) !important;
		color: var(--axon-text-muted) !important;
		font-size: 14px;
		line-height: 1.5;
	}

	.axon-design-system.woocommerce-cart .wc_points_rewards_earn_points .woocommerce-info strong {
		color: var(--axon-cyan-soft) !important;
	}

	.axon-design-system.woocommerce-cart .pls-freeshipping-bar {
		min-height: 64px;
		margin: 0 0 14px !important;
		padding: 13px 14px !important;
		border: 1px solid var(--axon-border) !important;
		border-radius: var(--axon-mobile-radius) !important;
		background: var(--axon-surface) !important;
		color: var(--axon-text-muted) !important;
		font-size: 13px;
		line-height: 1.45;
	}

	.axon-design-system.woocommerce-cart .pls-freeshipping-bar .freeshipping-bar-msg {
		width: 100%;
		color: var(--axon-text-muted) !important;
	}

	.axon-design-system.woocommerce-cart .pls-freeshipping-bar .woocommerce-Price-amount {
		color: var(--axon-cyan-soft) !important;
		font-weight: 700;
	}

	.axon-design-system.woocommerce-cart .pls-freeshipping-bar .freeshipping-bar {
		width: 100%;
		height: 7px;
		margin-top: 9px;
		overflow: hidden;
		border-radius: 999px;
		background: rgba(142, 220, 247, 0.14) !important;
	}

	.axon-design-system.woocommerce-cart .pls-freeshipping-bar .pls-progress-bar {
		border-radius: inherit;
		background: var(--axon-cyan-strong) !important;
	}

	.axon-design-system.woocommerce-cart .wc-proceed-to-checkout,
	.axon-design-system.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
		position: static !important;
		inset: auto !important;
		z-index: auto;
	}

	.axon-design-system.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 54px;
		box-shadow: 0 12px 30px rgba(31, 154, 209, 0.28);
	}

	/* Account forms and dashboard navigation. */
	.axon-design-system.woocommerce-account :where(.pls-customer-login, .pls-customer-register) {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 0 !important;
		padding: 0 !important;
		overflow: hidden;
		border: 1px solid var(--axon-border) !important;
		border-radius: var(--axon-mobile-radius) !important;
		background: var(--axon-navy) !important;
		color: var(--axon-text-muted) !important;
	}

	.axon-design-system.woocommerce-account :where(.pls-wc-login-form, .pls-wc-register-form, .pls-wc-login-register-info) {
		width: 100% !important;
		padding: 24px 20px !important;
		background: transparent !important;
	}

	.axon-design-system.woocommerce-account .pls-wc-login-register-info {
		border-top: 1px solid var(--axon-border);
		background: rgba(31, 154, 209, 0.08) !important;
	}

	.axon-design-system.woocommerce-account :where(.pls-customer-login, .pls-customer-register) :where(h2, h3, label, p, a) {
		color: var(--axon-text) !important;
	}

	.axon-design-system.woocommerce-account :where(.pls-customer-login, .pls-customer-register) input:not([type="checkbox"]):not([type="radio"]) {
		min-height: 50px;
		padding-right: 52px;
		border: 1px solid var(--axon-border) !important;
		border-radius: 12px !important;
		background: var(--axon-surface) !important;
		color: var(--axon-text) !important;
	}

	.axon-design-system.woocommerce-account :where(.pls-customer-login, .pls-customer-register) input::placeholder {
		color: var(--axon-text-muted) !important;
		opacity: 1;
	}

	.axon-design-system.woocommerce-account .woocommerce-rememberme-lost_password {
		display: flex;
		gap: 12px;
		align-items: center;
		justify-content: space-between;
	}

	.axon-design-system.woocommerce-account .woocommerce-form-login__rememberme {
		display: inline-flex !important;
		width: auto !important;
		min-height: 44px;
		align-items: center;
		gap: 8px;
		margin: 0 !important;
		line-height: 1.35;
	}

	.axon-design-system.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"] {
		width: 20px;
		height: 20px;
		margin: 0 !important;
	}

	.axon-design-system.woocommerce-account .woocommerce-LostPassword {
		display: inline-flex;
		min-height: 44px;
		align-items: center;
		text-align: right;
	}

	.axon-design-system.woocommerce-account .password-input .show-password-input {
		right: 0;
		width: 44px;
		height: 50px;
		min-height: 44px;
		color: var(--axon-text-muted) !important;
	}

	.axon-design-system.woocommerce-account :where(.woocommerce-login-button .button, .pls-wc-user-register) {
		display: flex;
		width: 100%;
		min-height: 50px;
		align-items: center;
		justify-content: center;
		border-radius: 999px !important;
	}

	.axon-design-system.woocommerce-account .woocommerce-MyAccount-navigation {
		overflow-x: auto;
		width: 100%;
		margin-bottom: 16px;
		padding-bottom: 6px;
		scrollbar-width: none;
	}

	.axon-design-system.woocommerce-account .woocommerce-MyAccount-navigation::-webkit-scrollbar {
		display: none;
	}

	.axon-design-system.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		gap: 8px;
		width: max-content;
		margin: 0;
		padding: 0;
	}

	.axon-design-system.woocommerce-account .woocommerce-MyAccount-navigation li a {
		display: flex;
		align-items: center;
		min-height: 44px;
		padding: 9px 14px;
		border: 1px solid var(--axon-border);
		border-radius: 999px;
		background: var(--axon-surface);
		color: var(--axon-text);
		white-space: nowrap;
	}

	.axon-design-system.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
		border-color: var(--axon-cyan-strong);
		background: rgba(31, 154, 209, 0.18);
		color: var(--axon-cyan-soft);
	}

	.axon-design-system.woocommerce-account .woocommerce-MyAccount-content {
		width: 100%;
		padding: 18px var(--axon-mobile-gutter);
		border: 1px solid var(--axon-border);
		border-radius: var(--axon-mobile-radius);
		background: var(--axon-navy);
	}

	/* Parent sale notifications obstruct cart/account/checkout controls on a
	 * phone. They remain available on desktop and do not affect store actions. */
	.axon-design-system .pls-sale-notification-popup {
		display: none !important;
	}

	/* CheckoutWC: edge-to-edge structure, clear fields, and a single strong CTA. */
	body.checkout-wc #cfw {
		min-width: 320px;
		background: #eef4f7;
	}

	body.checkout-wc #cfw-header {
		min-height: 64px;
		padding: 10px var(--axon-mobile-gutter) !important;
	}

	body.checkout-wc #cfw-header :where(.cfw-container, .container) {
		width: 100%;
		padding: 0;
	}

	body.checkout-wc #cfw-logo-container .logo {
		width: min(160px, 50vw);
		height: 42px;
	}

	body.checkout-wc #cfw :where(.cfw-container, .cfw-column-7, .cfw-column-5) {
		max-width: none;
	}

	body.checkout-wc #cfw-main-container {
		padding-right: var(--axon-mobile-gutter);
		padding-left: var(--axon-mobile-gutter);
	}

	body.checkout-wc #cfw #cfw-cart-summary {
		margin-right: calc(var(--axon-mobile-gutter) * -1);
		margin-left: calc(var(--axon-mobile-gutter) * -1);
		border-radius: 0 0 var(--axon-mobile-radius) var(--axon-mobile-radius);
	}

	body.checkout-wc #cfw .cfw-panel {
		margin-bottom: 12px;
		padding: 18px var(--axon-mobile-gutter);
		border-radius: var(--axon-mobile-radius);
		box-shadow: none;
	}

	body.checkout-wc #cfw :where(.cfw-input-wrap input:not([type="checkbox"]):not([type="radio"]), .cfw-input-wrap select, .cfw-input-wrap textarea, .select2-selection) {
		min-height: 50px;
		font-size: 16px !important;
	}

	body.checkout-wc #cfw :where(input[type="checkbox"], input[type="radio"]) {
		min-height: 0;
	}

	body.checkout-wc #cfw :where(.cfw-check-input, .woocommerce-form__label-for-checkbox, .woocommerce-SavedPaymentMethods-saveNew) {
		min-height: 44px;
		align-items: center;
	}

	body.checkout-wc #cfw .cfw-quantity-stepper-value-label {
		display: flex;
		width: 32px;
		min-width: 32px;
		height: 44px;
		min-height: 44px;
		align-items: center;
		justify-content: center;
		padding: 0 4px;
	}

	body.checkout-wc #cfw .cfw-quantity-stepper {
		height: 44px;
		min-height: 44px;
	}

	body.checkout-wc #cfw :where(.cfw-quantity-stepper-btn-minus, .cfw-quantity-stepper-btn-plus) {
		width: 44px;
		min-width: 44px;
		height: 44px;
		min-height: 44px;
	}

	body.checkout-wc #cfw :where(.cfw-add-field, .cfw-prev-tab, #cfw-expand-cart) {
		display: flex;
		min-height: 44px;
		align-items: center;
	}

	body.checkout-wc #cfw :where(.cfw-primary-btn, #place_order) {
		width: 100%;
		min-height: 54px;
		box-shadow: var(--axon-primary-button-shadow);
	}

	body.checkout-wc #cfw .cfw-cart-item-image {
		border-radius: 10px;
	}

	/* Footer: full-width dark band with comfortable tap targets. */
	.axon-design-system :where(.pls-site-footer, .site-footer, .axon-footer),
	.axon-home :where(.pls-site-footer, .site-footer, .axon-footer) {
		padding-right: var(--axon-mobile-gutter);
		padding-left: var(--axon-mobile-gutter);
		background: #071821;
	}

	.axon-design-system :where(.pls-site-footer, .site-footer, .axon-footer) :where(.footer-widgets, .axon-footer__grid) {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
	}

	.axon-design-system :where(.pls-site-footer, .site-footer, .axon-footer) :where(.widget, .axon-footer__column) {
		padding: 22px 0;
		border-bottom: 1px solid var(--axon-border);
	}

	.axon-design-system :where(.pls-site-footer, .site-footer, .axon-footer) a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		color: var(--axon-text-muted);
	}

	.axon-design-system :where(.pls-site-footer, .site-footer, .axon-footer) :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea, button) {
		width: 100%;
		min-height: 48px;
	}

	/* Keep the mobile order summary compact and remove inherited table-card bands. */
	.axon-design-system.woocommerce-cart .cart_totals h2 {
		padding: 16px 18px !important;
		font-size: 18px !important;
		line-height: 1.25;
	}

	.axon-design-system.woocommerce-cart .cart_totals .shop_table,
	.axon-design-system.woocommerce-cart .cart_totals .shop_table tbody {
		display: block;
		width: 100%;
		margin: 0 !important;
	}

	.axon-design-system.woocommerce-cart .cart_totals .shop_table tr {
		display: grid;
		grid-template-columns: 88px minmax(0, 1fr);
		gap: 12px;
		align-items: start;
		padding: 12px 14px;
		border-bottom: 1px solid var(--axon-border);
	}

	.axon-design-system.woocommerce-cart .cart_totals .shop_table :where(th, td) {
		display: block;
		width: auto;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		color: var(--axon-text-muted) !important;
		font-size: 14px !important;
		line-height: 1.45;
	}

	.axon-design-system.woocommerce-cart .cart_totals .shop_table td {
		text-align: right;
	}

	.axon-design-system.woocommerce-cart .cart_totals .shop_table :where(.amount, strong, a) {
		color: var(--axon-text) !important;
	}

	.axon-design-system.woocommerce-cart .cart_totals .woocommerce-shipping-methods {
		margin: 0 0 5px;
		padding: 0;
	}

	.axon-design-system.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
		margin: 0 !important;
		padding: 14px !important;
	}
}

@media (max-width: 480px) {
	:root {
		--axon-mobile-gutter: 12px;
	}

	.axon-home :where(.axon-home__section, section) {
		padding-top: 48px;
		padding-bottom: 48px;
	}

	.axon-home :where(.axon-home__hero, .axon-hero) {
		padding-top: 28px;
		border-radius: 0 0 24px 24px;
	}

	.axon-home :where(.axon-home__hero-title, .axon-hero__title) {
		font-size: clamp(36px, 12.5vw, 48px);
	}

	.axon-home :where(.axon-home__grid, .axon-feature-grid, .axon-category-grid, .axon-benefit-grid) {
		gap: 8px !important;
	}

	.axon-design-system.woocommerce-shop :where(ul.products, .products.products-wrap),
	.axon-design-system.tax-product_cat :where(ul.products, .products.products-wrap),
	.axon-design-system.tax-product_tag :where(ul.products, .products.products-wrap) {
		gap: 8px !important;
	}

	.axon-design-system .products .product .pls-product-image {
		margin: 0 !important;
		border-radius: var(--axon-mobile-radius) var(--axon-mobile-radius) 0 0 !important;
	}

	.axon-design-system .products .product .pls-product-info {
		padding: 12px 10px 12px !important;
	}

	.axon-design-system .products .product :where(.product-title, .product-title a, .woocommerce-loop-product__title, .pls-product-title) {
		min-height: 37px;
		font-size: 13px !important;
	}

	.axon-design-system .products .product :where(.price, .pls-product-price) {
		font-size: 13px !important;
	}

	.axon-design-system .products .product :where(.add_to_cart_button, .product_type_variable, .product_type_simple) {
		padding-right: 6px !important;
		padding-left: 6px !important;
		font-size: 10px !important;
	}

	.axon-design-system.single-product div.product .product_title {
		font-size: clamp(27px, 9vw, 34px);
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__contents .actions .coupon {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 359px) {
	.axon-design-system.woocommerce-shop :where(ul.products, .products.products-wrap),
	.axon-design-system.tax-product_cat :where(ul.products, .products.products-wrap),
	.axon-design-system.tax-product_tag :where(ul.products, .products.products-wrap),
	.axon-home :where(.axon-home__grid, .axon-feature-grid, .axon-category-grid, .axon-benefit-grid) {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
	.axon-design-system *,
	.axon-home * {
		scroll-behavior: auto !important;
	}
}
