/**
 * JSM Product Page CRO — mobile-only stylesheet.
 * Loaded with media="screen and (max-width: 1023px)".
 * All rules require body.jsm-cro-is-mobile so desktop styles never apply here.
 */

body.jsm-cro-is-mobile.jsm-cro-active {
	overflow-x: clip;
	padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
	--jsm-cro-sticky-h: 72px;
}

/*
 * Announcement bar (delivery + star rating) — compact mobile layout.
 * Pin above the sticky #masthead; otherwise fixed site chrome (z-index 100000)
 * covers the bar that renders before it in the DOM.
 *
 * Temporarily hide the whole blue bar on mobile until real reviews exist
 * (this stylesheet is only loaded for max-width: 1023px).
 * Re-enable: set JSM_CRO_SHOW_MOBILE_ANNOUNCEMENT_BAR true and remove the
 * hide rules below (or gate them on body.jsm-cro-show-mobile-announcement).
 */
body.jsm-cro-active .jsm-cro-announcement {
	display: none !important;
}

body.jsm-sticky-nav.jsm-cro-active #masthead {
	top: 0 !important;
}

body.jsm-sticky-nav.jsm-cro-active.admin-bar #masthead {
	top: 46px !important;
}

@media screen and (min-width: 783px) {
	body.jsm-sticky-nav.jsm-cro-active.admin-bar #masthead {
		top: 32px !important;
	}
}

/* Kept for when the mobile announcement bar is re-enabled */
body.jsm-cro-active.jsm-cro-show-mobile-announcement .jsm-cro-announcement {
	display: block !important;
	padding: 8px 0 0;
}

body.jsm-sticky-nav.jsm-cro-active.jsm-cro-show-mobile-announcement .jsm-cro-announcement {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 100001;
}

body.jsm-sticky-nav.jsm-cro-active.jsm-cro-show-mobile-announcement.admin-bar .jsm-cro-announcement {
	top: 46px;
}

@media screen and (min-width: 783px) {
	body.jsm-sticky-nav.jsm-cro-active.jsm-cro-show-mobile-announcement.admin-bar .jsm-cro-announcement {
		top: 32px;
	}
}

body.jsm-sticky-nav.jsm-cro-active.jsm-cro-show-mobile-announcement #masthead {
	top: var(--jsm-cro-announcement-h, 70px) !important;
}

body.jsm-sticky-nav.jsm-cro-active.jsm-cro-show-mobile-announcement.admin-bar #masthead {
	top: calc(var(--jsm-cro-announcement-h, 70px) + 46px) !important;
}

@media screen and (min-width: 783px) {
	body.jsm-sticky-nav.jsm-cro-active.jsm-cro-show-mobile-announcement.admin-bar #masthead {
		top: calc(var(--jsm-cro-announcement-h, 70px) + 32px) !important;
	}
}

body.jsm-sticky-nav.jsm-cro-active #masthead .elementor-element-8b355c8 {
	display: none !important;
}

body.jsm-cro-active .jsm-cro-announcement__inner {
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto auto;
	column-gap: 10px;
	row-gap: 0;
	padding-bottom: 8px;
}

body.jsm-cro-active .jsm-cro-announcement__delivery {
	grid-column: 1;
	grid-row: 1;
	align-self: center;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	padding-right: 8px;
	min-width: 0;
}

body.jsm-cro-active .jsm-cro-announcement__aside {
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
	gap: 8px;
	min-width: 0;
	max-width: 100%;
}

body.jsm-cro-active .jsm-cro-announcement__rating {
	gap: 4px;
	font-size: 11px;
	min-width: 0;
	flex-wrap: nowrap;
	overflow: hidden;
}

body.jsm-cro-active .jsm-cro-announcement__rating-stars {
	font-size: 10px;
	flex-shrink: 0;
}

/* Drop "on Google" on narrow screens so stars stay in viewport */
body.jsm-cro-active .jsm-cro-announcement__rating-via {
	display: none;
}

