/**
 * PetMania — afinado contra captura mockup
 */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Nunito:wght@700;800;900&display=swap");

:root {
	--tp-yellow: #ffd24a;
	--tp-yellow-bright: #ffe066;
	--tp-blue-card: #7ec8f0;
	--tp-blue-card-dark: #5eb5e8;
	--tp-navy: #1b2a41;
	--tp-navy-dark: #121f33;
	--tp-pink: #fad4dc;
	--tp-coral-card: #ff9169;
	--tp-sky-card: #6eb8e8;
	--tp-orange-card: #ff9142;
	--tp-signup-bg: linear-gradient(128deg, #ffe8dc 0%, #fad4dc 48%, #f3d4e8 100%);
	--tp-signup-border: rgba(27, 42, 65, 0.08);
	--tp-white: #ffffff;
	--tp-gray-50: #f7f7f9;
	--tp-gray-100: #ececef;
	--tp-gray-400: #9aa3b2;
	--tp-gray-500: #6b7280;
	--tp-red: #e53935;
	--tp-radius-xl: 28px;
	--tp-radius-lg: 22px;
	--tp-radius-md: 16px;
	--tp-radius-pill: 999px;
	--tp-shadow-soft: 0 8px 32px rgba(27, 42, 65, 0.08);
	--tp-font-heading: "Nunito", "Poppins", system-ui, sans-serif;
	--tp-font-body: "Inter", system-ui, sans-serif;
	--tp-gutter: clamp(0.5rem, 0.625vw, 0.5rem);
	--tp-content-max: 1560px;
	--tp-container-bleed: min(100%, calc(100% - (var(--tp-gutter) * 2)));
	--tp-container: min(var(--tp-content-max), var(--tp-container-bleed));
	--tp-bg-image: url("../images/theme-bg.svg");
	--tp-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--tp-motion: 0.55s var(--tp-ease);
}

*, *::before, *::after { box-sizing: border-box; }

body.tecnopets-ui {
	font-family: var(--tp-font-body);
	color: var(--tp-navy);
	background: var(--tp-white);
	-webkit-font-smoothing: antialiased;
	position: relative;
	isolation: isolate;
}

body.tecnopets-ui::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(247, 247, 249, 0.94) 100%),
		var(--tp-bg-image) center / cover no-repeat;
}

body.tecnopets-ui h1,
body.tecnopets-ui h2,
body.tecnopets-ui h3,
body.tecnopets-ui .tp-section__title {
	font-family: var(--tp-font-heading);
	font-weight: 800;
	color: var(--tp-navy);
}

body.tecnopets-ui .site-content { padding: 0; overflow-x: hidden; max-width: 100%; }
body.tecnopets-ui .site-content .content-area,
body.tecnopets-ui .site-main,
body.tecnopets-ui .grid-container,
body.tecnopets-ui .inside-article {
	max-width: none;
	width: 100%;
}
.tecnopets-home .site-main,
.site-main.tecnopets-home,
.tp-petmania-home .site-main,
.tp-petmania-site .site-main {
	padding: 0;
	max-width: 100%;
	overflow-x: hidden;
}

/* GP separate-containers deja margin-top/bottom: 20px en .site-main (laterales ya van a 0 con .no-sidebar). */
body.tp-petmania-home.separate-containers .site-main,
body.tp-petmania-home .site-main.tecnopets-home,
body.tp-petmania-home .site-content {
	margin: 0;
	padding: 0;
}

body.tp-petmania-home .tp-hero {
	margin-top: -1px;
	padding-top: 0;
	background-color: var(--tp-hero-slide-bg, #f5b8c6);
}
body.tecnopets-ui .site-header { display: none !important; }
body.tecnopets-ui .site-footer:not(.tp-site-footer) { display: none; }

.tp-container { max-width: var(--tp-container); margin: 0 auto; width: 100%; }

/* Banners y bandas a ancho completo: solo gutter lateral, sin tope estrecho */
.tp-hero .tp-container,
.tp-trust .tp-container,
.tp-page-hero .tp-container,
.tp-utility-bar .tp-container,
.tp-pm-header__row.tp-container,
.tp-cta-band .tp-container,
.tp-stats-band .tp-container,
.tp-section--reviews > .tp-container,
.tp-section.tp-why > .tp-container,
.tp-section.tp-booking--compact > .tp-container,
.tp-blog-hero .tp-container,
.tp-blog-hero__inner.tp-container,
.tp-blog-masthead .tp-container,
.tp-blog-masthead__inner.tp-container,
.tp-hero-split > .tp-container.tp-hero-split__inner,
.tp-hero-split__inner.tp-container {
	max-width: min(1120px, calc(100% - (var(--tp-gutter, 1rem) * 2)));
}
.tp-article-hero .tp-container,
.tp-contact-page__hero-inner.tp-container {
	max-width: var(--tp-container-bleed);
}

.tp-shop-promo .tp-container,
.tp-shop-promo-slide__grid.tp-hero-split__inner {
	max-width: min(1120px, calc(100% - (var(--tp-gutter, 1rem) * 2)));
}

.tp-section { padding: 2.75rem var(--tp-gutter); }
.tp-section--cats { padding-top: 2rem; padding-bottom: 2rem; }
.tp-section--products { padding-top: 1.75rem; padding-bottom: 2.5rem; }
.tp-section--offers {
	--tp-offers-bg: #fff4e8;
	--tp-offers-gap: 1rem;
	--tp-offers-peek: 2.25rem;
	padding-top: 2.25rem;
	padding-bottom: 2.5rem;
	background:
		radial-gradient(1200px 280px at 10% 0%, rgba(255, 210, 74, 0.26), transparent 58%),
		radial-gradient(900px 240px at 94% 110%, rgba(250, 212, 220, 0.72), transparent 64%),
		linear-gradient(180deg, #fff8ee 0%, #fdeef2 48%, #fff6ea 100%);
	border-block: 1px solid rgba(27, 42, 65, 0.05);
}
.tp-section--flash {
	padding-top: 1.75rem;
	padding-bottom: 2rem;
}
.tp-section--pets {
	padding: 2.5rem clamp(0.75rem, 2vw, 1.5rem);
}
.tp-section--services { padding-bottom: 2rem; }
.tp-section--brands { padding-top: 1.5rem; padding-bottom: 2rem; }
.tp-section--tips { padding-top: 1.5rem; padding-bottom: 2rem; }
.tp-section--reviews { padding-top: 1rem; padding-bottom: 3rem; background: var(--tp-gray-50); }

/* ── Utility bar ── */
.tp-utility-bar {
	background: var(--tp-white);
	border-bottom: 1px solid var(--tp-gray-100);
	font-size: 0.6875rem;
	color: var(--tp-gray-500);
}

.tp-utility-bar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.5rem 0;
	gap: 1rem;
}

.tp-utility-bar__links {
	display: flex;
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tp-utility-bar__links a { color: inherit; text-decoration: none; }
.tp-utility-bar__links a:hover { color: var(--tp-navy); }

.tp-utility-bar__trust {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.tp-utility-bar__stars {
	color: var(--tp-navy);
	font-size: 0.6875rem;
}

.tp-utility-bar__stars strong { font-weight: 700; margin-left: 0.25rem; }

.tp-utility-bar__social {
	display: flex;
	gap: 0.65rem;
	align-items: center;
}

.tp-utility-bar__social a {
	color: var(--tp-gray-400);
	display: grid;
	place-items: center;
}

.tp-utility-bar__social a:hover { color: var(--tp-navy); }

/* ── Header ── */
.tp-pm-header {
	background: var(--tp-white);
	border-bottom: 1px solid var(--tp-gray-100);
	position: sticky;
	top: 0;
	z-index: 200;
	margin: 0;
	overflow: visible;
}

.tp-pm-header__row {
	display: grid;
	grid-template-columns: auto 1fr minmax(220px, 340px) auto;
	align-items: center;
	gap: 1.75rem;
	padding: 0.9rem 0;
	position: relative;
	overflow: visible;
}

.tp-pm-logo {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	text-decoration: none;
	color: var(--tp-navy);
	font-family: var(--tp-font-heading);
	font-weight: 900;
	font-size: 1.375rem;
	letter-spacing: -0.02em;
}

.tp-pm-nav {
	display: flex;
	gap: 1.35rem;
	justify-content: center;
	flex-wrap: wrap;
}

.tp-pm-nav a {
	text-decoration: none;
	color: var(--tp-navy);
	font-size: 0.8125rem;
	font-weight: 600;
	white-space: nowrap;
}

.tp-pm-nav a:hover { opacity: 0.7; }

.tp-pm-search {
	display: flex;
	align-items: center;
	background: var(--tp-gray-50);
	border: 1px solid var(--tp-gray-100);
	border-radius: var(--tp-radius-pill);
	padding: 0.35rem 0.5rem 0.35rem 1.1rem;
	width: 100%;
	max-width: 340px;
	justify-self: end;
}

.tp-pm-search input {
	border: none;
	background: transparent;
	flex: 1;
	font-size: 0.75rem;
	outline: none;
	min-width: 0;
	color: var(--tp-navy);
}

.tp-pm-search input::placeholder { color: var(--tp-gray-400); }

.tp-pm-search button {
	border: none;
	background: transparent;
	cursor: pointer;
	color: var(--tp-gray-400);
	display: grid;
	place-items: center;
	padding: 0.25rem;
}

.tp-pm-actions {
	display: flex;
	gap: 0.5rem;
	align-items: center;
	justify-content: flex-end;
	margin-inline-start: auto;
}

.tp-pm-menu-btn {
	display: none;
	order: 10;
	place-items: center;
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	border: 1px solid var(--tp-gray-100);
	border-radius: 12px;
	background: var(--tp-white);
	color: var(--tp-navy);
	cursor: pointer;
}

.tp-pm-menu-btn__close {
	display: none;
}

.tp-pm-menu-btn.is-open .tp-pm-menu-btn__open {
	display: none;
}

.tp-pm-menu-btn.is-open .tp-pm-menu-btn__close {
	display: block;
}

.tp-pm-action {
	width: 2.125rem;
	height: 2.125rem;
	display: grid;
	place-items: center;
	text-decoration: none;
	color: var(--tp-navy);
	border-radius: 50%;
}

.tp-pm-action:hover { background: var(--tp-gray-50); }
.tp-pm-action--cart { position: relative; }

.tp-pm-cart-count {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 1.05rem;
	height: 1.05rem;
	padding: 0 0.15rem;
	background: var(--tp-orange-card);
	color: var(--tp-white);
	font-size: 0.5625rem;
	font-weight: 800;
	border-radius: var(--tp-radius-pill);
	display: grid;
	place-items: center;
	line-height: 1;
}

/* ── Buttons ── */
.tp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.7rem 1.65rem;
	border-radius: var(--tp-radius-pill);
	font-family: var(--tp-font-heading);
	font-weight: 800;
	font-size: 0.8125rem;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: transform 0.12s, box-shadow 0.12s;
}

.tp-btn--navy { background: var(--tp-navy); color: var(--tp-white); }
.tp-btn--navy:hover { background: var(--tp-navy-dark); color: var(--tp-white); transform: translateY(-1px); }
.tp-btn--yellow { background: var(--tp-yellow); color: var(--tp-navy); }
.tp-btn--yellow:hover { background: var(--tp-yellow-bright); }
.tp-btn--flash { padding: 0.75rem 1.5rem; white-space: nowrap; }

/* ── Paginador «Ver más» ── */
.tp-pager {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	margin: 40px auto 8px;
	max-width: 420px;
	padding: 8px 8px 0;
	text-align: center;
}

.tp-pager__status {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.tp-pager__count {
	margin: 0;
	font-family: var(--tp-font-heading);
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.01em;
	color: var(--tp-navy);
}

.tp-pager__track {
	height: 6px;
	border-radius: var(--tp-radius-pill);
	background: rgba(27, 42, 65, 0.08);
	overflow: hidden;
}

.tp-pager__fill {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #ffc107 0%, var(--tp-yellow) 100%);
	transform-origin: left center;
	transition: width 280ms ease;
}

.tp-pager__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	min-width: 220px;
	padding: 12px 28px;
	border: none;
	border-radius: var(--tp-radius-pill);
	background: var(--tp-yellow);
	color: var(--tp-navy);
	font-family: var(--tp-font-heading);
	font-size: 0.9375rem;
	font-weight: 800;
	letter-spacing: -0.01em;
	text-decoration: none;
	box-shadow: 0 8px 20px rgba(255, 210, 74, 0.35);
	transition: background 150ms ease, transform 120ms ease, box-shadow 150ms ease;
}

.tp-pager__btn:hover {
	background: var(--tp-yellow-bright);
	color: var(--tp-navy);
	transform: translateY(-1px);
	box-shadow: 0 12px 24px rgba(255, 210, 74, 0.4);
}

.tp-pager__btn:active {
	transform: scale(0.98);
	box-shadow: 0 4px 12px rgba(255, 210, 74, 0.28);
}

.tp-pager__btn:focus-visible {
	outline: 2px solid var(--tp-navy);
	outline-offset: 3px;
}

.tp-pager__btn.is-loading {
	pointer-events: none;
	cursor: wait;
	opacity: 0.85;
}

.tp-pager__btn-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--tp-navy);
	color: var(--tp-yellow);
}

.tp-pager__btn-text {
	line-height: 1;
}

.tp-pager__spinner {
	width: 18px;
	height: 18px;
	border: 2px solid rgba(27, 42, 65, 0.2);
	border-top-color: var(--tp-navy);
	border-radius: 50%;
	animation: tp-pager-spin 0.7s linear infinite;
}

.tp-pager__hint,
.tp-pager__done,
.tp-pager__msg {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.4;
	color: var(--tp-gray-500);
}

.tp-pager__done {
	font-family: var(--tp-font-heading);
	font-weight: 800;
	color: var(--tp-navy);
}

.tp-pager__msg.is-error {
	color: var(--tp-red);
}

.tp-pager__seo {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.tp-pager-in {
	animation: tp-pager-in 280ms ease both;
}

@keyframes tp-pager-spin {
	to { transform: rotate(360deg); }
}

@keyframes tp-pager-in {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tp-pager__fill,
	.tp-pager__btn {
		transition: none;
	}
	.tp-pager__spinner,
	.tp-pager-in {
		animation: none;
	}
}

/* ── Home motion 2026: vitrina ── */
[data-reveal] {
	opacity: 0;
}

[data-reveal].is-in {
	opacity: 1;
	transition: opacity var(--tp-motion);
	transition-delay: calc(var(--i, 0) * 55ms);
	animation: tp-reveal-slide 0.55s var(--tp-ease);
	animation-delay: calc(var(--i, 0) * 55ms);
}

@keyframes tp-reveal-slide {
	from { transform: translateY(18px); }
	to { transform: translateY(0); }
}

[data-parallax] {
	--tp-py: 0px;
	will-change: transform;
	backface-visibility: hidden;
}

.tp-cat-card__img[data-parallax] img,
.tp-pet-card__media[data-parallax] img,
.tp-tips__img img[data-parallax] {
	position: absolute;
	left: -12%;
	top: -12%;
	width: 124%;
	height: 124%;
	max-width: none;
}

.tp-storefront__media {
	position: absolute;
	inset: -12%;
	display: block;
	width: 124%;
	height: 124%;
}

.tp-storefront__media img {
	width: 100%;
	height: 100%;
}

.tp-tips__img {
	position: relative;
}

@keyframes tp-vitrina-float-back {
	0%, 100% { transform: translateY(18px) scale(0.84) rotate(-5deg); }
	50% { transform: translateY(4px) scale(0.84) rotate(-3.5deg); }
}

@keyframes tp-vitrina-float-front {
	0%, 100% { transform: rotate(3deg) translateY(0); }
	50% { transform: rotate(4.5deg) translateY(-12px); }
}

@keyframes tp-flash-float-back {
	0%, 100% { transform: rotate(-8deg); }
	50% { transform: rotate(-6deg) translateY(-6px); }
}

@keyframes tp-flash-float-front {
	0%, 100% { transform: rotate(5deg); }
	50% { transform: rotate(6.5deg) translateY(-8px); }
}

@keyframes tp-marquee {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(-50%, 0, 0); }
}

.tp-trust__ticker {
	overflow: hidden;
	border-top: 1px solid var(--tp-gray-100);
	background: #fff8e8;
}

.tp-trust__ticker-track {
	display: flex;
	align-items: center;
	gap: 2rem;
	width: max-content;
	padding: 0.5rem 0;
	font-family: var(--tp-font-heading);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--tp-navy);
	animation: tp-marquee 28s linear infinite;
}

