/**
 * Buldog mobile app layer (phones only, ≤767px). Design QA round 2, 2026-10-14.
 *
 * Owner feedback: too much text (long names, categories, breadcrumbs), too many frames that
 * shrink the content, and a page that reads as unrelated widgets. The rules here give phones
 * one system instead:
 *   - grey app background, white frameless surfaces, 16px gutters, 8px rhythm;
 *   - compact sticky header (offer strip + 56px bar);
 *   - breadcrumbs become a single "back to <parent>" link;
 *   - right-aligned compact headings;
 *   - product cards: image first, 2-line title, price, button; no category line, brand logo
 *     or empty star row;
 *   - sub-categories as a chip row;
 *   - product page flattened: full-width photo, title/price/buy up front, lists as rows.
 * Loaded after every other stylesheet (includes/buldog-ui.php). Desktop is untouched.
 */

@media (max-width: 767px) {
	:root {
		--app-bg: #f2f2f0;
		--app-surface: #fff;
		--app-line: #ebebe8;
		--app-ink: #1f1f1f;
		--app-muted: #6b6b66;
		--app-radius: 14px;
		--app-gutter: 16px; /* side margin on every page */
		--app-section: 32px; /* space above every section title */
		--app-title-gap: 12px; /* title to its content */
		--app-tile-gap: 8px; /* between tiles and cards */
	}

	/* ---------- Shell ---------- */
	body {
		background: var(--app-bg) !important;
	}

	/* Offer strip: 40 → 30px. */
	.elementor-location-header .elementor-element-2f515679 {
		--padding-top: 5px !important;
		--padding-bottom: 5px !important;
		padding-top: 5px !important;
		padding-bottom: 5px !important;
		min-height: 0 !important;
	}
	.elementor-location-header .elementor-element-2f515679 .elementor-icon-list-text {
		font-size: 13px !important;
	}
	/* Bar: 64 → 56px. (0,4,0): the header's own custom CSS sets 64px at (0,3,0) !important.
	 * Its grid row was sized by content (84px), so the icons sat 8px below the bar's bottom
	 * edge; one fixed 56px row centres them. */
	.elementor-122205 .elementor-element.elementor-element-aad1c9e.e-con {
		min-height: 56px !important;
		height: 56px !important;
		padding-block: 0 !important;
		grid-template-rows: 56px !important;
		align-items: center !important;
		align-content: center !important;
	}
	.elementor-122205 .elementor-element.elementor-element-aad1c9e.e-con > .elementor-element {
		align-self: center !important;
		max-height: 56px;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	/* Logo widget carried a -38px top margin. */
	.elementor-122205 .elementor-element.elementor-element-aad1c9e .elementor-element-46ce7095 {
		margin: 0 !important;
		--margin-top: 0px !important;
	}
	.elementor-location-header .elementor-element-aad1c9e .elementor-element-46ce7095 .elementor-widget-container,
	.elementor-location-header .elementor-element-aad1c9e .elementor-element-46ce7095 a {
		height: 56px !important;
	}
	.elementor-location-header .elementor-element-aad1c9e .elementor-element-46ce7095 img {
		max-height: 34px !important;
		width: auto !important;
	}

	/* ---------- Breadcrumbs → one back link ---------- */
	nav.woocommerce-breadcrumb.buldog-electro-breadcrumb {
		font-size: 0 !important;
		background: transparent !important;
		padding: 10px var(--app-gutter) 2px !important;
		margin: 0 !important;
		min-height: 0;
	}
	nav.woocommerce-breadcrumb.buldog-electro-breadcrumb > a,
	nav.woocommerce-breadcrumb.buldog-electro-breadcrumb > span.delimiter {
		display: none !important;
	}
	nav.woocommerce-breadcrumb.buldog-electro-breadcrumb > a:last-of-type {
		display: inline-flex !important;
		align-items: center;
		gap: 6px;
		min-height: 32px;
		padding: 0 !important;
		font-size: 14px;
		font-weight: 600;
		color: var(--app-muted);
		text-decoration: none;
	}
	/* RTL back chevron (points right, toward the start). */
	nav.woocommerce-breadcrumb.buldog-electro-breadcrumb > a:last-of-type::before {
		content: '';
		width: 8px;
		height: 8px;
		border: solid currentColor;
		border-width: 0 2px 2px 0;
		transform: rotate(-45deg);
		margin-inline-end: 2px;
	}

	/* ---------- Headings ---------- */
	.elementor-location-archive h1.elementor-heading-title,
	body.search .elementor-location-archive h1.elementor-heading-title {
		font-size: 24px !important;
		line-height: 1.25 !important;
		text-align: start !important;
		font-weight: 700 !important;
		margin: 0 !important;
	}
	.elementor-location-archive .elementor-widget-heading:has(h1) {
		margin-block: 4px 12px !important;
		text-align: start !important;
	}
	/* The category template (108489) has no side padding of its own. */
	.elementor-108489 .elementor-widget-heading:has(h1),
	.elementor-108489 .elementor-widget-theme-page-title {
		padding-inline: var(--app-gutter);
	}
	/* Section headings inside archives (e.g. "מוצרי אקאנה:" on brand pages). */
	.elementor-location-archive h2.elementor-heading-title {
		font-size: 19px !important;
		line-height: 1.3 !important;
		font-weight: 700 !important;
		text-align: start !important;
	}
	.elementor-location-archive .elementor-widget-heading:has(h2) {
		text-align: start !important;
		margin-block: 16px 8px !important;
	}

	/* ---------- Sub-category chips (category / brand pages) ---------- */
	.subcats-wrapper .cat-slider {
		border: 0 !important;
		box-shadow: none !important;
		background: transparent !important;
		padding: 0 !important;
		margin: 0 !important;
		--buldog-cat-title: 0px;
	}
	/* One chip row (sub-category page): its "choose X" title only repeats the H1. */
	.subcats-wrapper .cat-slider header {
		display: none !important;
	}
	/* Several rows (top-level category): each row keeps a compact section header. */
	.subcats-wrapper:has(.cat-slider ~ .cat-slider) .cat-slider header {
		display: flex !important;
		flex-direction: row !important;
		align-items: baseline !important;
		justify-content: space-between !important;
		gap: 8px !important;
		margin: var(--app-section) 0 var(--app-title-gap) !important;
		/* right: + the archive container's 10px = 16px; left: the row bleeds to the screen
		 * edge there, so the full 16px gutter. */
		padding: 0 6px 0 16px !important;
	}
	.subcats-wrapper:has(.cat-slider ~ .cat-slider) .cat-slider:first-child header {
		margin-top: 0 !important;
	}
	/* The title holds both links: group name, then "all products". */
	.subcats-wrapper:has(.cat-slider ~ .cat-slider) .cat-slider .slider-title {
		display: flex !important;
		align-items: baseline;
		justify-content: space-between;
		gap: 10px;
		width: 100%;
		font-size: 17px !important;
		font-weight: 700 !important;
		line-height: 1.3 !important;
		flex: 1 1 auto;
		min-width: 0;
	}
	.subcats-wrapper:has(.cat-slider ~ .cat-slider) .cat-slider .slider-title > a:first-child {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.subcats-wrapper:has(.cat-slider ~ .cat-slider) .cat-slider .view-all-link {
		display: inline-flex !important;
		align-items: center;
		gap: 6px;
		flex: 0 0 auto;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		font-size: 13px !important;
		font-weight: 600 !important;
		color: #3d7a22 !important;
		white-space: nowrap;
	}
	.subcats-wrapper:has(.cat-slider ~ .cat-slider) .buldog-cat-slider-nav {
		display: none !important;
	}
	.subcats-wrapper .cat-slider .product-category {
		background: var(--app-surface);
		border-radius: var(--app-radius);
		padding: 8px 4px 6px;
	}
	/* The desktop design draws a 51px grey disc behind the image with a pseudo-element. */
	.subcats-wrapper .cat-slider .product-category a::before {
		display: none !important;
	}
	/* Empty spacer container above the chips on category pages (108489). */
	.elementor-location-archive .elementor-element-233c337 {
		padding: 0 !important;
	}
	.subcats-wrapper .cat-slider .product-category img,
	.subcats-wrapper .cat-slider .cat-image {
		width: 56px !important;
		height: 56px !important;
		padding: 0 !important;
		margin: 0 auto !important;
		border-radius: 50%;
		object-fit: cover;
		background: var(--app-bg);
	}
	.subcats-wrapper .cat-slider .product-category span,
	.subcats-wrapper .cat-slider .product-category h2,
	.subcats-wrapper .cat-slider .product-category h3 {
		display: -webkit-box !important;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		font-size: 12px !important;
		line-height: 1.3 !important;
		padding: 6px 2px 0 !important;
		min-height: 0 !important;
		text-align: center;
		color: var(--app-ink);
	}

	/* ---------- Product cards (templates 107201 / 111823) ---------- */
	.elementor-loop-container,
	.elementor-wc-products ul.products {
		grid-column-gap: 8px !important;
		grid-row-gap: 8px !important;
		column-gap: 8px !important;
		row-gap: 8px !important;
	}
	/* The grid's container already has 10px; 6px more makes the 16px gutter. */
	.elementor-loop-container:not(.swiper-wrapper) {
		padding-inline: 6px;
	}
	.e-loop-item > .elementor-section,
	.buldog-wc-loop-item--elementor > .elementor > .elementor-section,
	.e-loop-item .elementor-element-698634f3,
	.buldog-wc-loop-item--elementor .elementor-element-698634f3 {
		border: 0 !important;
		border-radius: var(--app-radius) !important;
		box-shadow: none !important;
		background: var(--app-surface) !important;
		height: 100%;
	}
	.e-loop-item .elementor-widget-wrap,
	.buldog-wc-loop-item--elementor .elementor-widget-wrap {
		padding: 8px 10px 10px !important;
		display: flex !important;
		flex-direction: column;
		flex-wrap: nowrap !important;
		gap: 4px;
		height: 100%;
	}
	.e-loop-item .elementor-widget-wrap > .elementor-element,
	.buldog-wc-loop-item--elementor .elementor-widget-wrap > .elementor-element {
		margin: 0 !important;
		--kit-widget-spacing: 0px;
	}
	/* Image first. */
	.e-loop-item .elementor-widget-theme-post-featured-image,
	.buldog-wc-loop-item--elementor .elementor-widget-theme-post-featured-image {
		order: -2;
		margin-bottom: 4px !important;
	}
	.e-loop-item .elementor-widget-buldog_loop_variation_swatches,
	.buldog-wc-loop-item--elementor .elementor-widget-buldog_loop_variation_swatches {
		order: -1;
	}
	/* Less text: no category line, no brand logo, no empty stars. */
	.e-loop-item .elementor-widget-buldog_product_loop_categories,
	.buldog-wc-loop-item--elementor .elementor-widget-buldog_product_loop_categories,
	.e-loop-item .elementor-widget-buldog_wc_product_brand,
	.buldog-wc-loop-item--elementor .elementor-widget-buldog_wc_product_brand,
	.e-loop-item .elementor-widget-woocommerce-product-rating:has(.star-rating span[style*='width:0%']),
	.buldog-wc-loop-item--elementor .elementor-widget-woocommerce-product-rating:has(.star-rating span[style*='width:0%']) {
		display: none !important;
	}
	/* Title: 2 lines. (A theme rule sets flow-root + a 3-line clamp on h2.product_title.) */
	.e-loop-item .elementor-widget-woocommerce-product-title h2.product_title.elementor-heading-title,
	.buldog-wc-loop-item--elementor .elementor-widget-woocommerce-product-title h2.product_title.elementor-heading-title,
	.buldog-wc-loop-item--elementor .woocommerce-loop-product__title {
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		max-height: 2.7em;
		-webkit-box-orient: vertical;
		overflow: hidden;
		font-size: 14px !important;
		line-height: 1.35 !important;
		font-weight: 500 !important;
		text-align: start !important;
		color: var(--app-ink) !important;
		min-height: 2.7em;
	}
	.e-loop-item .elementor-widget-woocommerce-product-title,
	.buldog-wc-loop-item--elementor .elementor-widget-woocommerce-product-title {
		margin: 0 !important;
	}
	/* Price: sale price strong, old price small; aligned with the title. */
	/* (0,4,0): beats the margin reset above, so price + button sit at the card's bottom. */
	.e-loop-item .elementor-widget-wrap > .elementor-element.elementor-widget-woocommerce-product-price,
	.buldog-wc-loop-item--elementor .elementor-widget-wrap > .elementor-element.elementor-widget-woocommerce-product-price {
		margin-top: auto !important;
	}
	.e-loop-item .price,
	.buldog-wc-loop-item--elementor .price {
		display: flex !important;
		flex-wrap: wrap;
		align-items: baseline;
		justify-content: flex-start !important;
		gap: 2px 6px;
		text-align: start !important;
		font-size: 16px !important;
		font-weight: 700;
		color: var(--app-ink) !important;
		margin: 0 !important;
	}
	.e-loop-item .price del,
	.buldog-wc-loop-item--elementor .price del {
		font-size: 12px !important;
		font-weight: 400;
		color: var(--app-muted) !important;
		order: 2;
	}
	.e-loop-item .price ins,
	.buldog-wc-loop-item--elementor .price ins {
		text-decoration: none;
	}
	/* Button: full card width, 40px. */
	.e-loop-item .buldog-loop-atc-actions,
	.buldog-wc-loop-item--elementor .buldog-loop-atc-actions {
		width: 100% !important;
		margin: 6px 0 0 !important;
	}
	.e-loop-item .buldog-loop-atc-wrap .price-add-to-cart .add_to_cart_button,
	.buldog-wc-loop-item--elementor .buldog-loop-atc-wrap .price-add-to-cart .add_to_cart_button,
	.e-loop-item .buldog-loop-atc-wrap a.added_to_cart,
	.buldog-wc-loop-item--elementor .buldog-loop-atc-wrap a.added_to_cart {
		width: 100% !important;
		min-height: 40px !important;
		height: 40px !important;
		font-size: 14px !important;
		padding-inline: 6px !important;
	}
	.e-loop-item .buldog-loop-atc-wrap .add_to_cart_button > svg,
	.buldog-wc-loop-item--elementor .buldog-loop-atc-wrap .add_to_cart_button > svg {
		align-self: center !important;
		margin: 0 !important;
	}
	/* Brand page: the products container's 30px margins on top of the section spacing. */
	.elementor-119523 .elementor-element-6d7bf11 {
		margin-block: 8px 16px !important;
	}
	/* SKU line (kept by decision): one quiet line. */
	.elementor-107201 .elementor-element-0193c3c {
		font-size: 10px !important;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		text-align: start;
	}
	.e-loop-item .elementor-widget-woocommerce-product-rating,
	.buldog-wc-loop-item--elementor .elementor-widget-woocommerce-product-rating {
		font-size: 12px;
	}

	/* ---------- Product page (template 122124) ---------- */
	.elementor-122124 .elementor-element-dbfc5aa,
	.elementor-122124 .elementor-element-6be00f0d {
		margin: 0 !important;
		padding: 0 var(--app-gutter) !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.elementor-122124 .elementor-element-aacbff2,
	.elementor-122124 .elementor-element-21f79ae,
	.elementor-122124 .elementor-element-7426016 {
		padding: 0 !important;
		margin: 0 !important;
		gap: 0 !important;
	}
	/* Photo: full width, white band. */
	.elementor-122124 .elementor-element-ae1d43c {
		margin: 4px calc(-1 * var(--app-gutter)) 0 !important;
		width: calc(100% + 2 * var(--app-gutter)) !important;
		max-width: none !important;
		background: var(--app-surface);
	}
	.elementor-122124 .elementor-element-ae1d43c .woocommerce-product-gallery,
	.elementor-122124 .elementor-element-ae1d43c img {
		border-radius: 0 !important;
	}
	/* Divider, brand box and the category line: gone on phones. */
	.elementor-122124 .elementor-element-f1a5f7d,
	.elementor-122124 .elementor-element-357d08bc,
	.elementor-122124 .elementor-element-1658c6bb {
		display: none !important;
	}
	/* Title block. */
	.elementor-122124 .elementor-element-736c2376 {
		margin: 16px 0 4px !important;
	}
	.elementor-122124 .elementor-element-736c2376 .elementor-heading-title,
	.elementor-122124 .elementor-element-736c2376 .product_title {
		font-size: 20px !important;
		line-height: 1.3 !important;
		font-weight: 700 !important;
		text-align: start !important;
	}
	.elementor-122124 .elementor-element-2514231e {
		margin: 0 0 6px !important;
	}
	.elementor-122124 .elementor-element-2514231e .woocommerce-product-rating {
		justify-content: flex-start !important;
		font-size: 13px;
		margin: 0 !important;
	}
	.elementor-122124 .elementor-element-2514231e:has(.star-rating span[style*='width:0%']) {
		display: none !important;
	}
	/* The summary column centres shrink-wrapped widgets; stretch them so text starts at the
	 * right edge like the title. */
	.elementor-122124 .elementor-element-7426016 {
		align-items: stretch !important;
	}
	.elementor-122124 .elementor-element-7426016 > .elementor-element {
		align-self: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		text-align: start !important;
	}
	.elementor-122124 .elementor-element-75b1453c,
	.elementor-122124 .elementor-element-75b1453c * {
		text-align: start !important;
		justify-content: flex-start !important;
	}
	/* Long description headings: section size, not page-title size. */
	.elementor-122124 .elementor-element-3b686c46 h2 {
		font-size: 19px !important;
		line-height: 1.35 !important;
		margin: 18px 0 6px !important;
	}
	.elementor-122124 .elementor-element-3b686c46 h3 {
		font-size: 17px !important;
		margin: 14px 0 4px !important;
	}
	.elementor-122124 .elementor-element-3b686c46 p {
		font-size: 15px;
		line-height: 1.65;
	}
	.elementor-122124 .elementor-element-75b1453c .price {
		font-size: 26px !important;
		font-weight: 700 !important;
		margin: 0 !important;
	}
	.elementor-122124 .elementor-element-18009a62 {
		margin: 14px 0 6px !important;
	}
	.elementor-122124 .elementor-element-42a0fd55 {
		margin: 10px 0 4px !important;
		font-size: 15px;
		line-height: 1.6;
	}

	/* Product data blocks (ingredients, details, feeding table): rows, not nested boxes. */
	.spdm-product-data {
		border: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}
	.spdm-product-data__grid {
		gap: 0 !important;
	}
	.spdm-product-data__primary-ingredients {
		margin: 8px 0 12px !important;
	}
	.spdm-product-data__primary-ingredients-list > li {
		border: 0 !important;
		background: var(--app-surface) !important;
		border-radius: 12px !important;
	}
	.spdm-product-data__detail {
		border: 0 !important;
		border-bottom: 1px solid var(--app-line) !important;
		border-radius: 0 !important;
		background: transparent !important;
		margin: 0 !important;
	}
	.spdm-product-data__detail:first-of-type {
		border-top: 1px solid var(--app-line) !important;
	}
	.spdm-product-data__detail > summary {
		min-height: 52px;
		padding: 0 2px !important;
		display: flex !important;
		align-items: center;
	}
	.spdm-product-data__detail-body {
		padding: 0 2px 16px !important;
	}
	/* Tabs accordion (buldog-ui.js) in the same row style. */
	.buldog-tabacc__btn {
		border: 0 !important;
		border-bottom: 1px solid var(--app-line) !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		margin: 0 !important;
		padding: 0 2px !important;
	}
	.buldog-tabacc__btn[aria-expanded='true'] {
		color: #3d7a22 !important;
		border-bottom-color: transparent !important;
	}
	.single-product .woocommerce-tabs.buldog-tabacc .woocommerce-Tabs-panel.buldog-tabacc--open {
		border: 0 !important;
		border-bottom: 1px solid var(--app-line) !important;
		border-radius: 0 !important;
		padding: 0 2px 16px !important;
		margin: 0 !important;
	}
	body.single-product .elementor .elementor-widget-woocommerce-product-data-tabs:has(.buldog-tabacc) {
		margin-inline: 0 !important;
		width: 100% !important;
	}
	.elementor-122124 .elementor-element-3b686c46 {
		margin: 20px 0 8px !important;
	}

	/* After adding a bundle/variable product the card shows "added" + "view cart"; on a
	 * phone the green "view cart" button says enough, and the extra line made the cards in a
	 * row uneven. Keep the status for screen readers. */
	.buldog-loop-atc-wrap .buldog-loop-atc-added {
		position: absolute !important;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}

	/* ---------- Every page: same side margin, same start under the header ----------
	 * Elementor pages and posts render inside Hello's .page-content > .elementor (full-width
	 * template pages, e.g. the deals page 118621: straight under <body>). Their root
	 * containers have Elementor's default 10px padding and posts add a 30px top margin. */
	:is(.page-content > .elementor, body.page-template-elementor_header_footer > .elementor[data-elementor-type="wp-page"]):not(.elementor-94750) > .e-con {
		--padding-left: var(--app-gutter) !important;
		--padding-right: var(--app-gutter) !important;
		padding-inline: var(--app-gutter) !important;
	}
	:is(.page-content > .elementor, body.page-template-elementor_header_footer > .elementor[data-elementor-type="wp-page"]):not(.elementor-94750) > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
		padding-inline: var(--app-gutter) !important;
	}
	:is(.page-content > .elementor, body.page-template-elementor_header_footer > .elementor[data-elementor-type="wp-page"]):not(.elementor-94750) > .elementor-element:first-child {
		margin-top: var(--app-gutter) !important;
		--margin-top: var(--app-gutter) !important;
	}
	/* …and no extra top padding inside that first block, so content starts 16px under
	 * the header like the archive pages. */
	:is(.page-content > .elementor, body.page-template-elementor_header_footer > .elementor[data-elementor-type="wp-page"]):not(.elementor-94750) > .e-con:first-child {
		--padding-top: 0px !important;
		padding-top: 0 !important;
	}
	:is(.page-content > .elementor, body.page-template-elementor_header_footer > .elementor[data-elementor-type="wp-page"]):not(.elementor-94750) > .elementor-section:first-child > .elementor-container > .elementor-column > .elementor-widget-wrap {
		padding-top: 0 !important;
	}
	/* Sections of an Elementor page/post: no vertical padding of their own, 32px apart. */
	:is(.page-content > .elementor, body.page-template-elementor_header_footer > .elementor[data-elementor-type="wp-page"]):not(.elementor-94750) > .e-con {
		--padding-top: 0px !important;
		--padding-bottom: 0px !important;
		padding-block: 0 !important;
		margin-bottom: 0 !important;
	}
	:is(.page-content > .elementor, body.page-template-elementor_header_footer > .elementor[data-elementor-type="wp-page"]):not(.elementor-94750) > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
		padding-block: 0 !important;
	}
	:is(.page-content > .elementor, body.page-template-elementor_header_footer > .elementor[data-elementor-type="wp-page"]):not(.elementor-94750) > .elementor-section {
		margin-bottom: 0 !important;
	}
	:is(.page-content > .elementor, body.page-template-elementor_header_footer > .elementor[data-elementor-type="wp-page"]):not(.elementor-94750) > .elementor-element + .elementor-element {
		margin-top: var(--app-section) !important;
		--margin-top: var(--app-section) !important;
	}
	:is(.page-content > .elementor, body.page-template-elementor_header_footer > .elementor[data-elementor-type="wp-page"]):not(.elementor-94750) {
		padding-bottom: var(--app-section);
	}
	/* Cart / checkout: empty notice slots took a grid row (+24px gap). */
	.buldog-ms-checkout > :empty,
	.buldog-ms-checkout .buldog-ms-cart__notices:empty,
	.buldog-ms-checkout .woocommerce-notices-wrapper:empty {
		display: none !important;
	}
	/* Cart / checkout main card: same card as everywhere (16px inside, rounded). */
	.buldog-ms-checkout .buldog-ms-checkout__main {
		padding-inline: var(--app-gutter) !important;
		border: 0 !important;
		border-radius: var(--app-radius) !important;
	}
	/* Archive breadcrumb back link: 16px under the header, like every other page. */
	nav.woocommerce-breadcrumb.buldog-electro-breadcrumb {
		padding-top: var(--app-gutter) !important;
	}
	body.error404 .site-main {
		padding-top: var(--app-gutter) !important;
	}
	body.error404 .page-header .entry-title,
	.site-main > .page-header .entry-title {
		margin-top: 0 !important;
		padding-inline: 0 !important;
	}
	/* Archive top area: breadcrumb, title, sub-categories and grid 16px apart (Elementor
	 * containers stacked a 20px gap on top of 4-12px margins and 10px paddings). */
	.elementor-location-archive .e-con,
	.elementor-location-archive .e-con-inner {
		--row-gap: var(--app-gutter) !important;
		row-gap: var(--app-gutter) !important;
	}
	.elementor-location-archive > .e-con:not(:first-child) > .e-con-inner {
		padding-top: 0 !important;
	}
	.elementor-location-archive .elementor-widget-theme-page-title,
	.elementor-location-archive .elementor-widget-heading:has(h1) {
		margin-block: 0 !important;
	}
	.elementor-location-archive .elementor-element-233c337:not(:has(*)) {
		display: none !important;
	}
	/* Category description (108489): its container 5e151e55 has 10px padding on phones;
	 * 6px more puts the text on the same 16px line as the title, chips and cards. */
	.elementor-108489 .elementor-element-233c337 {
		padding-inline: 6px !important;
	}
	/* Archive and search grids: the template already gives 16px, no extra. */
	body.search .elementor-loop-container:not(.swiper-wrapper),
	body.post-type-archive-product .elementor-loop-container:not(.swiper-wrapper) {
		padding-inline: 0;
	}
	/* WooCommerce notices: compact, inside the gutter. */
	.woocommerce-notices-wrapper,
	.e-woocommerce-notices-wrapper {
		margin: var(--app-gutter) var(--app-gutter) 0 !important;
	}
	.woocommerce-notices-wrapper .woocommerce-message,
	.woocommerce-notices-wrapper .woocommerce-info,
	.woocommerce-notices-wrapper .woocommerce-error,
	.e-woocommerce-notices-wrapper .woocommerce-message,
	.e-woocommerce-notices-wrapper .woocommerce-info {
		margin: 0 !important;
		padding: 12px 14px !important;
		font-size: 14px !important;
		line-height: 1.45 !important;
		border-radius: var(--app-radius) !important;
		min-height: 0 !important;
	}
	/* My account (logged out): one column of sections with the standard rhythm. */
	.woocommerce-account .page-content :is(h1, h2).e-heading-base,
	.woocommerce-account .page-content .elementor-heading-title {
		font-size: 24px !important;
		font-weight: 700 !important;
		text-align: start !important;
		margin: 0 !important;
	}
	.woocommerce-account #customer_login h2,
	.woocommerce-account .social-title,
	.woocommerce-account .buldog-social-login h2 {
		font-size: 19px !important;
		font-weight: 700 !important;
		text-align: start !important;
		margin: var(--app-section) 0 var(--app-title-gap) !important;
	}
	.woocommerce-account #customer_login .u-column1,
	.woocommerce-account #customer_login .u-column2 {
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
		float: none !important;
	}
	/* Account sections (social login, login, register): 32px apart, titles 12px above. */
	.woocommerce-account .e-my-account-tab > .woocommerce {
		gap: var(--app-section) !important;
		row-gap: var(--app-section) !important;
	}
	.woocommerce-account .e-my-account-tab > .woocommerce > * ,
	.woocommerce-account #customer_login,
	.woocommerce-account .buldog-social-login-intro {
		margin: 0 !important;
		padding-block: 0 !important;
	}
	/* WooCommerce clearfix pseudo-elements count as flex items and took a 32px gap. */
	.woocommerce-account #customer_login::before,
	.woocommerce-account #customer_login::after,
	.woocommerce-account .e-my-account-tab > .woocommerce::before,
	.woocommerce-account .e-my-account-tab > .woocommerce::after {
		content: none !important;
		display: none !important;
	}
	.woocommerce-account .social-title,
	.woocommerce-account #customer_login .u-column1 > h2:first-child,
	.woocommerce-account #customer_login .u-column2 > h2:first-child {
		margin-top: 0 !important;
	}
	.woocommerce-account #customer_login .u-column2 {
		margin-top: var(--app-section) !important;
	}
	.woocommerce-account .buldog-social-login-intro > :last-child,
	.woocommerce-account .buldog-social-login-intro .buldog-social-login {
		margin-bottom: 0 !important;
	}
	.woocommerce-account .e-my-account-tab .woocommerce > :empty {
		display: none !important;
	}
	.elementor-5469 .elementor-element-53fbb4e4 {
		margin-bottom: 0 !important;
	}
	.woocommerce-account .woocommerce-form-login,
	.woocommerce-account .woocommerce-form-register {
		margin: 0 !important;
		padding: 16px !important;
		border: 0 !important;
		border-radius: var(--app-radius) !important;
		background: var(--app-surface) !important;
	}

	/* ---------- Homepage (94750): one spacing system ----------
	 * Every top-level block: no own margin/padding. Inner wrappers: side gutter only.
	 * Every section starts with --app-section above its title (or above the block itself
	 * when it has no title), --app-title-gap between title and content, nothing below. */
	.elementor-94750 > .elementor-element {
		margin: 0 !important;
		padding: 0 !important;
		--margin-top: 0px !important;
		--margin-bottom: 0px !important;
		--padding-top: 0px !important;
		--padding-bottom: 0px !important;
	}
	.elementor-94750 > .e-con > .e-con-inner > .e-con,
	.elementor-94750 > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
		padding: 0 var(--app-gutter) !important;
		margin: 0 !important;
	}
	.elementor-94750 > .elementor-element-680299af,
	.elementor-94750 > .elementor-element-18c8a1d3 {
		padding-inline: var(--app-gutter) !important;
	}
	.elementor-94750 > .elementor-element-680299af > .e-con-inner,
	.elementor-94750 > .elementor-element-18c8a1d3 > .e-con-inner {
		gap: var(--app-tile-gap) !important;
	}
	/* Section titles. */
	.elementor-94750 > .elementor-element-a4f6037,
	.elementor-94750 > .elementor-element-a1fbf81,
	.elementor-94750 > .elementor-element-53f55da,
	.elementor-94750 > .elementor-element-629ffd2,
	.elementor-94750 > .elementor-element-6079129,
	.elementor-94750 > .elementor-element-ad4a4c6,
	.elementor-94750 > .elementor-element-013291f,
	.elementor-94750 > .elementor-element-955f3b1,
	.elementor-94750 > .elementor-element-210f72f2 {
		padding-top: var(--app-section) !important;
		padding-bottom: var(--app-title-gap) !important;
	}
	/* Blocks that start a section without a title of their own. */
	.elementor-94750 > .elementor-element-737ac09,
	.elementor-94750 > .elementor-element-7b32dcef,
	.elementor-94750 > .elementor-element-d72f7ac {
		padding-top: var(--app-section) !important;
	}
	.elementor-94750 > .elementor-element-18c8a1d3 {
		padding-bottom: var(--app-section) !important;
	}
	/* The animal-tile grid pulls itself up 20px (Elementor margin). */
	.elementor-94750 .elementor-element-6f489d83 {
		margin-top: 0 !important;
		--margin-top: 0px !important;
	}
	/* The two stacked SEO text blocks are separate sections. */
	.elementor-94750 .elementor-element-d72f7ac .elementor-column + .elementor-column {
		padding-top: var(--app-section) !important;
	}
	/* Titles written inside text widgets start flush with the section padding. */
	.elementor-94750 .elementor-widget-text-editor :is(h1, h2, h3):first-child,
	.elementor-94750 .elementor-widget-text-editor .elementor-widget-container > :is(h1, h2, h3):first-child {
		margin-top: 0 !important;
	}
	.elementor-94750 .elementor-widget-text-editor .buldog-read-more:last-of-type .buldog-read-more__toggle {
		margin-bottom: 0 !important;
	}
	/* SEO text blocks: no trailing margin under the last "read more". */
	.elementor-94750 .elementor-widget-text-editor .buldog-read-more:last-of-type {
		margin-bottom: 0 !important;
	}
	.elementor-94750 .elementor-widget-text-editor > :last-child,
	.elementor-94750 .elementor-widget-text-editor .elementor-widget-container > :last-child {
		margin-bottom: 0 !important;
	}
	/* Title blocks carry no inner padding of their own. */
	.elementor-94750 .e-flexbox-base:has(> .elementor-widget-icon-box:only-child),
	.elementor-94750 > .elementor-section .elementor-widget-heading {
		padding: 0 !important;
		margin: 0 !important;
	}
	/* Carousels: dots 12px under the cards, nothing below the dots. */
	.elementor-94750 .elementor-widget-loop-carousel {
		margin: 0 !important;
	}
	.elementor-94750 .elementor-widget-loop-carousel .swiper {
		padding-bottom: 20px !important;
	}
	.elementor-94750 .elementor-widget-loop-carousel .swiper-pagination {
		bottom: 0 !important;
	}

	/* ---------- Homepage (94750) ---------- */
	/* Hero: shorter, smaller title. */
	.elementor-94750 .elementor-element-f1ee022 {
		--min-height: 300px !important;
		min-height: 300px !important;
	}
	.elementor-94750 .elementor-element-2737866 .elementor-icon-box-title {
		font-size: 34px !important;
		line-height: 1.15 !important;
	}
	.elementor-94750 .elementor-element-36b4de1 .elementor-icon-box-title {
		font-size: 20px !important;
	}
	/* Section titles: right-aligned, no decorative icon, one size. */
	.elementor-94750 .e-flexbox-base:has(> .elementor-widget-icon-box:only-child) .elementor-icon-box-icon {
		display: none !important;
	}
	.elementor-94750 .e-flexbox-base:has(> .elementor-widget-icon-box:only-child) .elementor-icon-box-wrapper,
	.elementor-94750 .e-flexbox-base:has(> .elementor-widget-icon-box:only-child) .elementor-icon-box-content,
	.elementor-94750 .e-flexbox-base:has(> .elementor-widget-icon-box:only-child) .elementor-icon-box-title {
		text-align: start !important;
	}
	.elementor-94750 .e-flexbox-base:has(> .elementor-widget-icon-box:only-child) .elementor-icon-box-title {
		font-size: 20px !important;
		font-weight: 700 !important;
		line-height: 1.3 !important;
	}
	.elementor-94750 .elementor-section .elementor-heading-title {
		font-size: 20px !important;
		font-weight: 700 !important;
		text-align: start !important;
	}
	/* Same order as desktop. The phone copies of the desktop blocks sit at the end of the
	 * template, so they are moved into the desktop positions:
	 *   hero → taglines (4431ed62, desktop: strip inside the hero) → animal tiles
	 *   (7b32dcef ↔ 6a1fb3c) → the deal carousels → top categories (ad4a4c6 + 680299af ↔
	 *   e78d09d) → scratching posts → brands (955f3b1 + 48ba41d1) → store text (d72f7ac ↔
	 *   bc9b9fb) → benefits (737ac09) → customers (210f72f2 + 18c8a1d3). */
	.elementor-94750 {
		display: flex;
		flex-direction: column;
	}
	.elementor-94750 > * { order: 99; }
	.elementor-94750 > .elementor-element-f1ee022 { order: 1; }
	.elementor-94750 > .elementor-element-4431ed62 { order: 2; }
	.elementor-94750 > .elementor-element-7b32dcef { order: 3; }
	.elementor-94750 > .elementor-element-a4f6037 { order: 4; }
	.elementor-94750 > .elementor-element-735bd9a { order: 5; }
	.elementor-94750 > .elementor-element-a1fbf81 { order: 6; }
	.elementor-94750 > .elementor-element-74ffe27 { order: 7; }
	.elementor-94750 > .elementor-element-53f55da { order: 8; }
	.elementor-94750 > .elementor-element-c2f3a01 { order: 9; }
	.elementor-94750 > .elementor-element-629ffd2 { order: 10; }
	.elementor-94750 > .elementor-element-5c22d3b { order: 11; }
	.elementor-94750 > .elementor-element-6079129 { order: 12; }
	.elementor-94750 > .elementor-element-805e2a8 { order: 13; }
	.elementor-94750 > .elementor-element-ad4a4c6 { order: 14; }
	.elementor-94750 > .elementor-element-680299af { order: 15; }
	.elementor-94750 > .elementor-element-013291f { order: 16; }
	.elementor-94750 > .elementor-element-663b7b6 { order: 17; }
	.elementor-94750 > .elementor-element-955f3b1 { order: 18; }
	.elementor-94750 > .elementor-element-48ba41d1 { order: 19; }
	.elementor-94750 > .elementor-element-d72f7ac { order: 20; }
	.elementor-94750 > .elementor-element-737ac09 { order: 21; }
	.elementor-94750 > .elementor-element-210f72f2 { order: 22; }
	.elementor-94750 > .elementor-element-18c8a1d3 { order: 23; }
	.elementor-94750 > .elementor-element-4942560a {
		display: none !important;
	}
	/* Category tiles (680299af, 12 tiles) and the animal tiles (7b32dcef, 8 tiles): app
	 * category grids, 3 and 4 per row, white tiles, small images, short labels. */
	.elementor-94750 .elementor-element-680299af > .e-con-inner {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		grid-template-rows: none !important;
		grid-auto-rows: auto !important;
		gap: 8px !important;
		max-width: 100% !important;
	}
	.elementor-94750 .elementor-element-7b32dcef .elementor-element-6f489d83 > .e-con-inner {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		grid-template-rows: none !important;
		grid-auto-rows: auto !important;
		gap: 8px !important;
	}
	.elementor-94750 .elementor-element-7b32dcef .elementor-element-6f489d83 {
		min-height: 0 !important;
		height: auto !important;
		--min-height: 0px !important;
	}
	.elementor-94750 .elementor-element-7b32dcef .elementor-column,
	.elementor-94750 .elementor-element-7b32dcef .elementor-widget-wrap,
	.elementor-94750 .elementor-element-7b32dcef .elementor-element-6f489d83 {
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
	}
	.elementor-94750 .elementor-element-680299af > .e-con-inner > .e-con,
	.elementor-94750 .elementor-element-7b32dcef .elementor-element-6f489d83 > .e-con-inner > .e-con {
		width: auto !important;
		min-width: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 10px 4px 10px !important;
		gap: 6px !important;
		border: 0 !important;
		border-radius: var(--app-radius) !important;
		background: var(--app-surface) !important;
		box-shadow: none !important;
	}
	.elementor-94750 .elementor-element-680299af img,
	.elementor-94750 .elementor-element-7b32dcef .elementor-element-6f489d83 img {
		width: 64px !important;
		height: 64px !important;
		max-width: 64px !important;
		object-fit: contain;
		margin: 0 auto;
		display: block;
	}
	.elementor-94750 .elementor-element-680299af .elementor-heading-title,
	.elementor-94750 .elementor-element-7b32dcef .elementor-element-6f489d83 .elementor-heading-title,
	.elementor-94750 .elementor-element-7b32dcef .elementor-element-6f489d83 .elementor-icon-box-title {
		font-size: 13px !important;
		line-height: 1.25 !important;
		font-weight: 600 !important;
		text-align: center !important;
	}
	.elementor-94750 .elementor-element-680299af .elementor-heading-title br,
	.elementor-94750 .elementor-element-7b32dcef .elementor-heading-title br {
		display: none;
	}
	/* Taglines under the hero (4431ed62, the phone copy of the desktop hero strip): a
	 * compact 2x2 grid, icon beside the text, no frame. */
	/* Its inner container already carries the 16px gutter. */
	.elementor-94750 > .elementor-element-4431ed62 {
		padding: var(--app-gutter) 0 0 !important;
	}
	/* Five taglines: the last one spans the row. */
	.elementor-94750 .elementor-element-42dcb19d .elementor-icon-list-item:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
	.elementor-94750 .elementor-element-4e29ab6e {
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	.elementor-94750 .elementor-element-42dcb19d {
		padding: 0 !important;
		margin: 0 !important;
	}
	.elementor-94750 .elementor-element-42dcb19d .elementor-icon-list-items {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--app-tile-gap) !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.elementor-94750 .elementor-element-42dcb19d .elementor-icon-list-item {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		gap: 10px;
		margin: 0 !important;
		padding: 10px 12px !important;
		min-height: 60px;
		background: var(--app-surface);
		border-radius: var(--app-radius);
	}
	.elementor-94750 .elementor-element-42dcb19d .elementor-icon-list-item::after {
		display: none !important;
	}
	.elementor-94750 .elementor-element-42dcb19d .elementor-icon-list-icon {
		flex: 0 0 auto;
		margin: 0 !important;
		padding: 0 !important;
	}
	.elementor-94750 .elementor-element-42dcb19d .elementor-icon-list-icon svg,
	.elementor-94750 .elementor-element-42dcb19d .elementor-icon-list-icon i {
		width: 22px !important;
		height: 22px !important;
		font-size: 22px !important;
	}
	.elementor-94750 .elementor-element-42dcb19d .elementor-icon-list-text {
		font-size: 13px !important;
		line-height: 1.3 !important;
		padding: 0 !important;
		margin: 0 !important;
		text-indent: 0 !important;
		text-align: start !important;
	}
	.elementor-94750 .elementor-element-42dcb19d .elementor-icon-list-text br {
		display: none;
	}
	/* Benefits block (737ac09): frameless 2x2. */
	.elementor-94750 .elementor-element-83e0b9e {
		border: 0 !important;
		background: transparent !important;
		padding: 0 !important;
	}
	.elementor-94750 .elementor-element-f440230 .elementor-icon-list-items {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px !important;
	}
	.elementor-94750 .elementor-element-f440230 .elementor-icon-list-item {
		margin: 0 !important;
		padding: 12px 10px !important;
		background: var(--app-surface);
		border-radius: var(--app-radius);
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 6px;
	}
	.elementor-94750 .elementor-element-f440230 .elementor-icon-list-text {
		font-size: 13px !important;
		line-height: 1.35 !important;
		padding: 0 !important;
		margin: 0 !important;
		text-indent: 0 !important;
	}
	/* The animal-tiles section overlapped the benefits and kept a fixed height below. */
	.elementor-94750 > .elementor-element-7b32dcef,
	.elementor-94750 > .elementor-element-7b32dcef > .elementor-container {
		margin: 0 !important;
		min-height: 0 !important;
		height: auto !important;
	}
	.elementor-94750 .elementor-element-680299af .elementor-heading-title p,
	.elementor-94750 .elementor-element-7b32dcef .elementor-heading-title p {
		margin: 0 !important;
	}
	.elementor-94750 .elementor-element-f440230 .elementor-icon-list-icon svg {
		width: 22px !important;
		height: 22px !important;
	}
	/* Recommended brand logos: the same white tiles as the category grid, 3 per row. */
	.elementor-94750 > .elementor-element-48ba41d1 {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: var(--app-tile-gap) !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 var(--app-gutter) !important;
	}
	.elementor-94750 .elementor-element-48ba41d1 > .elementor-widget-image {
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		height: 88px;
		display: flex !important;
		align-items: center;
		justify-content: center;
		padding: 12px !important;
		background: var(--app-surface);
		border-radius: var(--app-radius) !important;
	}
	.elementor-94750 .elementor-element-48ba41d1 > .elementor-widget-image img {
		max-height: 60px !important;
		width: auto !important;
		max-width: 100% !important;
		object-fit: contain;
		border-radius: 0 !important;
	}
	/* Customer logos: 2x2 white tiles. */
	.elementor-94750 .elementor-element-18c8a1d3 > .e-con-inner {
		gap: 8px !important;
	}
	.elementor-94750 .elementor-element-18c8a1d3 > .e-con-inner > .e-con,
	.elementor-94750 .elementor-element-18c8a1d3 > .e-con {
		border: 0 !important;
		border-radius: var(--app-radius) !important;
		background: var(--app-surface) !important;
		padding: 10px !important;
	}
	/* Checkout on phones: no outer frame, softer field borders. */
	.buldog-ms-checkout form .input-text,
	.buldog-ms-checkout form select,
	.buldog-ms-checkout form .select2-selection {
		border-color: #d4d4cf !important;
		border-width: 1px !important;
		border-radius: 10px !important;
	}
	/* Search results heading under the header. */
	body.search .elementor-location-archive .elementor-widget-heading:has(h1) {
		margin-top: 16px !important;
		padding-inline: var(--app-gutter);
	}
}

