/*
 * PETCAKE cart and checkout focus mode.
 * Storefront's default page title stack uses most of the first desktop
 * viewport. The cart contents and checkout form should appear immediately.
 */
body.woocommerce-cart .storefront-breadcrumb,
body.woocommerce-checkout .storefront-breadcrumb,
body.woocommerce-cart .entry-header,
body.woocommerce-checkout .entry-header,
body.woocommerce-cart .storefront-primary-navigation,
body.woocommerce-checkout .storefront-primary-navigation,
body.woocommerce-cart .site-search,
body.woocommerce-checkout .site-search,
body.woocommerce-cart .site-description,
body.woocommerce-checkout .site-description {
	display: none;
}

body.woocommerce-cart .site-header,
body.woocommerce-checkout .site-header {
	padding: 14px 0;
}

body.woocommerce-cart .site-header .site-branding,
body.woocommerce-checkout .site-header .site-branding {
	margin: 0;
}

body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content {
	padding-top: 32px;
}

/* Put real products and category routes into the first shop viewport. */
body.post-type-archive-product .storefront-breadcrumb,
body.tax-product_cat .storefront-breadcrumb {
	display: none;
}

body.post-type-archive-product .site-content,
body.tax-product_cat .site-content {
	padding-top: 32px;
}

body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header {
	padding-bottom: 22px;
}

.petcake-shop-shortcuts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 28px;
}

.petcake-shop-shortcuts__label {
	grid-column: 1 / -1;
	color: #4b352d;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.petcake-shop-shortcuts a {
	display: grid;
	gap: 3px;
	min-height: 78px;
	align-content: center;
	padding: 14px 17px;
	border: 2px solid rgba(75, 53, 45, .15);
	border-radius: 18px;
	background: #fff1dc;
	color: #4b352d;
	text-decoration: none;
}

.petcake-shop-shortcuts a:hover,
.petcake-shop-shortcuts a[aria-current="page"] {
	border-color: #e77a4f;
	color: #a9513c;
}

.petcake-shop-shortcuts strong {
	font-size: 15px;
}

.petcake-shop-shortcuts span {
	color: rgba(75, 53, 45, .65);
	font-size: 12px;
}

.petcake-size-guide {
	margin: 20px 0;
	padding: 18px;
	border: 2px solid rgba(75, 53, 45, .15);
	border-radius: 18px;
	background: #fff8ef;
}

.petcake-size-guide summary {
	cursor: pointer;
	font-weight: 800;
	list-style-position: outside;
	font-size: 18px;
}

.petcake-size-guide[open] summary {
	margin-bottom: 12px;
}

.petcake-size-guide__table-wrap {
	overflow-x: auto;
}

.petcake-size-guide table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
}

.petcake-size-guide th,
.petcake-size-guide td {
	padding: 8px 7px;
	border-bottom: 1px solid rgba(75, 53, 45, .12);
	text-align: left;
	white-space: nowrap;
}

.petcake-size-guide p {
	margin: 12px 0 0;
	color: rgba(75, 53, 45, .72);
	font-size: 13px;
}

.petcake-product-notes {
	margin: 18px 0 22px;
	padding: 17px 18px;
	border: 2px solid rgba(75, 53, 45, .15);
	border-radius: 18px;
	background: #fff8ef;
	color: #4b352d;
}

.petcake-product-notes h2 {
	margin: 0 0 10px;
	font-size: 18px;
}

.petcake-product-notes ul {
	margin: 0 0 12px 19px;
}

.petcake-product-notes li + li {
	margin-top: 5px;
}

.petcake-product-notes__delivery {
	margin: 0;
	padding-top: 12px;
	border-top: 1px solid rgba(75, 53, 45, .12);
	font-size: 13px;
	line-height: 1.55;
}

.petcake-product-notes__delivery a {
	color: #a9513c;
	font-weight: 700;
	text-decoration: underline;
}

/* Scannable product cards: species/size first, delivery expectation second. */
ul.products li.product .petcake-loop-facts {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin: 9px 0 7px;
	padding: 0;
	list-style: none;
}

ul.products li.product .petcake-loop-facts li {
	margin: 0;
	padding: 4px 8px;
	border-radius: 999px;
	background: #fff1dc;
	color: #6c4a3e;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.35;
}

ul.products li.product .petcake-loop-delivery {
	min-height: 34px;
	margin: 0 0 8px;
	color: rgba(75, 53, 45, .7);
	font-size: 12px;
	line-height: 1.4;
}