.tp-trust__ticker:hover .tp-trust__ticker-track {
	animation-play-state: paused;
}

.tp-trust__ticker-track span {
	white-space: nowrap;
}

.tp-trust__ticker-track span::before {
	content: "·";
	margin-right: 2rem;
	color: var(--tp-yellow);
}

[data-count] {
	font-variant-numeric: tabular-nums;
}

.tp-brands-love__marquee {
	overflow: hidden;
	mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}

.tp-brands-love__track {
	display: flex;
	gap: 0.65rem;
	width: max-content;
	animation: tp-marquee 32s linear infinite;
}

.tp-brands-love__marquee:hover .tp-brands-love__track {
	animation-play-state: paused;
}

.tp-koi__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.tp-koi__chip {
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	border-radius: 999px;
	background: #eef8e4;
	color: #3d6b12;
	font-size: 0.75rem;
	font-weight: 700;
}

.tp-koi__jar {
	height: 10px;
	margin: 4px 0 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
	overflow: hidden;
}

.tp-koi__jar-fill {
	display: block;
	height: 100%;
	width: 22%;
	border-radius: 999px;
	background: #c6f03a;
	transform-origin: left center;
	transition: width 0.45s var(--tp-ease);
}

@media (prefers-reduced-motion: reduce) {
	[data-reveal],
	[data-reveal].is-in {
		opacity: 1;
		transform: none;
		animation: none;
		transition: none;
	}
	[data-parallax] {
		will-change: auto;
		transform: none !important;
		--tp-py: 0px;
	}
	.tp-hero--petmania__bag-float,
	.tp-flash__bag--back,
	.tp-flash__bag--front,
	.tp-trust__ticker-track,
	.tp-brands-love__track {
		animation: none !important;
	}
	.tp-hero-slider--active .tp-hero-slide.is-active {
		animation: none;
	}
	.tp-slider-btn {
		transition: none;
	}
	.tp-trust__ticker {
		display: none;
	}
	.tp-brands-love__marquee {
		mask-image: none;
	}
	.tp-brands-love__track {
		display: block;
		width: auto;
	}
	.tp-brands-love__row--clone {
		display: none;
	}
	.tp-brands-love__row {
		display: grid;
		grid-template-columns: repeat(7, 1fr);
		width: 100%;
	}
	.tp-koi__jar-fill {
		transition: none;
	}
	.tp-cat-card:hover,
	.tp-products--petmania li.product:hover,
	.tp-products--offers-rail.tp-products--petmania li.product:hover {
		transform: none;
	}
}

/* Flechas de sliders: círculo blanco + chevron navy, centrado */
.tp-slider-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.65rem;
	height: 2.65rem;
	padding: 0;
	margin: 0;
	border-radius: 50%;
	border: 1px solid rgba(27, 42, 65, 0.14);
	background: #fff;
	color: var(--tp-navy, #1b2a41);
	font-size: 1.55rem;
	font-weight: 700;
	line-height: 0;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(27, 42, 65, 0.16);
	appearance: none;
	-webkit-appearance: none;
}

.tp-slider-btn:hover,
.tp-slider-btn:focus-visible {
	background: #fff;
	border-color: rgba(27, 42, 65, 0.28);
	color: var(--tp-navy, #1b2a41);
	box-shadow: 0 8px 22px rgba(27, 42, 65, 0.2);
}

.tp-slider-btn__icon {
	display: block;
	width: 1.15rem;
	height: 1.15rem;
	flex: 0 0 auto;
}

/* ── Hero PetMania ── */
.tp-hero,
.tp-hero--petmania,
.tp-hero--slider {
	margin: 0;
	padding: 0;
	background-color: #f5b8c6;
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
}

.tp-hero--slider {
	background-color: var(--tp-hero-slide-bg, #f5b8c6);
}

.tp-hero-slider {
	position: relative;
	width: 100%;
	max-width: 100%;
	overflow: visible;
}

.tp-hero-slider__track {
	position: relative;
}

.tp-hero-slider--active .tp-hero-slide {
	display: none;
	opacity: 0;
	visibility: hidden;
}

.tp-hero-slider--active .tp-hero-slide.is-active {
	display: block;
	opacity: 1;
	visibility: visible;
	animation: tp-hero-slide-in 0.45s ease;
}

@keyframes tp-hero-slide-in {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

.tp-hero-slide {
	padding: 0 0 1.15rem;
	margin: 0;
	background-color: #f5b8c6;
	overflow: hidden;
}

.tp-hero-slide[style*="background-color"] {
	background-color: var(--tp-hero-slide-bg, #f5b8c6);
}

.tp-hero-slider__arrow.tp-slider-btn {
	width: 2.65rem;
	height: 2.65rem;
	color: var(--tp-navy, #1b2a41);
	background: #fff;
	border: 1px solid rgba(27, 42, 65, 0.16);
	box-shadow: 0 8px 20px rgba(27, 42, 65, 0.18);
}

.tp-hero-slider__arrow.tp-slider-btn:hover,
.tp-hero-slider__arrow.tp-slider-btn:focus-visible {
	background: #fff;
	color: var(--tp-navy, #1b2a41);
	border-color: rgba(27, 42, 65, 0.32);
}

.tp-hero-slider__dots .tp-slider-dot {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	border: none;
	padding: 0;
	margin: 0 0.2rem;
	background: rgba(27, 42, 65, 0.2);
	cursor: pointer;
}

.tp-hero-slider__dots .tp-slider-dot.is-active {
	background: var(--tp-navy);
	transform: scale(1.15);
}

.tp-hero-slide .tp-hero--petmania__title,
.tp-hero-slide .tp-hero--petmania__title-line,
.tp-hero-slide .tp-hero--petmania__sub,
.tp-hero-slide .tp-hero--petmania__arch {
	color: var(--tp-hero-slide-text, var(--tp-navy));
}

.tp-hero-slider__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 4;
}

.tp-hero-slider__arrow--prev { left: 0.75rem; }
.tp-hero-slider__arrow--next { right: 0.75rem; }

.tp-hero-slider__dots {
	position: absolute;
	left: 50%;
	bottom: 0.75rem;
	transform: translateX(-50%);
	z-index: 4;
	margin: 0;
}

.tp-hero--petmania__wrap {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr) minmax(0, 1.05fr);
	grid-template-areas: "dog copy bags";
	align-items: end;
	gap: 0 0.35rem;
	min-height: clamp(460px, 50vw, 560px);
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(0.5rem, 2vw, 1.5rem);
}

.tp-hero--petmania__scene {
	display: contents;
}

.tp-hero--petmania__copy { grid-area: copy; }
.tp-hero--petmania__dog { grid-area: dog; }
.tp-hero--petmania__bags { grid-area: bags; }

.tp-hero--petmania__dog {
	position: relative;
	align-self: end;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	min-height: 420px;
	overflow: hidden;
	z-index: 1;
	margin-left: -1.5rem;
}

.tp-hero--petmania__img--dog {
	width: auto;
	height: min(560px, 62vh);
	max-width: none;
	object-fit: contain;
	object-position: left bottom;
	display: block;
	margin: 0 0 -0.35rem -4%;
	filter: none;
	background: transparent;
}

.tp-hero--petmania__copy {
	text-align: center;
	align-self: center;
	padding: 0.85rem 0.75rem 1.1rem;
	z-index: 2;
}

.tp-hero--petmania__icon {
	display: block;
	width: 2.25rem;
	height: auto;
	margin: 0 auto 0.65rem;
	color: var(--tp-hero-slide-text, var(--tp-navy));
}

.tp-hero--petmania__title {
	margin: 0 0 0.75rem;
	font-family: var(--tp-font-heading);
	text-transform: uppercase;
}

.tp-hero--petmania__title-arch {
	display: block;
	width: min(100%, 440px);
	margin: 0 auto -0.1rem;
}

.tp-hero--petmania__arch {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.tp-hero--petmania__title-line {
	display: block;
	font-size: clamp(0.9rem, 1.65vw, 1.05rem);
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.25;
	margin-top: 0.1rem;
}

.tp-hero--petmania__sub {
	font-size: clamp(0.8125rem, 1.4vw, 0.9375rem);
	color: var(--tp-hero-slide-text, var(--tp-navy));
	margin: 0 auto 1.25rem;
	line-height: 1.55;
	max-width: 20rem;
	font-weight: 500;
}

.tp-hero--petmania__cta {
	min-width: 9.5rem;
}

.tp-hero--petmania__bags {
	position: relative;
	align-self: end;
	min-height: 400px;
	width: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	z-index: 1;
	overflow: visible;
}

.tp-hero--petmania__bag {
	margin: 0;
	position: absolute;
	bottom: 0;
	background: transparent;
	border: 0;
	padding: 0;
	box-shadow: none;
	line-height: 0;
}

.tp-hero--petmania__bag-float {
	display: block;
	transform-origin: center bottom;
}

.tp-hero--petmania__bag--back {
	right: 34%;
	z-index: 1;
}

.tp-hero--petmania__bag--back .tp-hero--petmania__bag-float {
	transform: translateY(18px) scale(0.84) rotate(-5deg);
	animation: tp-vitrina-float-back 5.2s ease-in-out infinite;
}

.tp-hero--petmania__bag--front {
	right: -0.5rem;
	z-index: 2;
}

.tp-hero--petmania__bag--front .tp-hero--petmania__bag-float {
	transform: rotate(3deg);
	animation: tp-vitrina-float-front 6.4s ease-in-out infinite;
	animation-delay: -2.4s;
}

.tp-hero--petmania__img--bag {
	display: block;
	width: auto;
	height: clamp(250px, 34vw, 360px);
	max-width: none;
	object-fit: contain;
	object-position: center bottom;
	background: transparent;
	filter: drop-shadow(0 16px 24px rgba(27, 42, 65, 0.12));
}

/* ── Trust ── */
.tp-trust--petmania {
	margin: 0;
	background: var(--tp-white);
	border-block: 1px solid var(--tp-gray-100);
}

.tp-trust__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0.5rem;
	padding: 1.1rem 0;
}

.tp-trust__item {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	font-size: 0.625rem;
	line-height: 1.35;
	color: var(--tp-gray-500);
}

.tp-trust__icon {
	width: 1.35rem;
	height: 1.35rem;
	flex-shrink: 0;
	background: center/contain no-repeat;
	opacity: 0.85;
}

.tp-trust__icon--truck { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%231b2a41' stroke-width='1.8'%3E%3Cpath d='M13 16V6H4v10h1m8-1a1 1 0 0 1-1 1H9m4-1V8h2.6l3.4 3.4V16a1 1 0 0 1-1 1h-1M5 17a2 2 0 1 0 4 0m6 0a2 2 0 1 0 4 0'/%3E%3C/svg%3E"); }
.tp-trust__icon--store { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%231b2a41' stroke-width='1.8'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E"); }
.tp-trust__icon--star { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%231b2a41'%3E%3Cpath d='M12 2l2.4 4.9 5.4.8-3.9 3.8.9 5.3L12 14.8 7.2 16.8l.9-5.3L4.2 7.7l5.4-.8L12 2z'/%3E%3C/svg%3E"); }
.tp-trust__icon--phone { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%231b2a41' stroke-width='1.8'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .3 2 .7 2.9a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.4 1.9.6 2.9.7A2 2 0 0 1 22 16.9z'/%3E%3C/svg%3E"); }
.tp-trust__icon--chat { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%231b2a41' stroke-width='1.8'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); }
.tp-trust__icon--shield { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%231b2a41' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 3v6c0 5-3.5 9-8 11-4.5-2-8-6-8-11V5l8-3z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.tp-trust__icon--return { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%231b2a41' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7v6h6'/%3E%3Cpath d='M3 13a8 8 0 0 0 14 5'/%3E%3Cpath d='M21 10a8 8 0 0 0-14-5'/%3E%3C/svg%3E"); }

.tp-trust__item strong {
	display: block;
	color: var(--tp-navy);
	font-size: 0.6875rem;
	font-weight: 700;
	margin-bottom: 0.1rem;
}

/* ── Categories ── */
.tp-categories--petmania {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
}

.tp-cat-card {
	position: relative;
	border-radius: var(--tp-radius-xl);
	min-height: 280px;
	overflow: hidden;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	isolation: isolate;
	transition: transform 0.22s var(--tp-ease), box-shadow 0.22s var(--tp-ease);
}

.tp-cat-card:hover,
.tp-cat-card.is-in:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 32px rgba(27, 42, 65, 0.12);
}

.tp-cat-card--blue { background: var(--tp-blue-card); }
.tp-cat-card--orange { background: var(--tp-orange-card); }
.tp-cat-card--yellow { background: var(--tp-yellow); }
.tp-cat-card--coral { background: var(--tp-coral-card); }
.tp-cat-card--sky { background: var(--tp-sky-card); }
/* Alias (config o versiones anteriores del tema) */
.tp-cat-card--teal,
.tp-cat-card--green { background: var(--tp-coral-card); }
.tp-cat-card--lavender,
.tp-cat-card--pink { background: var(--tp-sky-card); }

.tp-cat-card__img {
	position: absolute;
	inset: 0;
	z-index: 0;
	padding: 0;
	min-height: 0;
	pointer-events: none;
}

.tp-cat-card__img img {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	aspect-ratio: auto;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
	background: none;
	box-shadow: none;
	display: block;
	transform: scale(1.02);
	transition: transform 0.35s ease;
}

.tp-cat-card:hover .tp-cat-card__img img,
.tp-cat-card:focus-visible .tp-cat-card__img img {
	transform: scale(1.07);
}

.tp-cat-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(11, 31, 51, 0.08) 28%, rgba(11, 31, 51, 0.78) 100%);
}

.tp-cat-card__foot {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.25rem 1.25rem;
}

.tp-cat-card__eyebrow {
	display: block;
	font-size: 0.6875rem;
	font-weight: 600;
	margin-bottom: 0.15rem;
}

.tp-cat-card__eyebrow,
.tp-cat-card--blue .tp-cat-card__eyebrow,
.tp-cat-card--orange .tp-cat-card__eyebrow,
.tp-cat-card--coral .tp-cat-card__eyebrow,
.tp-cat-card--sky .tp-cat-card__eyebrow,
.tp-cat-card--teal .tp-cat-card__eyebrow,
.tp-cat-card--lavender .tp-cat-card__eyebrow,
.tp-cat-card--green .tp-cat-card__eyebrow,
.tp-cat-card--pink .tp-cat-card__eyebrow,
.tp-cat-card--yellow .tp-cat-card__eyebrow {
	color: rgba(255, 255, 255, 0.88);
	opacity: 1;
}

.tp-cat-card__label {
	font-family: var(--tp-font-heading);
	font-size: 1.625rem;
	font-weight: 900;
	margin: 0;
	line-height: 1;
}

.tp-cat-card__label,
.tp-cat-card--blue .tp-cat-card__label,
.tp-cat-card--orange .tp-cat-card__label,
.tp-cat-card--coral .tp-cat-card__label,
.tp-cat-card--sky .tp-cat-card__label,
.tp-cat-card--teal .tp-cat-card__label,
.tp-cat-card--lavender .tp-cat-card__label,
.tp-cat-card--green .tp-cat-card__label,
.tp-cat-card--pink .tp-cat-card__label,
.tp-cat-card--yellow .tp-cat-card__label {
	color: var(--tp-white);
	text-shadow: 0 1px 10px rgba(11, 31, 51, 0.45);
}

.tp-cat-card__arrow {
	width: 2.125rem;
	height: 2.125rem;
	border-radius: 50%;
	background: var(--tp-navy);
	color: var(--tp-white);
	display: grid;
	place-items: center;
	flex-shrink: 0;
}

.tp-cat-card--yellow .tp-cat-card__arrow {
	background: var(--tp-navy);
	color: var(--tp-white);
}

@media (prefers-reduced-motion: reduce) {
	.tp-cat-card__img img,
	.tp-cat-card:hover .tp-cat-card__img img,
	.tp-cat-card:focus-visible .tp-cat-card__img img {
		transform: none;
		transition: none;
	}
}

/* ── Storefront mosaic (fotos reales de góndola) ── */
.tp-section--store {
	padding-top: 1.5rem;
	padding-bottom: 2.5rem;
}

.tp-storefront__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	margin-bottom: 1.25rem;
}

.tp-storefront__eyebrow {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--tp-gray-500);
	margin-bottom: 0.35rem;
}

.tp-storefront__head .tp-section__title {
	margin: 0;
}

.tp-storefront__sub {
	margin: 0.5rem 0 0;
	max-width: 42rem;
	color: var(--tp-gray-500);
	font-size: 0.9375rem;
	line-height: 1.55;
}

.tp-storefront__cta {
	flex-shrink: 0;
}

.tp-storefront__grid {
	display: grid;
	grid-template-columns: 1.15fr 1.15fr 0.95fr;
	grid-template-rows: minmax(200px, 26vw) minmax(240px, 34vw);
	grid-template-areas:
		"snacks snacks toys"
		"groom food toys";
	gap: 12px;
}

.tp-storefront__tile {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--tp-radius-lg);
	min-height: 0;
	text-decoration: none;
	color: var(--tp-white);
	background: var(--tp-navy);
	isolation: isolate;
}

.tp-storefront__tile--snacks { grid-area: snacks; }
.tp-storefront__tile--toys { grid-area: toys; }
.tp-storefront__tile--grooming { grid-area: groom; }
.tp-storefront__tile--food { grid-area: food; }

.tp-storefront__tile img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transform: scale(1.02);
	filter: saturate(1.06) contrast(1.03);
	transition: transform 0.35s ease, filter 0.35s ease;
}

.tp-storefront__tile--snacks img {
	object-position: center 42%;
	filter: saturate(1.1) contrast(1.05) brightness(1.02);
}

.tp-storefront__tile--toys img { object-position: 50% 32%; }
.tp-storefront__tile--grooming img { object-position: 50% 28%; }
.tp-storefront__tile--food img { object-position: 50% 38%; }

.tp-storefront__tile::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(18, 31, 51, 0) 42%, rgba(18, 31, 51, 0.72) 100%);
	pointer-events: none;
	z-index: 1;
}

.tp-storefront__label {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 14px;
	z-index: 2;
	font-family: var(--tp-font-heading);
	font-weight: 800;
	font-size: 1.0625rem;
	line-height: 1.2;
	text-shadow: 0 1px 8px rgba(18, 31, 51, 0.45);
}

.tp-storefront__tile:hover img,
.tp-storefront__tile:focus-visible img {
	transform: scale(1.06);
	filter: saturate(1.12) contrast(1.05);
}

.tp-storefront__tile--snacks:hover img,
.tp-storefront__tile--snacks:focus-visible img {
	filter: saturate(1.16) contrast(1.07) brightness(1.03);
}

.tp-storefront__tile:focus-visible {
	outline: 3px solid var(--tp-yellow);
	outline-offset: 3px;
}

.tp-storefront--about {
	padding-top: 2rem;
	padding-bottom: 2.5rem;
}

.tp-cat-card--orange .tp-cat-card__img img,
.tp-cat-card--sky .tp-cat-card__img img {
	filter: saturate(1.12) contrast(1.06);
}

/* ── Products toolbar (Best Selling: título + link; tabs en segunda fila) ── */
.tp-products__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin-bottom: 1.25rem;
}