/* ---------- Footer (77730) on phones: app-style ----------
 * One card for the store (small logo, call row, hours, social), one card with two
 * collapsible link groups (built by buldog-ui.js), a quiet bottom line. */
@media (max-width: 767px) {
	.elementor-location-footer {
		background: var(--app-bg) !important;
	}
	.elementor-location-footer .elementor-element-fc9179e {
		background: transparent !important;
		padding: var(--app-section) var(--app-gutter) 0 !important;
		--padding-top: var(--app-section) !important;
		row-gap: var(--app-tile-gap) !important;
		--row-gap: var(--app-tile-gap) !important;
	}
	/* Store card. */
	.elementor-location-footer .elementor-element-8822352 {
		background: var(--app-surface) !important;
		border-radius: var(--app-radius) !important;
		padding: 20px 16px !important;
		gap: 14px !important;
		--gap: 14px !important;
		width: 100% !important;
	}
	.elementor-location-footer .elementor-element-cf79257 img {
		width: 120px !important;
		height: auto !important;
	}
	/* Call row: one tappable pill. */
	.elementor-location-footer .elementor-element-493ac01 {
		width: 100% !important;
		justify-content: center !important;
		gap: 8px !important;
		padding: 10px 14px !important;
		background: var(--app-bg);
		border-radius: 12px;
	}
	.elementor-location-footer .elementor-element-493ac01 .elementor-icon-box-title,
	.elementor-location-footer .elementor-element-493ac01 .elementor-icon-box-title a {
		font-size: 16px !important;
		font-weight: 700 !important;
		color: var(--app-ink) !important;
	}
	.elementor-location-footer .elementor-element-493ac01 .elementor-icon svg {
		width: 18px !important;
		height: 18px !important;
	}
	/* Address + hours: small, muted. */
	.elementor-location-footer .elementor-element-a117929,
	.elementor-location-footer .elementor-element-a117929 p,
	.elementor-location-footer .elementor-element-a117929 span {
		font-size: 13px !important;
		line-height: 1.6 !important;
		color: var(--app-muted) !important;
		text-align: center !important;
		margin: 0 !important;
	}
	/* Social: smaller round icons. */
	.elementor-location-footer .elementor-element-f17d140 .elementor-grid {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 8px !important;
		--grid-column-gap: 8px !important;
		--grid-row-gap: 0px !important;
		justify-content: center;
	}
	.elementor-location-footer .elementor-element-f17d140 .elementor-grid-item {
		margin: 0 !important;
	}
	/* Store card children: no Elementor offsets (one had a negative margin and slid
	 * under the call row). */
	.elementor-location-footer .elementor-element-8822352 > .elementor-element {
		margin: 0 !important;
		--margin-top: 0px !important;
		--margin-bottom: 0px !important;
		position: relative !important;
		top: auto !important;
	}
	.elementor-location-footer .elementor-element-f17d140 .elementor-social-icon {
		width: 38px !important;
		height: 38px !important;
		font-size: 17px !important;
		--icon-size: 17px !important;
		--icon-padding: 0 !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		background: var(--app-bg) !important;
	}
	.elementor-location-footer .elementor-element-f17d140 .elementor-social-icon svg {
		fill: var(--app-ink) !important;
		width: 17px !important;
		height: 17px !important;
	}
	/* Link groups: one card, two collapsible rows. */
	.elementor-location-footer .buldog-fgroup {
		width: 100% !important;
		--width: 100% !important;
		padding: 0 16px !important;
		margin: 0 !important;
		background: var(--app-surface) !important;
	}
	.elementor-location-footer .elementor-element-417afa2.buldog-fgroup {
		border-radius: var(--app-radius) var(--app-radius) 0 0 !important;
		border-bottom: 1px solid var(--app-line);
	}
	.elementor-location-footer .elementor-element-040bac6.buldog-fgroup {
		border-radius: 0 0 var(--app-radius) var(--app-radius) !important;
		margin-top: calc(-1 * var(--app-tile-gap)) !important;
	}
	.buldog-fgroup__btn {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 52px;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		color: var(--app-ink) !important;
		font: inherit;
		font-size: 16px;
		font-weight: 700;
		text-align: start;
		cursor: pointer;
		box-shadow: none !important;
	}
	.buldog-fgroup__btn::after {
		content: '';
		width: 8px;
		height: 8px;
		margin-inline-end: 4px;
		border: solid var(--app-muted);
		border-width: 0 0 2px 2px;
		transform: rotate(-45deg) translateY(-2px);
		transition: transform 0.2s ease;
	}
	.buldog-fgroup.is-open .buldog-fgroup__btn::after {
		transform: rotate(135deg) translateY(-2px);
	}
	.buldog-fgroup .elementor-widget-nav-menu {
		display: none !important;
		width: 100% !important;
		padding-bottom: 8px;
	}
	.buldog-fgroup.is-open .elementor-widget-nav-menu {
		display: block !important;
	}
	.buldog-fgroup .elementor-nav-menu--main .elementor-item {
		min-height: 44px !important;
		padding: 0 !important;
		font-size: 15px !important;
		color: var(--app-ink) !important;
		display: flex !important;
		align-items: center;
	}
	.buldog-fgroup .elementor-nav-menu--main .menu-item + .menu-item {
		border-top: 1px solid var(--app-line);
	}
	/* Bottom line. */
	.elementor-location-footer .elementor-element-357f6823 {
		background: transparent !important;
		padding: 20px var(--app-gutter) calc(20px + env(safe-area-inset-bottom, 0px)) !important;
		gap: 10px !important;
	}
	.elementor-location-footer .elementor-element-1615b5c,
	.elementor-location-footer .elementor-element-1615b5c p,
	.elementor-location-footer .elementor-element-1615b5c * {
		font-size: 12px !important;
		color: var(--app-muted) !important;
		text-align: center !important;
		margin: 0 !important;
	}
	.elementor-location-footer .elementor-element-e90599c img {
		max-height: 18px !important;
		width: auto !important;
	}
	/* Room for the sticky add-to-cart bar on product pages. */
	body.buldog-has-sticky-atc .elementor-location-footer .elementor-element-357f6823 {
		padding-bottom: calc(20px + var(--buldog-sticky-atc-h, 95px)) !important;
	}
}
@media (max-width: 767px) {
	/* Footer polish: no glow on the address text, no menu underline pointer, centred
	 * payment logos. */
	.elementor-location-footer .elementor-element-a117929 * {
		text-shadow: none !important;
	}
	.buldog-fgroup .elementor-item::before,
	.buldog-fgroup .elementor-item::after {
		display: none !important;
	}
	.elementor-location-footer .elementor-element-561d3364,
	.elementor-location-footer .elementor-element-e90599c,
	.elementor-location-footer .elementor-element-e90599c .elementor-widget-container {
		width: 100% !important;
		text-align: center !important;
		justify-content: center !important;
		align-items: center !important;
	}
}
@media (max-width: 767px) {
	/* One background behind the whole footer (an inner container kept the old grey). */
	.elementor-location-footer .e-con:not(.elementor-element-8822352):not(.buldog-fgroup),
	.elementor-location-footer .e-con-inner {
		background: transparent !important;
		--background-color: transparent !important;
	}
}