/* Product-only live rate estimate. */
.petcake-delivery-estimator {
	margin: 22px 0;
	padding: 18px;
	border: 2px solid rgba(75, 53, 45, .16);
	border-radius: 18px;
	background: #fff1dc;
	color: #4b352d;
}

.petcake-delivery-estimator summary {
	cursor: pointer;
	font-size: 17px;
	font-weight: 800;
	list-style-position: outside;
}

.petcake-delivery-estimator[open] summary {
	margin-bottom: 14px;
}

.petcake-delivery-estimator__fields {
	display: grid;
	grid-template-columns: minmax(120px, .7fr) minmax(180px, 1fr);
	gap: 10px;
}

.petcake-delivery-estimator__suburb {
	grid-column: 1 / -1;
}

.petcake-delivery-estimator label,
.petcake-delivery-estimator label span {
	display: block;
}

.petcake-delivery-estimator label span {
	margin-bottom: 5px;
	font-size: 12px;
	font-weight: 800;
}

.petcake-delivery-estimator input,
.petcake-delivery-estimator select {
	width: 100%;
	min-height: 44px;
	border: 1px solid rgba(75, 53, 45, .3);
	border-radius: 10px;
	background: #fff;
}

.petcake-delivery-estimator button {
	width: 100%;
	margin-top: 10px;
	border-radius: 999px;
}

.petcake-delivery-estimator button[aria-busy="true"] {
	cursor: wait;
	opacity: .72;
}

.petcake-delivery-estimator__hint {
	margin: 10px 0 0;
	color: rgba(75, 53, 45, .7);
	font-size: 11px;
	line-height: 1.45;
}

.petcake-delivery-estimator__result {
	margin-top: 12px;
}

.petcake-delivery-estimator__result:empty {
	display: none;
}

.petcake-delivery-estimator__message {
	margin: 0;
	font-size: 13px;
	font-weight: 700;
}

.petcake-delivery-estimator__result.is-error .petcake-delivery-estimator__message {
	color: #9d3d32;
}

.petcake-delivery-estimator__result ul {
	margin: 9px 0 0;
	padding: 0;
	border-top: 1px solid rgba(75, 53, 45, .14);
	list-style: none;
}

.petcake-delivery-estimator__result li {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	margin: 0;
	padding: 8px 0;
	border-bottom: 1px solid rgba(75, 53, 45, .14);
	font-size: 13px;
}

/* One-page checkout progress, matched to the actual WooCommerce Blocks flow. */
.petcake-checkout-progress {
	max-width: 760px;
	margin: 0 auto 28px;
}

.petcake-checkout-progress ol {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}

.petcake-checkout-progress li {
	position: relative;
	display: grid;
	justify-items: center;
	gap: 6px;
	margin: 0;
	color: rgba(75, 53, 45, .5);
	font-size: 11px;
	text-align: center;
}

.petcake-checkout-progress li::before {
	position: absolute;
	top: 15px;
	left: 0;
	width: 100%;
	height: 2px;
	background: rgba(75, 53, 45, .16);
	content: "";
	z-index: 0;
}

.petcake-checkout-progress li:first-child::before {
	left: 50%;
	width: 50%;
}

.petcake-checkout-progress li:last-child::before {
	width: 50%;
}

.petcake-checkout-progress a,
.petcake-checkout-progress li > span,
.petcake-checkout-progress li > strong {
	position: relative;
	z-index: 1;
}

.petcake-checkout-progress a {
	display: grid;
	justify-items: center;
	gap: 6px;
	color: inherit;
	text-decoration: none;
}

.petcake-checkout-progress span {
	display: grid;
	width: 31px;
	height: 31px;
	place-items: center;
	border: 2px solid rgba(75, 53, 45, .2);
	border-radius: 50%;
	background: #fff8ef;
	font-weight: 800;
}

.petcake-checkout-progress .is-current,
.petcake-checkout-progress .is-complete {
	color: #4b352d;
}

.petcake-checkout-progress .is-current span,
.petcake-checkout-progress .is-complete span {
	border-color: #e77a4f;
	background: #e77a4f;
	color: #fff;
}

/* Richer homepage discovery cards in the approved staging homepage. */
.pc-category-shortcuts .pc-category-card {
	grid-template-columns: 72px 1fr;
	min-height: 100px;
	padding: 10px;
	align-items: center;
}

