/* Freshiva mobile layout. Almost everything is inside max-width:767px media queries; the few desktop / all-size rules are at the end.
 *
 *   (max-width:767px)                      shared mobile layout (all phones + small tablets)
 *   (max-width:394px)                      small phones 320–394px
 *   (max-width:359px)                      very small phones: header size only
 *   (min-width:395px) and (max-width:415px)
 *   (min-width:416px) and (max-width:419px)
 *   (min-width:420px) and (max-width:480px)
 *   (min-width:481px) and (max-width:767px) large phones / small tablets
 */

/* ======================= ALL MOBILE (up to 767px) — layout ======================= */
@media (max-width:767px) {

	html, body { overflow-x: hidden; }
	img, video, iframe { max-width: 100%; }

	/* Featured Products side ad: the square mobile image (see freshiva-mobile.php) at its own shape, not the desktop 418px height */
	.freshiva-ad-picture img { height: auto !important; aspect-ratio: 1 / 1; object-fit: cover; }

	/* ---------- Header ---------- */
	.rt-header-menu .mean-bar { align-items: center; }
	.rt-header-menu .mean-bar a.mobile-logo { flex: 0 0 auto; }
	.rt-header-menu .mean-bar a.mobile-logo img { height: auto !important; }
	.mean-bar-search { display: flex; align-items: center; margin-left: auto; }
	.mean-bar-search .header-icon-area { display: flex; align-items: center; }
	.mean-bar-search .header-icon-area .header-compare-icon { display: none !important; }
	.mean-bar-search .header-icon-area > * { margin: 0 !important; padding: 0 !important; flex: 0 0 auto; }
	.mean-bar-search .sidebarBtn { flex: 0 0 auto; }
	/* count bubbles (cart / wishlist): small, on the top-right of their own icon instead of over the previous one */
	.mean-bar-search .rt-cart-icon,
	.mean-bar-search .header-wishlist-icon a { position: relative; display: inline-flex; }
	.mean-bar-search .cart-number-wrapper,
	.mean-bar-search .header-icon-area .item-count {
		top: -7px !important; left: auto !important; right: -9px !important;
		width: 16px !important; height: 16px !important; min-width: 16px;
		font-size: 10px !important; line-height: 16px !important;
		display: flex !important; align-items: center; justify-content: center; padding: 0 !important;
	}

	/* ---------- Home sections: hide Latest News & Blog, tighter vertical spacing ---------- */
	[data-elementor-type="wp-page"] > .e-parent:has(.elementor-widget-rt-post) { display: none !important; }
	/* Elementor gives each section 30–60px inner padding; use one smaller gap (--fm-sec, set per range below) */
	[data-elementor-type="wp-page"] > .e-parent > .e-con-inner {
		padding-top: var(--fm-sec, 24px) !important;
		padding-bottom: 0 !important;
	}
	[data-elementor-type="wp-page"] > .e-parent.e-con-full { padding-top: var(--fm-sec, 24px) !important; padding-bottom: 0 !important; }
	[data-elementor-type="wp-page"] > .e-parent:first-child > .e-con-inner { padding-top: calc(var(--fm-sec, 24px) / 2) !important; }
	/* features box sits just under the banner */
	[data-elementor-type="wp-page"] > .e-parent:has(.elementor-widget-rt-info-box) > .e-con-inner,
	[data-elementor-type="wp-page"] > .e-parent.e-con-full:has(.elementor-widget-rt-info-box) { padding-top: 10px !important; }
	/* blocks stacked inside a section (e.g. Featured Products banner + slider): 30px -> 16px */
	[data-elementor-type="wp-page"] > .e-parent .e-con > .e-con-inner { row-gap: 16px !important; }
	/* product sliders: empty filter bar (15px) and a 30px top margin on the image added extra space */
	.rtsb-elementor-container > .rtsb-tab-filters:not(:has(a, button, li)) { display: none !important; }
	[data-elementor-type="wp-page"] .elementor-element .rtsb-elementor-container .rtsb-carousel-slider .rtsb-grid-item > .rtsb-product-img { margin-top: 0 !important; }
	/* space between the last section and the footer */
	[data-elementor-type="wp-page"] { padding-bottom: var(--fm-sec, 24px); }
	.rt-marquee-slider .elementor-widget-container,
	.elementor-widget-rt-marquee-slider > .elementor-widget-container { padding-top: 12px !important; padding-bottom: 12px !important; }

	/* ---------- Banner slider ---------- */
	.elementor-image-carousel-wrapper img.swiper-slide-image { border-radius: 10px; }

	/* ---------- Features box (Free Shipping, Save Money ...) -> swipeable auto carousel (mobile.js) ---------- */
	.e-con-inner:has(> .elementor-widget-rt-info-box),
	.e-con:has(> .elementor-widget-rt-info-box) {
		--fm-per-view: 2;
		--fm-gap: 10px;
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		column-gap: var(--fm-gap) !important;
		row-gap: 0 !important;
		overflow-x: auto !important;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.e-con-inner:has(> .elementor-widget-rt-info-box)::-webkit-scrollbar,
	.e-con:has(> .elementor-widget-rt-info-box)::-webkit-scrollbar { display: none; }
	.elementor-widget-rt-info-box {
		flex: 0 0 calc((100% - (var(--fm-per-view) - 1) * var(--fm-gap)) / var(--fm-per-view)) !important;
		width: auto !important; max-width: none !important; min-width: 0; margin: 0 !important;
		scroll-snap-align: start;
	}
	/* divider line centered in the gap; mobile.js adds .fm-divider only when the item to the left is on screen */
	.elementor-widget-rt-info-box { position: relative; }
	.elementor-widget-rt-info-box.fm-divider::before {
		content: ""; position: absolute; top: 12%; bottom: 12%;
		left: calc(var(--fm-gap) / -2); width: 1px;
		background: rgba(30, 125, 85, 0.25);
		pointer-events: none;
	}
	/* slides that start off-screen must not wait for the scroll-in animation */
	.elementor-widget-rt-info-box.elementor-invisible { visibility: visible !important; }
	.elementor-widget-rt-info-box .rt-info-box { visibility: visible !important; opacity: 1 !important; animation: none !important; }
	.rt-info-box.rt-info-style1 .rt-info-item {
		display: flex !important; flex-direction: column; align-items: center; justify-content: flex-start;
		text-align: center; gap: 6px; width: 100%;
	}
	.rt-info-box.rt-info-style1 .rt-media { margin: 0 !important; padding: 0 !important; width: auto !important; display: flex !important; justify-content: center; }
	/* same-size centered box for every icon so Save Money etc. line up */
	.rt-info-box.rt-info-style1 .rt-icon {
		display: flex !important; align-items: center; justify-content: center;
		width: 1.3em; height: 1.3em; margin: 0 auto !important; position: static !important; transform: none !important;
	}
	.rt-info-box.rt-info-style1 .rt-icon i { display: block; line-height: 1 !important; margin: 0 !important; position: static !important; transform: none !important; }
	.rt-info-box.rt-info-style1 .rt-content { text-align: center; }
	.rt-info-box.rt-info-style1 .rt-title { line-height: 1.3 !important; margin: 0 0 2px !important; }
	.rt-info-box.rt-info-style1 .rt-text { line-height: 1.4 !important; }

	/* ---------- Section titles ---------- */
	.rt-section-title .entry-title { line-height: 1.3 !important; }

	/* ---------- Shop By Categories heading: centered ---------- */
	.e-con:has(> .elementor-widget-rt-woo-category) > .elementor-widget-rt-title { width: 100% !important; max-width: 100% !important; }
	.e-con:has(> .elementor-widget-rt-woo-category) > .elementor-widget-rt-title .rt-section-title,
	.e-con:has(> .elementor-widget-rt-woo-category) > .elementor-widget-rt-title .title-holder,
	.e-con:has(> .elementor-widget-rt-woo-category) > .elementor-widget-rt-title .heading-wrap {
		display: flex !important; flex-direction: column; align-items: center; justify-content: center;
		text-align: center !important; width: 100%;
	}
	.e-con:has(> .elementor-widget-rt-woo-category) > .elementor-widget-rt-title .entry-title {
		display: flex !important; flex-direction: column; align-items: center; gap: 8px;
		text-align: center !important; margin-left: auto !important; margin-right: auto !important;
	}
	/* short green underline centered below the heading instead of the long side line */
	.e-con:has(> .elementor-widget-rt-woo-category) > .elementor-widget-rt-title .line-wrap {
		position: static !important; display: block !important; width: 48px !important; margin: 0 auto !important; transform: none !important;
	}
	.e-con:has(> .elementor-widget-rt-woo-category) > .elementor-widget-rt-title .title-line { position: static !important; display: block !important; width: 48px !important; margin: 0 auto !important; }
	.e-con:has(> .elementor-widget-rt-woo-category) > .elementor-widget-rt-title .title-border { display: none !important; }

	/* ---------- Shop By Categories -> 2 per row grid (mobile.js switches the slider off) ---------- */
	.default-woo-category .swiper-button-prev,
	.default-woo-category .swiper-button-next,
	.default-woo-category .swiper-navigation,
	.default-woo-category .swiper-pagination { display: none !important; }
	.default-woo-category .rt-swiper-slider { overflow: visible !important; }
	.default-woo-category .swiper-wrapper {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: var(--fm-cat-gap, 12px) !important;
		transform: none !important;
		height: auto !important;
	}
	.default-woo-category .swiper-slide { width: auto !important; height: auto !important; margin: 0 !important; min-width: 0; }
	.default-woo-category .swiper-slide-duplicate { display: none !important; }
	/* odd number of categories: center the last one */
	.default-woo-category .swiper-slide:last-child:nth-child(odd) {
		grid-column: 1 / -1; justify-self: center; width: calc((100% - var(--fm-cat-gap, 12px)) / 2) !important;
	}
	.woo-category-style5 .woo-cat-item { text-align: center; height: 100%; }
	.woo-category-style5 .rt-cat-thumb img { object-fit: contain; }
	.woo-category-style5 .rt-cat-title { margin-bottom: 2px !important; }

	/* ---------- Home product grids -> 2 columns ---------- */
	.rtsb-row.rtsb-zilly-grid-layout1 {
		display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		margin-left: 0 !important; margin-right: 0 !important;
	}
	.rtsb-row.rtsb-zilly-grid-layout1 > .rtsb-col-grid {
		flex: none !important; max-width: 100% !important; width: auto !important; min-width: 0;
		padding: 0 !important; margin: 0 !important;
	}
	.rtsb-grid-item.rtsb-item-default { height: 100%; display: flex; flex-direction: column; }
	.rtsb-grid-item .rtsb-product-content { display: flex; flex-direction: column; flex: 1; }
	.rtsb-grid-item .product-title { line-height: 1.35 !important; margin: 6px 0 !important; }
	.rtsb-grid-item .product-price,
	.rtsb-grid-item .price { flex-wrap: wrap; }
	.rtsb-grid-item .rtwpvs-terms-wrapper { gap: 4px; flex-wrap: wrap; }
	.rtsb-grid-item .rtwpvs-term { margin: 0 !important; }
	.rtsb-grid-item .product-rating { margin: 4px 0 !important; position: static !important; }
	.rtsb-grid-item .rtsb-buttons-area { margin-top: auto !important; padding-top: 8px; }
	.rtsb-grid-item .rtsb-buttons-area .rtsb-action-btn { min-height: 0 !important; line-height: 1.2 !important; width: 100%; }

	/* ---------- Slider side buttons: icon only ---------- */
	.rtsb-action-buttons-vertical .rtsb-cart .text,
	.rtsb-action-buttons-vertical .button-text { display: none !important; }
	.rtsb-action-buttons-vertical .rtsb-action-btn { width: 34px !important; height: 34px !important; padding: 0 !important; justify-content: center; }

	/* ---------- Shop / category archive -> 2 columns ---------- */
	.woo-shop-top .view-mode { display: none !important; }
	.rtsb-product-catalog ul.products {
		display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; margin: 0 !important;
	}
	.rtsb-product-catalog ul.products::before, .rtsb-product-catalog ul.products::after { display: none !important; }
	.rtsb-product-catalog ul.products > li.product { width: auto !important; max-width: 100% !important; float: none !important; margin: 0 !important; padding: 0 !important; min-width: 0; }
	.rt-product-block.rt-product-grid { height: 100%; display: flex; flex-direction: column; }
	.rt-product-grid .rt-cat-meta-wrap { display: flex !important; align-items: center; gap: 4px; margin-bottom: 6px !important; }
	.rt-product-grid .product-cat { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	/* ShopBuilder cards (category pages): the category name ran into the heart; on a category page it only repeats the page's own name */
	.rtsb-grid-item .rtsb-cat-meta-wrap .rtsb-product-category { display: none !important; }
	/* long product description under the card: 2 lines */
	.rtsb-grid-item .product-short-description p {
		display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0 !important;
	}
	.rt-product-grid .rt-shop-meta { flex: 0 0 auto; display: flex !important; flex-wrap: nowrap !important; gap: 2px; }
	.rt-product-grid .rt-shop-meta [class*="compare"] { display: none !important; }
	.rt-product-grid .rt-content-area { display: flex; flex-direction: column; flex: 1; }
	.rt-product-grid .rtwpvs-terms-wrapper { gap: 4px; flex-wrap: wrap; }
	.rt-product-grid .rtwpvs-term { margin: 0 !important; }
	.rt-product-grid .rtwpvs_archive_reset_variations,
	.rtsb-grid-item .rtwpvs_archive_reset_variations { position: static !important; display: block; font-size: 11px !important; margin-top: 2px; }
	.rt-product-grid .woocommerce-loop-product__title, .rt-product-grid .rt-title, .rt-product-grid h3 { line-height: 1.35 !important; }
	.rt-product-grid .button, .rt-product-grid .rtsb-action-btn.has-text { margin-top: auto; width: 100%; }

	/* ---------- Single product ---------- */
	.single-product .product_title { line-height: 1.3 !important; }
	.single-product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 !important; }
	.single-product .woocommerce-tabs ul.tabs li { margin: 0 !important; }

	/* ---------- Footer: no link menus / app badges, everything centered,
	              logo + address + phone + social moved down to sit just above the payment row ---------- */
	.footer-top-area .footer-google-app { display: none !important; }
	/* footer columns dissolve (display: contents) so every widget can be ordered on its own:
	   logo -> newsletter -> address + phone -> social, then the copyright / payment row */
	.footer-top-area .footer-content-area { padding-top: 28px !important; }
	.footer-top-area .row {
		display: flex !important; flex-direction: column !important; align-items: stretch;
		gap: 14px; margin-left: 0 !important; margin-right: 0 !important;
	}
	.footer-top-area .row > .footer-item { display: contents !important; }
	.footer-top-area .row > .footer-item:has(.widget_nav_menu),
	.footer-top-area .row > .footer-item > .widget_nav_menu { display: none !important; }
	.footer-top-area .row > .footer-item > .widget { order: 3; margin: 0 !important; text-align: center !important; }
	.footer-top-area .row > .footer-item > .footer-custom-logo { order: 0; }
	.footer-top-area .row > .footer-item:has(.widget_fluentform_widget) > .widget { order: 1; }
	.footer-top-area .row > .footer-item:has(.footer-custom-logo) > .widget_zilly_address { order: 2; }
	.footer-top-area .footer-custom-logo img { width: 150px !important; max-width: 70% !important; height: auto !important; }
	.footer-top-area .widgettitle { margin: 0 0 8px !important; }
	.footer-top-area .rtin-des { margin: 0 !important; line-height: 1.6 !important; }
	.footer-top-area .corporate-address:empty { display: none !important; }
	.footer-top-area .container { padding-left: 16px !important; padding-right: 16px !important; }
	.footer-top-area .widget { text-align: center !important; margin-left: auto !important; margin-right: auto !important; padding-left: 0 !important; padding-right: 0 !important; max-width: 100% !important; width: 100% !important; }
	.footer-top-area .widget > *, .footer-top-area .rt-about-widget { margin-left: auto !important; margin-right: auto !important; padding-left: 0 !important; padding-right: 0 !important; }
	.footer-top-area .widgettitle { text-align: center !important; }
	.footer-top-area .widgettitle::before, .footer-top-area .widgettitle::after { left: 50% !important; transform: translateX(-50%) !important; }
	.footer-top-area .footer-custom-logo img { display: block; margin: 0 auto !important; }
	.footer-top-area .widgettitle { display: block !important; width: 100%; padding-left: 0 !important; padding-right: 0 !important; }
	/* address + phone: icon beside the text, both rows share one left edge (icons line up),
	   the block itself is centered; the address wraps onto two lines (--fm-addr-w, set per range) */
	.footer-top-area .corporate-address {
		display: flex !important; flex-direction: column; align-items: flex-start;
		width: fit-content !important; max-width: 100%; padding: 0 !important; margin: 0 auto !important;
	}
	.footer-top-area .corporate-address li {
		display: flex !important; flex-direction: row; justify-content: flex-start; align-items: flex-start; gap: 10px;
		max-width: 100%; text-align: left !important; padding-left: 0 !important; margin-left: 0 !important; margin-bottom: 10px !important;
	}
	.footer-top-area .corporate-address li > *:not(i):not(svg) {
		padding-left: 0 !important; margin-left: 0 !important; text-align: left !important;
		max-width: var(--fm-addr-w, 230px); line-height: 1.5;
	}
	.footer-top-area .corporate-address li i,
	.footer-top-area .corporate-address li svg {
		position: static !important; margin: 2px 0 0 !important; flex: 0 0 22px; width: 22px !important;
		text-align: center; font-size: 18px; line-height: 1.2;
	}
	.footer-top-area .rtin-des { text-align: center !important; }
	.footer-top-area .footer-social { display: flex !important; justify-content: center !important; flex-wrap: wrap; gap: 8px; padding: 0 !important; }
	.footer-top-area .footer-social li { margin: 0 !important; }
	.footer-top-area .widget_fluentform_widget form { margin-left: auto; margin-right: auto; }
	/* tighter space between the social icons and the copyright / payment row */
	.footer-top-area .corporate-address li:last-child { margin-bottom: 0 !important; }
	.footer-top-area .footer-content-area { padding-bottom: 18px !important; }
	.footer-copyright-area { padding-top: 14px !important; }
	.footer-copyright-area .copyright-area { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; }
	.footer-copyright-area .copyright { display: none !important; }
	.copyright-area .payment-logo { display: flex; justify-content: center; flex-wrap: wrap; }
	.copyright-area .payment-logo img { max-width: 100%; height: auto; }

	/* ---------- Home: hide the "Daily Grocery / Tuesday Night Weekend Deal" ad strip ---------- */
	[data-elementor-type="wp-page"] > .e-parent:has(img[src*="home_01_sl_5s"]) { display: none !important; }
}

/* ======================= SMALL PHONES 320px – 394px ======================= */
@media (max-width:394px) {

	[data-elementor-type="wp-page"] { --fm-sec: 20px; }
	.footer-top-area { --fm-addr-w: 215px; }

	.rt-header-menu .mean-bar a.mobile-logo { width: 130px; }
	.rt-header-menu .mean-bar a.mobile-logo img { width: 130px !important; max-width: 130px !important; }
	.mean-bar-search .header-icon-area { gap: 16px !important; }
	.mean-bar-search .header-icon-area i { font-size: 18px; }
	.mean-bar-search .sidebarBtn { margin-left: 14px !important; }

	.e-con-inner:has(> .elementor-widget-rt-info-box),
	.e-con:has(> .elementor-widget-rt-info-box) { --fm-gap: 8px; padding: 14px 8px !important; }
	.rt-info-box.rt-info-style1 .rt-icon, .rt-info-box.rt-info-style1 .rt-icon i { font-size: 30px !important; }
	.rt-info-box.rt-info-style1 .rt-title { font-size: 13px !important; }
	.rt-info-box.rt-info-style1 .rt-text { font-size: 11px !important; }

	.rt-section-title .entry-title { font-size: 20px !important; }

	.default-woo-category { --fm-cat-gap: 10px; }
	.woo-category-style5 .woo-cat-item { padding: 14px 6px !important; border-radius: 18px !important; }
	.woo-category-style5 .rt-cat-thumb img { width: 64px !important; height: 64px !important; }
	.woo-category-style5 .rt-cat-title { font-size: 13px !important; }
	.woo-category-style5 .rt-cat-count { font-size: 11px !important; }

	.rtsb-row.rtsb-zilly-grid-layout1 { gap: 10px 8px !important; padding: 0 10px !important; }
	.rtsb-grid-item.rtsb-item-default { padding: 6px !important; }
	.rtsb-grid-item .rtsb-product-content { padding: 8px 2px 2px !important; }
	.rtsb-grid-item .product-title { font-size: 13px !important; }
	.rtsb-grid-item .product-price, .rtsb-grid-item .price { font-size: 12px !important; }
	.rtsb-grid-item .rtwpvs-term-span { font-size: 9px !important; padding: 2px 5px !important; }
	.rtsb-grid-item .rtsb-buttons-area .rtsb-action-btn { font-size: 11px !important; padding: 7px 4px !important; }
	.rtsb-grid-item .rtsb-action-buttons .rtsb-action-btn { width: 28px !important; height: 28px !important; }
	.rtsb-slide-item .rtsb-grid-item .product-title { font-size: 14px !important; }

	.rtsb-product-catalog ul.products { gap: 10px 8px !important; }
	.rt-product-block.rt-product-grid { padding: 6px !important; }
	.rt-product-grid .product-cat { font-size: 10px !important; }
	.rt-product-grid .rt-content-area { padding: 6px 2px 0 !important; }
	.rt-product-grid .rtwpvs-term-span { font-size: 9px !important; padding: 2px 5px !important; }
	.rt-product-grid .rt-price { font-size: 13px !important; }
	.rt-product-grid .woocommerce-loop-product__title, .rt-product-grid .rt-title, .rt-product-grid h3 { font-size: 13px !important; }
	.rt-product-grid .button, .rt-product-grid .rtsb-action-btn.has-text { font-size: 11px !important; padding: 7px 4px !important; }

	.woocommerce-products-header__title, .page-title, .entry-banner .entry-title { font-size: 22px !important; }
	.woocommerce-result-count, .woocommerce-ordering select { font-size: 12px !important; }

	.single-product .product_title { font-size: 20px !important; }
	.single-product div.product .price { font-size: 17px !important; }
	.single-product .quantity .qty { height: 42px; }
	.single-product .single_add_to_cart_button { padding: 11px 14px !important; font-size: 13px !important; }
	.single-product .woocommerce-tabs ul.tabs li a { padding: 7px 10px !important; font-size: 12px !important; }

	.woocommerce table.shop_table { font-size: 12px; }
	.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 7px 5px !important; }

	.footer-area .widget-title, .site-footer .widget-title, .footer-top-area .widgettitle { font-size: 17px !important; }
	.copyright-area { font-size: 12px; }
}