.tp-products__toolbar .tp-section__title {
	font-size: 1.5rem;
	margin: 0;
	flex: 1 1 auto;
}

.tp-pet-tabs {
	display: inline-flex;
	background: var(--tp-gray-100);
	border-radius: var(--tp-radius-pill);
	padding: 0.18rem;
	flex: 1 1 100%;
	justify-content: center;
}

.tp-pet-tabs button {
	border: none;
	background: var(--tp-white);
	padding: 0.42rem 1.35rem;
	border-radius: var(--tp-radius-pill);
	font-family: var(--tp-font-heading);
	font-weight: 800;
	font-size: 0.75rem;
	cursor: pointer;
	color: var(--tp-gray-500);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.tp-pet-tabs button.is-active {
	background: var(--tp-yellow);
	color: var(--tp-navy);
	box-shadow: none;
}

.tp-link-more--toolbar {
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--tp-navy);
	text-decoration: none;
	flex-shrink: 0;
}

.tp-link-more--toolbar:hover { text-decoration: underline; }

.tp-products__heading {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	flex: 1 1 auto;
}

.tp-products__eyebrow {
	display: inline-flex;
	align-items: center;
	background: var(--tp-red);
	color: var(--tp-white);
	font-family: var(--tp-font-heading);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.22rem 0.55rem;
	border-radius: var(--tp-radius-pill);
	line-height: 1;
}

.tp-products__heading .tp-section__title {
	flex: none;
}

.tp-products__cta {
	display: flex;
	justify-content: center;
	margin-top: 1.75rem;
}

.tp-products__cta .tp-btn {
	min-width: 14rem;
}

.tp-products__grid .products {
	margin-top: 0;
}

.tp-products__carousel { position: relative; }

.tp-products--petmania ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 1.5vw, 1.25rem);
	margin: 0 !important;
	padding: 0 !important;
}

.tp-products--petmania ul.products::before,
.tp-products--petmania ul.products::after { display: none !important; }

.tp-products--petmania li.product,
.tp-product-single__related li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	background: var(--tp-white);
	border: 1px solid var(--tp-gray-100);
	border-radius: 10px;
	padding: 0 0 3.25rem !important;
	position: relative;
	text-align: left;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: transform 0.22s var(--tp-ease), box-shadow 0.22s var(--tp-ease);
}

.tp-products--petmania li.product:hover,
.tp-product-single__related li.product:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 32px rgba(27, 42, 65, 0.12);
}

.tp-products--petmania li.product .woocommerce-loop-product__link,
.tp-product-single__related li.product .woocommerce-loop-product__link {
	display: block;
	margin: 0;
	padding: 0;
	text-decoration: none;
}

.tp-products--petmania li.product img,
.tp-product-single__related li.product img {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: none;
	margin: 0;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 0;
}

.tp-products--petmania .tp-product-brand,
.tp-product-single__related .tp-product-brand {
	display: block;
	padding: 0.75rem 2.75rem 0 0.85rem;
	margin: 0 0 0.15rem;
	font-family: var(--tp-font-heading);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--tp-navy);
	line-height: 1.2;
}

.tp-product-brand {
	display: block;
	font-family: var(--tp-font-heading);
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0;
	color: var(--tp-navy);
	margin: 0 0 0.2rem;
	text-transform: none;
	line-height: 1.2;
}

.tp-products--petmania .woocommerce-loop-product__title,
.tp-product-single__related .woocommerce-loop-product__title {
	font-family: var(--tp-font-body) !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	color: var(--tp-gray-500) !important;
	padding: 0 2.75rem 0 0.85rem !important;
	line-height: 1.35 !important;
	margin: 0 0 0.4rem !important;
	opacity: 1;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: manual;
}

.tp-products--petmania .price,
.tp-product-single__related .price {
	font-family: var(--tp-font-heading) !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	color: var(--tp-navy) !important;
	margin-top: auto !important;
	padding: 0 2.75rem 0.85rem 0.85rem !important;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.1rem;
}

.tp-products--petmania .price del,
.tp-product-single__related .price del {
	order: 1;
	color: var(--tp-gray-400);
	font-weight: 500;
	font-size: 0.75rem;
	margin: 0;
	line-height: 1.2;
}

.tp-products--petmania .price ins,
.tp-product-single__related .price ins {
	order: 2;
	text-decoration: none;
	color: var(--tp-red);
	font-size: 1.0625rem !important;
	font-weight: 800 !important;
	line-height: 1.2;
}

.tp-products--petmania .tp-sale-badge,
.tp-product-single__related .tp-sale-badge {
	top: 0.5rem;
	left: 0.5rem;
}

.tp-products--petmania .tp-wishlist-btn,
.tp-product-single__related .tp-wishlist-btn {
	top: 0.5rem;
	right: 0.5rem;
	width: 2.25rem;
	height: 2.25rem;
	font-size: 1.125rem;
	font-weight: 700;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid var(--tp-gray-100);
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.1);
}

.tp-products--petmania .tp-wishlist-btn:hover,
.tp-product-single__related .tp-wishlist-btn:hover {
	background: var(--tp-white);
	border-color: var(--tp-red);
	color: var(--tp-red);
}

.tp-sale-badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	width: 2.35rem;
	height: 2.35rem;
	background: var(--tp-red);
	color: var(--tp-white);
	border-radius: 50%;
	font-size: 0.5625rem;
	font-weight: 900;
	display: grid;
	place-items: center;
	line-height: 1.05;
	text-align: center;
	z-index: 2;
}

.tp-products--petmania .tp-add-icon,
.tp-product-single__related .tp-add-icon {
	bottom: 0.85rem !important;
	right: 0.85rem !important;
}

.tp-add-icon {
	position: absolute !important;
	bottom: 1rem !important;
	right: 1rem !important;
	width: 2rem !important;
	height: 2rem !important;
	background: var(--tp-navy) !important;
	color: var(--tp-white) !important;
	border-radius: 6px !important;
	display: grid !important;
	place-items: center;
	font-size: 1.1rem !important;
	font-weight: 400 !important;
	padding: 0 !important;
	line-height: 1 !important;
	min-height: 0 !important;
	border: none !important;
}

.tp-carousel-next {
	position: absolute;
	right: -0.5rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 50%;
	border: 1px solid var(--tp-gray-100);
	background: var(--tp-white);
	box-shadow: var(--tp-shadow-soft);
	cursor: pointer;
	font-size: 1.1rem;
	color: var(--tp-navy);
	z-index: 5;
}

.tp-carousel-next:hover { background: var(--tp-yellow); border-color: var(--tp-yellow); }

/* ── Flash sale (pill navy — estilo Petmania) ── */
.tp-section--flash .tp-container {
	overflow: visible;
}

.tp-flash--petmania {
	background: var(--tp-navy);
	border-radius: var(--tp-radius-pill);
	padding: 0.5rem clamp(1rem, 2.5vw, 2rem);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(0.65rem, 1.8vw, 1.35rem);
	color: var(--tp-white);
	min-height: 5rem;
	overflow: visible;
	position: relative;
}

.tp-flash__left {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	flex: 0 0 auto;
}

.tp-flash__tag {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--tp-yellow);
	flex-shrink: 0;
	transform: rotate(-12deg);
}

.tp-flash__tag svg {
	display: block;
	width: clamp(1.35rem, 2.2vw, 1.75rem);
	height: auto;
}

.tp-flash__deal {
	display: flex;
	align-items: center;
	gap: 0.55rem;
}

.tp-flash__label {
	color: var(--tp-yellow);
	font-size: clamp(0.5625rem, 1vw, 0.6875rem);
	font-weight: 900;
	text-transform: uppercase;
	line-height: 1.05;
	letter-spacing: 0.03em;
	white-space: nowrap;
}

.tp-flash__discount {
	display: flex;
	align-items: center;
	gap: 0.2rem;
}

.tp-flash__num {
	font-family: var(--tp-font-heading);
	font-size: clamp(2rem, 4.2vw, 2.85rem);
	font-weight: 900;
	color: var(--tp-white);
	line-height: 1;
	letter-spacing: -0.03em;
}

.tp-flash__off {
	font-size: clamp(0.625rem, 1.1vw, 0.8125rem);
	font-weight: 800;
	color: var(--tp-yellow);
	line-height: 1.05;
	text-transform: uppercase;
	max-width: 2.5rem;
}

.tp-flash__bags {
	position: relative;
	flex: 0 0 clamp(7rem, 13vw, 9.5rem);
	height: 3.5rem;
	align-self: flex-end;
	margin-bottom: 0;
	margin-top: -1.75rem;
}

.tp-flash__bag {
	position: absolute;
	bottom: 0.35rem;
	width: auto;
	height: clamp(6.25rem, 11vw, 8.5rem);
	object-fit: contain;
	filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.22));
	pointer-events: none;
}

.tp-flash__bag--back {
	left: 0;
	z-index: 1;
	transform: rotate(-8deg);
	animation: tp-flash-float-back 5.5s ease-in-out infinite;
}

.tp-flash__bag--front {
	right: 0;
	z-index: 2;
	transform: rotate(5deg);
	animation: tp-flash-float-front 6.2s ease-in-out infinite;
	animation-delay: -1.8s;
}

.tp-flash__copy {
	flex: 1 1 12rem;
	min-width: 0;
	padding-inline: clamp(0.25rem, 1vw, 0.75rem);
}

.tp-flash__copy h3 {
	margin: 0 0 0.2rem;
	font-size: clamp(0.8125rem, 1.5vw, 1.0625rem);
	font-weight: 700;
	color: var(--tp-white);
	line-height: 1.35;
}

.tp-flash__copy p {
	margin: 0;
	font-size: clamp(0.6875rem, 1.15vw, 0.8125rem);
	opacity: 0.88;
	line-height: 1.4;
}

.tp-btn--flash {
	flex: 0 0 auto;
	padding: 0.7rem 1.35rem;
	font-size: clamp(0.8125rem, 1.2vw, 0.9375rem);
	font-weight: 800;
	white-space: nowrap;
}

/* ── Shop by pet (full-bleed, gutter mínimo) ── */
.tp-section--pets > .tp-container,
.tp-pets-section .tp-container {
	max-width: 100%;
	width: 100%;
}

.tp-pets-section {
	padding: 0;
	max-width: 100%;
	width: 100%;
}

.tp-pets-section .tp-section__title {
	margin: 0 0 1.25rem;
	font-size: clamp(1.35rem, 2.5vw, 1.65rem);
	text-align: left;
}

.tp-pets-strip {
	background: var(--tp-gray-50);
	border: 1px solid rgba(27, 42, 65, 0.07);
	border-radius: var(--tp-radius-xl);
	padding: 0;
	overflow: hidden;
	box-shadow: var(--tp-shadow-soft);
	width: 100%;
	max-width: 100%;
}

.tp-pets-strip__track {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	width: 100%;
	max-width: 100%;
	margin: 0;
	overflow: hidden;
	padding: 0;
}

/* Sin reveal/parallax: el transform de scroll descuadraba el grid de 4. */
.tp-section--pets,
.tp-section--pets .tp-pets-strip,
.tp-section--pets .tp-pets-strip__track,
.tp-section--pets .tp-pet-card,
.tp-section--pets .tp-pet-card__media {
	transform: none !important;
	will-change: auto;
}

.tp-section--pets [data-reveal],
.tp-section--pets [data-reveal].is-in {
	opacity: 1;
	animation: none;
	transition: none;
	transform: none !important;
}

.tp-pets-strip__track::-webkit-scrollbar {
	display: none;
}

.tp-pet-card {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1;
	padding: 0;
	margin: 0;
	border-radius: 0;
	overflow: hidden;
	text-decoration: none;
	color: #fff;
	background: var(--tp-navy);
	border: 0;
	transition: filter 0.18s ease;
}

.tp-pet-card:hover,
.tp-pet-card:focus-visible {
	color: #fff;
	filter: brightness(1.06);
}

.tp-pet-card:focus-visible {
	outline: 3px solid var(--tp-yellow);
	outline-offset: -3px;
	z-index: 1;
}

.tp-pet-card__media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border-radius: 0;
	overflow: hidden;
	background: var(--tp-navy);
	border: 0;
	box-shadow: none;
}

.tp-pet-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.25s ease;
}

.tp-pet-card:hover .tp-pet-card__media img,
.tp-pet-card:focus-visible .tp-pet-card__media img {
	transform: scale(1.04);
}

.tp-pet-card__label {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	padding: 2.25rem 0.75rem 0.9rem;
	font-size: clamp(0.9375rem, 1.6vw, 1.125rem);
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	color: #fff;
	white-space: nowrap;
	background: linear-gradient(180deg, transparent 0%, rgba(18, 31, 51, 0.78) 72%);
}

@media (prefers-reduced-motion: reduce) {
	.tp-pet-card__media img,
	.tp-pet-card:hover .tp-pet-card__media img {
		transition: none;
		transform: none;
	}
}

/* Legacy aliases (admin previews / cached markup) */
.tp-pets--petmania {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
	max-width: 56rem;
	margin: 0 auto;
}

.tp-pet-icon {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.55rem;
	text-decoration: none;
	color: var(--tp-navy);
}

.tp-pet-icon__circle {
	width: 6.25rem;
	height: 6.25rem;
	border-radius: 50%;
	overflow: hidden;
	background: var(--tp-white);
	border: 3px solid var(--tp-gray-100);
	transition: transform 0.18s, border-color 0.18s, box-shadow 0.18s;
}

.tp-pet-icon.is-highlight .tp-pet-icon__circle,
.tp-pet-icon:hover .tp-pet-icon__circle {
	border-color: var(--tp-yellow);
	box-shadow: 0 0 0 4px rgba(255, 210, 74, 0.35);
	transform: scale(1.04);
}

.tp-pet-icon__circle img { width: 100%; height: 100%; object-fit: cover; }
.tp-pet-icon span { font-size: 0.8125rem; font-weight: 700; }