.pc-category-shortcuts .pc-category-card img {
	width: 72px;
	height: 72px;
	border-radius: 13px;
	object-fit: cover;
}

.pc-category-shortcuts .pc-category-shortcut-copy {
	display: grid;
	gap: 3px;
	padding: 0 5px;
}

.pc-category-shortcuts .pc-category-shortcut-copy small {
	color: rgba(75, 53, 45, .65);
	font-size: 12px;
}

.pc-product-card .pc-product-card-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	min-height: 0;
	margin: 10px 7px;
	padding: 0;
	list-style: none;
}

.pc-product-card .pc-product-card-facts li {
	margin: 0;
	padding: 4px 8px;
	border-radius: 999px;
	background: #fff1dc;
	color: #6c4a3e;
	font-size: 11px;
	font-weight: 800;
}

.pc-product-card .pc-product-card-delivery {
	min-height: 0;
	margin-top: 7px;
	font-size: 12px;
}

.pc-product-card .pc-product-card-link {
	display: inline-block;
	margin: 12px 7px 0;
	color: #a9513c;
	font-size: 13px;
	font-weight: 800;
	text-decoration: underline;
}

/* Editorial hub stays a staging draft until the underlying guides are ready. */
.pc-guides .pc-guides-intro {
	max-width: 760px;
	margin: 0 auto 36px;
	text-align: center;
}

.pc-guides .pc-guides-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.pc-guides .pc-guide-collection {
	padding: clamp(24px, 4vw, 42px);
	border: 2px solid rgba(75, 53, 45, .16);
	border-radius: 28px;
	background: #fff8ef;
}

.pc-guides .pc-guide-collection:nth-child(2) {
	background: #eef3e6;
}

.pc-guides .pc-guide-list {
	display: grid;
	gap: 10px;
	margin: 20px 0 0;
}

.pc-guides .pc-guide-list article {
	padding: 15px 16px;
	border-radius: 15px;
	background: rgba(255, 255, 255, .72);
}

.pc-guides .pc-guide-list h3,
.pc-guides .pc-guide-list p {
	margin: 0;
}

.pc-guides .pc-guide-list h3 {
	font-size: 17px;
}

.pc-guides .pc-guide-list p {
	margin-top: 5px;
	color: rgba(75, 53, 45, .68);
	font-size: 12px;
}

@media (max-width: 620px) {
	body.woocommerce-cart .site-header,
	body.woocommerce-checkout .site-header {
		padding: 10px 0;
	}

	body.woocommerce-cart .site-content,
	body.woocommerce-checkout .site-content {
		padding-top: 20px;
	}

	.petcake-shop-shortcuts {
		display: flex;
		gap: 10px;
		overflow-x: auto;
		padding-bottom: 7px;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
	}

	.petcake-shop-shortcuts__label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.petcake-shop-shortcuts a {
		flex: 0 0 min(76vw, 260px);
		min-height: 66px;
		padding: 11px 14px;
		scroll-snap-align: start;
	}

	.petcake-product-notes,
	.petcake-size-guide,
	.petcake-delivery-estimator {
		padding: 15px;
	}

	.petcake-delivery-estimator__fields,
	.pc-guides .pc-guides-grid {
		grid-template-columns: 1fr;
	}

	.petcake-checkout-progress {
		margin-bottom: 20px;
	}

	.petcake-checkout-progress li {
		font-size: 9px;
	}

	.petcake-checkout-progress strong {
		max-width: 90px;
		line-height: 1.25;
	}

	.pc-category-shortcuts .pc-category-card {
		flex: 0 0 min(84vw, 310px);
		grid-template-columns: 62px 1fr;
	}

	.pc-category-shortcuts .pc-category-card img {
		width: 62px;
		height: 62px;
	}

	.home .pc-announcement,
	.page-id-132 .pc-announcement {
		min-height: 0;
		padding: 7px 14px;
		font-size: 9px;
		line-height: 1.35;
	}

	.home .pc-announcement span,
	.page-id-132 .pc-announcement span {
		display: none;
	}

	.home .pc-hero-copy,
	.page-id-132 .pc-hero-copy {
		padding: 38px 20px 28px;
	}

	.home .pc-hero h1,
	.page-id-132 .pc-hero h1 {
		font-size: clamp(38px, 12vw, 52px);
		line-height: .96;
	}

	.home .pc-hero .pc-kicker,
	.page-id-132 .pc-hero .pc-kicker {
		margin-bottom: 12px !important;
	}

	.home .pc-lead,
	.page-id-132 .pc-lead {
		margin-top: 13px;
		font-size: 16px;
		line-height: 1.5;
	}

	.home .pc-hero .pc-actions,
	.page-id-132 .pc-hero .pc-actions {
		gap: 10px;
		margin-top: 22px;
	}

	.home .pc-hero .pc-button,
	.page-id-132 .pc-hero .pc-button {
		min-height: 48px;
		padding: 0 18px;
	}

	.home .pc-availability,
	.page-id-132 .pc-availability {
		margin-top: 18px !important;
	}

	.home .pc-ticks,
	.page-id-132 .pc-ticks {
		gap: 8px 14px;
		margin-top: 18px;
	}

	.home .pc-playground,
	.page-id-132 .pc-playground {
		min-height: 300px;
	}
}

