/**
 * Star-Box responsive design layer.
 * Loaded late; selectors remain deliberately low-specificity wherever possible.
 */
:root {
	--sb-font-xs: clamp(.75rem, .73rem + .08vw, .8rem);
	--sb-font-sm: clamp(.875rem, .84rem + .14vw, .95rem);
	--sb-font-base: clamp(1rem, .96rem + .16vw, 1.08rem);
	--sb-font-md: clamp(1.08rem, 1rem + .28vw, 1.22rem);
	--sb-font-lg: clamp(1.2rem, 1.08rem + .46vw, 1.45rem);
	--sb-font-xl: clamp(1.45rem, 1.25rem + .78vw, 1.9rem);
	--sb-font-2xl: clamp(1.85rem, 1.5rem + 1.35vw, 2.65rem);
	--sb-font-3xl: clamp(2.2rem, 1.7rem + 2vw, 3.4rem);
	--sb-space-xs: clamp(.35rem, .31rem + .15vw, .45rem);
	--sb-space-sm: clamp(.65rem, .57rem + .3vw, .85rem);
	--sb-space-md: clamp(1rem, .85rem + .55vw, 1.35rem);
	--sb-space-lg: clamp(1.5rem, 1.2rem + 1vw, 2.15rem);
	--sb-space-xl: clamp(2.15rem, 1.65rem + 1.8vw, 3.35rem);
	--sb-space-2xl: clamp(3rem, 2.2rem + 3vw, 5rem);
	--sb-content: 1180px;
	--sb-wide: 1400px;
	--sb-page-gutter: clamp(1rem, .6rem + 1.5vw, 2rem);
	--sb-card-radius: clamp(.75rem, .65rem + .35vw, 1rem);
	--sb-control-height: 44px;
	--sb-grid-gap: clamp(.75rem, .55rem + .8vw, 1.35rem);
	--sb-section-space: clamp(2.5rem, 1.6rem + 3.5vw, 5.5rem);
	--sb-product-card-min: 13.5rem;
	--sb-color-dark: #432b23;
	--sb-color-accent: #cf927c;
	--sb-color-peach: #f3d6ca;
}

:where(html) {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

:where(body) {
	font-size: var(--sb-font-base);
	line-height: 1.6;
}

:where(h1, h2, h3, h4, h5, h6, p, li, label, button) {
	overflow-wrap: break-word;
}

:where(h1) { font-size: var(--sb-font-3xl); line-height: 1.08; }
:where(h2) { font-size: var(--sb-font-2xl); line-height: 1.14; }
:where(h3) { font-size: var(--sb-font-xl); line-height: 1.2; }
:where(h4) { font-size: var(--sb-font-lg); line-height: 1.25; }
:where(h5) { font-size: var(--sb-font-md); line-height: 1.3; }
:where(h6) { font-size: var(--sb-font-base); line-height: 1.35; }

:where(.sb-container) {
	box-sizing: border-box;
	width: min(calc(100% - (2 * var(--sb-page-gutter))), var(--sb-wide));
	margin-inline: auto;
}

:where(.wp-site-blocks, main, .entry-content) {
	min-width: 0;
}

:where(.wp-site-blocks) > :where(.alignwide) {
	max-width: min(var(--sb-wide), calc(100% - (2 * var(--sb-page-gutter))));
	margin-inline: auto;
}

:where(img:not(.emoji):not(.custom-logo), video, iframe, svg) {
	max-width: 100%;
}

:where(img:not([width])) {
	height: auto;
}

/* Controls inherit the existing palette while becoming consistently usable. */
:where(button, .button, .wp-element-button, input[type="button"], input[type="submit"], input[type="reset"]) {
	box-sizing: border-box;
	min-height: var(--sb-control-height);
	max-width: 100%;
	padding-block: max(.65em, calc((var(--sb-control-height) - 1.4em) / 2));
	font-size: var(--sb-font-sm);
	line-height: 1.35;
	white-space: normal;
}

:where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
	box-sizing: border-box;
	max-width: 100%;
	min-height: var(--sb-control-height);
	font: inherit;
}