/* ── Section header row ── */
.tp-section__title--sparkle {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.tp-brands-love__head,
.tp-tips__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.tp-brands-love__head .tp-section__title,
.tp-tips__head .tp-section__title {
	margin: 0;
	font-size: 1.5rem;
}

/* ── Services showcase (4 fotos) ── */
.tp-svc-showcase { position: relative; margin-bottom: 2.5rem; }

.tp-svc-showcase__head {
	position: relative;
	margin-bottom: 1.5rem;
}

.tp-svc-showcase__head .tp-section__title {
	font-size: 1.75rem;
	margin: 0;
}

.tp-svc-showcase__spark {
	color: var(--tp-yellow);
	font-size: 1.1rem;
}

.tp-svc-showcase__bone {
	position: absolute;
	font-size: 1.25rem;
	opacity: 0.35;
}

.tp-svc-showcase__bone--1 { top: -0.5rem; left: 28%; transform: rotate(-25deg); }
.tp-svc-showcase__bone--2 { top: 0; right: 12%; transform: rotate(15deg); }

.tp-svc-showcase__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}

.tp-svc-showcase__card {
	text-decoration: none;
	color: var(--tp-navy);
	background: var(--tp-white);
	border-radius: var(--tp-radius-md);
	box-shadow: var(--tp-shadow-soft);
	overflow: hidden;
	transition: transform 0.18s;
}

.tp-svc-showcase__card:hover { transform: translateY(-4px); }

.tp-svc-showcase__img {
	aspect-ratio: 4/3;
	overflow: hidden;
}

.tp-svc-showcase__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.tp-svc-showcase__label {
	display: block;
	text-align: center;
	font-family: var(--tp-font-heading);
	font-weight: 800;
	font-size: 0.9375rem;
	padding: 0.85rem 0.5rem;
}

/* ── Service icon cards ── */
.tp-svc-icons { margin-top: 0.5rem; }

.tp-svc-icons__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}

.tp-svc-icons__card {
	background: var(--tp-white);
	border: 1px solid var(--tp-gray-100);
	border-radius: var(--tp-radius-md);
	padding: 1.5rem 1.15rem;
	text-align: center;
	box-shadow: var(--tp-shadow-soft);
}

.tp-svc-icons__icon-wrap {
	width: 3.5rem;
	height: 3.5rem;
	margin: 0 auto 1rem;
	display: grid;
	place-items: center;
	background: var(--tp-gray-50);
	border-radius: var(--tp-radius-md);
	color: var(--tp-navy);
}

.tp-svc-icons__card h3 {
	font-size: 1rem;
	margin: 0 0 0.65rem;
}

.tp-svc-icons__card p {
	margin: 0;
	font-size: 0.75rem;
	line-height: 1.55;
	color: var(--tp-gray-500);
}

/* ── Novedad: concentrado koi ── */
.tp-koi.tp-section--koi {
	width: 100%;
	padding-top: 2.5rem;
	padding-bottom: 2.75rem;
	background: #fff;
}

.tp-koi__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
	gap: clamp(1.25rem, 2.2vw, 2rem);
	align-items: stretch;
	width: 100%;
}

.tp-koi__copy {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	min-width: 0;
	height: 100%;
}

.tp-koi__head {
	flex: 0 0 auto;
}

.tp-koi__kicker {
	display: inline-block;
	margin: 0 0 8px;
	padding: 6px 12px;
	border-radius: 999px;
	background: #eef8e4;
	color: #3d6b12;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

body.tecnopets-ui .tp-koi__head .tp-section__title {
	margin: 0 0 8px;
	font-size: clamp(1.65rem, 2.4vw, 2.15rem);
	line-height: 1.15;
	color: var(--tp-navy, #0b1f33);
}

.tp-koi__intro {
	margin: 0;
	max-width: none;
	font-size: 1.0625rem;
	line-height: 1.5;
	color: #4a5d68;
}

.tp-koi__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: stretch;
	margin-top: auto;
	padding-top: 8px;
}

.tp-koi__btn {
	flex: 1 1 12rem;
	min-height: 52px;
	padding: 14px 22px;
	font-size: 1rem;
	font-weight: 800;
	border-radius: 999px;
	justify-content: center;
}

.tp-koi__ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 10rem;
	min-height: 52px;
	padding: 14px 18px;
	color: #e8fff4;
	font-weight: 800;
	text-decoration: none;
	border: 1.5px solid rgba(255, 255, 255, 0.32);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
}

.tp-koi__ghost:hover,
.tp-koi__ghost:focus-visible {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}

.tp-koi a:focus-visible,
.tp-koi input:focus-visible {
	outline: 3px solid #c6f03a;
	outline-offset: 3px;
}

.tp-koi__poster {
	position: relative;
	align-self: stretch;
	margin: 0;
	width: 100%;
	height: 100%;
	min-height: 100%;
	aspect-ratio: 528 / 579;
	border-radius: 24px;
	overflow: hidden;
	background: #041820;
	box-shadow: 0 20px 44px rgba(15, 36, 48, 0.16);
	line-height: 0;
}

.tp-koi__poster img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	border-radius: 0;
	background: #041820;
}

.tp-koi__dose {
	margin: 0;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 14px;
	padding: 28px 26px 24px;
	border-radius: 24px;
	background:
		radial-gradient(120% 80% at 100% 0%, rgba(198, 240, 58, 0.14), transparent 42%),
		#07151c;
	color: #f4fff8;
	border: 1px solid rgba(198, 240, 58, 0.16);
	box-shadow: 0 18px 36px rgba(15, 36, 48, 0.14);
}

.tp-koi__dose-kicker {
	margin: 0;
	color: #c6f03a;
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tp-koi__dose-title {
	margin: 0;
	font-family: var(--tp-font-heading);
	font-size: clamp(1.45rem, 2.3vw, 1.9rem);
	font-weight: 900;
	line-height: 1.18;
	color: #f4fff8;
}

.tp-koi__controls {
	display: grid;
	gap: 14px;
}

.tp-koi__count,
.tp-koi__dose legend {
	display: grid;
	gap: 8px;
	font-size: 0.8125rem;
	font-weight: 700;
	color: #d7efe6;
}

.tp-koi__dose fieldset {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.tp-koi__dose input[type="number"] {
	width: 100%;
	min-height: 54px;
	padding: 12px 16px;
	border-radius: 14px;
	border: 1.5px solid rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.08);
	color: #f4fff8;
	font: inherit;
	font-size: 1.25rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.tp-koi__sizes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.tp-koi__size {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	min-height: 64px;
	padding: 10px 12px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.06);
	border: 1.5px solid rgba(255, 255, 255, 0.12);
	cursor: pointer;
}

.tp-koi__size input {
	position: absolute;
	inset: 0;
	z-index: 1;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.tp-koi__size-name {
	font-size: 0.9375rem;
	font-weight: 800;
	color: #f4fff8;
}

.tp-koi__size-g {
	font-size: 0.75rem;
	font-weight: 700;
	color: #9ec9bb;
}

.tp-koi__size:has(input:checked) {
	background: #c6f03a;
	border-color: #c6f03a;
	color: #0b1f28;
}

.tp-koi__size:has(input:checked) .tp-koi__size-name,
.tp-koi__size:has(input:checked) .tp-koi__size-g {
	color: #0b1f28;
}

.tp-koi__stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.tp-koi__stat {
	display: grid;
	gap: 4px;
	padding: 14px 14px 12px;
	border-radius: 16px;
	background: rgba(198, 240, 58, 0.08);
	border: 1px solid rgba(198, 240, 58, 0.18);
}

.tp-koi__stat strong {
	color: #c6f03a;
	font-family: var(--tp-font-heading);
	font-size: clamp(1.7rem, 3vw, 2.25rem);
	font-weight: 900;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.tp-koi__stat span {
	color: #c9e6dc;
	font-size: 0.8125rem;
	line-height: 1.35;
}

.tp-koi__stat--week {
	grid-column: 1 / -1;
	padding-top: 12px;
	padding-bottom: 12px;
}

.tp-koi__stat--week strong {
	font-size: clamp(1.35rem, 2.2vw, 1.7rem);
}

.tp-koi__dose-hint {
	margin: 0;
	font-size: 0.75rem;
	line-height: 1.5;
	color: #9ec9bb;
}

@media (max-width: 900px) {
	.tp-koi__inner {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.tp-koi__copy {
		display: contents;
	}

	.tp-koi__head {
		order: 1;
	}

	.tp-koi__poster {
		order: 2;
		height: auto;
		min-height: 0;
		max-height: none;
		aspect-ratio: 528 / 579;
	}

	.tp-koi__dose {
		order: 3;
		padding: 24px 20px 20px;
	}

	.tp-koi__sizes {
		grid-template-columns: 1fr;
	}

	.tp-koi__size {
		min-height: 52px;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

@media (max-width: 520px) {
	.tp-koi__stats {
		grid-template-columns: 1fr;
	}

	.tp-koi__stat--week {
		grid-column: auto;
	}
}

/* ── Brands we love ── */
.tp-brands-love__row {
	display: flex;
	flex-shrink: 0;
	gap: 0.65rem;
}

.tp-brands-love__logo {
	display: grid;
	place-items: center;
	min-height: 4rem;
	min-width: 8.5rem;
	padding: 0.65rem 0.5rem;
	background: var(--tp-gray-50);
	border: 1px solid var(--tp-gray-100);
	border-radius: var(--tp-radius-md);
	text-decoration: none;
	transition: border-color 0.18s, box-shadow 0.18s;
}

.tp-brands-love__logo:hover {
	border-color: var(--tp-yellow);
	box-shadow: 0 0 0 3px rgba(255, 210, 74, 0.25);
}

.tp-brands-love__logo span {
	font-size: 0.625rem;
	font-weight: 700;
	color: var(--tp-navy);
	text-align: center;
	line-height: 1.25;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

/* ── Tips & advices (revista: 1 destacada + 2×2) ── */
.tp-tips__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr) minmax(0, 1fr);
	grid-auto-rows: minmax(210px, 1fr);
	gap: 1rem;
}

.tp-tips__card {
	position: relative;
	border: 0;
	border-radius: var(--tp-radius-xl);
	overflow: hidden;
	background: var(--tp-navy-dark);
	min-height: 210px;
}

.tp-tips__card--featured {
	grid-column: 1;
	grid-row: 1 / span 2;
	min-height: 460px;
}

.tp-tips__grid--n1 {
	grid-template-columns: 1fr;
}

.tp-tips__grid--n1 .tp-tips__card--featured {
	grid-column: 1;
	grid-row: auto;
	min-height: 380px;
}

.tp-tips__grid--n2 {
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	grid-auto-rows: minmax(320px, 1fr);
}

.tp-tips__grid--n2 .tp-tips__card--featured {
	grid-row: auto;
	min-height: 360px;
}

.tp-tips__grid--n3 {
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
}

.tp-tips__grid--n4 .tp-tips__card:not(.tp-tips__card--featured):last-child {
	grid-column: 2 / -1;
}

.tp-tips__link {
	display: block;
	position: relative;
	height: 100%;
	min-height: inherit;
	color: #fff;
	text-decoration: none;
}

.tp-tips__link:focus-visible {
	outline: 3px solid var(--tp-yellow);
	outline-offset: 3px;
}

.tp-tips__img {
	position: absolute;
	inset: 0;
	display: block;
	overflow: hidden;
}

.tp-tips__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 300ms var(--tp-ease);
}

.tp-tips__card:hover .tp-tips__img img,
.tp-tips__card:focus-within .tp-tips__img img {
	transform: scale(1.04);
}

.tp-tips__overlay {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 100%;
	min-height: inherit;
	padding: 1.1rem 1.15rem 1.15rem;
	background: linear-gradient(180deg, transparent 24%, rgba(8, 32, 48, 0.52) 58%, rgba(6, 28, 42, 0.94) 100%);
}

.tp-tips__card--featured .tp-tips__overlay {
	padding: 1.7rem 1.55rem 1.55rem;
	background: linear-gradient(180deg, transparent 18%, rgba(8, 36, 52, 0.48) 50%, rgba(6, 30, 44, 0.94) 100%);
}

.tp-tips__badge {
	align-self: flex-start;
	background: var(--tp-yellow);
	color: var(--tp-navy);
	font-family: var(--tp-font-heading);
	font-size: 0.625rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 0.28rem 0.7rem;
	border-radius: var(--tp-radius-pill);
	margin-bottom: 0.55rem;
}

.tp-tips__title,
body.tecnopets-ui .tp-tips__title {
	font-family: var(--tp-font-heading);
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.25;
	margin: 0 0 0.35rem;
	color: #fff;
}

.tp-tips__card--featured .tp-tips__title,
body.tecnopets-ui .tp-tips__card--featured .tp-tips__title {
	font-size: clamp(1.45rem, 2.15vw, 2.05rem);
	font-weight: 900;
	letter-spacing: -0.025em;
	line-height: 1.12;
	margin-bottom: 0.65rem;
}

.tp-tips__excerpt {
	margin: 0 0 0.85rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: rgba(248, 250, 252, 0.88);
	max-width: 38ch;
}

.tp-tips__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.3rem 0.45rem;
	font-size: 0.75rem;
	color: rgba(248, 250, 252, 0.8);
}

.tp-tips__cta {
	margin-left: 0.15rem;
	color: #fff;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.tp-tips__link:hover .tp-tips__cta {
	color: var(--tp-yellow);
}

/* ── Newsletter signup ── */
.tp-signup {
	padding: 2rem var(--tp-gutter);
}

.tp-signup__inner {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 1rem;
	background: var(--tp-signup-bg);
	border: 1px solid var(--tp-signup-border);
	border-radius: var(--tp-radius-xl);
	padding: 2rem 2.5rem;
	overflow: hidden;
	position: relative;
	box-shadow: 0 14px 36px rgba(27, 42, 65, 0.1);
}

.tp-signup__copy {
	position: relative;
	z-index: 1;
	padding-left: 0;
}

.tp-signup__copy h2 {
	font-size: clamp(2rem, 4vw, 2.75rem);
	margin: 0 0 1rem;
	color: var(--tp-navy);
}

.tp-signup__perks {
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--tp-navy);
	line-height: 1.9;
}

.tp-signup__perks li::before {
	content: "✓ ";
	color: var(--tp-navy);
	font-weight: 800;
}

.tp-signup-form {
	max-width: 100%;
	width: 100%;
	margin-top: 0.5rem;
}

.tp-signup-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem 1rem;
}

.tp-signup-form__col {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	min-width: 0;
}

.tp-signup-form__input {
	width: 100%;
	min-width: 0;
	padding: 0.8rem 1.2rem;
	border: 1.5px solid rgba(27, 42, 65, 0.14);
	border-radius: var(--tp-radius-pill);
	font-family: var(--tp-font-body);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--tp-navy);
	background: var(--tp-white);
	box-shadow: 0 2px 10px rgba(27, 42, 65, 0.07);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.tp-signup-form__input::placeholder {
	color: var(--tp-gray-400);
	font-weight: 500;
}

.tp-signup-form__input:hover {
	border-color: rgba(27, 42, 65, 0.28);
}

.tp-signup-form__input:focus {
	outline: none;
	border-color: var(--tp-navy);
	box-shadow:
		0 0 0 3px rgba(255, 210, 74, 0.5),
		0 2px 10px rgba(27, 42, 65, 0.1);
}

.tp-signup-form__col .tp-btn {
	width: 100%;
	min-height: 2.75rem;
	padding: 0.72rem 1rem;
	font-size: 0.8125rem;
	letter-spacing: 0.01em;
	justify-content: center;
	gap: 0.4rem;
}

.tp-signup-form__submit {
	white-space: nowrap;
}

.tp-signup .tp-signup-form__submit.tp-btn--yellow {
	font-weight: 800;
	box-shadow: 0 4px 14px rgba(27, 42, 65, 0.16);
}

.tp-signup .tp-signup-form__submit.tp-btn--yellow:hover {
	box-shadow: 0 6px 18px rgba(27, 42, 65, 0.22);
}

.tp-signup-form__wa::before {
	content: "";
	flex-shrink: 0;
	width: 1.05rem;
	height: 1.05rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.435 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z'/%3E%3C/svg%3E") center / contain no-repeat;
	opacity: 0.95;
}

.tp-signup-form__wa:hover {
	box-shadow: 0 6px 18px rgba(27, 42, 65, 0.28);
}

.tp-signup-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	margin: 1rem 0 0;
	padding-top: 0.85rem;
	border-top: 1px solid rgba(27, 42, 65, 0.1);
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.45;
	color: rgba(27, 42, 65, 0.85);
	cursor: pointer;
}