/* ======================= VERY SMALL PHONES up to 359px (header must fit on one line) ======================= */
@media (max-width:359px) {

	.rt-header-menu .mean-bar a.mobile-logo { width: 112px; }
	.rt-header-menu .mean-bar a.mobile-logo img { width: 112px !important; max-width: 112px !important; }
	.mean-bar-search .header-icon-area { gap: 12px !important; }
	.mean-bar-search .header-icon-area i { font-size: 17px; }
	.mean-bar-search .sidebarBtn { margin-left: 10px !important; }
}

/* ============================== 395px – 415px ============================== */
@media (min-width:395px) and (max-width:415px) {

	[data-elementor-type="wp-page"] { --fm-sec: 24px; }
	.footer-top-area { --fm-addr-w: 235px; }

	.rt-header-menu .mean-bar a.mobile-logo { width: 145px; }
	.rt-header-menu .mean-bar a.mobile-logo img { width: 145px !important; max-width: 145px !important; }
	.mean-bar-search .header-icon-area { gap: 20px !important; }
	.mean-bar-search .header-icon-area i { font-size: 20px; }
	.mean-bar-search .sidebarBtn { margin-left: 16px !important; }

	.e-con-inner:has(> .elementor-widget-rt-info-box),
	.e-con:has(> .elementor-widget-rt-info-box) { --fm-gap: 10px; padding: 16px 12px !important; }
	.rt-info-box.rt-info-style1 .rt-icon, .rt-info-box.rt-info-style1 .rt-icon i { font-size: 34px !important; }
	.rt-info-box.rt-info-style1 .rt-title { font-size: 14px !important; }
	.rt-info-box.rt-info-style1 .rt-text { font-size: 12px !important; }

	.rt-section-title .entry-title { font-size: 22px !important; }

	.woo-category-style5 .woo-cat-item { padding: 18px 8px !important; border-radius: 22px !important; }
	.woo-category-style5 .rt-cat-thumb img { width: 80px !important; height: 80px !important; }
	.woo-category-style5 .rt-cat-title { font-size: 15px !important; }
	.woo-category-style5 .rt-cat-count { font-size: 12px !important; }

	.rtsb-row.rtsb-zilly-grid-layout1 { gap: 12px 10px !important; padding: 0 12px !important; }
	.rtsb-grid-item.rtsb-item-default { padding: 8px !important; }
	.rtsb-grid-item .rtsb-product-content { padding: 10px 2px 2px !important; }
	.rtsb-grid-item .product-title { font-size: 14px !important; }
	.rtsb-grid-item .product-price, .rtsb-grid-item .price { font-size: 13px !important; }
	.rtsb-grid-item .rtwpvs-term-span { font-size: 10px !important; padding: 2px 6px !important; }
	.rtsb-grid-item .rtsb-buttons-area .rtsb-action-btn { font-size: 12px !important; padding: 8px 6px !important; }
	.rtsb-grid-item .rtsb-action-buttons .rtsb-action-btn { width: 30px !important; height: 30px !important; }
	.rtsb-slide-item .rtsb-grid-item .product-title { font-size: 15px !important; }

	.rtsb-product-catalog ul.products { gap: 12px 10px !important; }
	.rt-product-block.rt-product-grid { padding: 8px !important; }
	.rt-product-grid .product-cat { font-size: 11px !important; }
	.rt-product-grid .rt-content-area { padding: 8px 2px 0 !important; }
	.rt-product-grid .rtwpvs-term-span { font-size: 10px !important; padding: 2px 6px !important; }
	.rt-product-grid .rt-price { font-size: 14px !important; }
	.rt-product-grid .woocommerce-loop-product__title, .rt-product-grid .rt-title, .rt-product-grid h3 { font-size: 14px !important; }
	.rt-product-grid .button, .rt-product-grid .rtsb-action-btn.has-text { font-size: 12px !important; padding: 8px 6px !important; }

	.woocommerce-products-header__title, .page-title, .entry-banner .entry-title { font-size: 24px !important; }
	.woocommerce-result-count, .woocommerce-ordering select { font-size: 13px !important; }

	.single-product .product_title { font-size: 22px !important; }
	.single-product div.product .price { font-size: 18px !important; }
	.single-product .quantity .qty { height: 44px; }
	.single-product .single_add_to_cart_button { padding: 12px 18px !important; font-size: 14px !important; }
	.single-product .woocommerce-tabs ul.tabs li a { padding: 8px 12px !important; font-size: 13px !important; }

	.woocommerce table.shop_table { font-size: 13px; }
	.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 8px 6px !important; }

	.footer-area .widget-title, .site-footer .widget-title, .footer-top-area .widgettitle { font-size: 18px !important; }
	.copyright-area { font-size: 13px; }
}