:where(textarea) { min-height: 7rem; resize: vertical; }
:where(:focus-visible) { outline: 2px solid currentColor; outline-offset: 3px; }

/* Gutenberg: preserve intentional layouts, remove brittle fixed sizing. */
:where(.wp-block-group, .wp-block-columns, .wp-block-column, .wp-block-cover, .wp-block-gallery, .wp-block-query) {
	box-sizing: border-box;
	min-width: 0;
}

:where(.wp-block-columns) { gap: var(--sb-grid-gap); }
:where(.wp-block-buttons) { gap: var(--sb-space-sm); }
:where(.wp-block-button, .wp-block-button__link) { max-width: 100%; }
:where(.wp-block-cover) { min-height: min(65vh, 46rem); }
:where(.wp-block-spacer) { max-height: var(--sb-section-space); }
:where(.wp-block-image img, .wp-block-gallery img) { height: auto; }

/* Header corrections complement the existing Star-Box header layer. */
:where(header.wp-block-template-part) { padding-inline: var(--sb-page-gutter); }
:where(.starbox-floating-header) { max-width: var(--sb-content); }
:where(.starbox-header-row > *) { min-width: 0; }
:where(.starbox-header-row .wp-block-navigation__responsive-container-open,
	.starbox-header-row .wp-block-woocommerce-customer-account a,
	.starbox-header-row .wc-block-mini-cart__button) {
	min-width: var(--sb-control-height);
	min-height: var(--sb-control-height);
}

:where(.starbox-header-row .wp-block-site-logo img) {
	width: clamp(3.25rem, 4.8vw, 7rem);
	height: auto;
	max-height: 4.5rem;
}

/* WooCommerce classic and block typography. */
:where(.woocommerce, .wc-block-components-root) {
	--wp--preset--font-size--small: var(--sb-font-sm);
	--wp--preset--font-size--medium: var(--sb-font-md);
	min-width: 0;
}

:where(.woocommerce-breadcrumb, .wc-block-breadcrumbs, .wc-block-components-product-metadata) { font-size: var(--sb-font-sm); }

/* Single-product navigation replaces the breadcrumb without affecting archives. */
.single-product .starbox-product-back {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--sb-content);
	margin: 0 auto var(--sb-space-lg);
	padding-inline: var(--sb-page-gutter);
	overflow-wrap: break-word;
}

.single-product .starbox-product-back__link {
	display: inline-flex;
	max-width: 100%;
	align-items: center;
	gap: .45rem;
	padding: .35rem .15rem;
	color: var(--sb-color-dark, #432b23);
	font-size: var(--sb-font-sm);
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	text-underline-offset: .2em;
}

.single-product .starbox-product-back__arrow {
	flex: 0 0 auto;
	color: var(--sb-color-accent, #cf927c);
	transition: transform .18s ease;
}

.single-product .starbox-product-back__link:hover {
	color: var(--sb-color-accent, #cf927c);
	text-decoration: underline;
}

.single-product .starbox-product-back__link:focus-visible {
	color: var(--sb-color-accent, #cf927c);
	background: var(--sb-color-peach, #f3d6ca);
	border-radius: 4px;
}

@media (hover: hover) {
	.single-product .starbox-product-back__link:hover .starbox-product-back__arrow { transform: translateX(-.18rem); }
}
:where(.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.wc-block-components-product-name,
	.wc-block-grid__product-title,
	.wc-block-components-product-name a,
	.wp-block-post-title) {
	font-size: var(--sb-font-md);
	line-height: 1.3;
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: none;
	white-space: normal;
}
:where(.woocommerce div.product p.price, .woocommerce div.product span.price,
	.wc-block-components-product-price, .wc-block-grid__product-price) {
	font-size: var(--sb-font-md);
	line-height: 1.3;
}

:where(.woocommerce-notices-wrapper, .woocommerce-message, .woocommerce-info, .woocommerce-error) {
	box-sizing: border-box;
	max-width: 100%;
	font-size: var(--sb-font-sm);
}

/*
 * Product grids respond to their own available width. A card never gets squeezed
 * below the functional minimum merely to preserve a desired column count.
 */
.wc-block-product-template,
.wc-block-grid__products,
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--sb-product-card-min)), 1fr));
	gap: var(--sb-grid-gap);
}