.tp-signup-form__consent input {
	margin-top: 0.2rem;
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
	accent-color: var(--tp-navy);
	border-radius: 4px;
}

.tp-signup-form__message {
	margin: 0.5rem 0 0;
	font-size: 0.8rem;
	font-weight: 600;
}

.tp-signup-form__message.is-success {
	color: var(--tp-navy);
}

.tp-signup-form__message.is-error {
	color: var(--tp-red);
}

.tp-signup-form__hp {
	position: absolute;
	left: -9999px;
	opacity: 0;
	pointer-events: none;
}

.tp-signup-form--compact {
	max-width: none;
}

.tp-signup-form--compact .tp-signup-form__grid {
	grid-template-columns: 1fr;
	gap: 1rem;
}

@media (max-width: 720px) {
	.tp-signup-form__grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
}

.tp-signup__photo {
	position: relative;
	z-index: 1;
	margin: -1rem -1rem -1rem 0;
}

.tp-signup__photo img {
	max-height: 280px;
	width: auto;
	display: block;
	object-fit: contain;
}

/* ── Trustpilot reviews ── */
.tp-reviews {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 2rem;
	align-items: start;
}

.tp-reviews__rating-label {
	font-family: var(--tp-font-heading);
	font-size: 1.75rem;
	font-weight: 900;
	margin: 0 0 0.5rem;
}

.tp-reviews__stars {
	color: #00b67a;
	font-size: 1.35rem;
	letter-spacing: 0.05em;
	margin-bottom: 0.35rem;
}

.tp-reviews__stars .tp-reviews__half {
	opacity: 0.45;
}

.tp-reviews__count {
	margin: 0 0 1rem;
	font-size: 0.8125rem;
	color: var(--tp-gray-500);
}

.tp-reviews__brand {
	margin: 0;
	font-weight: 700;
	font-size: 0.9375rem;
	color: var(--tp-navy);
}

.tp-reviews__brand span { color: #00b67a; }

.tp-reviews-slider {
	--tp-reviews-gap: 1rem;
	--tp-reviews-per: 3;
	position: relative;
	min-width: 0;
	padding-inline: 2.75rem;
}

.tp-reviews-slider__viewport {
	overflow: hidden;
	width: 100%;
}

.tp-reviews-slider__track {
	position: relative;
}

.tp-reviews-slider--active .tp-reviews-slider__track {
	display: flex;
	align-items: stretch;
	gap: var(--tp-reviews-gap);
	width: 100%;
	transition: transform 0.45s var(--tp-ease);
}

.tp-reviews-slider--active .tp-reviews__card {
	position: relative;
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	flex: 0 0 calc((100% - (var(--tp-reviews-per) - 1) * var(--tp-reviews-gap)) / var(--tp-reviews-per));
	width: calc((100% - (var(--tp-reviews-per) - 1) * var(--tp-reviews-gap)) / var(--tp-reviews-per));
	max-width: none;
	min-width: 0;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}

.tp-reviews-slider--active .tp-reviews__card p {
	flex: 1 1 auto;
}

@media (max-width: 1199px) {
	.tp-reviews-slider {
		--tp-reviews-per: 2;
	}
}

@media (max-width: 767px) {
	.tp-reviews-slider {
		--tp-reviews-per: 1;
		padding-inline: 2.35rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tp-reviews-slider--active .tp-reviews-slider__track {
		transition: none;
	}
}

.tp-reviews-slider__arrow {
	position: absolute;
	top: 42%;
	transform: translateY(-50%);
	z-index: 2;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	border: 1px solid var(--tp-gray-100);
	background: var(--tp-white);
	box-shadow: 0 8px 20px rgba(27, 42, 65, 0.1);
	font-size: 1.35rem;
	line-height: 1;
	color: var(--tp-navy);
	cursor: pointer;
}

.tp-reviews-slider__arrow:hover,
.tp-reviews-slider__arrow:focus-visible {
	background: var(--tp-yellow);
	border-color: var(--tp-yellow);
}

.tp-reviews-slider__arrow--prev { left: 0; }
.tp-reviews-slider__arrow--next { right: 0; }

.tp-reviews-slider__arrow[hidden] {
	display: none;
}

.tp-reviews-slider__dots {
	display: flex;
	justify-content: center;
	gap: 0.4rem;
	margin: 0.85rem 0 0;
	padding: 0;
}

.tp-reviews-slider__dots[hidden] {
	display: none;
}

.tp-reviews-slider__dots .tp-slider-dot[hidden] {
	display: none;
}

.tp-reviews-slider__dots .tp-slider-dot {
	width: 0.55rem;
	height: 0.55rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--tp-gray-100);
	cursor: pointer;
}

.tp-reviews-slider__dots .tp-slider-dot.is-active {
	background: #00b67a;
	width: 1.15rem;
}

.tp-reviews__card {
	background: var(--tp-white);
	border: 1px solid var(--tp-gray-100);
	border-radius: var(--tp-radius-md);
	padding: 1.35rem 1.25rem 1.25rem;
}

.tp-reviews__card-stars {
	color: #00b67a;
	font-size: 0.875rem;
	letter-spacing: 0.05em;
	margin-bottom: 0.25rem;
}

.tp-reviews__card time {
	font-size: 0.6875rem;
	color: var(--tp-gray-400);
}

.tp-reviews__card h3 {
	font-size: 0.875rem;
	margin: 0.35rem 0 0.5rem;
}

.tp-reviews__card p {
	margin: 0 0 0.65rem;
	font-size: 0.75rem;
	line-height: 1.5;
	color: var(--tp-gray-500);
}

.tp-reviews__card cite {
	font-style: normal;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--tp-navy);
}

/* ── Services (legacy bloque — otras páginas) ── */
.tp-services--petmania {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	border-radius: var(--tp-radius-xl);
	overflow: hidden;
	box-shadow: var(--tp-shadow-soft);
	min-height: 320px;
}

.tp-services--petmania .tp-services__media img {
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
	display: block;
}

.tp-services--petmania .tp-services__content {
	background: var(--tp-yellow);
	padding: 2.25rem 2rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.tp-services__icon { margin-bottom: 0.65rem; }

.tp-services--petmania .tp-services__content h2 {
	font-size: 1.55rem;
	margin: 0 0 0.65rem;
	line-height: 1.15;
	max-width: 16rem;
}

.tp-services--petmania .tp-services__content p {
	margin: 0 0 1.35rem;
	line-height: 1.55;
	font-size: 0.8125rem;
	color: var(--tp-navy);
	opacity: 0.8;
	max-width: 18rem;
}

.tp-services__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1.25rem;
}

.tp-link-more--viewall {
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--tp-navy);
	text-decoration: none;
}

.tp-link-more--viewall:hover { text-decoration: underline; }

/* ── Footer PetMania ── */
.tp-footer {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(180deg, rgba(250, 212, 220, 0.35) 0%, var(--tp-gray-50) 28%, var(--tp-gray-50) 100%);
	color: var(--tp-navy);
	padding: 2rem 0 1.25rem;
	margin-top: 0;
	border-top: 3px solid var(--tp-yellow);
}

.tp-footer__inner {
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
	padding-inline: clamp(1rem, 2.5vw, 1.75rem);
}

/* Garantías — fila superior equilibrada */
.tp-footer__trust {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.85rem;
}

.tp-footer__trust-card {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 1rem 1.1rem;
	background: var(--tp-white);
	border: 1px solid var(--tp-gray-100);
	border-radius: var(--tp-radius-md);
	box-shadow: var(--tp-shadow-soft);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tp-footer__trust-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(27, 42, 65, 0.1);
}

.tp-footer__trust-icon {
	width: 2.25rem;
	height: 2.25rem;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--tp-yellow);
	border-radius: 12px;
	background-size: 1.2rem;
	background-position: center;
	background-repeat: no-repeat;
}

.tp-footer__trust-card strong {
	display: block;
	font-family: var(--tp-font-heading);
	font-size: 0.8125rem;
	font-weight: 800;
	color: var(--tp-navy);
	margin-bottom: 0.2rem;
}

.tp-footer__trust-card p {
	margin: 0;
	font-size: 0.6875rem;
	line-height: 1.45;
	color: var(--tp-gray-500);
}

/* Panel único: marca + enlaces integrados */
.tp-footer__panel {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) minmax(0, 2.85fr);
	gap: 0;
	align-items: stretch;
	padding: 1.75rem 2rem;
	background: var(--tp-white);
	border: 1px solid var(--tp-gray-100);
	border-radius: var(--tp-radius-lg);
	box-shadow: var(--tp-shadow-soft);
}

.tp-footer__brand {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	padding-right: 2rem;
	border-right: 1px solid var(--tp-gray-100);
	min-width: 0;
}

.tp-footer__brand-intro {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.tp-footer__logo {
	margin: 0;
}

.tp-footer__tagline {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--tp-gray-500);
	line-height: 1.45;
}

.tp-footer__brand-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem 0.75rem;
}

.tp-footer__rating-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0;
	padding: 0.35rem 0.65rem;
	background: var(--tp-gray-50);
	border-radius: var(--tp-radius-pill);
	font-size: 0.6875rem;
	font-weight: 700;
	color: var(--tp-navy);
	flex-shrink: 0;
}

.tp-footer__rating-stars {
	color: var(--tp-yellow);
	font-size: 0.625rem;
	letter-spacing: 0.06em;
	filter: drop-shadow(0 0 1px var(--tp-navy));
}

.tp-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0;
}

.tp-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--tp-gray-50);
	border: 1px solid var(--tp-gray-100);
	color: var(--tp-navy);
	transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.tp-footer__social a:hover {
	background: var(--tp-yellow);
	border-color: var(--tp-yellow);
	transform: translateY(-2px);
}

.tp-footer__social svg {
	width: 14px;
	height: 14px;
}

.tp-footer__contact-list {
	list-style: none;
	margin: 0;
	padding: 0.75rem 0 0;
	border-top: 1px dashed var(--tp-gray-100);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex: 1;
}

.tp-footer__contact-list li {
	display: grid;
	grid-template-columns: 4.25rem minmax(0, 1fr);
	gap: 0.35rem 0.5rem;
	align-items: baseline;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--tp-navy);
	line-height: 1.35;
	min-width: 0;
}

.tp-footer__contact-label {
	font-size: 0.5625rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--tp-gray-400);
}

.tp-footer__contact-list a {
	color: inherit;
	text-decoration: none;
	word-break: break-word;
}

.tp-footer__contact-list a:hover {
	text-decoration: underline;
}

.tp-footer__wa-btn {
	display: inline-flex;
	align-self: flex-start;
	justify-content: center;
	padding: 0.55rem 1.25rem;
	font-size: 0.8125rem;
	margin-top: auto;
}

.tp-footer__nav {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem 1.75rem;
	padding-left: 2rem;
	align-content: start;
}

.tp-footer__col-title {
	font-family: var(--tp-font-heading);
	font-size: 0.8125rem;
	font-weight: 800;
	color: var(--tp-navy);
	margin: 0 0 0.85rem;
	padding-bottom: 0.5rem;
	border-bottom: 3px solid var(--tp-yellow);
	display: inline-block;
	min-width: 3.5rem;
}

.tp-footer__col-title a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: inherit;
	text-decoration: none;
}

.tp-footer__col-title a:hover {
	color: var(--tp-navy);
}

.tp-footer__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tp-footer__col li + li {
	margin-top: 0;
}

.tp-footer__col ul a {
	display: flex;
	align-items: center;
	min-height: 44px;
	color: var(--tp-gray-500);
	text-decoration: none;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.35;
	padding: 0.35rem 0;
	transition: color 0.15s ease;
}

.tp-footer__col ul a:hover {
	color: var(--tp-navy);
}

.tp-footer__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--tp-gray-100);
	font-size: 0.6875rem;
	color: var(--tp-gray-500);
}

.tp-footer__copy-wrap {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	max-width: 22rem;
}

.tp-footer__copy {
	margin: 0;
	line-height: 1.5;
}

.tp-footer__credit {
	margin: 0;
	line-height: 1.45;
}

.tp-footer__credit a {
	color: inherit;
	text-decoration: none;
	font-weight: 500;
}

.tp-footer__credit a:hover,
.tp-footer__credit a:focus-visible {
	color: var(--tp-navy);
	text-decoration: underline;
}

.tp-footer__bar-end {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.5rem;
}

