/* AZP Mobile Commerce release integration layer.
 * Loaded after the historical stylesheet so final navigation, content-page,
 * contrast, and footer behavior cannot be undone by the active theme. */

@media screen and (max-width: 767px) {
	/* The Twenty Seventeen front-page template prints page 5805 followed by
	 * additional desktop panels. Public mode keeps that shared template for
	 * cache safety; AZP Mobile Commerce displays only the configured Home
	 * source article on cellphones. */
	body.azp-mobile-home-5805 #main > article.twentyseventeen-panel:not(#post-5805) {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	/* No desktop-theme breadcrumb bar on any AZP cellphone product screen.
	 * The broad final selector also covers breadcrumbs added by SEO plugins. */
	body.azp-mobile-product-page .woocommerce-breadcrumb,
	body.azp-mobile-product-page .breadcrumb,
	body.azp-mobile-product-page .breadcrumbs,
	body.azp-mobile-product-page nav.breadcrumb,
	body.azp-mobile-product-page nav.breadcrumbs,
	body.azp-mobile-product-page #breadcrumbs,
	body.azp-mobile-product-page .yoast-breadcrumb,
	body.azp-mobile-product-page .rank-math-breadcrumb,
	body.azp-mobile-product-page [class*="breadcrumb"] {
		display: none !important;
		visibility: hidden !important;
		box-sizing: border-box !important;
		width: 0 !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		overflow: hidden !important;
	}

	/* A restrained brand bridge to the longstanding AZPepper.com identity. */
	body.azp-mobile-device-preview .azp-brand-identity-line {
		position: fixed !important;
		top: 68px !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 10002 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		height: 15px !important;
		min-height: 15px !important;
		padding: 0 7px !important;
		background: #ffffff !important;
		color: #3f2a1d !important;
		-webkit-text-fill-color: #3f2a1d !important;
		font-size: clamp(8px, 2.35vw, 10px) !important;
		font-weight: 750 !important;
		line-height: 15px !important;
		letter-spacing: 0.01em !important;
		text-align: center !important;
		text-shadow: none !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	body.azp-mobile-device-preview .azp-slogan-strip {
		top: 83px !important;
	}

	body.azp-mobile-device-preview #page {
		margin-top: 115px !important;
		min-height: calc(100dvh - 115px) !important;
	}

	body.azp-mobile-device-preview .azp-mobile-nav {
		top: 115px !important;
	}

	body.azp-mobile-device-preview .azp-mobile-nav-backdrop {
		inset: 115px 0 0 0 !important;
	}

	/* Approved hamburger composition. */
	body.azp-mobile-device-preview .azp-mobile-nav {
		width: min(92vw, 390px) !important;
		padding: 0 !important;
		background: #fffdf8 !important;
		overflow-y: auto !important;
	}

	body.azp-mobile-device-preview .azp-nav-primary {
		display: flex !important;
		flex-direction: column !important;
	}

	body.azp-mobile-device-preview .azp-nav-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		border-top: 2px solid rgba(86, 57, 35, 0.28) !important;
	}

	body.azp-mobile-device-preview .azp-mobile-nav .azp-nav-link {
		box-sizing: border-box !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		text-shadow: none !important;
		opacity: 1 !important;
	}

	body.azp-mobile-device-preview .azp-mobile-nav .azp-nav-link-primary {
		display: flex !important;
		min-height: 50px !important;
		padding: 9px 13px !important;
		gap: 11px !important;
		font-size: 14px !important;
		font-weight: 800 !important;
		line-height: 1.2 !important;
	}

	body.azp-mobile-device-preview .azp-mobile-nav .azp-nav-link-grid {
		display: flex !important;
		align-items: center !important;
		min-width: 0 !important;
		min-height: 62px !important;
		padding: 8px 10px !important;
		gap: 8px !important;
		border-right: 1px solid #e8e1d7 !important;
		border-bottom: 1px solid #e8e1d7 !important;
		font-size: 13px !important;
		font-weight: 800 !important;
		line-height: 1.18 !important;
	}

	body.azp-mobile-device-preview .azp-mobile-nav .azp-nav-link-grid:nth-child(even) {
		border-right: 0 !important;
	}

	body.azp-mobile-device-preview .azp-mobile-nav .azp-nav-link span {
		min-width: 0 !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
	}

	body.azp-mobile-device-preview .azp-mobile-nav .azp-nav-icon,
	body.azp-mobile-device-preview .azp-mobile-nav .azp-nav-icon path {
		width: 24px !important;
		height: 24px !important;
		min-width: 24px !important;
		fill: #111111 !important;
		color: #111111 !important;
		opacity: 1 !important;
	}

	body.azp-mobile-device-preview .azp-mobile-nav .azp-nav-logout {
		color: #7f171d !important;
		-webkit-text-fill-color: #7f171d !important;
	}

	body.azp-mobile-device-preview .azp-mobile-nav .azp-nav-logout span,
	body.azp-mobile-device-preview .azp-mobile-nav .azp-nav-logout svg,
	body.azp-mobile-device-preview .azp-mobile-nav .azp-nav-logout path {
		color: #7f171d !important;
		fill: #7f171d !important;
		-webkit-text-fill-color: #7f171d !important;
	}

	/* Standard editorial pages now use the same readable parchment system as
	   catalog, account, cart, and checkout. */
	body.azp-mobile-content-page #primary,
	body.azp-mobile-content-page .content-area,
	body.azp-mobile-content-page main,
	body.azp-mobile-content-page article,
	body.azp-mobile-content-page .entry-content {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		float: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	body.azp-mobile-content-page .entry-header,
	body.azp-mobile-content-page .page-header,
	body.azp-mobile-content-page h1.entry-title,
	body.azp-mobile-content-page .wp-block-post-title {
		display: none !important;
	}

	body.azp-mobile-content-page .entry-content {
		margin: 12px auto !important;
		padding: 14px !important;
		border: 1px solid rgba(86, 57, 35, 0.24) !important;
		border-radius: 14px !important;
		background: rgba(255, 253, 248, 0.9) !important;
		box-shadow: 0 2px 9px rgba(48, 31, 14, 0.12) !important;
	}

	body.azp-mobile-content-page .entry-content .wp-block-columns,
	body.azp-mobile-content-page .entry-content .wp-block-group__inner-container,
	body.azp-mobile-content-page .entry-content .elementor-row,
	body.azp-mobile-content-page .entry-content .elementor-container,
	body.azp-mobile-content-page .entry-content .e-con-inner {
		box-sizing: border-box !important;
		flex-direction: column !important;
		grid-template-columns: minmax(0, 1fr) !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		gap: 12px !important;
	}

	body.azp-mobile-content-page .entry-content .wp-block-column,
	body.azp-mobile-content-page .entry-content .elementor-column,
	body.azp-mobile-content-page .entry-content .elementor-widget-wrap,
	body.azp-mobile-content-page .entry-content .e-con {
		box-sizing: border-box !important;
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	body.azp-mobile-content-page .entry-content
		:where(h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, label, legend, address, strong, em, span, div, a) {
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		text-shadow: none !important;
		opacity: 1 !important;
	}

	body.azp-mobile-content-page .entry-content h1 {
		font-size: 29px !important;
		line-height: 1.08 !important;
	}

	body.azp-mobile-content-page .entry-content h2 {
		font-size: 24px !important;
		line-height: 1.15 !important;
	}

	body.azp-mobile-content-page .entry-content h3 {
		font-size: 20px !important;
		line-height: 1.2 !important;
	}

	body.azp-mobile-content-page .entry-content p,
	body.azp-mobile-content-page .entry-content li,
	body.azp-mobile-content-page .entry-content address {
		font-size: 16px !important;
		line-height: 1.5 !important;
	}

	body.azp-mobile-content-page .entry-content a:not(.button):not(.wp-block-button__link) {
		font-weight: 700 !important;
		text-decoration: underline !important;
		text-decoration-thickness: 1.5px !important;
		text-underline-offset: 3px !important;
	}

	body.azp-mobile-content-page .entry-content img,
	body.azp-mobile-content-page .entry-content figure,
	body.azp-mobile-content-page .entry-content video,
	body.azp-mobile-content-page .entry-content iframe {
		max-width: 100% !important;
		height: auto !important;
	}

	body.azp-mobile-content-page .entry-content table {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: auto !important;
	}

	body.azp-mobile-content-page .entry-content details {
		margin: 8px 0 !important;
		padding: 11px 12px !important;
		border: 1px solid rgba(86, 57, 35, 0.3) !important;
		border-radius: 9px !important;
		background: #fffdf8 !important;
	}

	body.azp-mobile-content-page .entry-content summary {
		min-height: 44px !important;
		font-size: 17px !important;
		font-weight: 850 !important;
		line-height: 1.3 !important;
		cursor: pointer !important;
	}

	/* Contact and embedded form plugins. */
	body.azp-mobile-content-page .entry-content form,
	body.azp-mobile-content-page .entry-content fieldset,
	body.azp-mobile-content-page .entry-content .gform_wrapper,
	body.azp-mobile-content-page .entry-content .gform_fields,
	body.azp-mobile-content-page .entry-content .gfield,
	body.azp-mobile-content-page .entry-content .ginput_complex,
	body.azp-mobile-content-page .entry-content .wpforms-field-container,
	body.azp-mobile-content-page .entry-content .wpforms-field {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.azp-mobile-content-page .entry-content .ginput_complex,
	body.azp-mobile-content-page .entry-content .gform-grid-row {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 10px !important;
	}

	body.azp-mobile-content-page .entry-content .ginput_complex > span,
	body.azp-mobile-content-page .entry-content .gform-grid-col {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
	}

	body.azp-mobile-content-page .entry-content label,
	body.azp-mobile-content-page .entry-content legend,
	body.azp-mobile-content-page .entry-content .gfield_label {
		display: block !important;
		margin: 0 0 5px !important;
		font-size: 16px !important;
		font-weight: 850 !important;
		line-height: 1.25 !important;
	}

	body.azp-mobile-content-page .entry-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
	body.azp-mobile-content-page .entry-content select,
	body.azp-mobile-content-page .entry-content textarea {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 48px !important;
		padding: 10px 12px !important;
		border: 1px solid #756452 !important;
		border-radius: 7px !important;
		background: #ffffff !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		font-size: 16px !important;
		text-shadow: none !important;
		opacity: 1 !important;
	}

	body.azp-mobile-content-page .entry-content textarea {
		min-height: 150px !important;
		resize: vertical !important;
	}

	body.azp-mobile-content-page .entry-content input::placeholder,
	body.azp-mobile-content-page .entry-content textarea::placeholder {
		color: #555555 !important;
		-webkit-text-fill-color: #555555 !important;
		opacity: 1 !important;
	}

	body.azp-mobile-content-page .entry-content button,
	body.azp-mobile-content-page .entry-content input[type="submit"],
	body.azp-mobile-content-page .entry-content .button,
	body.azp-mobile-content-page .entry-content .wp-block-button__link {
		box-sizing: border-box !important;
		width: 100% !important;
		min-height: 50px !important;
		padding: 11px 16px !important;
		border: 0 !important;
		border-radius: 8px !important;
		background: var(--desert-accent, #6d432a) !important;
		color: var(--azp-accent-ink, var(--desert-accent-contrast, #ffffff)) !important;
		-webkit-text-fill-color: var(--azp-accent-ink, var(--desert-accent-contrast, #ffffff)) !important;
		font-size: 17px !important;
		font-weight: 850 !important;
		line-height: 1.25 !important;
		text-align: center !important;
		text-shadow: none !important;
	}

	body.azp-mobile-content-page .entry-content button *,
	body.azp-mobile-content-page .entry-content .button *,
	body.azp-mobile-content-page .entry-content .wp-block-button__link * {
		color: var(--azp-accent-ink, var(--desert-accent-contrast, #ffffff)) !important;
		-webkit-text-fill-color: var(--azp-accent-ink, var(--desert-accent-contrast, #ffffff)) !important;
		text-shadow: none !important;
	}

	/* There is no desktop-site footer inside the cellphone commerce shell. */
	body.azp-mobile-device-preview footer,
	body.azp-mobile-device-preview #colophon,
	body.azp-mobile-device-preview #footer,
	body.azp-mobile-device-preview .site-footer,
	body.azp-mobile-device-preview .footer,
	body.azp-mobile-device-preview .site-info,
	body.azp-mobile-device-preview .elementor-location-footer,
	body.azp-mobile-device-preview [data-elementor-type="footer"] {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}
}

/* 0.4.16 Mix & Match purchase prompt.
 * Desktop keeps the original WooCommerce title and never shows this mobile
 * instruction. On cellphones the banner is the visible product title; the
 * semantic H1 remains available to assistive technology without using space. */
.azp-mobile-mix-match-instructions {
	display: none;
}

@media screen and (max-width: 767px) {
	body.azp-mobile-mix-match-product div.product .summary .product_title,
	body.azp-mobile-mix-match-product div.product .summary h1.product_title.entry-title {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		padding: 0 !important;
		margin: -1px !important;
		overflow: hidden !important;
		clip: rect(0, 0, 0, 0) !important;
		clip-path: inset(50%) !important;
		white-space: nowrap !important;
		border: 0 !important;
	}

	body.azp-mobile-mix-match-product .azp-mobile-mix-match-instructions {
		display: block !important;
		margin: 0 0 8px !important;
		padding: 0 !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		font-size: clamp(15px, 4vw, 18px) !important;
		font-weight: 750 !important;
		line-height: 1.3 !important;
	}
}

/* 0.4.14 location banner and Account Details contrast checkpoint.
 * The base stylesheet hides the AZP shell on desktop. Explicitly restore the
 * location strip inside the cellphone breakpoint, then neutralize Twenty
 * Seventeen's .colors-dark fieldset background in the password-change area. */
@media screen and (max-width: 767px) {
	body.azp-mobile-device-preview .azp-slogan-strip {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	body.azp-account-page form.edit-account fieldset {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 12px 0 0 !important;
		padding: 12px !important;
		border: 1px solid #e0d2bd !important;
		border-radius: 10px !important;
		background: rgba(255, 253, 248, 0.98) !important;
		background-color: rgba(255, 253, 248, 0.98) !important;
		background-image: none !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
	}

	body.azp-account-page form.edit-account fieldset legend,
	body.azp-account-page form.edit-account fieldset label,
	body.azp-account-page form.edit-account fieldset p,
	body.azp-account-page form.edit-account fieldset span,
	body.azp-account-page form.edit-account fieldset em,
	body.azp-account-page form.edit-account fieldset small {
		background: transparent !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		text-shadow: none !important;
		opacity: 1 !important;
	}

	body.azp-account-page form.edit-account fieldset legend {
		display: block !important;
		width: auto !important;
		max-width: 100% !important;
		margin: 0 0 8px !important;
		padding: 0 !important;
		font-size: 18px !important;
		font-weight: 850 !important;
		line-height: 1.25 !important;
	}

	body.azp-account-page form.edit-account fieldset input[type="password"],
	body.azp-account-page form.edit-account fieldset input[type="text"] {
		background: #ffffff !important;
		background-color: #ffffff !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		border: 1px solid #b9aa93 !important;
		text-shadow: none !important;
		opacity: 1 !important;
	}
}

/* Contact form readability checkpoint.
 * The child theme paints compound-name wrappers dark; explicitly restore the
 * light form surface, readable labels and one-field-per-row phone layout. */
@media screen and (max-width: 767px) {
	body.azp-mobile-page-contact .entry-content form,
	body.azp-mobile-page-contact .entry-content fieldset,
	body.azp-mobile-page-contact .entry-content .gform_wrapper,
	body.azp-mobile-page-contact .entry-content .gform-body,
	body.azp-mobile-page-contact .entry-content .gform_fields,
	body.azp-mobile-page-contact .entry-content .gfield,
	body.azp-mobile-page-contact .entry-content .ginput_container,
	body.azp-mobile-page-contact .entry-content .ginput_complex,
	body.azp-mobile-page-contact .entry-content .gform-grid-row,
	body.azp-mobile-page-contact .entry-content .gform-grid-col,
	body.azp-mobile-page-contact .entry-content .name_first,
	body.azp-mobile-page-contact .entry-content .name_last,
	body.azp-mobile-page-contact .entry-content .wpforms-container,
	body.azp-mobile-page-contact .entry-content .wpforms-field,
	body.azp-mobile-page-contact .entry-content .wpcf7-form,
	body.azp-mobile-page-contact .entry-content .wpcf7-form-control-wrap {
		box-sizing: border-box !important;
		max-width: 100% !important;
		background: transparent !important;
		background-color: transparent !important;
		background-image: none !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		text-shadow: none !important;
		opacity: 1 !important;
	}

	body.azp-mobile-page-contact .entry-content .ginput_complex,
	body.azp-mobile-page-contact .entry-content .gform-grid-row,
	body.azp-mobile-page-contact .entry-content .wpforms-field-row {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 8px !important;
		width: 100% !important;
	}

	body.azp-mobile-page-contact .entry-content .ginput_complex > span,
	body.azp-mobile-page-contact .entry-content .gform-grid-col,
	body.azp-mobile-page-contact .entry-content .wpforms-field-row-block {
		display: flex !important;
		flex-direction: column !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
	}

	body.azp-mobile-page-contact .entry-content label,
	body.azp-mobile-page-contact .entry-content legend,
	body.azp-mobile-page-contact .entry-content .gfield_label,
	body.azp-mobile-page-contact .entry-content .gform-field-label,
	body.azp-mobile-page-contact .entry-content .gform-field-label--type-sub,
	body.azp-mobile-page-contact .entry-content .wpforms-field-label,
	body.azp-mobile-page-contact .entry-content .wpforms-field-sublabel {
		display: block !important;
		margin: 4px 0 !important;
		background: transparent !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		font-size: 15px !important;
		font-weight: 800 !important;
		line-height: 1.2 !important;
		text-align: left !important;
		text-shadow: none !important;
		opacity: 1 !important;
	}

	body.azp-mobile-page-contact .entry-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
	body.azp-mobile-page-contact .entry-content select,
	body.azp-mobile-page-contact .entry-content textarea {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 48px !important;
		margin: 0 !important;
		padding: 10px 12px !important;
		border: 2px solid #5f5143 !important;
		border-radius: 8px !important;
		outline: 0 !important;
		background: #ffffff !important;
		background-color: #ffffff !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		caret-color: #111111 !important;
		font-size: 16px !important;
		font-weight: 500 !important;
		line-height: 1.3 !important;
		text-shadow: none !important;
		box-shadow: none !important;
		opacity: 1 !important;
	}

	body.azp-mobile-page-contact .entry-content textarea {
		min-height: 140px !important;
		resize: vertical !important;
	}

	body.azp-mobile-page-contact .entry-content input::placeholder,
	body.azp-mobile-page-contact .entry-content textarea::placeholder {
		color: #555555 !important;
		-webkit-text-fill-color: #555555 !important;
		opacity: 1 !important;
	}

	body.azp-mobile-page-contact .entry-content input:-webkit-autofill,
	body.azp-mobile-page-contact .entry-content input:-webkit-autofill:hover,
	body.azp-mobile-page-contact .entry-content input:-webkit-autofill:focus {
		-webkit-text-fill-color: #111111 !important;
		-webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
		box-shadow: 0 0 0 1000px #ffffff inset !important;
	}

	body.azp-mobile-page-contact .entry-content input:focus,
	body.azp-mobile-page-contact .entry-content select:focus,
	body.azp-mobile-page-contact .entry-content textarea:focus {
		border-color: var(--desert-accent, #6d432a) !important;
		outline: 3px solid rgba(109, 67, 42, 0.25) !important;
		outline-offset: 1px !important;
	}

	body.azp-mobile-page-contact .entry-content .gfield_required,
	body.azp-mobile-page-contact .entry-content .wpforms-required-label,
	body.azp-mobile-page-contact .entry-content .wpcf7-not-valid-tip {
		background: transparent !important;
		color: #a71923 !important;
		-webkit-text-fill-color: #a71923 !important;
		font-weight: 850 !important;
		text-shadow: none !important;
		opacity: 1 !important;
	}

	body.azp-mobile-page-contact .entry-content .validation_message,
	body.azp-mobile-page-contact .entry-content .gform_validation_errors,
	body.azp-mobile-page-contact .entry-content .wpforms-error,
	body.azp-mobile-page-contact .entry-content .wpcf7-response-output {
		box-sizing: border-box !important;
		padding: 9px 10px !important;
		border: 2px solid #a71923 !important;
		border-radius: 7px !important;
		background: #fff4f4 !important;
		color: #761118 !important;
		-webkit-text-fill-color: #761118 !important;
		font-weight: 750 !important;
		text-shadow: none !important;
		opacity: 1 !important;
	}
}

/* Product-page density checkpoint.
 * Keep the complete purchase path—image, thumbnails, variants, quantity and
 * Add to Cart—together without the large theme and FlexSlider gaps. */
@media screen and (max-width: 767px) {
	body.azp-mobile-product-page #primary,
	body.azp-mobile-product-page .content-area,
	body.azp-mobile-product-page #main,
	body.azp-mobile-product-page .site-main,
	body.azp-mobile-product-page article,
	body.azp-mobile-product-page .entry-content,
	body.azp-mobile-product-page .woocommerce {
		box-sizing: border-box !important;
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	body.azp-mobile-product-page div.product,
	body.azp-mobile-product-page .single-product div.product,
	body.azp-mobile-variable-product div.product,
	body.azp-mobile-variable-product .single-product div.product {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 6px !important;
		box-sizing: border-box !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 6px 8px 10px !important;
		background: transparent !important;
	}

	body.azp-mobile-product-page div.product div.images,
	body.azp-mobile-product-page div.product .woocommerce-product-gallery,
	body.azp-mobile-product-page div.product div.summary,
	body.azp-mobile-product-page div.product .entry-summary {
		grid-column: 1 !important;
		float: none !important;
		clear: both !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
	}

	body.azp-mobile-product-page div.product div.images,
	body.azp-mobile-product-page div.product .woocommerce-product-gallery {
		position: relative !important;
		padding: 4px !important;
		border: 1px solid rgba(86, 57, 35, 0.22) !important;
		border-radius: 12px !important;
		background: rgba(255, 253, 248, 0.94) !important;
		overflow: hidden !important;
	}

	body.azp-mobile-product-page .woocommerce-product-gallery figure,
	body.azp-mobile-product-page .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
	body.azp-mobile-product-page .woocommerce-product-gallery .flex-viewport {
		box-sizing: border-box !important;
		width: 100% !important;
		height: clamp(158px, 45vw, 190px) !important;
		min-height: 0 !important;
		max-height: 190px !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	body.azp-mobile-product-page .woocommerce-product-gallery__image,
	body.azp-mobile-product-page .woocommerce-product-gallery__image a {
		box-sizing: border-box !important;
		height: clamp(158px, 45vw, 190px) !important;
		min-height: 0 !important;
		max-height: 190px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.azp-mobile-product-page div.product div.images .woocommerce-product-gallery__image img,
	body.azp-mobile-product-page div.product .woocommerce-product-gallery__image img {
		display: block !important;
		width: 100% !important;
		height: clamp(158px, 45vw, 190px) !important;
		min-height: 0 !important;
		max-height: 190px !important;
		margin: 0 !important;
		padding: 0 !important;
		object-fit: contain !important;
		object-position: center !important;
		background: transparent !important;
	}

	body.azp-mobile-product-page div.product .flex-control-thumbs,
	body.azp-mobile-product-page div.product ol.flex-control-nav.flex-control-thumbs {
		display: flex !important;
		align-items: center !important;
		gap: 5px !important;
		box-sizing: border-box !important;
		width: 100% !important;
		height: 48px !important;
		min-height: 0 !important;
		max-height: 48px !important;
		margin: 4px 0 0 !important;
		padding: 0 !important;
		list-style: none !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
	}

	body.azp-mobile-product-page div.product .flex-control-thumbs li {
		display: block !important;
		flex: 0 0 46px !important;
		float: none !important;
		box-sizing: border-box !important;
		width: 46px !important;
		height: 46px !important;
		min-height: 0 !important;
		max-height: 46px !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	body.azp-mobile-product-page div.product .flex-control-thumbs li img {
		display: block !important;
		box-sizing: border-box !important;
		width: 46px !important;
		height: 46px !important;
		min-height: 0 !important;
		max-height: 46px !important;
		margin: 0 !important;
		padding: 2px !important;
		border: 1px solid rgba(86, 57, 35, 0.24) !important;
		border-radius: 6px !important;
		object-fit: contain !important;
		background: #ffffff !important;
	}

	body.azp-mobile-product-page .woocommerce-product-gallery__trigger {
		top: 7px !important;
		right: 7px !important;
		width: 36px !important;
		height: 36px !important;
		min-height: 36px !important;
		margin: 0 !important;
	}

	body.azp-mobile-product-page div.product div.summary,
	body.azp-mobile-product-page div.product .entry-summary {
		padding: 8px 10px 10px !important;
		border: 1px solid rgba(86, 57, 35, 0.22) !important;
		border-radius: 12px !important;
		background: rgba(255, 253, 248, 0.94) !important;
	}

	body.azp-mobile-product-page .azp-mobile-variation-instructions,
	body.azp-mobile-variable-product .azp-mobile-variation-instructions {
		margin: 0 0 6px !important;
		font-size: 16px !important;
		line-height: 1.15 !important;
	}

	body.azp-mobile-product-page div.product table.variations tr,
	body.azp-mobile-variable-product div.product table.variations tr {
		margin: 0 !important;
		padding: 0 0 6px !important;
	}

	body.azp-mobile-product-page div.product table.variations th,
	body.azp-mobile-product-page div.product table.variations label,
	body.azp-mobile-variable-product div.product table.variations th,
	body.azp-mobile-variable-product div.product table.variations label {
		padding: 0 0 3px !important;
		font-size: 14px !important;
		line-height: 1.15 !important;
	}

	body.azp-mobile-product-page div.product .single_variation_wrap,
	body.azp-mobile-product-page div.product .woocommerce-variation-add-to-cart,
	body.azp-mobile-product-page div.product .variations_button,
	body.azp-mobile-variable-product div.product .single_variation_wrap,
	body.azp-mobile-variable-product div.product .woocommerce-variation-add-to-cart,
	body.azp-mobile-variable-product div.product .variations_button {
		gap: 6px !important;
		margin: 0 !important;
	}
}

@media screen and (max-width: 340px) {
	body.azp-mobile-device-preview .azp-nav-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.azp-mobile-device-preview .azp-mobile-nav .azp-nav-link-grid {
		border-right: 0 !important;
	}
}

/* Shopping Cart refinement checkpoint.
 * Product choice, quantity, and cart actions now follow the same visual,
 * reading, and keyboard order on every supported phone width. */
@media screen and (max-width: 767px) {
	body.azp-mobile-cart-page tr.cart_item .product-name {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		font-size: clamp(10px, 3.25vw, 13px) !important;
		font-weight: 900 !important;
		line-height: 1.2 !important;
		letter-spacing: 0.02em !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
	}

	body.azp-mobile-cart-page tr.cart_item .product-name a {
		display: block !important;
		font: inherit !important;
		line-height: inherit !important;
		white-space: nowrap !important;
	}

	body.azp-mobile-cart-page tr.cart_item .azp-cart-product-variants {
		display: block !important;
		width: 100% !important;
		margin-top: 4px !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		font-size: 13px !important;
		font-weight: 750 !important;
		line-height: 1.2 !important;
		letter-spacing: 0 !important;
		white-space: normal !important;
	}

	body.azp-mobile-cart-page tr.cart_item .variation.azp-cart-native-variation {
		display: none !important;
	}

	body.azp-mobile-cart-page tr.cart_item .product-quantity {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		width: 100% !important;
		min-width: 0 !important;
		gap: 5px !important;
	}

	body.azp-mobile-cart-page tr.cart_item .product-quantity::before {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		float: none !important;
		clear: both !important;
		content: "Quantity:" !important;
		line-height: 1.15 !important;
		text-align: left !important;
	}

	body.azp-mobile-cart-page tr.cart_item .quantity.azp-quantity-enhanced {
		display: grid !important;
		position: static !important;
		inset: auto !important;
		float: none !important;
		clear: both !important;
		margin: 0 !important;
		transform: none !important;
	}

	body.azp-mobile-cart-page .woocommerce-cart-form td.actions {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 10px !important;
	}

	body.azp-mobile-cart-page .woocommerce-cart-form button[name="update_cart"] {
		order: 1 !important;
		margin: 0 !important;
	}

	body.azp-mobile-cart-page .woocommerce-cart-form .coupon {
		order: 2 !important;
		margin: 0 !important;
	}

	/* The item cards and controls provide their own readable surfaces. Keep
	 * their outer form transparent so it does not veil the desert artwork. */
	body.azp-mobile-cart-page .woocommerce-cart-form,
	body.azp-mobile-cart-page .woocommerce-cart-form table.shop_table,
body.azp-mobile-cart-page .woocommerce-cart-form table.shop_table tbody {
		background: transparent !important;
		box-shadow: none !important;
	}
}

/* 0.4.15 Order Confirmation checkpoint.
 * WooCommerce's order-received endpoint is no longer allowed to fall back to
 * the Twenty Seventeen presentation after a successful mobile checkout. */
@media screen and (max-width: 767px) {
	body.azp-mobile-order-confirmation-page .entry-header,
	body.azp-mobile-order-confirmation-page .entry-title,
	body.azp-mobile-order-confirmation-page .woocommerce-breadcrumb {
		display: none !important;
	}

	body.azp-mobile-order-confirmation-page .woocommerce,
	body.azp-mobile-order-confirmation-page .woocommerce-order {
		box-sizing: border-box !important;
		float: none !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 10px !important;
		background: transparent !important;
		color: #111111 !important;
	}

	body.azp-mobile-order-confirmation-page .woocommerce-notice,
	body.azp-mobile-order-confirmation-page .woocommerce-thankyou-order-received,
	body.azp-mobile-order-confirmation-page .woocommerce-thankyou-order-details,
	body.azp-mobile-order-confirmation-page .woocommerce-order-details,
	body.azp-mobile-order-confirmation-page .woocommerce-customer-details,
	body.azp-mobile-order-confirmation-page .woocommerce-order-downloads,
	body.azp-mobile-order-confirmation-page .woocommerce-bacs-bank-details,
	body.azp-mobile-order-confirmation-page .wc-bacs-bank-details,
	body.azp-mobile-order-confirmation-page .woocommerce-order > p {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 0 10px !important;
		padding: 12px !important;
		border: 1px solid #e0d2bd !important;
		border-radius: 11px !important;
		background: rgba(255, 253, 248, 0.97) !important;
		color: #111111 !important;
		box-shadow: 0 2px 8px rgba(48, 31, 14, 0.10) !important;
	}

	body.azp-mobile-order-confirmation-page .woocommerce-thankyou-order-received,
	body.azp-mobile-order-confirmation-page .woocommerce-notice--success {
		border-left: 6px solid var(--desert-accent, #2d5f3f) !important;
		font-size: 18px !important;
		font-weight: 850 !important;
		line-height: 1.3 !important;
	}

	body.azp-mobile-order-confirmation-page
		:where(h1, h2, h3, h4, p, li, th, td, address, strong, span, a, small) {
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		text-shadow: none !important;
		opacity: 1 !important;
	}

	body.azp-mobile-order-confirmation-page h2,
	body.azp-mobile-order-confirmation-page h3 {
		margin: 0 0 10px !important;
		font-size: 21px !important;
		font-weight: 900 !important;
		line-height: 1.2 !important;
	}

	body.azp-mobile-order-confirmation-page ul.woocommerce-order-overview,
	body.azp-mobile-order-confirmation-page ul.order_details {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 0 !important;
		list-style: none !important;
	}

	body.azp-mobile-order-confirmation-page ul.woocommerce-order-overview li,
	body.azp-mobile-order-confirmation-page ul.order_details li {
		float: none !important;
		box-sizing: border-box !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 9px 0 !important;
		border: 0 !important;
		border-bottom: 1px solid #ded1bd !important;
		font-size: 13px !important;
		line-height: 1.3 !important;
		text-transform: none !important;
	}

	body.azp-mobile-order-confirmation-page ul.woocommerce-order-overview li:last-child,
	body.azp-mobile-order-confirmation-page ul.order_details li:last-child {
		border-bottom: 0 !important;
	}

	body.azp-mobile-order-confirmation-page ul.woocommerce-order-overview li strong,
	body.azp-mobile-order-confirmation-page ul.order_details li strong {
		display: block !important;
		margin-top: 3px !important;
		font-size: 16px !important;
		font-weight: 850 !important;
		line-height: 1.3 !important;
		word-break: break-word !important;
	}

	body.azp-mobile-order-confirmation-page table.shop_table,
	body.azp-mobile-order-confirmation-page table.woocommerce-table {
		display: table !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		border: 1px solid #ded1bd !important;
		border-collapse: collapse !important;
		border-radius: 8px !important;
		background: #fffdf8 !important;
		table-layout: fixed !important;
	}

	body.azp-mobile-order-confirmation-page table.shop_table th,
	body.azp-mobile-order-confirmation-page table.shop_table td,
	body.azp-mobile-order-confirmation-page table.woocommerce-table th,
	body.azp-mobile-order-confirmation-page table.woocommerce-table td {
		box-sizing: border-box !important;
		padding: 9px 8px !important;
		border-bottom: 1px solid #ded1bd !important;
		background: #fffdf8 !important;
		font-size: 14px !important;
		line-height: 1.35 !important;
		text-align: left !important;
		vertical-align: top !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
	}

	body.azp-mobile-order-confirmation-page table.shop_table th:last-child,
	body.azp-mobile-order-confirmation-page table.shop_table td:last-child,
	body.azp-mobile-order-confirmation-page table.woocommerce-table th:last-child,
	body.azp-mobile-order-confirmation-page table.woocommerce-table td:last-child {
		text-align: right !important;
	}

	body.azp-mobile-order-confirmation-page .woocommerce-columns,
	body.azp-mobile-order-confirmation-page .woocommerce-customer-details .col2-set {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 10px !important;
	}

	body.azp-mobile-order-confirmation-page .woocommerce-column,
	body.azp-mobile-order-confirmation-page .woocommerce-customer-details .col-1,
	body.azp-mobile-order-confirmation-page .woocommerce-customer-details .col-2 {
		float: none !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.azp-mobile-order-confirmation-page address {
		box-sizing: border-box !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 10px !important;
		border: 1px solid #ded1bd !important;
		border-radius: 8px !important;
		background: #fffdf8 !important;
		font-size: 15px !important;
		font-style: normal !important;
		line-height: 1.45 !important;
	}

	body.azp-mobile-order-confirmation-page .button,
	body.azp-mobile-order-confirmation-page a.button {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-height: 48px !important;
		margin: 8px 0 0 !important;
		padding: 10px 14px !important;
		border-radius: 8px !important;
		background: var(--desert-accent, #2d5f3f) !important;
		color: var(--desert-accent-contrast, #ffffff) !important;
		-webkit-text-fill-color: var(--desert-accent-contrast, #ffffff) !important;
		font-weight: 850 !important;
		text-align: center !important;
		text-decoration: none !important;
	}
}

/* 0.4.15 Mix & Match product-title checkpoint.
 * Category archives retain the concise “Mix & Match” label. Individual
 * products use their complete WooCommerce title and receive a controlled
 * two-line banner without changing ordinary product banners. */
@media screen and (max-width: 767px) {
	body.azp-mobile-mix-match-product .azp-slogan-strip {
		height: 44px !important;
		min-height: 44px !important;
		padding: 4px 12px !important;
		font-size: clamp(10px, 3.1vw, 13px) !important;
		line-height: 1.15 !important;
		letter-spacing: 0.035em !important;
		white-space: normal !important;
		overflow: hidden !important;
		text-overflow: clip !important;
		text-wrap: balance !important;
	}

	body.azp-mobile-mix-match-product #page {
		margin-top: 127px !important;
		min-height: calc(100dvh - 127px) !important;
	}

	body.azp-mobile-mix-match-product .azp-mobile-nav {
		top: 127px !important;
	}

	body.azp-mobile-mix-match-product .azp-mobile-nav-backdrop {
		inset: 127px 0 0 0 !important;
	}
}

/* 0.4.19 About Us: the page is authored with custom story-* wrappers rather
 * than Gutenberg column blocks. Collapse those exact wrappers to one natural-
 * width reading stream; other pages and the desktop layout remain untouched. */
@media screen and (max-width: 767px) {
	body.azp-mobile-page-about-us .entry-content .our-story-page,
	body.azp-mobile-page-about-us .entry-content .story-section,
	body.azp-mobile-page-about-us .entry-content .story-wrap {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	body.azp-mobile-page-about-us .entry-content .story-section {
		padding: 18px 0 !important;
	}

	body.azp-mobile-page-about-us .entry-content .story-wrap {
		padding-right: 14px !important;
		padding-left: 14px !important;
	}

	body.azp-mobile-page-about-us .entry-content .story-hero,
	body.azp-mobile-page-about-us .entry-content .story-feature-grid {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		align-items: start !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		gap: 16px !important;
	}

	body.azp-mobile-page-about-us .entry-content .story-hero-images,
	body.azp-mobile-page-about-us .entry-content .story-hero-copy,
	body.azp-mobile-page-about-us .entry-content .story-feature-card {
		position: static !important;
		grid-column: 1 !important;
		grid-row: auto !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 0 !important;
		height: auto !important;
		margin: 0 !important;
	}

	body.azp-mobile-page-about-us .entry-content .story-hero-images {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: none !important;
		gap: 12px !important;
		overflow: visible !important;
	}

	body.azp-mobile-page-about-us .entry-content .story-hero-images figure,
	body.azp-mobile-page-about-us .entry-content .story-hero-images figure:first-child {
		position: static !important;
		grid-column: 1 !important;
		grid-row: auto !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
	}

	body.azp-mobile-page-about-us .entry-content .story-hero-images img,
	body.azp-mobile-page-about-us .entry-content .story-feature-card__image img {
		position: static !important;
		inset: auto !important;
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: none !important;
		aspect-ratio: auto !important;
		object-fit: cover !important;
		object-position: center !important;
	}

	body.azp-mobile-page-about-us .entry-content .story-hero-copy {
		display: block !important;
		padding: 0 !important;
	}

	body.azp-mobile-page-about-us .entry-content .story-hero-copy,
	body.azp-mobile-page-about-us .entry-content .story-hero-copy h1,
	body.azp-mobile-page-about-us .entry-content .story-hero-copy h2,
	body.azp-mobile-page-about-us .entry-content .story-hero-copy p,
	body.azp-mobile-page-about-us .entry-content .story-feature-card__body,
	body.azp-mobile-page-about-us .entry-content .story-feature-card__body h1,
	body.azp-mobile-page-about-us .entry-content .story-feature-card__body h2,
	body.azp-mobile-page-about-us .entry-content .story-feature-card__body h3,
	body.azp-mobile-page-about-us .entry-content .story-feature-card__body h4,
	body.azp-mobile-page-about-us .entry-content .story-feature-card__body p,
	body.azp-mobile-page-about-us .entry-content .story-feature-card__body a {
		max-width: 100% !important;
		min-width: 0 !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
	}

	/* Product copy follows the purchasing form so the primary buying path stays
	 * compact while customers can still continue into the full description. */
	body.azp-mobile-product-page .azp-mobile-product-details {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 18px 0 0 !important;
		padding: 16px !important;
		border: 1px solid rgba(86, 57, 35, 0.28) !important;
		border-radius: 14px !important;
		background: rgba(255, 253, 248, 0.92) !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
	}

	body.azp-mobile-product-page .azp-mobile-product-details h2 {
		margin: 0 0 10px !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		font-family: Georgia, 'Times New Roman', serif !important;
		font-size: clamp(23px, 6.4vw, 28px) !important;
		font-weight: 800 !important;
		line-height: 1.15 !important;
	}

	body.azp-mobile-product-page .azp-mobile-product-details__content,
	body.azp-mobile-product-page .azp-mobile-product-details__content p,
	body.azp-mobile-product-page .azp-mobile-product-details__content li {
		max-width: 100% !important;
		min-width: 0 !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		font-size: 17px !important;
		line-height: 1.55 !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
	}

	body.azp-mobile-product-page .azp-mobile-product-details__content > :first-child {
		margin-top: 0 !important;
	}

	body.azp-mobile-product-page .azp-mobile-product-details__content > :last-child {
		margin-bottom: 0 !important;
	}

	body.azp-mobile-product-page .azp-mobile-product-details__content img,
	body.azp-mobile-product-page .azp-mobile-product-details__content figure,
	body.azp-mobile-product-page .azp-mobile-product-details__content video,
	body.azp-mobile-product-page .azp-mobile-product-details__content iframe {
		display: block !important;
		box-sizing: border-box !important;
		max-width: 100% !important;
		height: auto !important;
	}
}
