/**
 * BFAMPrints mobile storefront polish.
 *
 * Every rule is scoped to the reversible body class and phone/tablet
 * breakpoints so desktop layouts and WordPress admin screens remain untouched.
 */

@media (max-width: 849px) {
	body.bfamprints-mobile-polish {
		overflow-x: hidden;
		overflow-x: clip;
	}

	.bfamprints-mobile-polish input[type="text"],
	.bfamprints-mobile-polish input[type="email"],
	.bfamprints-mobile-polish input[type="tel"],
	.bfamprints-mobile-polish input[type="url"],
	.bfamprints-mobile-polish input[type="password"],
	.bfamprints-mobile-polish input[type="number"],
	.bfamprints-mobile-polish input[type="search"],
	.bfamprints-mobile-polish select,
	.bfamprints-mobile-polish textarea {
		min-height: 44px;
		font-size: 16px;
	}

	.bfamprints-mobile-polish textarea {
		min-height: 120px;
	}

	.bfamprints-mobile-polish .header-inner {
		padding-right: 14px;
		padding-left: 14px;
	}

	.bfamprints-mobile-polish .header-logo img {
		width: auto;
		max-height: 54px;
	}

	.bfamprints-mobile-polish .mobile-nav .nav-icon > a,
	.bfamprints-mobile-polish .mobile-nav .header-cart-link,
	.bfamprints-mobile-polish .mobile-nav .account-login,
	.bfamprints-mobile-polish .mobile-nav > li > a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
	}

	.bfamprints-mobile-polish .off-canvas .sidebar-menu,
	.bfamprints-mobile-polish .mfp-content .mobile-sidebar {
		width: min(88vw, 360px);
	}

	.bfamprints-mobile-polish .off-canvas .nav-vertical > li > a,
	.bfamprints-mobile-polish .mobile-sidebar .nav-vertical > li > a {
		display: flex;
		align-items: center;
		min-height: 48px;
		padding-top: 10px;
		padding-bottom: 10px;
		font-size: 1rem;
		line-height: 1.3;
	}

	.bfamprints-mobile-polish .page-title-inner {
		min-height: 58px;
		padding-top: 12px;
		padding-bottom: 12px;
	}

	.bfamprints-mobile-polish .page-title-inner .flex-row {
		gap: 8px;
	}

	.bfamprints-mobile-polish .breadcrumbs {
		overflow: hidden;
		font-size: 0.72rem;
		line-height: 1.35;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.bfamprints-mobile-polish .category-filtering a,
	.bfamprints-mobile-polish .filter-button,
	.bfamprints-mobile-polish .woocommerce-ordering select {
		min-height: 44px;
	}

	.bfamprints-mobile-polish .category-filtering a,
	.bfamprints-mobile-polish .filter-button {
		display: inline-flex;
		align-items: center;
		padding: 9px 12px;
	}

	.bfamprints-mobile-polish .woocommerce-result-count {
		margin-bottom: 10px;
		font-size: 0.82rem;
	}

	.bfamprints-mobile-polish #main .button:not(.icon),
	.bfamprints-mobile-polish #main button[type="submit"] {
		min-height: 44px;
	}

	.bfamprints-mobile-polish .woocommerce-ordering {
		width: 100%;
		margin-bottom: 16px;
	}

	.bfamprints-mobile-polish .woocommerce-ordering select {
		width: 100%;
		margin: 0;
	}

	.bfamprints-mobile-polish .products.row,
	.bfamprints-mobile-polish .shop-container .products.row {
		margin-right: -6px;
		margin-left: -6px;
	}

	.bfamprints-mobile-polish .products .product-small.col,
	.bfamprints-mobile-polish .shop-container .products .product-small.col {
		padding-right: 6px;
		padding-bottom: 20px;
		padding-left: 6px;
	}

	.bfamprints-mobile-polish .product-small .box {
		height: 100%;
	}

	.bfamprints-mobile-polish .product-small .box-text {
		padding: 10px 3px 14px;
	}

	.bfamprints-mobile-polish .product-small .product-title,
	.bfamprints-mobile-polish .product-small .woocommerce-loop-product__title {
		display: -webkit-box;
		min-height: 2.7em;
		overflow: hidden;
		font-size: 0.9rem;
		line-height: 1.35;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.bfamprints-mobile-polish .product-small .price-wrapper,
	.bfamprints-mobile-polish .product-small .price {
		font-size: 0.9rem;
		line-height: 1.35;
	}

	.bfamprints-mobile-polish .product-small .button,
	.bfamprints-mobile-polish .product-small .add-to-cart-button a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 44px;
		margin-top: 10px;
		padding: 8px 10px;
		font-size: 0.78rem;
		line-height: 1.2;
		white-space: normal;
	}

	.bfamprints-mobile-polish.single-product .product-main {
		padding-top: 18px;
	}

	.bfamprints-mobile-polish.single-product .product-gallery,
	.bfamprints-mobile-polish.single-product .product-info {
		padding-bottom: 20px;
	}

	.bfamprints-mobile-polish.single-product .product-info .product-title {
		font-size: clamp(1.65rem, 7vw, 2.1rem);
		line-height: 1.15;
	}

	.bfamprints-mobile-polish.single-product .variations select,
	.bfamprints-mobile-polish.single-product .single_add_to_cart_button,
	.bfamprints-mobile-polish.single-product .quantity .button,
	.bfamprints-mobile-polish.single-product .quantity input {
		min-height: 48px;
	}

	.bfamprints-mobile-polish.single-product .single_add_to_cart_button {
		padding-right: 18px;
		padding-left: 18px;
	}

	.bfamprints-mobile-polish .woocommerce-cart-form .button,
	.bfamprints-mobile-polish .checkout-button,
	.bfamprints-mobile-polish .woocommerce-checkout .button,
	.bfamprints-mobile-polish .woocommerce-form-login .button,
	.bfamprints-mobile-polish .woocommerce-form-register .button {
		min-height: 46px;
		white-space: normal;
	}

	.bfamprints-mobile-polish .woocommerce-cart-form td,
	.bfamprints-mobile-polish .woocommerce-checkout-review-order td,
	.bfamprints-mobile-polish .woocommerce-checkout-review-order th {
		padding-right: 8px;
		padding-left: 8px;
	}

	.bfamprints-mobile-polish .slider-wrapper .flickity-prev-next-button {
		width: 44px;
		height: 44px;
		opacity: 0.85;
	}

	.bfamprints-mobile-polish.home .banner .text-box {
		max-width: calc(100vw - 28px);
	}

	.bfamprints-mobile-polish.home .banner h1 {
		font-size: clamp(1.9rem, 9vw, 3rem);
		line-height: 1.05;
	}

	.bfamprints-mobile-polish.home .banner h2 {
		font-size: clamp(1.35rem, 6vw, 2rem);
		line-height: 1.15;
	}

	.bfamprints-mobile-polish.home .banner p {
		font-size: 0.96rem;
		line-height: 1.5;
	}

	.bfamprints-mobile-polish .absolute-footer,
	.bfamprints-mobile-polish .footer-secondary,
	.bfamprints-mobile-polish .footer-primary {
		text-align: center;
	}

	.bfamprints-mobile-polish .absolute-footer .container {
		padding-top: 18px;
		padding-bottom: 18px;
	}

	.bfamprints-mobile-polish .footer-widgets .widget {
		margin-bottom: 24px;
	}

	.bfamprints-mobile-polish .footer .menu > li > a {
		display: inline-flex;
		align-items: center;
		min-height: 42px;
		padding-top: 8px;
		padding-bottom: 8px;
	}

	.bfamprints-mobile-polish .payment-icons {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 6px;
	}

	.bfamprints-mobile-polish iframe,
	.bfamprints-mobile-polish video,
	.bfamprints-mobile-polish img {
		max-width: 100%;
	}
}

@media (max-width: 549px) {
	.bfamprints-mobile-polish .container {
		padding-right: 14px;
		padding-left: 14px;
	}

	.bfamprints-mobile-polish .products.row,
	.bfamprints-mobile-polish .shop-container .products.row {
		padding-right: 0;
		padding-left: 0;
	}

	.bfamprints-mobile-polish .product-small .box-text {
		text-align: left;
	}

	.bfamprints-mobile-polish .product-small .product-title,
	.bfamprints-mobile-polish .product-small .woocommerce-loop-product__title {
		font-size: 0.86rem;
	}

	.bfamprints-mobile-polish .product-small .price-wrapper,
	.bfamprints-mobile-polish .product-small .price {
		font-size: 0.86rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bfamprints-mobile-polish *,
	.bfamprints-mobile-polish *::before,
	.bfamprints-mobile-polish *::after {
		scroll-behavior: auto !important;
	}
}