.tp-footer__pay {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tp-footer__pay li {
	font-size: 0.5625rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	padding: 0.3rem 0.5rem;
	border-radius: 6px;
	background: var(--tp-white);
	border: 1px solid var(--tp-gray-100);
	color: var(--tp-gray-500);
}

.tp-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tp-footer__legal a {
	color: var(--tp-gray-500);
	text-decoration: none;
	font-weight: 600;
}

.tp-footer__legal a:hover {
	color: var(--tp-navy);
}

@media (max-width: 1100px) {
	.tp-footer__panel {
		grid-template-columns: 1fr;
		padding: 1.5rem 1.35rem;
	}
	.tp-footer__brand {
		padding-right: 0;
		padding-bottom: 1.5rem;
		border-right: none;
		border-bottom: 1px solid var(--tp-gray-100);
	}
	.tp-footer__nav {
		padding-left: 0;
		padding-top: 1.5rem;
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem 2rem;
	}
	.tp-footer__wa-btn {
		align-self: stretch;
		width: 100%;
	}
}

@media (max-width: 768px) {
	.tp-footer__trust {
		grid-template-columns: 1fr;
	}
	.tp-footer__contact-list li {
		grid-template-columns: 1fr;
		gap: 0.1rem;
	}
	.tp-footer__nav {
		display: none;
	}
	.tp-footer__brand {
		padding-bottom: 0;
		border-bottom: none;
	}
}

@media (max-width: 576px) {
	.tp-footer__nav {
		grid-template-columns: 1fr 1fr;
	}
	.tp-footer__bar {
		flex-direction: column;
		align-items: flex-start;
	}
	.tp-footer__bar-end {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 400px) {
	.tp-footer__nav {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tp-footer__trust-card,
	.tp-footer__social a,
	.tp-footer__col a { transition: none; }
	.tp-footer__trust-card:hover { transform: none; }
	.tp-storefront__tile img,
	.tp-storefront__tile:hover img,
	.tp-storefront__tile:focus-visible img {
		transition: none;
		transform: none;
	}
}

/* ── Responsive ── */
@media (max-width: 1280px) {
	.tp-categories--petmania { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.tp-categories--petmania { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tp-cat-card { min-height: 240px; }
	.tp-storefront__grid {
		grid-template-columns: 1fr 1fr 1fr;
		grid-template-rows: minmax(180px, 36vw) minmax(220px, 44vw);
		grid-template-areas:
			"snacks snacks snacks"
			"groom toys food";
	}
	.tp-storefront__head {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 1024px) {
	.tp-pm-header__row {
		grid-template-columns: 1fr auto;
		grid-template-areas: "logo actions" "nav nav" "search search";
	}
	.tp-pm-logo { grid-area: logo; }
	.tp-pm-actions { grid-area: actions; }
	.tp-pm-nav { grid-area: nav; justify-content: flex-start; }
	.tp-pm-search { grid-area: search; max-width: none; }
}

@media (max-width: 900px) {
	.tp-pm-menu-btn {
		display: grid;
	}

	.tp-pm-action--fav {
		display: none;
	}

	.tp-pm-action {
		width: 44px;
		height: 44px;
	}

	.tp-pm-header__row {
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"logo actions"
			"search search";
	}

	.tp-pm-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0.75rem;
		right: 0.75rem;
		z-index: 230;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0.15rem;
		margin-top: 0.4rem;
		padding: 0.55rem;
		background: var(--tp-white);
		border: 1px solid var(--tp-gray-100);
		border-radius: 16px;
		box-shadow: 0 18px 40px rgba(27, 42, 65, 0.16);
	}

	.tp-pm-nav.is-open {
		display: flex;
	}

	.tp-pm-nav a {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		min-height: 48px;
		padding: 0.7rem 1rem;
		border-radius: 12px;
		font-size: 1rem;
		font-weight: 800;
		white-space: normal;
	}

	.tp-pm-nav a:hover,
	.tp-pm-nav a:focus-visible {
		background: var(--tp-yellow);
		opacity: 1;
	}

	body.tp-pm-nav-open {
		overflow: hidden;
	}
}

@media (max-width: 992px) {
	.tp-hero--petmania__wrap {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-areas:
			"copy copy"
			"dog bags";
		min-height: auto;
		gap: 0.5rem 0.25rem;
		padding-inline: 1rem;
	}

	.tp-hero--petmania__copy {
		padding-bottom: 0.5rem;
	}

	.tp-hero--petmania__dog {
		margin-left: 0;
		min-height: 280px;
		justify-content: center;
	}

	.tp-hero--petmania__bags {
		min-height: 280px;
		justify-content: center;
	}

	.tp-hero--petmania__img--dog {
		margin-left: 0;
		object-position: center bottom;
	}

	.tp-hero--petmania__bag--back {
		right: 52%;
		transform: translateY(14px) scale(0.86) rotate(-5deg);
	}

	.tp-hero--petmania__bag--front {
		right: 8%;
	}

	.tp-products--petmania:not(.tp-products--shop) ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0.85rem !important;
	}
}

@media (max-width: 768px) {
	.tp-trust--petmania {
		display: none;
	}

	.tp-hero-slide {
		padding: 0.2rem 2.5rem 1.65rem;
		overflow: hidden;
	}

	.tp-hero--petmania__wrap {
		display: flex;
		flex-direction: column;
		align-items: center;
		min-height: auto;
		gap: 0.35rem;
		padding-inline: 0;
		max-width: 22rem;
		margin-inline: auto;
	}

	.tp-hero--petmania__copy {
		order: 1;
		width: 100%;
		padding: 0.15rem 0 0.65rem;
	}

	.tp-hero--petmania__title-arch {
		width: min(100%, 320px);
	}

	.tp-hero--petmania__sub {
		max-width: none;
		margin-bottom: 0.85rem;
	}

	.tp-hero--petmania__cta {
		width: 100%;
		max-width: 14rem;
	}

	.tp-hero--petmania__scene {
		display: flex;
		order: 2;
		position: relative;
		width: 100%;
		max-width: 20rem;
		min-height: 220px;
		margin-top: 0;
		align-items: flex-end;
		justify-content: center;
		gap: 0;
		overflow: visible;
	}

	.tp-hero--petmania__dog {
		position: relative;
		left: auto;
		bottom: auto;
		flex: 0 1 46%;
		width: auto;
		min-height: 0;
		margin-left: 0;
		display: flex;
		align-items: flex-end;
		justify-content: center;
		z-index: 1;
		overflow: visible;
	}

	.tp-hero--petmania__bags {
		position: relative;
		flex: 0 1 54%;
		min-height: 210px;
		width: auto;
		display: flex;
		align-items: flex-end;
		justify-content: center;
		overflow: visible;
	}

	.tp-hero--petmania__img--dog {
		height: min(220px, 52vw);
		max-width: 100%;
		margin: 0 0 -0.35rem;
		object-position: center bottom;
	}

	.tp-hero--petmania__img--bag {
		height: min(190px, 44vw);
		max-width: 100%;
	}

	.tp-hero--petmania__bag--back {
		right: auto;
		left: 50%;
		transform: translateX(-72%) translateY(10px) scale(0.8) rotate(-6deg);
	}

	.tp-hero--petmania__bag--front {
		right: auto;
		left: 50%;
		transform: translateX(-18%) rotate(4deg);
	}

	.tp-hero-slider__arrow.tp-slider-btn {
		width: 2.35rem;
		height: 2.35rem;
		font-size: 1.15rem;
		font-weight: 800;
		line-height: 0;
		color: var(--tp-navy, #1b2a41);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		background: #fff;
		border-color: rgba(27, 42, 65, 0.18);
		box-shadow: 0 6px 16px rgba(27, 42, 65, 0.18);
	}

	.tp-hero-slider__arrow--prev { left: 0.55rem; right: auto; }
	.tp-hero-slider__arrow--next {
		left: calc(50% + 28vw);
		right: auto;
	}

	.tp-hero-slider__dots {
		bottom: 0.55rem;
		display: flex;
		align-items: center;
		padding: 0.3rem 0.55rem;
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.42);
		backdrop-filter: blur(4px);
	}

	.tp-hero-slider__dots .tp-slider-dot {
		width: 0.5625rem;
		height: 0.5625rem;
		margin: 0 0.3rem;
		background: rgba(27, 42, 65, 0.3);
	}

	.tp-hero-slider__dots .tp-slider-dot.is-active {
		background: var(--tp-navy);
		transform: scale(1.25);
	}

	.tp-trust__grid { grid-template-columns: repeat(2, 1fr); }
	.tp-products__toolbar:not(.tp-products__toolbar--shop) { justify-content: center; text-align: center; }
	.tp-products__toolbar:not(.tp-products__toolbar--shop) .tp-section__title { flex: 1 1 100%; }
	.tp-products__heading { align-items: center; width: 100%; }
	.tp-products__cta { margin-top: 1.35rem; }
	.tp-products__cta .tp-btn { width: 100%; max-width: 22rem; min-width: 0; }
	.tp-products--petmania:not(.tp-products--shop) ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0.85rem !important;
	}

	.tp-products--petmania:not(.tp-products--shop) .woocommerce-loop-product__title {
		font-size: 0.75rem !important;
		padding-inline: 0.65rem 2.25rem !important;
	}

	.tp-products--petmania:not(.tp-products--shop) .tp-product-brand {
		padding-inline: 0.65rem 2.25rem;
		font-size: 0.625rem;
	}

	.tp-products--petmania:not(.tp-products--shop) .price,
	.tp-products--petmania:not(.tp-products--shop) .price del,
	.tp-products--petmania:not(.tp-products--shop) .price ins {
		white-space: nowrap;
		padding-inline: 0.65rem 2.25rem;
	}

	.tp-products--petmania:not(.tp-products--shop) .price ins {
		font-size: 0.9375rem !important;
	}

	.tp-products--petmania:not(.tp-products--shop) .price del {
		font-size: 0.6875rem;
	}
	.tp-pets-strip__track {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tp-pet-card {
		width: 100%;
	}
	.tp-section--flash {
		padding-top: 1.25rem;
		padding-bottom: 1.75rem;
	}

	.tp-flash--petmania {
		flex-direction: column;
		align-items: stretch;
		border-radius: var(--tp-radius-xl);
		padding: 1.35rem 1.25rem 1.5rem;
		text-align: center;
		gap: 0;
		min-height: auto;
	}

	.tp-flash__left {
		flex: none;
		width: 100%;
		justify-content: center;
		align-items: center;
		gap: 0.5rem;
		margin-bottom: 1rem;
	}

	.tp-flash__deal {
		flex-direction: column;
		align-items: center;
		gap: 0.2rem;
	}

	.tp-flash__label {
		font-size: 0.8125rem;
		letter-spacing: 0.05em;
		white-space: normal;
		line-height: 1.15;
	}

	/* Descuento compacto bajo el badge; evita el 50% gigante detrás de bolsas */
	.tp-flash__discount {
		justify-content: center;
		margin-top: 0.15rem;
	}

	.tp-flash__num {
		font-size: 1.35rem;
	}

	.tp-flash__off {
		font-size: 0.6875rem;
		max-width: none;
	}

	.tp-flash__bags {
		flex: none;
		width: min(100%, 15rem);
		height: 9.5rem;
		max-width: none;
		margin: 0 auto 1.25rem;
		align-self: center;
		margin-top: 0;
	}

	.tp-flash__bag {
		height: clamp(7.5rem, 34vw, 10rem);
		bottom: 0;
	}

	.tp-flash__bag--back {
		left: 6%;
	}

	.tp-flash__bag--front {
		right: 6%;
	}

	.tp-flash__copy {
		flex: none;
		width: 100%;
		padding-inline: 0;
		margin-bottom: 1.25rem;
	}

	.tp-flash__copy h3 {
		font-size: 1.0625rem;
		margin-bottom: 0.5rem;
		line-height: 1.35;
	}

	.tp-flash__copy p {
		font-size: 0.9375rem;
		opacity: 1;
		color: rgba(255, 255, 255, 0.96);
		line-height: 1.5;
	}

	.tp-btn--flash {
		width: 100%;
		max-width: none;
		padding: 0.9rem 1.5rem;
		justify-content: center;
		font-size: 0.9375rem;
	}
	.tp-services--petmania { grid-template-columns: 1fr; }
	.tp-svc-showcase__grid { grid-template-columns: repeat(2, 1fr); }
	.tp-svc-icons__grid { grid-template-columns: repeat(2, 1fr); }
	.tp-brands-love__row { grid-template-columns: repeat(4, 1fr); }
	.tp-tips__grid,
	.tp-tips__grid--n3,
	.tp-tips__grid--n4,
	.tp-tips__grid--n5 {
		grid-template-columns: 1fr 1fr;
		grid-auto-rows: auto;
	}
	.tp-tips__grid--n1,
	.tp-tips__grid--n2 {
		grid-template-columns: 1fr;
	}
	.tp-tips__card { min-height: 220px; }
	.tp-tips__card--featured {
		grid-column: 1 / -1;
		grid-row: auto;
		min-height: 340px;
	}
	.tp-tips__grid--n4 .tp-tips__card:not(.tp-tips__card--featured):last-child {
		grid-column: auto;
	}
	.tp-signup__inner { grid-template-columns: 1fr; text-align: center; }
	.tp-signup__copy { padding-left: 0; }
	.tp-signup__photo { margin: 0 auto; }
	.tp-reviews { grid-template-columns: 1fr; }
	.tp-reviews__grid { grid-template-columns: 1fr; }
	.tp-new-pet {
		padding: 1.75rem 0 2rem;
		overflow: visible;
	}

	.tp-new-pet__inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
		width: 100%;
		padding: 1.5rem 1.35rem 1.65rem;
		gap: 0.75rem;
		min-height: auto;
		overflow: hidden;
	}

	.tp-new-pet__photo {
		margin: 0;
		align-self: center;
	}

	.tp-new-pet__photo img {
		height: clamp(6.5rem, 32vw, 8.5rem);
		max-width: min(100%, 11rem);
		width: auto;
		margin-inline: auto;
	}

	.tp-new-pet__divider {
		display: none;
	}

	.tp-new-pet__title {
		white-space: normal;
		font-size: clamp(1.25rem, 5.5vw, 1.5rem);
		line-height: 1.2;
		max-width: 20ch;
		text-wrap: balance;
	}

	.tp-new-pet__copy {
		flex-direction: column;
		align-items: center;
		gap: 1rem;
		width: 100%;
		padding-right: 0;
	}

	.tp-new-pet__subtitle {
		font-size: 0.9375rem;
		line-height: 1.5;
		max-width: 32ch;
		text-wrap: balance;
	}

	.tp-new-pet__link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0.75rem 1.65rem;
		border-radius: var(--tp-radius-pill);
		background: var(--tp-yellow);
		color: var(--tp-navy);
		font-size: 0.875rem;
		text-decoration: none;
		transition: background 0.2s ease, transform 0.12s ease;
	}

	.tp-new-pet__link:hover {
		opacity: 1;
		text-decoration: none;
		background: var(--tp-yellow-bright);
		transform: translateY(-1px);
	}

	.tp-new-pet__doodle--leash { left: 8%; top: 18%; }
	.tp-new-pet__doodle--bowl { left: 12%; bottom: 14%; }
	.tp-new-pet__doodle--mouse { left: 50%; bottom: 8%; transform: translateX(-50%) rotate(12deg); }
	.tp-new-pet__doodle--bone { right: 10%; top: 16%; }
	.tp-new-pet__doodle--fish { right: 8%; bottom: 14%; }
	.tp-carousel-next { display: none; }
}

@media (max-width: 576px) {
	.tp-tips__grid,
	.tp-tips__grid--n2,
	.tp-tips__grid--n3,
	.tp-tips__grid--n4,
	.tp-tips__grid--n5 {
		grid-template-columns: 1fr;
	}
	.tp-tips__card--featured {
		grid-column: 1;
		min-height: 320px;
	}
	.tp-categories--petmania {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.65rem;
	}
	.tp-cat-card {
		min-height: 188px;
		min-width: 0;
		border-radius: 20px;
	}
	.tp-cat-card__img img {
		object-fit: cover;
		object-position: center;
	}
	.tp-cat-card__foot {
		padding: 0.65rem 0.7rem 0.75rem;
		gap: 0.35rem;
		align-items: flex-end;
	}
	.tp-cat-card__meta {
		min-width: 0;
		flex: 1 1 auto;
	}
	.tp-cat-card__eyebrow {
		font-size: 0.5625rem;
		letter-spacing: 0.01em;
		margin-bottom: 0.1rem;
	}
	.tp-cat-card__label {
		font-size: clamp(0.95rem, 4.4vw, 1.125rem);
		line-height: 1.18;
		overflow-wrap: break-word;
		hyphens: manual;
	}
	.tp-cat-card__arrow {
		width: 1.75rem;
		height: 1.75rem;
	}
	.tp-cat-card__arrow svg {
		width: 11px;
		height: 11px;
	}
	.tp-storefront__grid {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: minmax(152px, 42vw) minmax(200px, 58vw) minmax(180px, 48vw);
		grid-template-areas:
			"snacks snacks"
			"toys food"
			"groom groom";
		gap: 8px;
	}
	.tp-storefront__label {
		font-size: 0.9375rem;
		left: 12px;
		right: 12px;
		bottom: 10px;
	}
	.tp-trust__grid { grid-template-columns: 1fr; }
	.tp-products--petmania:not(.tp-products--shop) ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0.75rem !important;
	}
	.tp-pet-card {
		width: 100%;
		padding: 0;
	}

	.tp-pet-card__media {
		width: 100%;
		height: 100%;
	}
	.tp-svc-showcase__grid,
	.tp-svc-icons__grid { grid-template-columns: 1fr; }
	.tp-brands-love__row { grid-template-columns: repeat(2, 1fr); }

	.tp-flash--petmania {
		padding: 1.5rem 1.15rem 1.65rem;
	}

	.tp-flash__left {
		margin-bottom: 1.15rem;
	}

	.tp-flash__tag svg {
		width: 1.65rem;
	}

	.tp-flash__label {
		font-size: 0.875rem;
	}

	.tp-flash__bags {
		width: min(100%, 13.75rem);
		height: 10.25rem;
		margin-bottom: 1.35rem;
	}

	.tp-flash__bag {
		height: clamp(8rem, 38vw, 10.75rem);
	}

	.tp-flash__copy {
		margin-bottom: 1.35rem;
	}

	.tp-flash__copy h3 {
		font-size: 1.125rem;
		margin-bottom: 0.55rem;
	}

	.tp-flash__copy p {
		font-size: 1rem;
	}

	.tp-btn--flash {
		padding: 1rem 1.5rem;
		font-size: 1rem;
	}

	.tp-new-pet {
		padding: 1.5rem 0 1.75rem;
	}

	.tp-new-pet__inner {
		padding: 1.35rem 1.15rem 1.5rem;
		gap: 0.65rem;
	}

	.tp-new-pet__photo img {
		height: clamp(5.75rem, 30vw, 7.25rem);
		max-width: min(100%, 9.5rem);
	}

	.tp-new-pet__title {
		font-size: 1.2rem;
		max-width: none;
	}

	.tp-new-pet__subtitle {
		font-size: 0.875rem;
		max-width: none;
	}

	.tp-new-pet__link {
		width: 100%;
		max-width: 14rem;
		padding: 0.85rem 1.5rem;
	}
}

/* ── Hero split — sistema unificado de banners ── */
.tp-hero-split {
	position: relative;
	overflow: hidden;
	padding: 0 0 1.25rem;
	margin-bottom: 1.25rem;
}

.tp-hero-split__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 50% 70% at 78% 42%, rgba(255, 211, 61, 0.18) 0%, transparent 68%),
		radial-gradient(ellipse 45% 55% at 18% 75%, rgba(255, 182, 193, 0.12) 0%, transparent 62%);
}

.tp-hero-split > .tp-container.tp-hero-split__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 400px);
	gap: clamp(1.25rem, 2.5vw, 2rem);
	align-items: center;
	width: min(1120px, calc(100% - (var(--tp-gutter, 1rem) * 2)));
	max-width: min(1120px, calc(100% - (var(--tp-gutter, 1rem) * 2)));
	margin-inline: auto;
	padding-inline: clamp(0.75rem, 2vw, 1.25rem);
}

.tp-hero-split__content {
	min-width: 0;
	width: 100%;
	align-self: center;
}

.tp-hero-split__visual {
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	width: 100%;
	max-width: 400px;
	margin-inline: auto;
}