.starbox-shop .wc-block-product-template.starbox-products {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--sb-product-card-min)), 1fr));
}

.wc-block-product-template > li,
.wc-block-grid__product,
.woocommerce ul.products li.product {
	box-sizing: border-box;
	float: none;
	min-width: 0;
	width: auto;
	max-width: none;
	margin-inline: 0;
}

:where(.wc-block-product-template img, .wc-block-grid__product-image img, .woocommerce ul.products li.product img) {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

:where(.wc-block-product-template .wp-block-button, .wc-block-grid__product-add-to-cart, .woocommerce ul.products li.product .button) {
	margin-top: auto;
}

/* Secondary product-page link in the shop's WooCommerce Product Collection. */
.starbox-shop .starbox-product-more-info-wrap {
	display: flex;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	margin: .25rem 0 .7rem;
}

.starbox-shop .starbox-product-more-info {
	display: inline-flex;
	align-items: center;
	gap: .25rem;
	min-height: 2.25rem;
	padding: .35rem .25rem;
	color: var(--sb-color-accent, #cf927c);
	font-size: var(--sb-font-sm, .875rem);
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	text-underline-offset: .2em;
	cursor: pointer;
}

.starbox-shop .starbox-product-more-info__arrow {
	display: inline-block;
	transition: transform .18s ease;
}

.starbox-shop .starbox-product-more-info:hover {
	color: var(--sb-color-accent, #cf927c);
	text-decoration: underline;
}

.starbox-shop .starbox-product-more-info:focus-visible {
	color: var(--sb-color-dark, #432b23);
	background: var(--sb-color-peach, #f3d6ca);
	border-radius: 4px;
	outline: 2px solid var(--sb-color-accent, #cf927c);
	outline-offset: 2px;
}

@media (hover: hover) {
	.starbox-shop .starbox-product-more-info:hover .starbox-product-more-info__arrow {
		transform: translateX(.2rem);
	}
}

/* Product page, cart and checkout avoid intrinsic overflow. */
:where(.woocommerce div.product, .woocommerce div.product div.summary,
	.wc-block-components-sidebar-layout, .wc-block-components-main, .wc-block-components-sidebar) {
	box-sizing: border-box;
	min-width: 0;
}

:where(.single-product div.product) {
	container: starbox-product-detail / inline-size;
}

:where(.woocommerce div.product form.cart, .woocommerce-variation-add-to-cart) {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sb-space-sm);
}

:where(.woocommerce table.shop_table, .wc-block-cart-items, .wc-block-components-order-summary) {
	max-width: 100%;
}

:where(.woocommerce form .form-row, .woocommerce form .form-row input.input-text,
	.woocommerce form .form-row textarea, .wc-block-components-text-input,
	.wc-block-components-text-input input, .wc-block-components-combobox-control) {
	box-sizing: border-box;
	max-width: 100%;
}

/* Existing Star-Box components: presentation only. */
:where(.star-rewards-store, .star-rewards-recommendations, .star-rewards-card, .starbox-popup) { min-width: 0; }
:where(.star-rewards-grid) { gap: var(--sb-grid-gap); }
:where(.star-rewards-card h3) { font-size: var(--sb-font-md); line-height: 1.3; }
:where(.starbox-popup__heading) { font-size: var(--sb-font-2xl); line-height: 1.15; }
:where(.starbox-popup__content) { font-size: var(--sb-font-base); }
:where(.wp-block-woocommerce-product-filter-taxonomy .wc-block-product-filter-chips__item) {
	min-height: var(--sb-control-height);
	padding-inline: var(--sb-space-sm);
}

@container starbox-product-detail (max-width: 59rem) {
	.single-product .woocommerce div.product div.images,
	.single-product .woocommerce div.product div.summary {
		float: none;
		width: 100%;
		margin-inline: 0;
	}
}

@media (max-width: 781px) {
	:where(.wp-block-columns:not(.is-not-stacked-on-mobile)) { flex-wrap: wrap; }
	:where(.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column) { flex-basis: 100%; }
	:where(.wp-block-buttons, .wp-block-button, .wp-block-button__link) { width: 100%; }
	:where(.woocommerce div.product div.images, .woocommerce div.product div.summary) { float: none; width: 100%; }
	:where(.wc-block-components-sidebar-layout) { flex-direction: column; }
	:where(.wc-block-components-main, .wc-block-components-sidebar) { width: 100%; }
}

/* Container-query fallback for older browsers. */
@supports not (container-type: inline-size) {
	@media (max-width: 1024px) {
		.single-product .woocommerce div.product div.images,
		.single-product .woocommerce div.product div.summary {
			float: none;
			width: 100%;
			margin-inline: 0;
		}
	}
}

/* Main shop: keep two product cards per row on phones.
 * Scope is deliberately limited to the shop so homepage/Fee/Nox product
 * collections can keep their own responsive component rules. */
@media (max-width: 600px) {
	.starbox-shop .wc-block-product-template,
	.starbox-shop .wc-block-grid__products,
	body.woocommerce-shop .wc-block-product-template,
	body.woocommerce-shop .wc-block-grid__products,
	body.woocommerce-shop .woocommerce ul.products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: var(--sb-grid-gap) !important;
	}

	.starbox-shop .wc-block-product-template > li,
	.starbox-shop .wc-block-grid__product,
	body.woocommerce-shop .wc-block-product-template > li,
	body.woocommerce-shop .wc-block-grid__product,
	body.woocommerce-shop .woocommerce ul.products li.product {
		min-width: 0 !important;
		width: auto !important;
		max-width: none !important;
		margin-inline: 0 !important;
	}
}

@media (max-width: 479px) {
	:root { --sb-page-gutter: clamp(.75rem, 3.5vw, 1rem); --sb-grid-gap: clamp(.55rem, 2.5vw, .8rem); }
	:where(.starbox-header-row) { column-gap: 4px; }
	:where(.starbox-header-row .wp-block-site-logo img) { max-width: 46px; max-height: 46px; }
}

@media (hover: none) and (pointer: coarse) {
	:where(a, button, summary, [role="button"], input, select) { touch-action: manipulation; }
}

@media (prefers-reduced-motion: reduce) {
	:where(html) { scroll-behavior: auto; }
	:where(*, *::before, *::after) {
		scroll-behavior: auto;
		animation-duration: .01ms;
		animation-iteration-count: 1;
		transition-duration: .01ms;
	}
}

/* Star-Box V4 header
   One layout owner per breakpoint. WordPress keeps ownership of the
   navigation open/close state; this layer only controls placement and styling. */
.starbox-header-row {
	display: grid !important;
	grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr) !important;
	grid-template-rows: auto !important;
	align-items: center !important;
	column-gap: clamp(8px, 1.5vw, 20px) !important;
}

.starbox-header-row > .starbox-header-logo {
	grid-column: 1 !important;
	grid-row: 1 !important;
	min-width: 0;
	justify-self: start !important;
}

.starbox-header-row > .starbox-header-nav {
	display: flex !important;
	position: relative !important;
	top: auto !important;
	left: auto !important;
	grid-column: 2 !important;
	grid-row: 1 !important;
	width: auto !important;
	min-width: 0;
	align-items: center !important;
	justify-self: center !important;
	margin: 0 !important;
	transform: none !important;
}

.starbox-header-row > .starbox-header-actions {
	display: flex !important;
	position: relative !important;
	grid-column: 3 !important;
	grid-row: 1 !important;
	width: auto !important;
	min-width: 0;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	justify-self: end !important;
	gap: clamp(2px, .8vw, 8px) !important;
	margin: 0 !important;
}

.starbox-header-actions :where(.starbox-search-toggle, .wp-block-woocommerce-customer-account a, .wc-block-mini-cart__button),
.starbox-header-nav .wp-block-navigation__responsive-container-open {
	box-sizing: border-box;
	width: var(--sb-control-height) !important;
	height: var(--sb-control-height) !important;
	min-width: var(--sb-control-height) !important;
	min-height: var(--sb-control-height) !important;
	margin: 0 !important;
}

/* Desktop submenu interaction.
   Keep the hover path continuous between a parent item and its submenu so
   visitors can move the pointer into the submenu without first clicking. */
@media (min-width: 1121px) and (hover: hover) and (pointer: fine) {
	.starbox-header-nav .wp-block-navigation .wp-block-navigation-item.has-child {
		position: relative !important;
	}

	.starbox-header-nav .wp-block-navigation .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
		top: calc(100% - 2px) !important;
		margin-top: 0 !important;
	}

	/* Invisible hover bridge over any tiny visual gap beneath the parent link. */
	.starbox-header-nav .wp-block-navigation .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: -12px;
		height: 12px;
	}

	/* Explicit hover/focus ownership; click behaviour remains available too. */
	.starbox-header-nav .wp-block-navigation .wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container,
	.starbox-header-nav .wp-block-navigation .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container {
		visibility: visible !important;
		opacity: 1 !important;
		width: max-content !important;
		min-width: 200px !important;
		height: auto !important;
		overflow: visible !important;
	}
}

/* Desktop navigation. */
@media (min-width: 1121px) {
	.starbox-header-row .wp-block-navigation__responsive-container-open {
		display: none !important;
	}

	.starbox-header-row .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: flex !important;
		position: static !important;
	}
}