/* ---------- Mobile search overlay (FiboSearch) ----------
 * Results start under the 64px search bar (they started at 46px, under it), rows are
 * app list rows: 56px image, 2-line title, current price bold with the old price small
 * beside it; the per-kg line is dropped here (it is on the card and product page). */
.dgwt-wcas-overlay-mobile {
	background: var(--app-bg, #f2f2f0) !important;
}
.dgwt-wcas-overlay-mobile .dgwt-wcas-suggestions-wrapp {
	top: 64px !important;
	bottom: 0;
	max-height: none !important;
	height: auto !important;
	padding: 8px 16px 24px !important;
	background: var(--app-bg, #f2f2f0) !important;
	border: 0 !important;
	box-shadow: none !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
}
.dgwt-wcas-overlay-mobile .dgwt-wcas-suggestion {
	display: flex !important;
	align-items: center;
	gap: 12px;
	min-height: 72px;
	padding: 8px 12px !important;
	margin: 0 0 8px !important;
	background: #fff !important;
	border: 0 !important;
	border-radius: 14px;
	text-decoration: none !important;
}
.dgwt-wcas-overlay-mobile .dgwt-wcas-suggestion-selected {
	background: #fff !important;
	box-shadow: inset 0 0 0 2px #85c854;
}
.dgwt-wcas-overlay-mobile .dgwt-wcas-si {
	flex: 0 0 56px;
	width: 56px !important;
	max-width: 56px !important;
	padding: 0 !important;
	margin: 0 !important;
}
.dgwt-wcas-overlay-mobile .dgwt-wcas-si img {
	width: 56px !important;
	height: 56px !important;
	max-width: 56px !important;
	object-fit: contain;
	border: 0 !important;
	border-radius: 10px;
	padding: 0 !important;
	background: #fff;
}
.dgwt-wcas-overlay-mobile .dgwt-wcas-content-wrapp {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start !important;
	gap: 4px;
	flex: 1 1 auto;
	min-width: 0;
	padding: 0 !important;
}
.dgwt-wcas-overlay-mobile .dgwt-wcas-st {
	width: 100%;
	padding: 0 !important;
}
.dgwt-wcas-overlay-mobile .dgwt-wcas-st-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 14px !important;
	line-height: 1.35 !important;
	color: #1f1f1f !important;
	text-align: start;
}
.dgwt-wcas-overlay-mobile .dgwt-wcas-st-title strong,
.dgwt-wcas-overlay-mobile .dgwt-wcas-st-title b {
	font-weight: 700;
}
.dgwt-wcas-overlay-mobile .dgwt-wcas-meta {
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	text-align: start !important;
}
.dgwt-wcas-overlay-mobile .dgwt-wcas-sp {
	display: flex !important;
	align-items: baseline;
	gap: 6px;
	font-size: 15px !important;
	font-weight: 700;
	color: #1f1f1f !important;
}
.dgwt-wcas-overlay-mobile .dgwt-wcas-sp ins {
	text-decoration: none !important;
	order: 1;
}
.dgwt-wcas-overlay-mobile .dgwt-wcas-sp del {
	order: 2;
	font-size: 12px;
	font-weight: 400;
	color: #6b6b66 !important;
}
.dgwt-wcas-overlay-mobile .dgwt-wcas-sp .ppu {
	display: none !important;
}
/* "Show all results": the site's primary green button. */
.dgwt-wcas-overlay-mobile .dgwt-wcas-suggestion.js-dgwt-wcas-suggestion-more {
	min-height: 48px;
	justify-content: center;
	margin-top: 4px !important;
	background: #85c854 !important;
	border: 0 !important;
	border-radius: 10px;
	box-shadow: none !important;
}
.dgwt-wcas-overlay-mobile .dgwt-wcas-suggestion.js-dgwt-wcas-suggestion-more:is(:hover, :active, .dgwt-wcas-suggestion-selected) {
	background: #71c733 !important;
	box-shadow: none !important;
}
.dgwt-wcas-overlay-mobile .js-dgwt-wcas-suggestion-more,
.dgwt-wcas-overlay-mobile .js-dgwt-wcas-suggestion-more * {
	color: #fff !important;
	font-weight: 600 !important;
	font-size: 16px !important;
}
/* Before typing: recent searches + category chips (buldog-ui.js). */
.buldog-sq {
	position: absolute;
	top: 64px;
	left: 0;
	right: 0;
	bottom: 0;
	overflow-y: auto;
	padding: 20px 16px;
	direction: rtl;
}
.buldog-sq[hidden] {
	display: none !important;
}
.buldog-sq h3 {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 700;
	color: #1f1f1f;
}
.buldog-sq h3:not(:first-child) {
	margin-top: 24px;
}
.buldog-sq__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.buldog-sq__chip {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	border-radius: 999px;
	background: #fff;
	color: #1f1f1f !important;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none !important;
}
.buldog-sq__chip:active {
	background: #e6f3df;
}
@media (max-width: 767px) {
	/* Cards on phones: no SKU line (owner, 2026-10-16). Desktop keeps it. */
	.elementor-107201 .elementor-element-0193c3c,
	.e-loop-item .elementor-widget-text-editor:has(.elementor-widget-container:empty),
	.buldog-wc-loop-item--elementor .elementor-107201 .elementor-element-0193c3c {
		display: none !important;
	}
}

/* ---------- Round 3 (2026-10-16) ---------- */
@media (max-width: 767px) {
	/* Taglines: icon + text centred in each tile. */
	.elementor-94750 .elementor-element.elementor-element-42dcb19d .elementor-icon-list-items .elementor-icon-list-item {
		justify-content: center !important;
		text-align: center !important;
	}
	.elementor-94750 .elementor-element-42dcb19d .elementor-icon-list-text {
		text-align: center !important;
	}

	/* Sub-category chips: same 16px edge as the product grid, equal-size tiles. The
	 * carousel sits in the archive container's 10px padding; 6px more = 16px. */
	.subcats-wrapper .cat-slider > .owl-carousel {
		padding-inline: 6px !important;
		box-sizing: border-box;
	}
	.subcats-wrapper .cat-slider .owl-stage {
		display: flex !important;
		align-items: stretch !important;
	}
	.subcats-wrapper .cat-slider .owl-item {
		display: flex;
	}
	.subcats-wrapper .cat-slider .owl-item > .product-category,
	.subcats-wrapper .cat-slider > .owl-carousel:not(.owl-loaded) > .product-category {
		width: 100%;
		height: 100%;
		min-height: 112px;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
	}
	.subcats-wrapper .cat-slider .product-category > a {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		height: 100%;
	}

	/* Cart / checkout bottom action bar: the pay button ("מעבר לתשלום · ₪1,500.00") is
	 * full width on its own row; "continue shopping" sits under it as a text link. The
	 * bar also lined up 2px outside the card (-18px vs 16px padding). */
	.buldog-ms-checkout .buldog-ms-checkout__actions {
		margin-inline: calc(-1 * var(--app-gutter)) !important;
		padding-inline: var(--app-gutter) !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 6px !important;
	}
	.buldog-ms-checkout .buldog-ms-checkout__actions .buldog-ms-checkout__btn--primary {
		order: 1;
		flex: 0 0 auto !important;
		width: 100% !important;
		min-width: 0 !important;
		white-space: nowrap;
	}
	.buldog-ms-checkout .buldog-ms-checkout__actions .buldog-ms-checkout__btn--secondary {
		order: 2;
		flex: 0 0 auto !important;
		width: 100% !important;
		min-height: 36px !important;
		height: 36px;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		color: #4b5563 !important;
		font-size: 14px !important;
		font-weight: 500 !important;
		text-decoration: underline;
		text-underline-offset: 3px;
	}

	/* Card quantity stepper: fits any card width (buttons 40px, field takes the rest),
	 * and the site colours instead of orange. */
	.buldog-loop-atc-wrap .buldog-qty-controls {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		display: flex !important;
		box-sizing: border-box;
		height: 40px !important;
		border-radius: 10px !important;
		overflow: hidden;
	}
	.buldog-loop-atc-wrap .buldog-qty-controls .buldog-qty-btn {
		flex: 0 0 40px !important;
		width: 40px !important;
		min-width: 0 !important;
		height: 100% !important;
		color: #3d7a22 !important;
		font-size: 20px !important;
	}
	.buldog-loop-atc-wrap .buldog-qty-controls input.qty {
		flex: 1 1 auto !important;
		width: auto !important;
		min-width: 0 !important;
		height: 100% !important;
		font-size: 16px !important;
	}
	.buldog-loop-atc-wrap .buldog-loop-qty-row,
	.buldog-loop-atc-wrap .buldog-loop-qty-shell {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}
	.buldog-loop-atc-wrap .buldog-loop-atc-added svg {
		display: none !important;
	}

	/* Hero: text in the sky, pets below it — the photo is anchored to its bottom edge and
	 * the text block starts at the top. */
	.elementor-94750 .elementor-element-f1ee022 {
		background-position: center bottom !important;
		justify-content: flex-start !important;
		--justify-content: flex-start !important;
		padding-top: 22px !important;
		--min-height: 380px !important;
		min-height: 380px !important;
	}
	.elementor-94750 .elementor-element-f1ee022 > .e-con-inner {
		justify-content: flex-start !important;
	}
	.elementor-94750 .elementor-element-2737866,
	.elementor-94750 .elementor-element-36b4de1 {
		margin: 0 !important;
		flex: 0 0 auto !important;
	}
	.elementor-94750 .elementor-element-2737866 .elementor-icon-box-title {
		font-size: 30px !important;
	}
	.elementor-94750 .elementor-element-36b4de1 .elementor-icon-box-title {
		font-size: 18px !important;
	}
	/* Divider triangle = the colour of the section under it (the app background). */
	.elementor-94750 .elementor-element.elementor-element-f1ee022 > .elementor-shape-bottom .elementor-shape-fill,
	.elementor-94750 .elementor-element.elementor-element-f1ee022 > .e-con-inner > .elementor-shape-bottom .elementor-shape-fill {
		fill: var(--app-bg) !important;
	}
}

/* Elementor pages (e.g. deals 118621) already get the 16px gutter on their root container.
 * The breadcrumb's own 16px and the chip rows' 6px inset / 10px bleed were written for the
 * archive template's 10px container; here they doubled up. */
@media (max-width: 767px) {
	:is(.page-content > .elementor, body.page-template-elementor_header_footer > .elementor[data-elementor-type="wp-page"]):not(.elementor-94750) nav.woocommerce-breadcrumb.buldog-electro-breadcrumb {
		padding-inline: 0 !important;
	}
	:is(.page-content > .elementor, body.page-template-elementor_header_footer > .elementor[data-elementor-type="wp-page"]):not(.elementor-94750) .subcats-wrapper .cat-slider {
		margin-left: calc(-1 * var(--app-gutter)) !important;
		width: calc(100% + var(--app-gutter)) !important;
	}
	:is(.page-content > .elementor, body.page-template-elementor_header_footer > .elementor[data-elementor-type="wp-page"]):not(.elementor-94750) .subcats-wrapper .cat-slider > .owl-carousel {
		padding-inline: 0 !important;
	}
}

/* ---------- Side-line sweep (2026-10-16): titles and text 16px from the edge ---------- */
@media (max-width: 767px) {
	/* Theme page header (default-template pages: brands, brand category pages, privacy,
	 * accessibility, shipping, order tracking…): the title touched the screen edge. The
	 * breadcrumb in the same header already has its own 16px. */
	.site-main > .page-header.buldog-page-header .entry-title {
		padding-inline: var(--app-gutter) !important;
	}
	/* Blog archive template (79322): its root container had no side padding. */
	.elementor-79322 > .e-con {
		--padding-left: var(--app-gutter) !important;
		--padding-right: var(--app-gutter) !important;
		padding-inline: var(--app-gutter) !important;
	}
	/* Search results (107207): the title widget's own 16px doubled the container's 16px. */
	.elementor-107207 .elementor-widget-heading:has(h1) {
		padding-inline: 0 !important;
	}
	/* Blog posts (classic content): 16px margin + 10px main padding + 10px content padding
	 * put the title and text 36px in; keep just the 16px. */
	body.single-post .site-main {
		padding-inline: 0 !important;
	}
	body.single-post .site-main .buldog-page-content--classic {
		padding-inline: 0 !important;
	}
	/* My account: the account widget sat flush on the help text under it. */
	.elementor-5469 .elementor-element-53fbb4e4 {
		margin-bottom: var(--app-section) !important;
	}
}