.tp-hero-split__eyebrow {
	display: inline-flex;
	align-items: center;
	margin: 0 0 0.65rem;
	padding: 0.35rem 0.75rem;
	border-radius: var(--tp-radius-pill, 999px);
	background: #fff;
	border: 1px solid rgba(11, 31, 51, 0.08);
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--tp-text-muted, #4a5568);
}

.tp-hero-split__badge {
	display: inline-block;
	background: #fff;
	border: 1px solid rgba(11, 31, 51, 0.08);
	border-radius: var(--tp-radius-pill, 999px);
	padding: 0.3rem 0.75rem;
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--tp-text-muted, #4a5568);
	margin-bottom: 0.65rem;
}

.tp-hero-split__title {
	font-family: var(--tp-font-display, 'Nunito', sans-serif);
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 800;
	color: var(--tp-navy, #0b1f33);
	margin: 0.35rem 0 0.45rem;
	line-height: 1.12;
	letter-spacing: -0.02em;
}

.tp-hero-split__desc {
	font-size: clamp(0.98rem, 1.5vw, 1.05rem);
	color: var(--tp-text-muted, #4a5568);
	max-width: 62ch;
	margin: 0 0 0.65rem;
	line-height: 1.6;
}

.tp-hero-split__desc--extra {
	font-size: clamp(0.9375rem, 1.4vw, 1rem);
	color: var(--tp-text-muted, #5a6578);
	margin-bottom: 1rem;
}

.tp-hero-split__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0.5rem 0 0.85rem;
}

.tp-hero-split__footer {
	margin-top: 0.85rem;
}

/* Collage circular de mascotas */
.tp-hero-collage {
	position: relative;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 1 / 0.92;
	min-height: clamp(240px, 28vw, 340px);
}

.tp-hero-collage::before {
	content: '';
	position: absolute;
	inset: 6% 4%;
	background: linear-gradient(
		145deg,
		rgba(255, 211, 61, 0.28) 0%,
		rgba(255, 182, 193, 0.22) 45%,
		rgba(126, 200, 240, 0.22) 100%
	);
	border-radius: 50% 42% 58% 44% / 44% 56% 42% 52%;
	z-index: 0;
}

.tp-hero-collage__badge {
	position: absolute;
	top: 4%;
	left: 8%;
	z-index: 4;
	background: var(--tp-yellow, #ffd33d);
	color: var(--tp-navy, #0b1f33);
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 0.4rem 0.85rem;
	border-radius: var(--tp-radius-pill, 999px);
	box-shadow: 0 6px 18px rgba(11, 31, 51, 0.12);
}

.tp-hero-collage__pet {
	position: absolute;
	border-radius: 50%;
	object-fit: cover;
	border: 5px solid #fff;
	box-shadow: 0 16px 40px rgba(11, 31, 51, 0.15);
	transition: transform 0.35s ease;
}

.tp-hero-collage:hover .tp-hero-collage__pet--dog { transform: translateY(-52%) scale(1.03); }
.tp-hero-collage:hover .tp-hero-collage__pet--cat { transform: scale(1.04); }
.tp-hero-collage:hover .tp-hero-collage__pet--care { transform: scale(1.03); }

.tp-hero-collage__pet--dog {
	width: 58%;
	aspect-ratio: 1;
	left: 0;
	top: 50%;
	transform: translateY(-52%);
	z-index: 2;
}

.tp-hero-collage__pet--cat {
	width: 46%;
	aspect-ratio: 1;
	right: 0;
	top: 0;
	z-index: 3;
}

.tp-hero-collage__pet--care {
	width: 50%;
	aspect-ratio: 1;
	right: 2%;
	bottom: 0;
	z-index: 1;
}

/* Foto con blob (servicios) */
.tp-hero-photo {
	position: relative;
	text-align: center;
	width: 100%;
}

.tp-hero-photo img {
	position: relative;
	z-index: 1;
	max-width: 100%;
	height: auto;
	border-radius: var(--tp-radius, 16px);
}

/* Variantes de fondo */
.tp-hero-split--blog {
	background: linear-gradient(135deg, #fff5f8 0%, #ffffff 50%, #f0f6ff 100%);
}

.tp-hero-split--services,
.tp-hero-split--booking {
	background: var(--tp-white, #fff);
	padding-top: 0.25rem;
}

.tp-hero-split--services .tp-hero-split__title,
.tp-hero-split--booking .tp-hero-split__title {
	font-size: clamp(2rem, 4.5vw, 3.25rem);
}

.tp-hero-split--brands {
	background: linear-gradient(135deg, rgba(126, 200, 240, 0.2) 0%, #fff 60%);
	border-bottom: 1px solid rgba(11, 31, 51, 0.06);
}

.tp-hero-split--envios {
	background: linear-gradient(135deg, rgba(255, 210, 74, 0.15) 0%, #fff 50%);
	border-bottom: 1px solid rgba(11, 31, 51, 0.06);
}

.tp-hero-split--contact {
	background:
		radial-gradient(ellipse 80% 60% at 15% 0%, rgba(250, 212, 220, 0.7) 0%, transparent 55%),
		linear-gradient(180deg, #fff 0%, var(--tp-gray-50, #f8f9fa) 100%);
	padding-bottom: 2rem;
}

.tp-hero-split--about {
	background: linear-gradient(135deg, #fff5f8 0%, #fff 55%, #f0f6ff 100%);
}

.tp-hero-split--minimal {
	background: linear-gradient(135deg, var(--tp-gray-50, #f8f9fa) 0%, #fff 55%, rgba(255, 210, 74, 0.12) 100%);
	border-bottom: 1px solid rgba(11, 31, 51, 0.06);
}

.tp-hero-split--shop .tp-hero-split__inner {
	padding-block: 0.5rem;
}

@media (min-width: 961px) {
	.tp-hero-split__visual {
		margin-left: -0.5rem;
	}
}

@media (max-width: 960px) {
	.tp-hero-split > .tp-container.tp-hero-split__inner {
		grid-template-columns: 1fr;
		gap: 1.25rem;
		width: 100%;
		max-width: 100%;
	}

	.tp-hero-split__visual {
		margin-left: 0;
		max-width: min(400px, 88vw);
	}
}

/* ══════════════════════════════════════════════════════════════
   Tablet — iPad portrait & landscape (768px–1199px)
   Evita el layout de teléfono en iPad Mini (768) y el desktop
   apretado en 834–1024. Destinos táctiles 44px.
   ══════════════════════════════════════════════════════════════ */
@media (min-width: 768px) and (max-width: 1199px) {
	:root {
		--tp-gutter: 1.5rem;
	}

	.tp-section {
		padding: 2.25rem 1.5rem;
	}

	.tp-section--cats {
		padding-top: 1.75rem;
		padding-bottom: 1.75rem;
	}

	.tp-section--store {
		padding-top: 1.5rem;
		padding-bottom: 2rem;
	}

	.tp-section--products {
		padding-top: 1.5rem;
		padding-bottom: 2.25rem;
	}

	.tp-section--offers {
		padding-top: 1.5rem;
		padding-bottom: 2rem;
	}

	.tp-section--flash {
		padding-top: 1.5rem;
		padding-bottom: 1.75rem;
	}

	/* ── Utility bar: compacta, más táctil ── */
	.tp-utility-bar {
		font-size: 0.75rem;
	}

	.tp-utility-bar__inner {
		padding: 0.45rem 0;
		gap: 0.75rem;
	}

	.tp-utility-bar__links {
		gap: 0.35rem;
		flex-wrap: wrap;
	}

	.tp-utility-bar__links a {
		display: inline-flex;
		align-items: center;
		min-height: 32px;
		padding: 0.2rem 0.55rem;
		border-radius: var(--tp-radius-pill);
	}

	.tp-utility-bar__social {
		display: none;
	}

	/* ── Header: logo + acciones, nav en píldora, búsqueda protagonista ── */
	.tp-pm-header__row {
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"logo actions"
			"nav nav"
			"search search";
		gap: 0.75rem 1rem;
		padding: 0.85rem 0 1rem;
	}

	.tp-pm-logo {
		grid-area: logo;
		font-size: 1.5rem;
	}

	.tp-pm-actions {
		grid-area: actions;
		gap: 0.35rem;
	}

	.tp-pm-action {
		width: 44px;
		height: 44px;
	}

	.tp-pm-nav {
		grid-area: nav;
		justify-content: center;
		gap: 0.25rem;
		padding: 0.25rem;
		background: var(--tp-gray-50);
		border: 1px solid var(--tp-gray-100);
		border-radius: var(--tp-radius-pill);
	}

	.tp-pm-nav a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 0 1rem;
		border-radius: var(--tp-radius-pill);
		font-size: 0.875rem;
		font-weight: 800;
		transition: background 0.15s ease, color 0.15s ease;
	}

	.tp-pm-nav a:hover,
	.tp-pm-nav a:focus-visible {
		background: var(--tp-yellow);
		color: var(--tp-navy);
		opacity: 1;
	}

	.tp-pm-search {
		grid-area: search;
		max-width: none;
		justify-self: stretch;
		padding: 0.45rem 0.55rem 0.45rem 1.25rem;
		background: #fff;
		border: 1.5px solid var(--tp-gray-100);
		box-shadow: 0 4px 16px rgba(27, 42, 65, 0.06);
	}

	.tp-pm-search input {
		font-size: 0.9375rem;
		min-height: 32px;
	}

	.tp-pm-search button {
		width: 40px;
		height: 40px;
		border-radius: 50%;
		background: var(--tp-yellow);
		color: var(--tp-navy);
	}

	/* ── Hero: copy arriba + escena teatral (perro + bolsas) ── */
	.tp-hero-slide {
		padding: 0.25rem 2.75rem 1.75rem;
		overflow: visible;
	}

	.tp-hero--petmania__wrap {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-areas: "copy" "scene";
		align-items: center;
		min-height: auto;
		gap: 0.5rem;
		padding-inline: 0.5rem;
		max-width: 44rem;
		margin-inline: auto;
	}

	.tp-hero--petmania__copy {
		grid-area: copy;
		order: 1;
		width: 100%;
		padding: 0.5rem 1rem 0.75rem;
		text-align: center;
	}

	.tp-hero--petmania__title-arch {
		width: min(100%, 28rem);
	}

	.tp-hero--petmania__title-line {
		font-size: clamp(1.05rem, 2.4vw, 1.35rem);
		letter-spacing: 0.06em;
	}

	.tp-hero--petmania__sub {
		max-width: 28rem;
		font-size: 1rem;
		margin-bottom: 1.15rem;
	}

	.tp-hero--petmania__cta {
		min-width: 12rem;
		min-height: 48px;
		padding: 0.85rem 2rem;
		font-size: 0.9375rem;
		box-shadow: 0 8px 20px rgba(27, 42, 65, 0.18);
	}

	.tp-hero--petmania__scene {
		display: flex;
		grid-area: scene;
		order: 2;
		position: relative;
		width: 100%;
		max-width: 36rem;
		min-height: 280px;
		margin: 0 auto;
		align-items: flex-end;
		justify-content: center;
		gap: 0;
		overflow: visible;
	}

	.tp-hero--petmania__dog,
	.tp-hero--petmania__bags {
		grid-area: auto;
		position: relative;
		left: auto;
		bottom: auto;
		min-height: 0;
		margin: 0;
		overflow: visible;
	}

	.tp-hero--petmania__dog {
		flex: 0 1 46%;
		display: flex;
		align-items: flex-end;
		justify-content: center;
		z-index: 1;
	}

	.tp-hero--petmania__bags {
		flex: 0 1 54%;
		min-height: 250px;
		display: flex;
		align-items: flex-end;
		justify-content: center;
	}

	.tp-hero--petmania__img--dog {
		height: min(300px, 38vw);
		max-width: 100%;
		margin: 0 0 -0.5rem;
		object-position: center bottom;
		filter: drop-shadow(0 18px 28px rgba(27, 42, 65, 0.16));
	}

	.tp-hero--petmania__img--bag {
		height: min(250px, 32vw);
		max-width: 100%;
	}

	.tp-hero--petmania__bag--back {
		right: auto;
		left: 50%;
		transform: translateX(-68%) translateY(8px) scale(0.88) rotate(-6deg);
	}

	.tp-hero--petmania__bag--front {
		right: auto;
		left: 50%;
		transform: translateX(-12%) rotate(4deg);
	}

	.tp-hero-slider__arrow.tp-slider-btn {
		width: 2.75rem;
		height: 2.75rem;
		font-size: 1.35rem;
		color: var(--tp-navy, #1b2a41);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		background: #fff;
		border-color: rgba(27, 42, 65, 0.16);
		box-shadow: 0 8px 20px rgba(27, 42, 65, 0.18);
	}

	.tp-hero-slider__arrow--prev { left: 0.65rem; }
	.tp-hero-slider__arrow--next { right: 0.65rem; }

	.tp-hero-slider__dots {
		bottom: 0.75rem;
		display: flex;
		align-items: center;
		padding: 0.35rem 0.7rem;
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.5);
		backdrop-filter: blur(6px);
	}

	/* ── Trust: visible en tablet, chips con icono ── */
	.tp-trust--petmania {
		display: block;
	}

	.tp-trust__grid {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 0.65rem;
		padding: 1.15rem 0;
	}

	.tp-trust__item {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 0.5rem;
		padding: 0.85rem 0.5rem;
		background: var(--tp-gray-50);
		border: 1px solid var(--tp-gray-100);
		border-radius: var(--tp-radius-md);
		font-size: 0.6875rem;
		line-height: 1.35;
	}

	.tp-trust__icon {
		width: 2.25rem;
		height: 2.25rem;
		border-radius: 50%;
		background-color: var(--tp-yellow);
		background-size: 1.15rem;
		opacity: 1;
	}

	.tp-trust__item strong {
		font-size: 0.8125rem;
		margin-bottom: 0.15rem;
	}

	/* ── Categorías: mosaico 3+2 ── */
	.tp-categories--petmania {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 1rem;
	}

	.tp-cat-card:nth-child(1),
	.tp-cat-card:nth-child(2),
	.tp-cat-card:nth-child(3),
	.tp-cat-card:nth-child(4),
	.tp-cat-card:nth-child(5),
	.tp-cat-card:nth-child(6) {
		grid-column: span 2;
	}

	.tp-cat-card {
		min-height: 280px;
		box-shadow: 0 12px 32px rgba(27, 42, 65, 0.1);
	}

	.tp-cat-card__img img {
		max-height: none;
		width: 100%;
	}

	.tp-cat-card__label {
		font-size: 1.75rem;
	}

	.tp-cat-card__arrow {
		width: 2.5rem;
		height: 2.5rem;
	}

	/* ── Productos homepage: 3 columnas con más aire ── */
	.tp-products__toolbar:not(.tp-products__toolbar--shop) {
		justify-content: space-between;
		text-align: left;
	}

	.tp-products__toolbar:not(.tp-products__toolbar--shop) .tp-section__title {
		flex: 1 1 auto;
		font-size: 1.75rem;
	}

	.tp-pet-tabs button {
		min-height: 40px;
		padding: 0.5rem 1.5rem;
		font-size: 0.8125rem;
	}

	.tp-products--petmania:not(.tp-products--shop) ul.products,
	.tp-products--petmania:not(.tp-products--shop) ul.products.columns-1,
	.tp-products--petmania:not(.tp-products--shop) ul.products.columns-2,
	.tp-products--petmania:not(.tp-products--shop) ul.products.columns-3,
	.tp-products--petmania:not(.tp-products--shop) ul.products.columns-4 {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 1.15rem !important;
	}

	.tp-products--petmania:not(.tp-products--shop) li.product {
		border-radius: 14px;
		padding-bottom: 3.5rem !important;
	}

	.tp-products--petmania:not(.tp-products--shop) .woocommerce-loop-product__title {
		font-size: 0.875rem !important;
		padding-inline: 0.85rem 2.5rem !important;
		-webkit-line-clamp: 2;
	}

	.tp-products--petmania:not(.tp-products--shop) .tp-product-brand {
		padding-inline: 0.85rem 2.5rem;
		font-size: 0.6875rem;
	}

	.tp-products--petmania:not(.tp-products--shop) .price,
	.tp-products--petmania:not(.tp-products--shop) .price del,
	.tp-products--petmania:not(.tp-products--shop) .price ins {
		white-space: nowrap;
		padding-inline: 0.85rem 2.5rem;
	}

	.tp-products--petmania:not(.tp-products--shop) .price ins {
		font-size: 1.0625rem !important;
	}

	.tp-products--petmania:not(.tp-products--shop) .tp-add-icon {
		width: 2.35rem !important;
		height: 2.35rem !important;
	}

	.tp-carousel-next {
		display: grid;
		place-items: center;
		width: 2.75rem;
		height: 2.75rem;
		right: -0.25rem;
	}

	/* ── Flash: banda horizontal impactante, no apilada ── */
	.tp-flash--petmania {
		flex-direction: row;
		align-items: center;
		text-align: left;
		border-radius: var(--tp-radius-xl);
		padding: 1.15rem 1.5rem 1.15rem 1.35rem;
		gap: 1rem;
		min-height: 7.5rem;
		overflow: visible;
	}

	.tp-flash__left {
		flex: 0 0 auto;
		width: auto;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		gap: 0.35rem;
		margin-bottom: 0;
	}

	.tp-flash__deal {
		flex-direction: row;
		align-items: center;
		gap: 0.55rem;
	}

	.tp-flash__label {
		font-size: 0.75rem;
		letter-spacing: 0.06em;
		white-space: nowrap;
	}

	.tp-flash__discount {
		justify-content: flex-start;
		margin-top: 0;
	}

	.tp-flash__num {
		font-size: 2.5rem;
	}

	.tp-flash__off {
		font-size: 0.75rem;
		max-width: 2.5rem;
	}

	.tp-flash__bags {
		flex: 0 0 9.5rem;
		width: 9.5rem;
		height: 5.5rem;
		max-width: none;
		margin: -2.25rem 0.25rem 0;
		align-self: flex-end;
	}

	.tp-flash__bag {
		height: 8.25rem;
		bottom: 0.15rem;
	}

	.tp-flash__bag--back { left: 0; }
	.tp-flash__bag--front { right: 0; }

	.tp-flash__copy {
		flex: 1 1 auto;
		width: auto;
		padding-inline: 0.5rem 0.25rem;
		margin-bottom: 0;
		text-align: left;
	}

	.tp-flash__copy h3 {
		font-size: 1.0625rem;
		margin-bottom: 0.25rem;
		line-height: 1.3;
	}

	.tp-flash__copy p {
		font-size: 0.875rem;
		opacity: 0.9;
	}

	.tp-btn--flash {
		width: auto;
		max-width: none;
		min-height: 48px;
		padding: 0.8rem 1.5rem;
		font-size: 0.9375rem;
	}

	/* ── Compra por mascota ── */
	.tp-pets-strip {
		padding: 0;
	}

	.tp-pets-strip__track {
		padding-inline: 0;
		gap: 0;
	}

	.tp-pet-card {
		width: 100%;
		padding: 0;
	}

	.tp-pet-card__media {
		width: 100%;
		height: 100%;
	}

	.tp-pet-card__label {
		font-size: 1rem;
	}

	/* ── Servicios: 2×2 ── */
	.tp-services--petmania {
		grid-template-columns: 1fr 1fr;
	}

	.tp-svc-showcase__grid,
	.tp-svc-icons__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.15rem;
	}

	.tp-svc-showcase__head .tp-section__title {
		font-size: 1.85rem;
	}

	.tp-svc-showcase__img {
		aspect-ratio: 16 / 11;
	}

	.tp-svc-showcase__label {
		font-size: 1.0625rem;
		padding: 1rem 0.65rem;
	}

	.tp-svc-icons__card {
		padding: 1.5rem 1.25rem;
	}

	/* ── New pet: fila horizontal con gato pop-out ── */
	.tp-new-pet {
		padding: 2.25rem 0 2rem;
		overflow: visible;
	}

	.tp-new-pet__inner {
		flex-direction: row;
		align-items: center;
		text-align: left;
		width: 100%;
		padding: 0 1.5rem 0 0;
		gap: 1.15rem;
		min-height: 7.5rem;
		overflow: visible;
	}

	.tp-new-pet__photo {
		margin: -2.5rem 0 -0.35rem 0.75rem;
		align-self: flex-end;
	}

	.tp-new-pet__photo img {
		height: 10.5rem;
		max-width: none;
		width: auto;
		margin-inline: 0;
	}

	.tp-new-pet__divider {
		display: block;
	}

	.tp-new-pet__title {
		white-space: nowrap;
		font-size: 1.5rem;
		max-width: none;
	}

	.tp-new-pet__copy {
		flex-direction: row;
		align-items: center;
		gap: 1.15rem;
		width: auto;
		padding-right: 0.25rem;
	}

	.tp-new-pet__subtitle {
		font-size: 0.9375rem;
		max-width: 22ch;
		text-align: left;
	}

	.tp-new-pet__link {
		display: inline-flex;
		padding: 0.75rem 1.5rem;
		border-radius: var(--tp-radius-pill);
		background: var(--tp-yellow);
		color: var(--tp-navy);
		font-size: 0.875rem;
		text-decoration: none;
		min-height: 44px;
	}

	.tp-new-pet__link:hover {
		background: var(--tp-yellow-bright);
		text-decoration: none;
		opacity: 1;
	}

	/* ── Marcas / tips / signup / reviews ── */
	.tp-brands-love__row {
		grid-template-columns: repeat(4, 1fr);
		gap: 0.85rem;
	}

	.tp-brands-love__logo {
		min-height: 4.5rem;
	}

	.tp-tips__grid,
	.tp-tips__grid--n3,
	.tp-tips__grid--n4,
	.tp-tips__grid--n5 {
		grid-template-columns: 1fr 1fr;
		grid-auto-rows: auto;
		gap: 1rem;
	}

	.tp-tips__card--featured {
		grid-column: 1 / -1;
		grid-row: auto;
		min-height: 380px;
	}

	.tp-tips__grid--n2 {
		grid-template-columns: 1fr;
	}

	.tp-tips__grid--n4 .tp-tips__card:not(.tp-tips__card--featured):last-child {
		grid-column: auto;
	}

	.tp-signup__inner {
		grid-template-columns: 1fr auto;
		text-align: left;
		gap: 1.25rem;
	}

	.tp-signup__copy {
		padding-left: 0;
	}

	.tp-signup__photo {
		margin: -1rem -1rem -1rem 0;
	}

	.tp-reviews {
		grid-template-columns: 200px 1fr;
		gap: 1.5rem;
	}

	.tp-reviews__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}

	.tp-reviews__card:last-child {
		grid-column: 1 / -1;
	}

	/* ── Footer ── */
	.tp-footer__panel {
		grid-template-columns: 1fr;
		padding: 1.75rem 1.5rem;
	}

	.tp-footer__brand {
		padding-right: 0;
		padding-bottom: 1.5rem;
		border-right: none;
		border-bottom: 1px solid var(--tp-gray-100);
	}

	.tp-footer__nav {
		padding-left: 0;
		padding-top: 1.5rem;
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem 2rem;
	}

	.tp-footer__trust {
		grid-template-columns: repeat(3, 1fr);
	}

	.tp-footer__wa-btn {
		align-self: stretch;
		width: 100%;
		min-height: 48px;
	}

	/* Split heroes de páginas internas */
	.tp-hero-split > .tp-container.tp-hero-split__inner {
		grid-template-columns: 1.05fr 0.95fr;
		gap: 1.5rem;
		align-items: center;
	}

	.tp-hero-split__visual {
		margin-left: 0;
		max-width: none;
	}
}

/* Hamburguesa gana al nav-píldora tablet (768–1199) en viewports ≤900 */
@media (max-width: 900px) {
	.tp-pm-menu-btn {
		display: grid;
	}

	.tp-pm-action--fav {
		display: none;
	}

	.tp-pm-action {
		width: 44px;
		height: 44px;
	}

	.tp-pm-header__row {
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"logo actions"
			"search search";
		gap: 0.75rem 1rem;
	}

	.tp-pm-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0.75rem;
		right: 0.75rem;
		z-index: 230;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0.15rem;
		margin-top: 0.4rem;
		padding: 0.55rem;
		background: var(--tp-white);
		border: 1px solid var(--tp-gray-100);
		border-radius: 16px;
		box-shadow: 0 18px 40px rgba(27, 42, 65, 0.16);
	}

	.tp-pm-nav.is-open {
		display: flex;
	}

	.tp-pm-nav a {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		min-height: 48px;
		padding: 0.7rem 1rem;
		border-radius: 12px;
		font-size: 1rem;
		font-weight: 800;
		white-space: normal;
	}
}

/* Tablet portrait estrecha: 2 productos, trust 3+2, categorías 2 col */
@media (min-width: 768px) and (max-width: 899px) {
	.tp-trust__grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.tp-trust__item {
		grid-column: span 2;
	}

	.tp-trust__item:nth-child(4),
	.tp-trust__item:nth-child(5) {
		grid-column: span 3;
	}

	.tp-products--petmania:not(.tp-products--shop) ul.products,
	.tp-products--petmania:not(.tp-products--shop) ul.products.columns-1,
	.tp-products--petmania:not(.tp-products--shop) ul.products.columns-2,
	.tp-products--petmania:not(.tp-products--shop) ul.products.columns-3,
	.tp-products--petmania:not(.tp-products--shop) ul.products.columns-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.tp-new-pet__title {
		white-space: normal;
		font-size: 1.35rem;
	}

	.tp-tips__card--featured {
		grid-column: 1 / -1;
	}

	.tp-reviews {
		grid-template-columns: 1fr;
	}
}

/* iPad landscape: hero en tres actos como desktop, más respiro */
@media (min-width: 1024px) and (max-width: 1199px) {
	.tp-hero--petmania__wrap {
		display: grid;
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.95fr) minmax(0, 1fr);
		grid-template-areas: "dog copy bags";
		max-width: 1080px;
		min-height: 460px;
		gap: 0 0.25rem;
		padding-inline: 0.75rem;
	}

	.tp-hero--petmania__scene {
		display: contents;
	}

	.tp-hero--petmania__copy {
		grid-area: copy;
		align-self: center;
		padding: 0.5rem 0.5rem 1.5rem;
	}

	.tp-hero--petmania__dog {
		grid-area: dog;
		flex: none;
		min-height: 340px;
		justify-content: flex-start;
	}

	.tp-hero--petmania__bags {
		grid-area: bags;
		flex: none;
		min-height: 320px;
		justify-content: flex-end;
	}

	.tp-hero--petmania__img--dog {
		height: min(420px, 46vh);
		margin: 0 0 -1rem -6%;
		object-position: left bottom;
	}

	.tp-hero--petmania__bag--back {
		left: auto;
		right: 36%;
		transform: translateY(14px) scale(0.86) rotate(-5deg);
	}

	.tp-hero--petmania__bag--front {
		left: auto;
		right: -0.25rem;
		transform: rotate(3deg);
	}

	.tp-brands-love__row {
		grid-template-columns: repeat(7, 1fr);
	}

	.tp-tips__grid,
	.tp-tips__grid--n5,
	.tp-tips__grid--n4 {
		grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr) minmax(0, 1fr);
		grid-auto-rows: minmax(200px, 1fr);
	}

	.tp-tips__card--featured {
		grid-column: 1;
		grid-row: 1 / span 2;
		min-height: 420px;
	}

	.tp-tips__grid--n3 {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	}

	.tp-tips__grid--n4 .tp-tips__card:not(.tp-tips__card--featured):last-child {
		grid-column: 2 / -1;
	}

	.tp-reviews__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.tp-reviews__card:last-child {
		grid-column: auto;
	}

	.tp-svc-showcase__grid,
	.tp-svc-icons__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* ── Ofertas: rail scroll-snap (después de breakpoints de grilla) ── */
.tp-products--offers.tp-products--petmania .tp-products__toolbar {
	justify-content: space-between;
	align-items: center;
	text-align: left;
}

.tp-products--offers.tp-products--petmania .tp-products__heading {
	align-items: flex-start;
	width: auto;
}

.tp-offers-rail {
	position: relative;
}

.tp-offers-rail--active {
	padding-inline: 0.25rem;
}

.tp-offers-rail__nav {
	position: absolute;
	top: 38%;
	z-index: 4;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	border: 1px solid rgba(27, 42, 65, 0.1);
	background: var(--tp-white);
	color: var(--tp-navy);
	display: grid;
	place-items: center;
	cursor: pointer;
	box-shadow: 0 8px 22px rgba(27, 42, 65, 0.14);
	transition: background 150ms ease, border-color 150ms ease, transform 100ms ease;
}

.tp-offers-rail__nav--prev { left: -0.15rem; }
.tp-offers-rail__nav--next { right: -0.15rem; }

.tp-offers-rail__nav:hover {
	background: var(--tp-yellow);
	border-color: var(--tp-yellow);
}

.tp-offers-rail__nav:active {
	transform: scale(0.96);
}

.tp-offers-rail__nav:focus-visible {
	outline: 3px solid var(--tp-yellow);
	outline-offset: 2px;
}

.tp-offers-rail__nav:disabled {
	opacity: 0.38;
	cursor: default;
	transform: none;
	background: var(--tp-white);
	border-color: rgba(27, 42, 65, 0.08);
}

.tp-offers-rail__viewport {
	position: relative;
}

.tp-offers-rail--active .tp-offers-rail__viewport::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 1.15rem;
	width: 3.25rem;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(253, 238, 242, 0), rgba(253, 238, 242, 0.95));
	z-index: 2;
}

.tp-offers-rail--active.is-end .tp-offers-rail__viewport::after {
	opacity: 0;
}

.tp-products--offers-rail.tp-products--petmania ul.products,
.tp-products--offers-rail.tp-products--petmania ul.products.columns-1,
.tp-products--offers-rail.tp-products--petmania ul.products.columns-2,
.tp-products--offers-rail.tp-products--petmania ul.products.columns-3,
.tp-products--offers-rail.tp-products--petmania ul.products.columns-4 {
	display: flex !important;
	grid-template-columns: none !important;
	gap: var(--tp-offers-gap) !important;
	margin: 0 !important;
	padding: 0.35rem 0 0.85rem !important;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: 0;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
	cursor: grab;
}

.tp-products--offers-rail.tp-products--petmania ul.products.is-dragging {
	cursor: grabbing;
	scroll-behavior: auto;
	scroll-snap-type: none;
}

.tp-products--offers-rail.tp-products--petmania ul.products::-webkit-scrollbar {
	display: none;
}

.tp-products--offers-rail.tp-products--petmania li.product {
	flex: 0 0 calc((100% - (3 * var(--tp-offers-gap)) - var(--tp-offers-peek)) / 4);
	width: auto !important;
	max-width: none;
	scroll-snap-align: start;
	scroll-snap-stop: normal;
	transition: transform 200ms ease, box-shadow 200ms ease;
}

.tp-products--offers-rail.tp-products--petmania li.product:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 32px rgba(27, 42, 65, 0.12);
}

.tp-offers-rail__progress {
	display: block;
	height: 4px;
	margin: 0.15rem auto 0;
	max-width: 8.5rem;
	border-radius: var(--tp-radius-pill);
	background: rgba(27, 42, 65, 0.12);
	overflow: hidden;
}

.tp-offers-rail__progress-fill {
	display: block;
	height: 100%;
	width: 100%;
	border-radius: inherit;
	background: var(--tp-navy);
	transform: scaleX(0.18);
	transform-origin: left center;
	transition: transform 180ms ease;
}

@media (prefers-reduced-motion: reduce) {
	.tp-products--offers-rail.tp-products--petmania ul.products {
		scroll-behavior: auto;
	}

	.tp-products--offers-rail.tp-products--petmania li.product {
		transition: none;
	}

	.tp-products--offers-rail.tp-products--petmania li.product:hover {
		transform: none;
	}
}

@media (max-width: 1199px) {
	.tp-section--offers {
		--tp-offers-peek: 3.25rem;
	}

	.tp-products--offers-rail.tp-products--petmania li.product {
		flex-basis: calc((100% - (2 * var(--tp-offers-gap)) - var(--tp-offers-peek)) / 3);
	}
}

@media (max-width: 800px) {
	.tp-section--offers {
		--tp-offers-peek: 3.5rem;
	}

	.tp-products--offers-rail.tp-products--petmania li.product {
		flex-basis: calc((100% - var(--tp-offers-gap) - var(--tp-offers-peek)) / 2);
	}
}

@media (max-width: 640px) {
	.tp-section--offers {
		--tp-offers-gap: 0.75rem;
		--tp-offers-peek: 2.75rem;
		padding-top: 1.75rem;
		padding-bottom: 2rem;
	}

	.tp-offers-rail__nav {
		width: 2.75rem;
		height: 2.75rem;
	}

	.tp-products--offers-rail.tp-products--petmania li.product {
		flex-basis: calc(100% - var(--tp-offers-peek));
	}

	.tp-offers-rail--active .tp-offers-rail__viewport::after {
		width: 2.25rem;
	}
}