/* Tablet + mobile: logo | actions | hamburger. */
@media (max-width: 1120px) {
	.starbox-floating-header {
		min-height: 80px;
		padding: 8px clamp(12px, 2vw, 20px) !important;
	}

	.starbox-header-row {
		min-height: 64px !important;
		grid-template-columns: clamp(62px, 13vw, 96px) minmax(0, 1fr) auto !important;
		column-gap: clamp(4px, 1vw, 10px) !important;
	}

	.starbox-header-row > .starbox-header-logo {
		grid-column: 1 !important;
		width: clamp(62px, 13vw, 96px) !important;
	}

	.starbox-header-row > .starbox-header-actions {
		grid-column: 2 !important;
		justify-self: end !important;
	}

	.starbox-header-row > .starbox-header-nav {
		grid-column: 3 !important;
		justify-self: end !important;
	}

	/* Only switch which control is visible; WordPress still controls is-menu-open. */
	.starbox-header-row .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.starbox-header-row .wp-block-navigation__responsive-container-open {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 7px !important;
		color: #fff !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	/* Open menu: predictable Star-Box panel without changing Gutenberg's state logic. */
	.starbox-header-nav .wp-block-navigation__responsive-container.is-menu-open {
		display: flex !important;
		position: fixed !important;
		z-index: 100000 !important;
		inset: clamp(10px, 2vw, 20px) !important;
		box-sizing: border-box !important;
		width: auto !important;
		height: auto !important;
		max-width: none !important;
		overflow: auto !important;
		margin: 0 !important;
		padding: clamp(20px, 3vw, 32px) !important;
		color: #fff !important;
		background: #e4b5a3 !important;
		border: 0 !important;
		border-radius: 16px !important;
		box-shadow: 0 16px 48px rgba(67, 43, 35, .18) !important;
	}

	.starbox-header-row .is-menu-open .wp-block-navigation__responsive-dialog,
	.starbox-header-row .is-menu-open .wp-block-navigation__responsive-container-content {
		box-sizing: border-box !important;
		width: 100% !important;
	}

	.starbox-header-row .is-menu-open .wp-block-navigation__responsive-container-content {
		padding-top: 48px !important;
	}

	.starbox-header-row .is-menu-open .wp-block-navigation__container {
		width: 100% !important;
		flex-flow: column nowrap !important;
		align-items: stretch !important;
		gap: 4px !important;
	}

	.starbox-header-row .is-menu-open .wp-block-navigation-item {
		width: 100% !important;
		align-items: stretch !important;
	}

	.starbox-header-row .is-menu-open .wp-block-navigation-item__content {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		padding: 10px 0 !important;
		color: #fff !important;
		background: transparent !important;
		white-space: normal !important;
	}

	.starbox-header-row .wp-block-navigation__responsive-container-close {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		color: #fff !important;
		background: transparent !important;
		border: 0 !important;
	}
}

@media (max-width: 600px) {
	header.wp-block-template-part {
		padding: 10px 12px 0 !important;
	}

	.starbox-floating-header {
		min-height: 74px;
		padding: 6px 12px !important;
	}

	.starbox-header-row {
		min-height: 62px !important;
		grid-template-columns: 62px minmax(0, 1fr) 40px !important;
		column-gap: 4px !important;
	}

	.starbox-header-row > .starbox-header-logo {
		width: 62px !important;
	}

	.starbox-header-row .wp-block-site-logo img {
		width: 62px !important;
		height: 62px !important;
		max-width: 62px !important;
		max-height: 62px !important;
	}

	.starbox-header-actions :where(.starbox-search-toggle, .wp-block-woocommerce-customer-account a, .wc-block-mini-cart__button),
	.starbox-header-nav .wp-block-navigation__responsive-container-open {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		min-height: 40px !important;
	}

	.starbox-header-nav .wp-block-navigation__responsive-container.is-menu-open {
		inset: 8px !important;
		padding: 18px !important;
		border-radius: 14px !important;
	}
}

/* Star-Box Fee/Nox outer
   Mobile base stacks both dog sections at the real content width. */
body.home .entry-content,
body.front-page .entry-content { padding-inline: clamp(16px, 4.5vw, 32px); }

body.home .starbox-dog-favorites-comparison,
body.front-page .starbox-dog-favorites-comparison {
	display: grid !important;
	box-sizing: border-box;
	width: 100% !important;
	max-width: var(--sb-content) !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: clamp(28px, 5vw, 44px) !important;
	margin: clamp(44px, 8vw, 78px) auto 32px !important;
	padding: 0 !important;
}

body.home .starbox-dog-favorites-comparison > .starbox-comparison-card,
body.front-page .starbox-dog-favorites-comparison > .starbox-comparison-card {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: clamp(20px, 5vw, 30px) !important;
}

/* Fee/Nox identity block
   Dog photography is normal flow on mobile and cannot cover the heading. */
.starbox-comparison-card :is(.starbox-fee-top, .starbox-nox-top) {
	display: flex !important;
	position: static !important;
	width: 100% !important;
	min-height: 0 !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 16px !important;
}

.starbox-comparison-card :is(.starbox-fee-photo, .starbox-nox-photo) {
	display: flex !important;
	position: static !important;
	order: 1;
	width: clamp(104px, 34vw, 136px) !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 auto !important;
	transform: none !important;
}

.starbox-comparison-card :is(.starbox-fee-intro, .starbox-nox-intro) {
	position: static !important;
	order: 2;
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center;
}

.starbox-comparison-card :is(.starbox-fee-intro, .starbox-nox-intro) h2 {
	width: 100%;
	margin: 0 0 10px !important;
	font-size: clamp(1.75rem, 7.5vw, 2.15rem) !important;
	line-height: 1.12;
	word-break: normal;
	overflow-wrap: break-word;
}

.starbox-comparison-card :is(.starbox-fee-intro, .starbox-nox-intro) p { width: 100%; margin: 0 !important; font-size: 1rem; line-height: 1.45; }

/* Fee/Nox product collection
   One column on mobile; two columns only in a truly wide stacked section. */
.starbox-comparison-card .wp-block-woocommerce-product-collection {
	container: starbox-favorites-collection / inline-size;
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: clamp(22px, 5vw, 34px) 0 0 !important;
}

.starbox-comparison-card .wc-block-product-template {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 16px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Fee/Nox product card — MEDIUM mobile-first state
   Image and information share row one; CTA occupies its own full row. */
.starbox-comparison-card .wc-block-product-template > .wc-block-product {
	display: grid !important;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0;
	grid-template-columns: clamp(72px, 24cqi, 92px) minmax(0, 1fr) !important;
	grid-template-areas: "image title" "image price" "cta cta" !important;
	grid-auto-rows: auto !important;
	gap: 6px 14px !important;
	align-items: center !important;
	padding: clamp(12px, 3.5vw, 16px) !important;
}

.starbox-comparison-card .wc-block-product > .wp-block-woocommerce-product-image { grid-area: image !important; width: 100% !important; margin: 0 !important; }
.starbox-comparison-card .wc-block-product > .wp-block-post-title { grid-area: title !important; width: auto !important; min-width: 0; align-self: end; margin: 0 !important; font-size: clamp(14px, 3.8vw, 16px) !important; line-height: 1.3; word-break: normal !important; overflow-wrap: break-word; white-space: normal !important; hyphens: none !important; }
.starbox-comparison-card .wc-block-product > .wp-block-woocommerce-product-price { grid-area: price !important; width: auto !important; min-width: 0; align-self: start; margin: 0 !important; }
.starbox-comparison-card .wc-block-product > .wp-block-button { grid-area: cta !important; width: 100% !important; margin: 8px 0 0 !important; }
.starbox-comparison-card .wc-block-product > .wp-block-button .wp-block-button__link { display: flex; width: 100% !important; min-height: 44px; align-items: center; justify-content: center; padding: 9px 12px !important; font-size: clamp(13px, 3.6vw, 15px); line-height: 1.25; white-space: normal; }
.starbox-comparison-card .wc-block-product img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 1; object-fit: cover; }

/* NARROW card: below 280px the content becomes fully vertical. */
@container starbox-favorites-collection (max-width: 279px) {
	.starbox-comparison-card .wc-block-product-template > .wc-block-product { grid-template-columns: minmax(0, 1fr) !important; grid-template-areas: "image" "title" "price" "cta" !important; }
	.starbox-comparison-card .wc-block-product > .wp-block-woocommerce-product-image { width: min(96px, 42cqi) !important; justify-self: center; }
}

/* WIDE card: full-width desktop section supports image, info and natural CTA. */
@container starbox-favorites-collection (min-width: 480px) and (max-width: 619px) {
	.starbox-comparison-card .wc-block-product-template > .wc-block-product { grid-template-columns: clamp(88px, 18cqi, 112px) minmax(140px, 1fr) minmax(120px, auto) !important; grid-template-areas: "image title cta" "image price cta" !important; }
	.starbox-comparison-card .wc-block-product > .wp-block-button { width: auto !important; margin: 0 !important; }
	.starbox-comparison-card .wc-block-product > .wp-block-button .wp-block-button__link { width: auto !important; }
}

/* Wide stacked tablet section: two independently usable medium cards. */
@container starbox-favorites-collection (min-width: 620px) {
	.starbox-comparison-card .wc-block-product-template { grid-template-columns: repeat(2, minmax(260px, 1fr)) !important; }
}

/* Desktop enhancement: Fee and Nox sit side by side only above their usable minimum. */
@media (min-width: 1180px) {
	body.home .starbox-dog-favorites-comparison,
	body.front-page .starbox-dog-favorites-comparison { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.starbox-comparison-card :is(.starbox-fee-top, .starbox-nox-top) { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: center !important; }
	.starbox-comparison-card :is(.starbox-fee-intro, .starbox-nox-intro) { order: 1; text-align: left; }
	.starbox-comparison-card :is(.starbox-fee-photo, .starbox-nox-photo) { order: 2; width: 150px !important; }
}

/* Homepage hero: stack before either column becomes a narrow sidebar. */
@media (max-width: 700px) {
	body.home .hostinger-ai-hero-for-online-store-1 > .wp-block-columns,
	body.front-page .hostinger-ai-hero-for-online-store-1 > .wp-block-columns { display: flex !important; flex-direction: column !important; }
	body.home .hostinger-ai-hero-for-online-store-1 > .wp-block-columns > .wp-block-column,
	body.front-page .hostinger-ai-hero-for-online-store-1 > .wp-block-columns > .wp-block-column { width: 100% !important; flex-basis: auto !important; }
}

.starbox-responsive-debug {
	position: fixed;
	z-index: 2147483647;
	right: 8px;
	bottom: 8px;
	padding: 7px 10px;
	color: #fff;
	background: #432b23;
	border-radius: 6px;
	font: 600 12px/1.2 ui-monospace, monospace;
	pointer-events: none;
}

[data-starbox-overflow] { outline: 3px solid #d63638; outline-offset: -3px; }