/* One calm, readable homepage announcement at a time. */
.petcake-top-ticker {
	--petcake-ticker-ink: #fffaf2;
	position: relative;
	z-index: 70;
	display: flex;
	min-height: 38px;
	align-items: center;
	overflow: hidden;
	background: #5b3d34;
	color: var(--petcake-ticker-ink);
	font-family: "Outfit", "Avenir Next", "Trebuchet MS", sans-serif;
}

.petcake-top-ticker__viewport {
	width: 100%;
	min-height: 38px;
	overflow: hidden;
}

.petcake-top-ticker__track {
	position: relative;
	width: 100%;
	min-height: 38px;
}

.petcake-top-ticker__group {
	display: contents;
}

.petcake-top-ticker__item {
	position: absolute;
	inset: 0;
	display: inline-flex;
	align-items: baseline;
	justify-content: center;
	gap: 8px;
	padding: 9px 44px 9px 18px;
	transform: translateY(7px);
	color: var(--petcake-ticker-ink);
	font-size: 12px;
	line-height: 20px;
	text-decoration: none;
	opacity: 0;
	pointer-events: none;
	transition: opacity .28s ease, transform .28s ease;
}

.petcake-top-ticker__item.is-active {
	transform: translateY(0);
	opacity: 1;
	pointer-events: auto;
}

.petcake-top-ticker__item::after {
	position: absolute;
	right: 9px;
	content: "✦";
	color: #f4b8a4;
	font-size: 10px;
}

.petcake-top-ticker__item strong {
	color: inherit;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .055em;
	text-transform: uppercase;
}

.petcake-top-ticker__item span {
	color: rgba(255, 250, 242, .76);
}

.petcake-top-ticker__item:hover,
.petcake-top-ticker__item:focus-visible {
	color: #ffe0d0;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.petcake-top-ticker__toggle {
	position: absolute;
	right: 7px;
	top: 50%;
	width: 27px;
	height: 27px;
	padding: 0;
	transform: translateY(-50%);
	border: 1px solid rgba(255, 250, 242, .48);
	border-radius: 999px;
	background: rgba(91, 61, 52, .94);
	box-shadow: -10px 0 12px #5b3d34;
	color: #fffaf2;
	font-size: 9px;
	line-height: 25px;
	text-align: center;
}

.petcake-top-ticker__toggle:hover,
.petcake-top-ticker__toggle:focus-visible {
	border-color: #fffaf2;
	background: #7b5042;
}

/* The chase layer covers the viewport but only the pets and pause control can
 * receive pointer input, so navigation and product controls remain usable. */
.petcake-chase {
	position: fixed;
	z-index: 890;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	contain: layout paint;
}

.petcake-chase--pending {
	visibility: hidden;
}

.petcake-chase.is-contained {
	position: absolute;
	z-index: 6;
	inset: 0;
	visibility: visible;
}