/* ============================== 416px – 419px ============================== */
@media (min-width:416px) and (max-width:419px) {

	[data-elementor-type="wp-page"] { --fm-sec: 24px; }
	.footer-top-area { --fm-addr-w: 235px; }

	.rt-header-menu .mean-bar a.mobile-logo { width: 150px; }
	.rt-header-menu .mean-bar a.mobile-logo img { width: 150px !important; max-width: 150px !important; }
	.mean-bar-search .header-icon-area { gap: 20px !important; }
	.mean-bar-search .header-icon-area i { font-size: 20px; }
	.mean-bar-search .sidebarBtn { margin-left: 16px !important; }

	.e-con-inner:has(> .elementor-widget-rt-info-box),
	.e-con:has(> .elementor-widget-rt-info-box) { --fm-gap: 11px; padding: 17px 13px !important; }
	.rt-info-box.rt-info-style1 .rt-icon, .rt-info-box.rt-info-style1 .rt-icon i { font-size: 36px !important; }
	.rt-info-box.rt-info-style1 .rt-title { font-size: 14px !important; }
	.rt-info-box.rt-info-style1 .rt-text { font-size: 12px !important; }

	.rt-section-title .entry-title { font-size: 23px !important; }

	.woo-category-style5 .woo-cat-item { padding: 19px 9px !important; border-radius: 23px !important; }
	.woo-category-style5 .rt-cat-thumb img { width: 85px !important; height: 85px !important; }
	.woo-category-style5 .rt-cat-title { font-size: 15px !important; }
	.woo-category-style5 .rt-cat-count { font-size: 12px !important; }

	.rtsb-row.rtsb-zilly-grid-layout1 { gap: 13px 11px !important; padding: 0 13px !important; }
	.rtsb-grid-item.rtsb-item-default { padding: 9px !important; }
	.rtsb-grid-item .rtsb-product-content { padding: 10px 2px 2px !important; }
	.rtsb-grid-item .product-title { font-size: 14px !important; }
	.rtsb-grid-item .product-price, .rtsb-grid-item .price { font-size: 13px !important; }
	.rtsb-grid-item .rtwpvs-term-span { font-size: 10px !important; padding: 2px 6px !important; }
	.rtsb-grid-item .rtsb-buttons-area .rtsb-action-btn { font-size: 12px !important; padding: 8px 6px !important; }
	.rtsb-grid-item .rtsb-action-buttons .rtsb-action-btn { width: 31px !important; height: 31px !important; }
	.rtsb-slide-item .rtsb-grid-item .product-title { font-size: 15px !important; }

	.rtsb-product-catalog ul.products { gap: 13px 11px !important; }
	.rt-product-block.rt-product-grid { padding: 9px !important; }
	.rt-product-grid .product-cat { font-size: 11px !important; }
	.rt-product-grid .rt-content-area { padding: 8px 2px 0 !important; }
	.rt-product-grid .rtwpvs-term-span { font-size: 10px !important; padding: 2px 6px !important; }
	.rt-product-grid .rt-price { font-size: 14px !important; }
	.rt-product-grid .woocommerce-loop-product__title, .rt-product-grid .rt-title, .rt-product-grid h3 { font-size: 14px !important; }
	.rt-product-grid .button, .rt-product-grid .rtsb-action-btn.has-text { font-size: 12px !important; padding: 8px 6px !important; }

	.woocommerce-products-header__title, .page-title, .entry-banner .entry-title { font-size: 25px !important; }
	.woocommerce-result-count, .woocommerce-ordering select { font-size: 13px !important; }

	.single-product .product_title { font-size: 23px !important; }
	.single-product div.product .price { font-size: 18px !important; }
	.single-product .quantity .qty { height: 45px; }
	.single-product .single_add_to_cart_button { padding: 12px 19px !important; font-size: 14px !important; }
	.single-product .woocommerce-tabs ul.tabs li a { padding: 8px 13px !important; font-size: 13px !important; }

	.woocommerce table.shop_table { font-size: 13px; }
	.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 8px 7px !important; }

	.footer-area .widget-title, .site-footer .widget-title, .footer-top-area .widgettitle { font-size: 18px !important; }
	.copyright-area { font-size: 13px; }
}