body.jsm-cro-active .jsm-cro-announcement__tags {
	grid-column: 1 / -1;
	grid-row: 2;
	justify-self: stretch;
	text-align: center;
	margin-top: 8px;
	padding-top: 7px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.01em;
	opacity: 0.88;
}

body.jsm-cro-active .jsm-cro-announcement__cart {
	display: none !important;
}

/* Fixed mobile cart — bottom-right pill while scrolling */
body.jsm-cro-active .jsm-cro-mobile-cart-fixed {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	position: fixed;
	top: auto;
	bottom: max(14px, env(safe-area-inset-bottom, 0px));
	right: max(14px, env(safe-area-inset-right, 0px));
	left: auto;
	z-index: 99990;
	min-width: 44px;
	min-height: 44px;
	padding: 0 10px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
	background: var(--jsm-cro-navy, #002b5c);
	color: #fff;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(0, 43, 92, 0.28);
}

body.jsm-cro-active .jsm-cro-mobile-cart-fixed__icon {
	display: block;
	flex-shrink: 0;
}

body.jsm-cro-active .jsm-cro-mobile-cart-fixed__amount {
	max-width: 72px;
	padding: 0 6px;
	border-radius: 999px;
	background: #fff;
	color: var(--jsm-cro-navy, #002b5c);
	font-size: 10px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Mobile header cart — show in nav; fixed pill hidden via jsm-mobile-nav.css */
body.jsm-cro-active #ast-mobile-header .jsm-cro-mobile-header-cart-wrap,
body.jsm-cro-active #ast-mobile-header .jsm-cro-mobile-header-cart,
body.jsm-cro-active #ast-mobile-header .ast-header-woo-cart.jsm-cro-mobile-header-cart {
	display: flex !important;
	align-items: center;
}
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-sticky-cta-wrap,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-below-fold--desktop,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-sticky,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-card,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-product-tabs--desktop,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-sidebar--desktop,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-sidebar--left,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-sidebar--right {
	display: none !important;
}

/* Show mobile flow */
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-mobile-flow,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-checkout-zone--mobile,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--mobile,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-accordions--mobile,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-help--mobile {
	display: block;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-trust-benefits--mobile {
	display: grid;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-postcode {
	display: block;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-stripe-google-slot--desktop {
	display: none;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--desktop {
	display: none !important;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-stripe-google-slot--mobile {
	display: none !important;
}

/* Single-column mobile stack — section order lives in jsm-product-page-cro-layout.css */
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-layout {
	gap: 12px;
	margin: 0 0 20px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-intro__postcode-wrap .jsm-cro-postcode,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-intro--flow .jsm-cro-postcode {
	display: block;
	margin-bottom: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-layout__hero {
	width: 100%;
	max-width: 100%;
	margin-bottom: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-gallery-card {
	order: 1;
	width: 100%;
	padding: 0;
	border: 0;
	box-shadow: none;
	background: transparent;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-gallery-card__badge {
	display: inline-flex;
	top: 10px;
	left: 10px;
	font-size: 10px;
	padding: 4px 8px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-gallery-main {
	border-radius: 12px;
	background: linear-gradient(180deg, #e8f4fc 0%, #f8fbff 100%);
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-gallery-main__link::after {
	display: none !important;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-gallery-main__img,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-gallery-main img {
	max-height: min(52vw, 240px) !important;
	min-height: 168px;
	width: 100% !important;
	object-fit: contain;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-gallery-thumbs {
	display: flex;
	margin-top: 8px;
	gap: 6px;
	padding-bottom: 4px;
	-webkit-overflow-scrolling: touch;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-gallery-thumb {
	flex: 0 0 52px;
	width: 52px;
	height: 52px;
	border-radius: 8px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-postcode__hint {
	display: block;
	margin-bottom: 10px;
	font-size: 13px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-postcode__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	align-items: stretch;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-postcode__input {
	min-height: 44px;
	font-size: 15px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-btn.jsm-cro-postcode__check {
	min-height: 44px;
	padding: 0 16px;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-postcode__locate {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin-top: 8px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--jsm-cro-navy, #003f8f);
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-postcode-trust {
	gap: 6px 10px;
	margin-top: 4px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-postcode-trust__item {
	font-size: 10px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-delivery-result {
	display: none;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-add-to-basket-block--inline {
	display: block !important;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-intro--mockup .jsm-cro-intro__title {
	margin-bottom: 6px;
	font-size: 1.35rem;
	line-height: 1.2;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-intro--mockup .jsm-cro-intro__rating {
	margin-bottom: 6px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-intro--mockup .jsm-cro-intro__review-count {
	color: var(--jsm-cro-blue);
	font-size: 12px;
	font-weight: 600;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-intro--mockup .jsm-cro-intro__desc {
	margin-bottom: 8px;
	font-size: 13px;
	line-height: 1.45;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-feature-row--mockup {
	display: none !important;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-feature-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 12px;
	padding: 0;
	list-style: none;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-feature-tags li {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	padding: 0 12px;
	border: 1px solid #d7e2f0;
	border-radius: 999px;
	background: #f4f9ff;
	font-size: 12px;
	font-weight: 600;
	color: var(--jsm-cro-navy, #003f8f);
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-intro__availability {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 700;
	color: #16813a;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-intro--mockup .jsm-cro-intro__label {
	margin: 0 0 10px;
	font-size: 17px;
	font-weight: 800;
	color: var(--jsm-cro-navy);
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-price-line {
	margin-bottom: 6px;
	font-size: 12px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-price-line__amount {
	font-size: 15px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-price-line__note {
	font-size: 11px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-price-card--mockup {
	grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
	margin-bottom: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-price-card__col--from,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-price-card__col--sub {
	padding: 8px 10px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-price-card__from-label,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-price-card__unit,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-price-card__unit--sub {
	font-size: 10px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-price-card__amount {
	font-size: 15px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-price-card--mockup .jsm-cro-badge--save {
	font-size: 9px;
	padding: 3px 7px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator,
body.jsm-cro-is-mobile.jsm-cro-active form.variations_form,
body.jsm-cro-is-mobile.jsm-cro-active form.jsm-cro-simple-cart {
	margin-top: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	gap: 10px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-step {
	margin-bottom: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-step__summary .jsm-cro-step__title {
	margin-bottom: 0;
	font-size: 13px;
	line-height: 1.3;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-bottle-grid {
	grid-template-columns: 1fr;
	gap: 10px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-bottle {
	padding: 10px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-bottle__title {
	font-size: 11px;
	line-height: 1.3;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-bottle__price {
	font-size: 14px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-bottle__desc {
	display: none;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-plans {
	gap: 10px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-plan {
	padding: 12px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-frequency {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-frequency__btn {
	padding: 16px 12px;
	font-size: 13px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-step--qty .jsm-cro-qty-panel {
	gap: 10px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-qty-stepper-wrap {
	padding-top: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-step--qty .jsm-cro-qty-quick {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 6px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-step--qty .jsm-cro-qty-quick__btn {
	min-height: 44px;
	padding: 8px 4px;
	font-size: 11px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-intro--mockup .jsm-cro-intro__desc,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-intro__desc {
	display: none;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-info-accordion--description .jsm-cro-info-accordion__body > h2:first-child {
	display: none;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-info-accordion--description .jsm-cro-info-accordion__body {
	padding-top: 4px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-info-accordion--description .jsm-cro-info-accordion__body > p:first-child {
	margin-top: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-mobile {
	display: none !important;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-checkout-actions--mobile .jsm-cro-continue-shopping {
	margin-bottom: 12px;
	margin-left: 0;
	margin-right: 0;
	padding: 14px 12px;
	border-radius: 12px;
	box-shadow: none;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	box-sizing: border-box;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-intro-slot--desktop:empty {
	display: none;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-line--save dd {
	color: var(--jsm-cro-green);
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-mobile__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-mobile__head h2 {
	margin: 0;
	font-size: 17px;
	font-weight: 800;
	color: var(--jsm-cro-navy);
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-mobile__edit {
	border: 0;
	background: transparent;
	padding: 0;
	font-size: 13px;
	font-weight: 700;
	color: var(--jsm-cro-blue);
	cursor: pointer;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-total--mobile {
	margin-bottom: 0;
	border-top: 1px solid #e2e8f0;
	padding-top: 10px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-total--mobile strong {
	font-size: 24px;
	color: var(--jsm-cro-blue);
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-trust-benefits--mobile {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 4px;
	margin: 0 0 12px;
	padding: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-trust-benefits--mobile .jsm-cro-trust-benefits__item {
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 6px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-trust-benefits--mobile .jsm-cro-trust-benefits__icon {
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-trust-benefits--mobile .jsm-cro-trust-benefits__icon svg {
	width: 16px;
	height: 16px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-trust-benefits--mobile .jsm-cro-trust-benefits__text span {
	display: none;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-trust-benefits--mobile .jsm-cro-trust-benefits__text strong {
	font-size: 9px;
	font-weight: 600;
	line-height: 1.25;
	color: #475569;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-checkout-zone--mobile {
	display: block;
	margin: 0 0 18px;
	padding: 16px 14px;
	border-radius: 14px;
	border: 2px solid rgba(0, 87, 184, 0.35);
	background: linear-gradient(180deg, #eef6ff 0%, #ffffff 55%);
	box-shadow: 0 10px 28px rgba(0, 87, 184, 0.16);
	scroll-margin-top: 12px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-actions--mobile .jsm-cro-submit-proxy .jsm-cro-cta-text {
	display: inline !important;
	color: #fff !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	opacity: 1 !important;
	visibility: visible !important;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-checkout-zone--mobile .jsm-cro-checkout-zone__title {
	font-size: 19px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-checkout-zone--mobile .jsm-cro-checkout-zone__lead {
	font-size: 14px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-actions--mobile .jsm-cro-submit-proxy {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100% !important;
	min-height: 56px !important;
	padding: 16px 18px !important;
	border-radius: 12px !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	text-align: center;
	box-shadow: 0 6px 22px rgba(0, 87, 184, 0.38) !important;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-checkout-actions--mobile {
	gap: 10px;
	margin-bottom: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-checkout-actions--mobile .jsm-cro-continue-shopping {
	min-height: 52px;
	font-size: 15px;
	font-weight: 700;
	border: 2px solid var(--jsm-cro-blue);
	background: #fff;
	color: var(--jsm-cro-blue);
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-checkout-zone--mobile .jsm-cro-mobile-checkout__secure {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 10px 0 0;
	font-size: 11px;
	color: var(--jsm-cro-muted);
	text-align: center;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--mobile {
	margin: 0 0 18px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--mobile .jsm-cro-quick-checkout__divider-label {
	font-size: 14px;
	font-weight: 700;
	color: var(--jsm-cro-blue);
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--mobile .jsm-cro-quick-checkout__note {
	font-size: 12px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-accordions--mobile {
	margin: 0 0 12px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-accordions--mobile .jsm-cro-info-accordions {
	gap: 6px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-accordions--mobile .jsm-cro-info-accordion {
	background: #f8fafc;
	border-color: #e8edf3;
	border-radius: 8px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-accordions--mobile .jsm-cro-info-accordion__summary {
	min-height: 38px;
	padding: 8px 12px;
	font-size: 13px;
	font-weight: 600;
	color: #64748b;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-accordions--mobile .jsm-cro-info-accordion[open] .jsm-cro-info-accordion__summary {
	color: var(--jsm-cro-navy);
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-accordions--mobile .jsm-cro-info-accordion__body {
	padding: 8px 12px 10px;
	font-size: 12px;
	line-height: 1.45;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-accordions--mobile .jsm-cro-info-accordion__body .woocommerce-product-attributes th,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-accordions--mobile .jsm-cro-info-accordion__body .woocommerce-product-attributes td {
	padding: 4px 0;
	font-size: 12px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-accordions--mobile .jsm-cro-info-accordion__body #reviews .commentlist li {
	margin-bottom: 10px;
	padding-bottom: 10px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-accordions--mobile .jsm-cro-info-accordion__body #reviews .comment-text {
	font-size: 12px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-wrap--mobile,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-inline,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-recommend,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-sidebar--mobile {
	display: none !important;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-wrap--mobile {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-wrap--mobile .jsm-cro-related-sidebar--mobile {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
	display: block;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-wrap--mobile .jsm-cro-related-sidebar__title {
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 800;
	color: var(--jsm-cro-navy);
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-wrap--mobile .jsm-cro-related-sidebar__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	overflow: visible;
	padding-bottom: 0;
	scroll-snap-type: none;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-wrap--mobile .jsm-cro-related-sidebar__item {
	flex: none;
	width: 100%;
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	padding: 10px;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #f8fafc;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-wrap--mobile .jsm-cro-related-sidebar__item:last-child {
	border-bottom: 1px solid #e2e8f0;
	padding-bottom: 10px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-wrap--mobile .jsm-cro-related-sidebar__thumb img {
	width: 52px;
	height: 52px;
	border-radius: 8px;
	object-fit: cover;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-wrap--mobile .jsm-cro-related-sidebar__meta h4 {
	margin: 0 0 2px;
	font-size: 13px;
	line-height: 1.3;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-wrap--mobile .jsm-cro-related-sidebar__meta p {
	margin: 0;
	font-size: 13px;
	font-weight: 700;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-wrap--mobile .jsm-cro-related-sidebar__add {
	width: 32px;
	height: 32px;
	font-size: 18px;
}

/* Mobile header cart — in-header slot (see jsm-mobile-nav.css) */
body.jsm-cro-active #ast-mobile-header .jsm-cro-mobile-header-cart-wrap {
	display: flex !important;
	align-items: center;
}

body.jsm-cro-active #ast-mobile-header .jsm-cro-mobile-header-cart,
body.jsm-cro-active #ast-mobile-header .ast-header-woo-cart.jsm-cro-mobile-header-cart {
	display: flex !important;
	align-items: center;
}

body.jsm-cro-active #ast-mobile-header .ast-header-woo-cart:not(.jsm-cro-mobile-header-cart) {
	display: none !important;
}

body.jsm-cro-active #ast-mobile-header .site-header-primary-section-right,
body.jsm-cro-active #ast-mobile-header .site-header-primary-section-left,
body.jsm-cro-active #ast-mobile-header .site-header-primary-section-center {
	align-items: center;
}

body.jsm-cro-active #ast-mobile-header .ast-site-header-cart,
body.jsm-cro-active #ast-mobile-header .ast-site-header-cart-li,
body.jsm-cro-active #ast-mobile-header .ast-site-header-cart-li .cart-container {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}

body.jsm-cro-active #ast-mobile-header .ast-site-header-cart-li .cart-container {
	min-width: 40px;
	min-height: 40px;
}

body.jsm-cro-active #ast-mobile-header .ast-cart-menu-wrap,
body.jsm-cro-active #ast-mobile-header .ast-cart-menu-wrap .count,
body.jsm-cro-active #ast-mobile-header .ast-count-text {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Tablet/mobile widths where Astra still renders the desktop header bar */
body.jsm-cro-active #ast-desktop-header .ast-header-woo-cart {
	display: flex !important;
	align-items: center;
	visibility: visible !important;
	opacity: 1 !important;
}

body.jsm-cro-active .jsm-cro-help--mobile {
	margin: 0 0 28px;
	padding-bottom: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-help--mobile .jsm-cro-help {
	margin: 0;
	padding-bottom: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-feature-row {
	grid-template-columns: 1fr;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-trust-strip__card {
	grid-template-columns: 1fr;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-trust-strip__item {
	border-right: 0;
	border-bottom: 1px solid var(--jsm-cro-border);
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-trust-strip__item:last-child {
	border-bottom: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-feature-row--mockup {
	grid-template-columns: 1fr;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-inline__track {
	grid-template-columns: 1fr;
}

/* v1.3.5 — mobile UI polish (alignment, overflow, tap targets, sticky CTA) */

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-product-wrap,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-layout,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-postcode__card,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-mobile,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-wrap--mobile,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--mobile {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-product-wrap {
	padding-left: max(12px, env(safe-area-inset-left, 0px));
	padding-right: max(12px, env(safe-area-inset-right, 0px));
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-product-wrap img:not([width]),
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-gallery-thumb img {
	max-width: 100%;
	height: auto;
}

/* Header — keep logo, burger, and cart on one row */
body.jsm-cro-is-mobile.jsm-cro-active #ast-mobile-header {
	position: relative;
	z-index: 99990;
}

body.jsm-cro-is-mobile.jsm-cro-active #ast-mobile-header .site-header-primary-section-center {
	min-width: 0;
	max-width: calc(100vw - 108px);
}

body.jsm-cro-is-mobile.jsm-cro-active #ast-mobile-header .custom-logo-link,
body.jsm-cro-is-mobile.jsm-cro-active #ast-mobile-header .site-logo-img,
body.jsm-cro-is-mobile.jsm-cro-active #ast-mobile-header .ast-site-identity {
	max-width: 100%;
}

body.jsm-cro-is-mobile.jsm-cro-active #ast-mobile-header .custom-logo,
body.jsm-cro-is-mobile.jsm-cro-active #ast-mobile-header .custom-logo-link img {
	max-height: 36px;
	width: auto;
	max-width: min(148px, calc(100vw - 120px));
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-announcement__inner {
	padding-left: 12px;
	padding-right: 12px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-announcement__delivery {
	white-space: normal;
	word-break: break-word;
	hyphens: auto;
}

/* Postcode — stack on narrow screens */
@media (max-width: 380px) {
	body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-postcode__row {
		grid-template-columns: 1fr;
	}

	body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-btn.jsm-cro-postcode__check {
		width: 100%;
		min-height: 44px;
		white-space: normal;
		text-align: center;
		justify-content: center;
	}
}

/* Hero + price card */
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-intro--mockup .jsm-cro-intro__title {
	font-size: clamp(1.15rem, 5.5vw, 1.35rem);
	overflow-wrap: anywhere;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-intro--mockup .jsm-cro-intro__desc {
	overflow-wrap: anywhere;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-price-card--mockup {
	min-width: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-price-card__unit--sub {
	max-width: none;
}

/* Step cards */
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-bottle,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-plan {
	min-width: 0;
	grid-template-columns: auto minmax(0, 1fr);
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-bottle__body {
	min-height: auto;
	min-width: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-bottle__title,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-plan__row strong {
	overflow-wrap: anywhere;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-plan__desc {
	font-size: 12px;
	line-height: 1.4;
}

/* Frequency buttons — one full-width row each */
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-frequency__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 16px 12px;
	white-space: nowrap;
	text-align: center;
	line-height: 1.25;
}

@media (max-width: 340px) {
	body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-bottle-grid {
		gap: 6px;
	}

	body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-bottle {
		padding: 8px;
		gap: 6px;
	}

	body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-bottle__radio,
	body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-plan__radio {
		flex-shrink: 0;
	}
}

/* Quantity selector */
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-step--qty .jsm-cro-qty-controls .quantity {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-qty-stepper-wrap {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-step--qty .jsm-cro-qty-note {
	font-size: 12px;
	line-height: 1.45;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-step--qty .jsm-cro-qty-quick__btn {
	min-height: 56px;
	padding: 16px 12px;
	font-size: 13px;
	white-space: nowrap;
	text-align: center;
	line-height: 1.25;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-audience--full .jsm-cro-audience__btn {
	min-height: 56px;
	font-size: 13px;
	line-height: 1.25;
	white-space: nowrap;
	text-align: center;
}

/* Order summary */
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-lines {
	min-width: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-line {
	align-items: flex-start;
	font-size: 13px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-line dt {
	flex: 1 1 auto;
	min-width: 0;
	overflow-wrap: anywhere;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-line dd {
	flex: 0 0 auto;
	max-width: 44%;
	overflow-wrap: anywhere;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-mobile__head h2 {
	flex: 1 1 auto;
	min-width: 0;
	font-size: clamp(15px, 4.2vw, 17px);
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-mobile__edit {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 4px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-total--mobile {
	flex-wrap: wrap;
	gap: 4px 8px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-total--mobile strong {
	font-size: clamp(20px, 6vw, 24px);
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-cart-line-items__item {
	grid-template-columns: minmax(0, 1fr) auto;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-cart-line-items__name {
	overflow-wrap: anywhere;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-cart-qty-btn {
	min-width: 32px;
	min-height: 32px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-cart-line-items__footer {
	text-align: center;
}

/* Trust icon row */
@media (max-width: 360px) {
	body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-trust-benefits--mobile {
		gap: 2px;
	}

	body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-trust-benefits--mobile .jsm-cro-trust-benefits__icon {
		width: 30px;
		height: 30px;
		flex: 0 0 30px;
	}

	body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-trust-benefits--mobile .jsm-cro-trust-benefits__text strong {
		font-size: 8px;
	}
}

/* Mobile header sticky — styles in jsm-product-page-cro-floating-total.css */
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-add-to-basket-block--sticky {
	display: none !important;
}

/* Bottom-left WhatsApp + floating cart pill (mobile only) */
body.jsm-cro-is-mobile.jsm-cro-active .joinchat,
body.jsm-cro-is-mobile.jsm-cro-active #joinchat,
body.jsm-cro-is-mobile.jsm-cro-active .joinchat__button,
body.jsm-cro-is-mobile.jsm-cro-active .wa__widget,
body.jsm-cro-is-mobile.jsm-cro-active .ht-ctc-chat {
	bottom: max(14px, env(safe-area-inset-bottom, 0px)) !important;
	left: max(12px, env(safe-area-inset-left, 0px)) !important;
	right: auto !important;
	z-index: 9990 !important;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-mobile-cart-fixed {
	display: inline-flex !important;
	bottom: max(14px, env(safe-area-inset-bottom, 0px));
	left: calc(max(12px, env(safe-area-inset-left, 0px)) + 60px);
	right: auto;
	z-index: 99991;
}

body.jsm-cro-is-mobile.jsm-cro-active #wc-stripe-express-checkout-button-separator,
body.jsm-cro-is-mobile.jsm-cro-active #wc-stripe-payment-request-button-separator {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
	height: 0 !important;
	overflow: hidden !important;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-wallet-slot #wc-stripe-express-checkout-element,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-wallet-slot #wc-stripe-payment-request-wrapper {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	min-height: 44px !important;
}

/* Quick checkout buttons */
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--mobile .jsm-cro-quick-checkout__buttons {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--mobile .jsm-cro-pay {
	width: 100%;
	min-height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	margin: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--mobile .jsm-cro-pay--card {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	gap: 8px;
	padding: 0 12px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--mobile .jsm-cro-pay--card .jsm-cro-pay__card-text {
	flex: 0 1 auto;
	font-size: clamp(11px, 3.2vw, 13px);
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--mobile .jsm-cro-pay--card .jsm-cro-pay__card-brands {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 5px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--mobile .jsm-cro-pay--card .jsm-cro-pay__brand--visa {
	height: 12px;
	width: auto;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--mobile .jsm-cro-pay--card .jsm-cro-pay__brand--mc {
	height: 15px;
	width: auto;
}

@media (max-width: 360px) {
	body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--mobile .jsm-cro-pay--card {
		gap: 6px;
		padding: 0 10px;
	}

	body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--mobile .jsm-cro-pay--card .jsm-cro-pay__card-text {
		font-size: 11px;
	}

	body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--mobile .jsm-cro-pay--card .jsm-cro-pay__brand--visa {
		height: 11px;
	}

	body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-quick-checkout--mobile .jsm-cro-pay--card .jsm-cro-pay__brand--mc {
		height: 14px;
	}
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-stripe-google-slot--mobile {
	min-height: 48px;
	margin-bottom: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-checkout-zone--mobile .jsm-cro-mobile-checkout__secure {
	flex-wrap: wrap;
	line-height: 1.4;
	padding: 0 4px;
}

/* Accordions */
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-accordions--mobile .jsm-cro-info-accordion__summary {
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-accordions--mobile .jsm-cro-info-accordion__body {
	overflow-x: auto;
	overflow-wrap: anywhere;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-accordions--mobile .jsm-cro-info-accordion__body img,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-accordions--mobile .jsm-cro-info-accordion__body table {
	max-width: 100%;
}

/* Related products */
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-wrap--mobile .jsm-cro-related-sidebar__meta {
	min-width: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-wrap--mobile .jsm-cro-related-sidebar__meta h4 {
	overflow-wrap: anywhere;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-related-wrap--mobile .jsm-cro-related-sidebar__add {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	min-width: 36px;
}

/* Help footer + fixed cart on narrow widths */
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-help--mobile {
	margin-bottom: 8px;
	text-align: center;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-help--mobile .jsm-cro-help__phone,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-help--mobile .jsm-cro-help__hours {
	font-size: clamp(12px, 3.5vw, 14px);
	line-height: 1.45;
	overflow-wrap: anywhere;
}

@media (max-width: 380px) {
	body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-mobile-cart-fixed {
		bottom: max(10px, env(safe-area-inset-bottom, 0px));
		left: calc(max(10px, env(safe-area-inset-left, 0px)) + 56px);
		right: auto;
		padding: 0 8px;
		gap: 3px;
	}

	body.jsm-cro-active .jsm-cro-mobile-cart-fixed__amount {
		max-width: 64px;
		font-size: 9px;
	}
}

/* ── Fat-thumb tap targets (56px) — all configurator & checkout controls ── */
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-frequency__btn,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-qty-quick__btn,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-audience__btn,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-bottle,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-plan,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-step__summary,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-qty-controls .minus,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-qty-controls .plus,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-qty-controls button.minus,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-qty-controls button.plus,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-qty-controls .qty,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-btn.jsm-cro-postcode__check,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-postcode__locate,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-summary-actions--mobile .jsm-cro-submit-proxy,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-checkout-actions--mobile .jsm-cro-continue-shopping,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-accordions--mobile .jsm-cro-info-accordion__summary,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-sticky-cta__btn {
	min-height: 56px;
	box-sizing: border-box;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-frequency,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-audience--full,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-bottle-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-qty-quick {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 6px;
	width: 100%;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-frequency__btn,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-qty-quick__btn,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-audience__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	padding: 16px 12px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	white-space: nowrap;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-qty-quick__btn span {
	display: inline;
	white-space: nowrap;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-bottle,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-plan {
	min-height: 56px;
	padding: 16px 14px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-step__summary {
	min-height: 56px;
	padding: 14px 16px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-qty-controls .minus,
body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-qty-controls .plus {
	min-width: 56px;
	width: 56px !important;
	flex-shrink: 0;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-configurator .jsm-cro-qty-controls .qty {
	min-height: 56px !important;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-audience--full .jsm-cro-audience__btn {
	min-height: 56px;
	padding: 16px 12px;
	font-size: 13px;
	font-weight: 600;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-step--qty .jsm-cro-qty-quick__btn {
	min-height: 56px;
}

body.jsm-cro-is-mobile.jsm-cro-active .jsm-cro-frequency__btn {
	min-height: 56px;
}


/* Out-of-stock purchase lock (mobile) */
body.jsm-cro-active.is-jsm-cro-oos .jsm-cro-submit-proxy,
body.jsm-cro-active.is-jsm-cro-oos [data-jsm-cro-sticky-submit],
body.jsm-cro-active.is-jsm-cro-oos [data-jsm-cro-card-checkout],
body.jsm-cro-active.is-jsm-cro-oos [data-jsm-cro-wallet-continue],
body.jsm-cro-active.is-jsm-cro-oos .jsm-cro-add-to-basket-block__btn,
body.jsm-cro-active .is-jsm-oos-disabled {
	opacity: 0.55 !important;
	pointer-events: none !important;
	cursor: not-allowed !important;
}

body.jsm-cro-active .jsm-cro-submit-status:not(.screen-reader-text) {
	margin: 8px 0 0;
	color: #b42318;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.35;
}