.petcake-zoomie-host,
.petcake-zoomie-lane {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.petcake-zoomie-lane {
	clear: both;
	width: 100%;
	height: 126px;
	margin: 0 0 26px;
	border: 2px solid rgba(75, 53, 45, .14);
	border-radius: 24px;
	background:
		radial-gradient(circle at 18% 28%, rgba(255, 255, 255, .84) 0 15px, transparent 16px),
		radial-gradient(circle at 78% 68%, rgba(242, 192, 92, .22) 0 32px, transparent 33px),
		linear-gradient(135deg, #fff5e4, #f9ddbd);
}

.petcake-zoomie-lane--product {
	margin-top: 10px;
}

.petcake-zoomie-lane--page {
	margin: 0 0 34px;
}

.petcake-chase.is-contained .petcake-chase__pause {
	left: 8px;
	bottom: 8px;
	min-height: 30px;
	padding: 5px 9px;
	font-size: 9px;
}

.petcake-chase[hidden],
.petcake-catch-reward[hidden] {
	display: none !important;
}

.petcake-runner {
	position: absolute;
	top: 0;
	left: 0;
	width: clamp(82px, 8.2vw, 116px);
	height: auto;
	aspect-ratio: 3 / 2;
	padding: 0;
	border: 0;
	border-radius: 44%;
	background: transparent;
	box-shadow: none;
	cursor: grab;
	isolation: isolate;
	line-height: 1;
	overflow: visible;
	pointer-events: auto;
	touch-action: manipulation;
	will-change: transform;
}

.petcake-runner--near {
	width: clamp(104px, 10.4vw, 142px);
}

.petcake-runner--mid {
	width: clamp(90px, 9.1vw, 126px);
}

.petcake-runner--small {
	width: clamp(76px, 7.4vw, 102px);
}

.petcake-runner:active {
	cursor: grabbing;
}

.petcake-runner:focus-visible {
	outline: 4px solid #fff;
	outline-offset: 3px;
	filter: drop-shadow(0 0 0 4px #b9513d);
}

.petcake-runner__sprite {
	--petcake-facing: 1;
	--petcake-pop: 1;
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	transform: scaleX(var(--petcake-facing)) scale(var(--petcake-pop));
	transform-origin: center;
	filter: drop-shadow(0 8px 7px rgba(75, 53, 45, .18));
	animation: petcake-runner-bob var(--petcake-dash-speed, .24s) cubic-bezier(.35, 0, .65, 1) infinite alternate;
	transition: filter .16s ease, transform .16s ease;
}

.petcake-runner__sprite::before {
	position: absolute;
	z-index: 0;
	top: 54%;
	left: 2%;
	width: 25%;
	height: 4px;
	transform: translateX(-42%);
	border-radius: 999px;
	background: linear-gradient(90deg, transparent, rgba(185, 81, 61, .55));
	box-shadow: 7px -12px 0 -1px rgba(217, 137, 98, .38), 3px 13px 0 -1px rgba(217, 137, 98, .32);
	content: "";
	animation: petcake-runner-trail .24s ease-in-out infinite alternate;
}

.petcake-runner--cat .petcake-runner__sprite {
	animation-delay: -.15s;
}

.petcake-runner__sprite img {
	display: block;
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	pointer-events: none;
	user-select: none;
}

.petcake-runner:hover .petcake-runner__sprite,
.petcake-runner:focus-visible .petcake-runner__sprite {
	--petcake-pop: 1.08;
	filter: drop-shadow(0 10px 9px rgba(75, 53, 45, .26));
}

/* CSS paths keep the chase alive in restricted or older browsers. Modern
 * browsers receive less repetitive random paths from the small script. */
.petcake-chase:not(.is-scripted) [data-petcake-group="a"] {
	animation: petcake-pack-roam-a 5.4s linear infinite;
}

.petcake-chase:not(.is-scripted) [data-petcake-group="b"] {
	animation: petcake-pack-roam-b 5s linear infinite;
}

.petcake-chase:not(.is-scripted) [data-petcake-runner="dog-1"],
.petcake-chase:not(.is-scripted) [data-petcake-runner="dog-3"] {
	animation-delay: .22s;
}

.petcake-chase:not(.is-scripted) [data-petcake-runner="dog-2"] {
	animation-delay: .44s;
}

.petcake-chase:not(.is-scripted).is-paused .petcake-runner,
.petcake-chase:not(.is-scripted) .petcake-runner:hover,
.petcake-chase:not(.is-scripted) .petcake-runner:focus-visible {
	animation-play-state: paused;
}

@keyframes petcake-pack-roam-a {
	0% { transform: translate3d(-120px, 18vh, 0) rotate(2deg); }
	18% { transform: translate3d(24vw, 67vh, 0) rotate(-3deg); }
	39% { transform: translate3d(64vw, 28vh, 0) rotate(2deg); }
	58% { transform: translate3d(calc(100vw - 88px), 72vh, 0) rotate(-2deg); }
	76% { transform: translate3d(52vw, 47vh, 0) rotate(3deg); }
	100% { transform: translate3d(-120px, 18vh, 0) rotate(2deg); }
}

@keyframes petcake-pack-roam-b {
	0% { transform: translate3d(calc(100vw + 30px), 62vh, 0) rotate(-2deg); }
	21% { transform: translate3d(68vw, 22vh, 0) rotate(3deg); }
	43% { transform: translate3d(31vw, 74vh, 0) rotate(-3deg); }
	61% { transform: translate3d(-100px, 38vh, 0) rotate(2deg); }
	79% { transform: translate3d(38vw, 16vh, 0) rotate(-2deg); }
	100% { transform: translate3d(calc(100vw + 30px), 62vh, 0) rotate(-2deg); }
}

@keyframes petcake-runner-bob {
	from { translate: 0 -5px; rotate: -2.4deg; }
	to { translate: 0 4px; rotate: 2.4deg; }
}

@keyframes petcake-runner-trail {
	from { opacity: .28; scale: .72 1; }
	to { opacity: .72; scale: 1 1; }
}

.petcake-chase__pause {
	position: absolute;
	left: 16px;
	bottom: 16px;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 38px;
	padding: 8px 13px;
	border: 1px solid rgba(75, 53, 45, .2);
	border-radius: 999px;
	background: rgba(255, 248, 239, .94);
	box-shadow: 0 8px 22px rgba(75, 53, 45, .13);
	color: #4b352d;
	font-size: 12px;
	font-weight: 800;
	pointer-events: auto;
}

.petcake-chase__pause:hover,
.petcake-chase__pause:focus-visible {
	background: #fff;
	color: #a9513c;
}

.petcake-catch-reward {
	position: fixed;
	z-index: 920;
	right: 20px;
	bottom: 20px;
	width: min(355px, calc(100vw - 40px));
	padding: 16px;
	border: 2px solid rgba(75, 53, 45, .16);
	border-radius: 24px;
	background: rgba(255, 248, 239, .98);
	box-shadow: 0 20px 55px rgba(75, 53, 45, .2);
	color: #4b352d;
	font-family: "Outfit", "Avenir Next", "Trebuchet MS", sans-serif;
}

.petcake-catch-reward__topline {
	display: grid;
	grid-template-columns: 1fr auto auto;
	align-items: center;
	gap: 10px;
}

.petcake-catch-reward__eyebrow {
	color: #a9513c;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.petcake-catch-reward__timer {
	min-width: 61px;
	padding: 5px 9px;
	border-radius: 999px;
	background: #5b3d34;
	color: #fffaf2;
	font-variant-numeric: tabular-nums;
	font-size: 14px;
	font-weight: 900;
	text-align: center;
}

.petcake-catch-reward__minimise {
	width: 29px;
	height: 29px;
	padding: 0;
	border: 1px solid rgba(75, 53, 45, .2);
	border-radius: 50%;
	background: transparent;
	color: #4b352d;
	font-size: 20px;
	line-height: 25px;
}

.petcake-catch-reward__details {
	padding-top: 12px;
}

.petcake-catch-reward__details > strong {
	display: block;
	margin-bottom: 4px;
	font-family: "Outfit", "Avenir Next", "Trebuchet MS", sans-serif;
	font-size: 24px;
	font-weight: 900;
	letter-spacing: -.02em;
}

.petcake-catch-reward__details p {
	margin: 0 0 11px;
	font-size: 13px;
	line-height: 1.45;
}

.petcake-catch-reward__progress {
	height: 6px;
	overflow: hidden;
	border-radius: 999px;
	background: #ead9cb;
}

.petcake-catch-reward__progress span {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #e77a4f, #cb5263);
	transition: width 1s linear;
}

.petcake-catch-reward__actions {
	display: flex;
	align-items: center;
	gap: 13px;
	margin-top: 12px;
}

.petcake-catch-reward__actions .button {
	min-height: 38px;
	padding: 8px 15px;
	border-radius: 999px;
	background: #a9513c;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
}

.petcake-catch-reward__actions > a:not(.button) {
	color: #70463a;
	font-size: 12px;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.petcake-catch-reward small {
	display: block;
	margin-top: 10px;
	color: rgba(75, 53, 45, .69);
	font-size: 10px;
	line-height: 1.4;
}

.petcake-catch-reward.is-minimised {
	width: 245px;
	padding: 11px 12px;
}

.petcake-catch-reward.is-minimised .petcake-catch-reward__details {
	display: none;
}

@media (max-width: 620px) {
	.petcake-top-ticker {
		min-height: 34px;
	}

	.petcake-top-ticker__item {
		gap: 6px;
		padding-top: 7px;
		padding-bottom: 7px;
		font-size: 10px;
		line-height: 20px;
	}

	.petcake-top-ticker__item strong {
		font-size: 10px;
	}

	.petcake-runner {
		width: 66px;
	}

	.petcake-runner--near {
		width: 78px;
	}

	.petcake-runner--mid {
		width: 71px;
	}

	.petcake-runner--small {
		width: 62px;
	}

	.petcake-chase__pause {
		left: 10px;
		bottom: calc(74px + env(safe-area-inset-bottom, 0px));
		min-height: 34px;
		padding: 6px 10px;
		font-size: 10px;
	}

	.petcake-catch-reward {
		right: 10px;
		bottom: calc(74px + env(safe-area-inset-bottom, 0px));
		width: min(355px, calc(100vw - 20px));
		padding: 13px;
		border-radius: 20px;
	}

	.petcake-catch-reward__details > strong {
		font-size: 21px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.petcake-top-ticker__track,
	.petcake-chase:not(.is-scripted) .petcake-runner,
	.petcake-runner__sprite,
	.petcake-runner__sprite::before,
	.petcake-catch-reward__progress span {
		animation: none !important;
		transition: none !important;
	}

	.petcake-runner--reduced-extra {
		display: none !important;
	}

	.petcake-top-ticker__group[aria-hidden="true"],
	.petcake-top-ticker__toggle,
	.petcake-chase__pause {
		display: none;
	}

	.petcake-top-ticker__viewport {
		overflow-x: auto;
	}

	.petcake-runner--dog {
		left: 16px;
		top: auto;
		bottom: 18px;
		transform: none !important;
	}

	.petcake-runner--cat {
		left: 104px;
		top: auto;
		bottom: 18px;
		transform: none !important;
	}

	[data-petcake-runner="cat-2"] {
		left: 192px;
	}
}

/* 1.1.8 conversion pass: one announcement, a shorter home journey and a
 * protected play area that never sits above headings or purchase controls. */
.home .pc-announcement,
.page-id-132 .pc-announcement,
.home .pc-zoomies,
.page-id-132 .pc-zoomies,
.home .pc-chase,
.page-id-132 .pc-chase {
	display: none !important;
}

.home .site-header,
.page-id-132 .site-header {
	padding-top: 18px;
}

.home .site-header .site-branding,
.page-id-132 .site-header .site-branding {
	margin-bottom: 14px;
}

.home .pc-hero,
.page-id-132 .pc-hero {
	grid-template-columns: minmax(0, 1.05fr) minmax(430px, .95fr);
	min-height: 600px;
}

.home .pc-hero-copy,
.page-id-132 .pc-hero-copy {
	padding: clamp(54px, 6vw, 82px) clamp(28px, 5.2vw, 76px);
}

.home .pc-hero h1,
.page-id-132 .pc-hero h1 {
	font-size: clamp(46px, 5.45vw, 76px);
	line-height: .96;
}

.home .pc-hero .pc-actions,
.page-id-132 .pc-hero .pc-actions {
	margin-top: 24px;
}

.home .pc-ticks,
.page-id-132 .pc-ticks {
	margin-top: 22px;
}

.home .pc-playground,
.page-id-132 .pc-playground {
	min-height: 600px;
}

.home .pc-section,
.page-id-132 .pc-section {
	padding-top: clamp(46px, 5.4vw, 76px);
	padding-bottom: clamp(46px, 5.4vw, 76px);
}

.home .pc-rewards-section > div,
.page-id-132 .pc-rewards-section > div {
	padding: clamp(30px, 4vw, 52px);
}

.petcake-buy-box-anchor {
	display: block;
	height: 0;
	scroll-margin-top: 18px;
}

.petcake-mobile-buybar {
	display: none;
}

@media (max-width: 980px) {
	.home .pc-hero,
	.page-id-132 .pc-hero {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 620px) {
	.petcake-top-ticker,
	.petcake-top-ticker__viewport,
	.petcake-top-ticker__track {
		min-height: 44px;
	}

	.petcake-top-ticker__item {
		flex-direction: column;
		align-items: center;
		gap: 0;
		padding: 5px 43px 5px 12px;
		font-size: 9.5px;
		line-height: 1.25;
		text-align: center;
	}

	.petcake-top-ticker__item strong {
		font-size: 10.5px;
	}

	.petcake-top-ticker__item span {
		display: block;
	}

	.petcake-top-ticker__item::after {
		display: none;
	}

	.home .site-header,
	.page-id-132 .site-header {
		padding-top: 12px;
	}

	.home .site-header .site-branding,
	.page-id-132 .site-header .site-branding {
		margin-bottom: 10px;
	}

	.home .pc-hero-copy,
	.page-id-132 .pc-hero-copy {
		padding: 32px 20px 26px;
	}

	.home .pc-hero h1,
	.page-id-132 .pc-hero h1 {
		font-size: clamp(38px, 11.5vw, 46px);
		line-height: 1;
	}

	.home .pc-lead,
	.page-id-132 .pc-lead {
		font-size: 15px;
		line-height: 1.45;
	}

	.home .pc-hero .pc-actions,
	.page-id-132 .pc-hero .pc-actions {
		margin-top: 17px;
	}

	.home .pc-availability,
	.page-id-132 .pc-availability,
	.home .pc-ticks,
	.page-id-132 .pc-ticks {
		margin-top: 14px !important;
	}

	.home .pc-playground,
	.page-id-132 .pc-playground {
		min-height: 260px;
	}

	.home .pc-section,
	.page-id-132 .pc-section {
		padding: 42px 20px;
	}

	.petcake-zoomie-lane {
		height: 112px;
		margin-bottom: 20px;
		border-radius: 19px;
	}

	.petcake-chase.is-contained .petcake-chase__pause {
		bottom: 7px;
	}

	body.single-product .storefront-breadcrumb {
		margin: 0;
		padding: 12px 0 14px;
		font-size: 12px;
		line-height: 1.45;
	}

	body.single-product .site-content {
		padding-top: 16px;
	}

	body.single-product div.product .woocommerce-product-gallery {
		margin-bottom: 18px;
	}

	body.single-product div.product .summary {
		margin-bottom: 0;
	}

	body.single-product .product_title {
		margin-bottom: 10px;
		font-size: clamp(32px, 9.5vw, 40px);
		line-height: 1.05;
	}

	body.single-product .summary .price {
		margin-bottom: 11px;
		font-size: 22px;
	}

	body.single-product .woocommerce-product-details__short-description {
		margin-bottom: 14px;
		font-size: 15px;
		line-height: 1.5;
	}

	body.single-product form.cart {
		margin: 14px 0 18px;
		padding: 16px;
		border: 2px solid rgba(75, 53, 45, .15);
		border-radius: 20px;
		background: #fff8ef;
	}

	body.single-product form.cart table.variations {
		margin-bottom: 12px;
	}

	body.single-product .petcake-product-notes,
	body.single-product .petcake-size-guide,
	body.single-product .petcake-delivery-estimator {
		margin: 16px 0;
	}

	body.single-product .storefront-handheld-footer-bar {
		display: none;
	}

	body.single-product {
		padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
	}

	.petcake-mobile-buybar {
		position: fixed;
		z-index: 910;
		right: 0;
		bottom: 0;
		left: 0;
		display: flex;
		min-height: 68px;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 9px 14px calc(9px + env(safe-area-inset-bottom, 0px));
		border-top: 1px solid rgba(75, 53, 45, .18);
		background: rgba(255, 253, 247, .97);
		box-shadow: 0 -8px 24px rgba(75, 53, 45, .12);
		backdrop-filter: blur(12px);
	}

	.petcake-mobile-buybar__summary {
		display: grid;
		gap: 1px;
		min-width: 0;
		color: #4b352d;
	}

	.petcake-mobile-buybar__summary span {
		font-size: 10px;
		font-weight: 800;
		letter-spacing: .04em;
		text-transform: uppercase;
	}

	.petcake-mobile-buybar__summary strong,
	.petcake-mobile-buybar__summary .price {
		margin: 0;
		font-size: 17px;
		line-height: 1.2;
	}

	.petcake-mobile-buybar .button {
		min-height: 45px;
		margin: 0;
		padding: 10px 18px;
		white-space: nowrap;
	}
}

@media (prefers-reduced-motion: reduce) {
	.petcake-top-ticker__item {
		transition: none;
	}
}