/* ============================== 420px – 480px ============================== */
@media (min-width:420px) and (max-width:480px) {

	[data-elementor-type="wp-page"] { --fm-sec: 26px; }
	.footer-top-area { --fm-addr-w: 245px; }

	.rt-header-menu .mean-bar a.mobile-logo { width: 160px; }
	.rt-header-menu .mean-bar a.mobile-logo img { width: 160px !important; max-width: 160px !important; }
	.mean-bar-search .header-icon-area { gap: 22px !important; }
	.mean-bar-search .header-icon-area i { font-size: 21px; }
	.mean-bar-search .sidebarBtn { margin-left: 18px !important; }

	.e-con-inner:has(> .elementor-widget-rt-info-box),
	.e-con:has(> .elementor-widget-rt-info-box) { --fm-gap: 12px; padding: 18px 14px !important; }
	.rt-info-box.rt-info-style1 .rt-icon, .rt-info-box.rt-info-style1 .rt-icon i { font-size: 38px !important; }
	.rt-info-box.rt-info-style1 .rt-title { font-size: 15px !important; }
	.rt-info-box.rt-info-style1 .rt-text { font-size: 13px !important; }

	.rt-section-title .entry-title { font-size: 24px !important; }

	.woo-category-style5 .woo-cat-item { padding: 20px 10px !important; border-radius: 24px !important; }
	.woo-category-style5 .rt-cat-thumb img { width: 90px !important; height: 90px !important; }
	.woo-category-style5 .rt-cat-title { font-size: 16px !important; }
	.woo-category-style5 .rt-cat-count { font-size: 13px !important; }

	.rtsb-row.rtsb-zilly-grid-layout1 { gap: 14px 12px !important; padding: 0 14px !important; }
	.rtsb-grid-item.rtsb-item-default { padding: 10px !important; }
	.rtsb-grid-item .rtsb-product-content { padding: 10px 2px 2px !important; }
	.rtsb-grid-item .product-title { font-size: 15px !important; }
	.rtsb-grid-item .product-price, .rtsb-grid-item .price { font-size: 14px !important; }
	.rtsb-grid-item .rtwpvs-term-span { font-size: 11px !important; padding: 2px 7px !important; }
	.rtsb-grid-item .rtsb-buttons-area .rtsb-action-btn { font-size: 13px !important; padding: 9px 8px !important; }
	.rtsb-grid-item .rtsb-action-buttons .rtsb-action-btn { width: 32px !important; height: 32px !important; }
	.rtsb-slide-item .rtsb-grid-item .product-title { font-size: 16px !important; }

	.rtsb-product-catalog ul.products { gap: 14px 12px !important; }
	.rt-product-block.rt-product-grid { padding: 10px !important; }
	.rt-product-grid .product-cat { font-size: 12px !important; }
	.rt-product-grid .rt-content-area { padding: 8px 2px 0 !important; }
	.rt-product-grid .rtwpvs-term-span { font-size: 11px !important; padding: 2px 7px !important; }
	.rt-product-grid .rt-price { font-size: 15px !important; }
	.rt-product-grid .woocommerce-loop-product__title, .rt-product-grid .rt-title, .rt-product-grid h3 { font-size: 15px !important; }
	.rt-product-grid .button, .rt-product-grid .rtsb-action-btn.has-text { font-size: 13px !important; padding: 9px 8px !important; }

	.woocommerce-products-header__title, .page-title, .entry-banner .entry-title { font-size: 26px !important; }
	.woocommerce-result-count, .woocommerce-ordering select { font-size: 14px !important; }

	.single-product .product_title { font-size: 24px !important; }
	.single-product div.product .price { font-size: 19px !important; }
	.single-product .quantity .qty { height: 46px; }
	.single-product .single_add_to_cart_button { padding: 13px 20px !important; font-size: 15px !important; }
	.single-product .woocommerce-tabs ul.tabs li a { padding: 8px 14px !important; font-size: 14px !important; }

	.woocommerce table.shop_table { font-size: 14px; }
	.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 9px 8px !important; }

	.footer-area .widget-title, .site-footer .widget-title, .footer-top-area .widgettitle { font-size: 19px !important; }
	.copyright-area { font-size: 14px; }
}

/* ======================= LARGE PHONES / SMALL TABLETS 481px – 767px ======================= */
@media (min-width:481px) and (max-width:767px) {

	[data-elementor-type="wp-page"] { --fm-sec: 32px; }
	.footer-top-area { --fm-addr-w: 260px; }

	.rt-header-menu .mean-bar a.mobile-logo { width: 180px; }
	.rt-header-menu .mean-bar a.mobile-logo img { width: 180px !important; max-width: 180px !important; }
	.mean-bar-search .header-icon-area { gap: 26px !important; }
	.mean-bar-search .header-icon-area i { font-size: 22px; }
	.mean-bar-search .sidebarBtn { margin-left: 20px !important; }

	/* features carousel: 3 in view */
	.e-con-inner:has(> .elementor-widget-rt-info-box),
	.e-con:has(> .elementor-widget-rt-info-box) { --fm-per-view: 3; --fm-gap: 12px; padding: 20px 16px !important; }
	.rt-info-box.rt-info-style1 .rt-icon, .rt-info-box.rt-info-style1 .rt-icon i { font-size: 40px !important; }
	.rt-info-box.rt-info-style1 .rt-title { font-size: 15px !important; }
	.rt-info-box.rt-info-style1 .rt-text { font-size: 13px !important; }

	.rt-section-title .entry-title { font-size: 26px !important; }

	.woo-category-style5 .woo-cat-item { padding: 20px 10px !important; border-radius: 24px !important; }
	.woo-category-style5 .rt-cat-thumb img { width: 90px !important; height: 90px !important; }
	.woo-category-style5 .rt-cat-title { font-size: 16px !important; }

	/* products: 3 per row */
	.rtsb-row.rtsb-zilly-grid-layout1 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px 14px !important; padding: 0 16px !important; }
	.rtsb-grid-item.rtsb-item-default { padding: 10px !important; }
	.rtsb-grid-item .rtsb-product-content { padding: 10px 2px 2px !important; }
	.rtsb-grid-item .product-title { font-size: 15px !important; }
	.rtsb-grid-item .product-price, .rtsb-grid-item .price { font-size: 14px !important; }
	.rtsb-grid-item .rtwpvs-term-span { font-size: 11px !important; padding: 2px 7px !important; }
	.rtsb-grid-item .rtsb-buttons-area .rtsb-action-btn { font-size: 13px !important; padding: 9px 8px !important; }

	.rtsb-product-catalog ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px 14px !important; }
	.rt-product-block.rt-product-grid { padding: 10px !important; }
	.rt-product-grid .product-cat { font-size: 12px !important; }
	.rt-product-grid .rt-content-area { padding: 8px 2px 0 !important; }
	.rt-product-grid .rtwpvs-term-span { font-size: 11px !important; padding: 2px 7px !important; }
	.rt-product-grid .rt-price { font-size: 15px !important; }
	.rt-product-grid .woocommerce-loop-product__title, .rt-product-grid .rt-title, .rt-product-grid h3 { font-size: 15px !important; }
	.rt-product-grid .button, .rt-product-grid .rtsb-action-btn.has-text { font-size: 13px !important; padding: 9px 8px !important; }

	.single-product .product_title { font-size: 26px !important; }
	.single-product div.product .price { font-size: 20px !important; }

	.footer-area .widget-title, .site-footer .widget-title, .footer-top-area .widgettitle { font-size: 19px !important; }
}

/* ---------- Desktop footer: Freshiva logo (wider than the old one; theme sets 124px) + tighter spacing ---------- */
@media (min-width:768px) {
	.footer-top-area .widget.footer-custom-logo { margin-bottom: 14px !important; }
	.footer-top-area .widget.footer-custom-logo img { width: 200px !important; max-width: 100% !important; height: auto !important; }
	.footer-top-area .footer-content-area { padding-top: 40px !important; padding-bottom: 10px !important; }
	.footer-top-area .widget { margin-bottom: 18px !important; }
	.footer-top-area .widget_zilly_address { margin-bottom: 14px !important; }
	.footer-top-area .widgettitle { margin-bottom: 12px !important; }
	.footer-top-area .widget ul li { margin: 0 0 6px !important; padding: 0 !important; line-height: 1.5 !important; }
	.footer-top-area .widget ul li:last-child { margin-bottom: 0 !important; }
	.footer-top-area .rtin-des { margin-bottom: 12px !important; line-height: 1.5 !important; }
	.footer-top-area .footer-google-app { margin-top: 0 !important; }
	.footer-top-area .footer-google-app p { margin-bottom: 8px !important; }
	.footer-copyright-area { padding-top: 12px !important; padding-bottom: 12px !important; }
	.footer-copyright-area .copyright { display: none !important; } /* "(c) 2024 idaeats.com" */
	.footer-copyright-area .copyright-area { display: flex; justify-content: center; }
}
@media (min-width:992px) {
	/* footer columns sized to their content with equal gaps; they shrink (address wraps) instead of overflowing */
	.footer-top-area .footer-content-area .row {
		flex-wrap: nowrap; justify-content: space-between; column-gap: clamp(40px, 5vw, 90px);
		max-width: 1320px; margin-left: auto !important; margin-right: auto !important;
	}
	.footer-top-area .footer-content-area .row > .footer-item { flex: 0 1 auto; min-width: 0; width: auto; max-width: none; padding-left: 0; padding-right: 0; }
	.footer-top-area .footer-content-area .row > .footer-item:first-child { max-width: 420px; }
	.footer-top-area .footer-content-area .row > .footer-item:last-child { flex: 0 1 400px; }
	.footer-top-area .footer-content-area .row > .footer-item:first-child .widget_zilly_address { padding-right: 0 !important; }
	.footer-top-area .footer-content-area .row > .footer-item:first-child .corporate-address li { display: flex; width: auto; } /* block rows: inline-flex rows made the column measure address + phone side by side */
	.footer-top-area .footer-content-area .row > .footer-item .widget { max-width: 100%; }
	.footer-top-area .footer-content-area .widgettitle { white-space: nowrap; }
}
/* ---------- Desktop: hide the "Latest News & Blog" section (kept in the page, only hidden) ---------- */
@media (min-width:768px) {
	.e-con.e-parent:has(> .e-con-inner .elementor-widget-rt-post),
	.e-con.e-parent:has(.elementor-widget-rt-post) { display: none !important; }
}

/* ---------- All screen sizes: product card images in one portrait frame (photos are ~677x800),
              so whole bottles/pouches show and cards in a row line up ---------- */
.rtsb-product-img .rtsb-product-image { width: 100%; height: auto !important; aspect-ratio: 677 / 800; object-fit: cover; }

/* ---------- Desktop header: less empty space under the logo / menu row (21px -> 4px above the dotted line) ---------- */
@media (min-width:768px) {
	#header-4 .header-menu.header-top { padding-bottom: 4px !important; }
}
