/**
 * La Mascotería — interactive & brand component styles.
 * Progressive enhancement: without JS, sliders stack and carousels
 * scroll natively (same as the Site Editor view).
 */

/* ---------- Layout: no ghost gap between header and content ---------- */
.wp-site-blocks > main {
	margin-block-start: 0 !important;
}
.wp-site-blocks > footer {
	margin-block-start: 0 !important;
}

/* ---------- Hero slider (full-bleed via native align:full) ----------
   Uses WordPress's native alignfull breakout (width of the container,
   scrollbar-safe) — no 100vw, no global overflow hacks. */
.mascoteria-slider {
	position: relative;
}
.mascoteria-slider.alignfull {
	margin-top: 0 !important;
}
.mascoteria-slider .wp-block-cover {
	border-radius: 0;
	overflow: hidden;
}
.mascoteria-slider.is-initialized .wp-block-cover {
	display: none;
}
.mascoteria-slider.is-initialized .wp-block-cover.is-active-slide {
	display: flex;
}
.mascoteria-slider .mascoteria-slider-dots {
	position: absolute;
	bottom: 16px;
	left: 0;
	right: 0;
	display: flex;
	justify-content: center;
	gap: 8px;
	z-index: 5;
}
.mascoteria-slider .mascoteria-slider-dots button {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 1.5px solid var(--wp--preset--color--accent-4, #E6E4EF);
	color: var(--wp--preset--color--contrast, #2C2F3A);
	background: #fff;
	padding: 0;
	cursor: pointer;
}
.mascoteria-slider .mascoteria-slider-dots button.is-active {
	background: var(--wp--preset--color--accent-2, #D6C6F2);
}

/* ---------- Carousels (scroll-snap) ---------- */
.mascoteria-carousel {
	position: relative;
}
.mascoteria-carousel > .wp-block-group__inner-container,
.mascoteria-carousel .mascoteria-carousel-track {
	display: flex;
	gap: var(--wp--preset--spacing--30, 14px);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 4px;
}
.mascoteria-carousel .mascoteria-carousel-track::-webkit-scrollbar {
	display: none;
}
.mascoteria-carousel .mascoteria-carousel-track > * {
	scroll-snap-align: start;
	flex: 0 0 auto;
}
.mascoteria-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid #000;
	background: #fff;
	color: #000;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mascoteria-arrow:hover {
	background: var(--wp--preset--color--accent-1, #F6F3FF);
	border-color: var(--wp--preset--color--azul);
	color: var(--wp--preset--color--azul);
}
.mascoteria-arrow.is-prev { left: -14px; }
.mascoteria-arrow.is-next { right: -14px; }

/* WooCommerce product collections used as carousels */
.mascoteria-carousel .wc-block-product-template,
.mascoteria-carousel ul.wp-block-post-template {
	display: flex !important;
	gap: var(--wp--preset--spacing--30, 14px);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	grid-template-columns: none !important;
}
.mascoteria-carousel .wc-block-product-template::-webkit-scrollbar,
.mascoteria-carousel ul.wp-block-post-template::-webkit-scrollbar {
	display: none;
}
.mascoteria-carousel .wc-block-product-template > li,
.mascoteria-carousel ul.wp-block-post-template > li {
	scroll-snap-align: start;
	flex: 0 0 240px;
}

/* Brand logos: each logo sits in a rounded card matching the rest of the site
   (10px radius, light border, white background). */
.mascoteria-brands .mascoteria-carousel-track > figure.wp-block-image {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	margin: 0;
	padding: 18px 22px;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: var(--wp--custom--radius--card, 10px);
}
.mascoteria-brands .mascoteria-carousel-track > figure.wp-block-image a {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ---------- Tabs ---------- */
.mascoteria-tabs .mascoteria-tab-panel[hidden] {
	display: none;
}
.mascoteria-tabs .mascoteria-tab-button {
	cursor: pointer;
}
.mascoteria-tabs .mascoteria-tab-button .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--accent-5, #6B6F7D);
	border: 0;
	font-size: 14px;
	font-weight: 600;
	padding: 9px 22px;
	border-radius: 999px;
}
.mascoteria-tabs .mascoteria-tab-button.is-active .wp-block-button__link {
	background: #fff;
	color: var(--wp--preset--color--azul);
	box-shadow: 0 1px 4px rgba(20,15,40,.10);
}
/* La pildora envuelve SOLO el grupo de botones. OJO: .mascoteria-tabs es el
   envoltorio de toda la seccion (titulo + botones + paneles); aplicarle
   display:inline-flex la rompe entera. */
.mascoteria-tabs .wp-block-buttons {
	background: var(--wp--preset--color--accent-1, #F6F3FF);
	border-radius: 999px;
	padding: 4px;
	display: inline-flex;
	gap: 4px;
	flex-wrap: nowrap;
}

/* ---------- Header / logotype ---------- */
/* First letter of the logotype flush with the content's left edge */
.mascoteria-logotype,
.mascoteria-logotype a {
	margin: 0;
	line-height: 1;
	letter-spacing: -0.01em;
	text-decoration: none;
}
/* Logobar: logo | search (flex, slim like the wireframe) | access */
.mascoteria-logobar > .wp-block-group {
	flex-wrap: nowrap;
	gap: 18px;
}
.mascoteria-search {
	flex: 1;
	min-width: 220px;
}
.mascoteria-search .wp-block-search__inside-wrapper {
	background: #fff;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 999px;
	padding: 2px 4px 2px 16px;
}
.mascoteria-search input.wp-block-search__input {
	font-size: 13px;
	padding: 7px 0;
	border: none;
	background: transparent;
}
.mascoteria-search button.wp-block-search__button {
	padding: 6px 12px;
	min-height: 0;
}
.mascoteria-access {
	flex: 0 0 auto;
}
.mascoteria-access a,
.mascoteria-access .wc-block-customer-account a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	text-decoration: none;
	color: #000;
	white-space: nowrap;
}
.mascoteria-access a:hover {
	color: #666;
}
.mascoteria-pets-link svg,
.mascoteria-cart-link svg {
	flex: 0 0 auto;
}

.mascoteria-menu-trigger {
	margin: 0;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 15px;
	font-weight: 500;
}
.mascoteria-menu-trigger a {
	text-decoration: none;
	padding: 6px 0;
	display: inline-block;
}
.mascoteria-menu-trigger a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}
.mascoteria-menubar-desktop.mascoteria-menubar-desktop {
	align-items: center;
}
/* Every trigger (bare paragraph or megamenu group) shares the same box,
   so labels sit on one line like the wireframe. */
.mascoteria-menubar-desktop > .wp-block-group.has-megamenu,
.mascoteria-menubar-desktop > p.mascoteria-menu-trigger {
	display: flex;
	align-items: center;
	height: 40px;
	margin: 0;
}
.mascoteria-menubar-desktop .mascoteria-menu-trigger a {
	padding: 0;
	line-height: 40px;
}
.mascoteria-menubar-mobile.mascoteria-menubar-mobile {
	display: none;
}
@media (max-width: 781px) {
	.mascoteria-menubar-desktop.mascoteria-menubar-desktop {
		display: none;
	}
	.mascoteria-menubar-mobile.mascoteria-menubar-mobile {
		display: flex;
	}
}

/* ---------- Megamenu ---------- */
.mascoteria-menubar .has-megamenu {
	position: static;
}
.mascoteria-menubar .has-megamenu > .mascoteria-menu-trigger {
	cursor: pointer;
}
.mascoteria-megamenu-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.mascoteria-menubar .mascoteria-megamenu-panel {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 50;
	background: #fff;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 0 0 10px 10px;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08);
	padding: 24px 32px;
}
.mascoteria-menubar .has-megamenu:hover .mascoteria-megamenu-panel,
.mascoteria-menubar .has-megamenu:focus-within .mascoteria-megamenu-panel {
	display: block;
}
.mascoteria-menubar {
	position: relative;
}
.mascoteria-megamenu-panel a {
	text-decoration: none;
	font-size: 14px;
}
.mascoteria-megamenu-panel a:hover {
	color: #666;
}
.mascoteria-megamenu-trigger > a,
.mascoteria-megamenu-trigger > p {
	margin: 0;
}

/* Native submenu fallback styling */
.mascoteria-menubar .wp-block-navigation__submenu-container {
	border-radius: 0 0 10px 10px !important;
	border-color: var(--wp--preset--color--accent-4, #E6E4EF) !important;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08);
	min-width: 220px !important;
	padding: 8px 0;
}

/* ---------- Footer column titles ----------
   theme.json forces headings to black; the footer is black, so the column
   titles (Tienda / Mi Cuenta / Ayuda / Contacto) need to be white. */
.mascoteria-footer h4.wp-block-heading {
	color: var(--wp--preset--color--base);
	/* Uniform title spacing across every column so the first row of each
	   column (Perros / Mis pedidos / Despacho y envíos / Contacto) lines up. */
	margin: 0 0 18px;
}
/* Every column starts its content at the same vertical position: drop the
   stray top margin the heading or first block may inherit. */
.mascoteria-footer .wp-block-column > *:first-child {
	margin-top: 0;
}
/* First content block under each title sits flush to the title gap so the
   navigation column (Tienda) and the list columns (Mi Cuenta / Ayuda) and the
   paragraph column (Contacto) all begin on the same line. */
.mascoteria-footer .wp-block-column > h4.wp-block-heading + * {
	margin-top: 0;
}
/* Footer link columns: align list items flush to their column title (like the
   "Tienda" navigation block), no bullets, no indent, no underline. */
.mascoteria-footer .wp-block-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.mascoteria-footer .wp-block-list li {
	margin: 0 0 11px;
	padding: 0;
}
.mascoteria-footer .wp-block-list li:last-child {
	margin-bottom: 0;
}
.mascoteria-footer a {
	text-decoration: none;
}
.mascoteria-footer a:hover,
.mascoteria-footer a:focus {
	text-decoration: none;
	color: var(--wp--preset--color--accent-1);
}

/* ---------- Redes sociales oficiales ---------- */
.mascoteria-social-links {
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
}
.mascoteria-social-links .wp-social-link {
	background: transparent !important;
	color: inherit;
}
.mascoteria-social-links .wp-social-link a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: opacity 160ms ease, transform 160ms ease;
}
.mascoteria-social-links .wp-social-link a:hover,
.mascoteria-social-links .wp-social-link a:focus-visible {
	opacity: .72;
	transform: translateY(-1px);
}
.mascoteria-social-links--top {
	margin-left: auto;
}
.mascoteria-social-links--footer {
	margin-top: 16px;
}
.mascoteria-social-links--footer .wp-social-link a {
	color: #fff !important;
}

/* Payment method chips (replace the flat "Visa · Master · …" image) */
.mascoteria-footer .mascoteria-pay {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}
.mascoteria-footer .mascoteria-pay-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 30px;
	padding: 0 10px;
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 700;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.2px;
	color: #1a1a1a;
}
.mascoteria-footer .mascoteria-pay-chip svg {
	display: block;
}
.mascoteria-footer .mascoteria-pay-mp {
	color: #009ee3;
}

/* ---------- Benefit strip (wireframe: envío / pagos / garantía) ---------- */
.mascoteria-benefit-strip {
	border-top: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-bottom: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	padding-top: 13px;
	padding-bottom: 13px;
}
.mascoteria-benefit-row {
	gap: 0;
}
.mascoteria-benefit {
	flex: 1;
	min-width: 220px;
	padding: 0 22px;
	border-right: 1px solid #F0F0F0;
}
/* First item flush-left so it lines up with the footer logo "L" below;
   last item flush-right for symmetry. */
.mascoteria-benefit:first-child {
	padding-left: 0;
}
.mascoteria-benefit:last-child {
	padding-right: 0;
	border-right: none;
}
.mascoteria-benefit-ic {
	width: 30px;
	height: 30px;
	min-width: 30px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-1, #F6F3FF);
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #000;
	flex-shrink: 0;
}
.mascoteria-benefit-ic svg {
	width: 16px;
	height: 16px;
}
.mascoteria-benefit-a {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: #2a2a2a;
}
.mascoteria-benefit-b {
	margin: 0;
	font-size: 12px;
	color: #8a8a8a;
	line-height: 1.4;
}
@media (max-width: 781px) {
	.mascoteria-benefit {
		flex-direction: column;
		text-align: center;
		border-right: none;
		padding: 8px 6px;
	}
	.mascoteria-benefit-b {
		display: none;
	}
}

/* ---------- Testimonials (wireframe: avatar + stars + quote) ---------- */
.mascoteria-testi {
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	height: 100%;
}
.mascoteria-testi-top {
	align-items: center;
}
.mascoteria-testi-avatar {
	width: 44px;
	height: 44px;
	min-width: 44px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-3, #F9F9FB);
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	flex-shrink: 0;
}
.mascoteria-testi-name {
	margin: 0;
	color: #2a2a2a;
}
.mascoteria-testi-pet {
	margin: 0;
}
.mascoteria-testi-stars {
	margin: 0;
	color: #000;
	font-size: 14px;
	letter-spacing: 3px;
}
.mascoteria-testi-quote {
	margin: 0;
	color: #8a8a8a;
	font-style: italic;
	line-height: 1.6;
}
/* Testimonials as a carousel: fixed-width cards in the scroll track. */
.mascoteria-testi-carousel .mascoteria-carousel-track {
	gap: var(--wp--preset--spacing--30, 14px);
	padding-bottom: 4px;
}
.mascoteria-testi-carousel .mascoteria-testi {
	flex: 0 0 340px;
	width: 340px;
	scroll-snap-align: start;
}
@media (max-width: 600px) {
	.mascoteria-testi-carousel .mascoteria-testi {
		flex-basis: 82vw;
		width: 82vw;
	}
}

/* ---------- Mis Mascotas: formulario y tarjetas unificados (rev. 4.2) ---------- */
.woocommerce-account .mascoteria-account-cols {
	gap: 22px;
}

.woocommerce-account .mascoteria-pet-form {
	padding: clamp(22px, 4vw, 32px) !important;
	border: 1px solid #dfd8ec !important;
	border-radius: 20px !important;
	background:
		radial-gradient(circle at 100% 0, rgba(190, 255, 45, .12), transparent 25%),
		#faf8ff !important;
	box-shadow: 0 12px 34px rgba(54, 39, 87, .06);
}
.woocommerce-account .mascoteria-pet-form h3 {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 0 0 24px !important;
	color: #292633;
	font-size: clamp(22px, 3vw, 28px) !important;
}
.woocommerce-account .mascoteria-pet-form h3::before {
	content: "";
	display: inline-block;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	border-radius: 50%;
	background-color: #eee8ff;
	background-image: url("/wp-content/uploads/2026/09/isotipo-estacionpatitas.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 29px auto;
}
.woocommerce-account .mascoteria-pet-form form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 20px;
}
.woocommerce-account .mascoteria-pet-form form > input[type="hidden"],
.woocommerce-account .mascoteria-pet-form form > script {
	display: none;
}
.woocommerce-account .mascoteria-pet-form .woocommerce-form-row,
.woocommerce-account .mascoteria-pet-form form > p {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}
.woocommerce-account .mascoteria-pet-form .woocommerce-form-row--wide,
.woocommerce-account .mascoteria-pet-form form > p:not([class]) {
	grid-column: 1 / -1;
}
.woocommerce-account .mascoteria-pet-form label {
	display: block;
	margin: 0 0 7px;
	color: #403c49;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
}
.woocommerce-account .mascoteria-pet-form .woocommerce-Input,
.woocommerce-account .mascoteria-pet-form input[type="text"],
.woocommerce-account .mascoteria-pet-form input[type="number"],
.woocommerce-account .mascoteria-pet-form input[type="date"],
.woocommerce-account .mascoteria-pet-form select,
.woocommerce-account .mascoteria-pet-form textarea {
	width: 100% !important;
	height: 48px;
	box-sizing: border-box;
	margin: 0;
	padding: 11px 14px !important;
	border: 1px solid #d9d2e6 !important;
	border-radius: 12px !important;
	outline: 0;
	background-color: #fff !important;
	color: #292633;
	font-family: Inter, sans-serif;
	font-size: 14px !important;
	line-height: 1.3;
	box-shadow: 0 2px 7px rgba(54, 39, 87, .025);
	transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.woocommerce-account .mascoteria-pet-form select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 42px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235b5665' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 17px !important;
}
.woocommerce-account .mascoteria-pet-form .woocommerce-Input:hover,
.woocommerce-account .mascoteria-pet-form input:hover,
.woocommerce-account .mascoteria-pet-form select:hover {
	border-color: #bdb2d4 !important;
}
.woocommerce-account .mascoteria-pet-form .woocommerce-Input:focus,
.woocommerce-account .mascoteria-pet-form input:focus,
.woocommerce-account .mascoteria-pet-form select:focus,
.woocommerce-account .mascoteria-pet-form textarea:focus {
	border-color: var(--wp--preset--color--azul, #003DFF) !important;
	box-shadow: 0 0 0 4px rgba(0, 61, 255, .10) !important;
}
.woocommerce-account .mascoteria-pet-form input::placeholder {
	color: #918c9a;
	opacity: 1;
}

/* Salud y alergias se presentan como subtarjetas y opciones seleccionables. */
.woocommerce-account .mascoteria-pet-form .mascoteria-salud-row {
	padding: 18px;
	border: 1px solid #e5dff0;
	border-radius: 14px;
	background: rgba(255, 255, 255, .82);
}
.woocommerce-account .mascoteria-pet-form .mascoteria-salud-row > label {
	margin-bottom: 12px;
	font-size: 14px;
}
.woocommerce-account .mascoteria-salud-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.woocommerce-account .mascoteria-salud-tags .mascoteria-chk {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	padding: 8px 12px;
	border: 1px solid #ded9e8;
	border-radius: 999px;
	background: #fff;
	color: #514d59;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}
.woocommerce-account .mascoteria-salud-tags .mascoteria-chk:hover {
	border-color: #a99aca;
	background: #f7f3ff;
}
.woocommerce-account .mascoteria-salud-tags .mascoteria-chk:has(input:checked) {
	border-color: #7760a9;
	background: #eee8ff;
	color: #513097;
}
.woocommerce-account .mascoteria-salud-tags input[type="checkbox"],
.woocommerce-account .mascoteria-reminder-prefs input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	display: inline-grid;
	place-content: center;
	width: 17px !important;
	height: 17px !important;
	min-width: 17px;
	margin: 0 !important;
	border: 1.5px solid #aaa4b3;
	border-radius: 5px;
	background: #fff;
}
.woocommerce-account .mascoteria-salud-tags input[type="checkbox"]::before,
.woocommerce-account .mascoteria-reminder-prefs input[type="checkbox"]::before {
	content: "";
	width: 9px;
	height: 9px;
	transform: scale(0);
	transition: transform .12s ease;
	clip-path: polygon(14% 44%, 0 65%, 42% 100%, 100% 19%, 80% 0, 39% 62%);
	background: #fff;
}
.woocommerce-account .mascoteria-salud-tags input[type="checkbox"]:checked,
.woocommerce-account .mascoteria-reminder-prefs input[type="checkbox"]:checked {
	border-color: var(--wp--preset--color--azul, #003DFF);
	background: var(--wp--preset--color--azul, #003DFF);
}
.woocommerce-account .mascoteria-salud-tags input[type="checkbox"]:checked::before,
.woocommerce-account .mascoteria-reminder-prefs input[type="checkbox"]:checked::before {
	transform: scale(1);
}
.woocommerce-account .mascoteria-pet-form .mascoteria-salud-row > input[type="text"] {
	margin-top: 12px !important;
}

/* Estado vacio, recordatorios y fichas usan la misma profundidad visual. */
.woocommerce-account .mascoteria-pets-empty,
.woocommerce-account .mascoteria-reminder-prefs,
.woocommerce-account .mascoteria-pet-card {
	border-color: #dfd8ec !important;
	border-radius: 18px !important;
	box-shadow: 0 10px 30px rgba(54, 39, 87, .055);
}
.woocommerce-account .mascoteria-pets-empty {
	background: linear-gradient(145deg, #f7f3ff, #fbfaff) !important;
}
.woocommerce-account .mascoteria-reminder-prefs {
	padding: 22px !important;
	background: #fff !important;
}
.woocommerce-account .mascoteria-reminder-prefs h3 {
	margin: 0 0 10px !important;
	font-size: 20px !important;
}
.woocommerce-account .mascoteria-reminder-prefs > p {
	color: #696572;
	line-height: 1.5;
}
.woocommerce-account .mascoteria-reminder-prefs label {
	padding: 11px 2px;
	border-color: #eeeaf4;
}
.woocommerce-account .mascoteria-pet-card {
	overflow: hidden;
	background: #fff;
}
.woocommerce-account .mascoteria-pet-card .pet-card-header {
	padding: 18px 20px;
	background: linear-gradient(135deg, #f1ebff, #faf8ff);
}
.woocommerce-account .mascoteria-pet-card .pet-card-body {
	padding: 18px 20px;
}
.woocommerce-account .mascoteria-pet-card .pet-card-actions {
	padding: 14px 20px;
	border-color: #eeeaf4;
	background: #faf9fc;
}
.woocommerce-account .mascoteria-pet-card .button-danger {
	border-color: #efcaca !important;
	background: #fff5f5 !important;
	color: #a83232 !important;
}

@media (max-width: 720px) {
	.woocommerce-account .mascoteria-pet-form form {
		grid-template-columns: 1fr;
	}
	.woocommerce-account .mascoteria-pet-form .woocommerce-form-row--wide,
	.woocommerce-account .mascoteria-pet-form form > p:not([class]) {
		grid-column: auto;
	}
	.woocommerce-account .mascoteria-pet-form .mascoteria-salud-row {
		padding: 15px;
	}
}

/* ---------- Prices in Please VF (title font), like the user asked ---------- */
.wp-block-woocommerce-product-price,
.wc-block-components-product-price,
.wc-block-components-product-price__value,
.woocommerce-Price-amount,
.single-product p.price,
.single-product p.price .woocommerce-Price-amount {
	font-family: var(--wp--preset--font-family--montserrat);
}

/* ---------- Sale badge to the LEFT (so it doesn't cover the heart) ---------- */
.mascoteria-product-card .wc-block-components-product-sale-badge,
.mascoteria-product-card .wp-block-woocommerce-product-sale-badge {
	right: auto !important;
	left: 10px !important;
}

/* ---------- Single product: gallery fills its column ---------- */
.single-product .mascoteria-gallery-col .woocommerce-product-gallery,
.single-product .mascoteria-gallery-col .wp-block-woocommerce-product-image-gallery {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
}
.single-product .mascoteria-gallery-col .woocommerce-product-gallery img,
.single-product .mascoteria-gallery-col .wp-block-woocommerce-product-image-gallery img {
	width: 100%;
	height: auto;
}
.single-product .mascoteria-gallery-col .woocommerce-product-gallery__wrapper,
.single-product .mascoteria-gallery-col .woocommerce-product-gallery__image {
	border-radius: 10px;
}

/* Header inner content aligned to the site content width (logo ↔ content) */
@media (min-width: 782px) {
	.mascoteria-logobar.is-layout-constrained > *,
	.mascoteria-topbar.is-layout-constrained > *,
	.mascoteria-menubar.is-layout-constrained > * {
		max-width: var(--wp--style--global--wide-size) !important;
	}
}

/* ---------- Product reviews (wireframe: list + write CTA) ---------- */
.mascoteria-reviews-head {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}
.mascoteria-reviews-head h2 {
	margin: 0;
	font-size: 24px;
}
.mascoteria-reviews-avg {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.mascoteria-stars {
	display: inline-flex;
	letter-spacing: 2px;
	font-size: 18px;
	line-height: 1;
}
.mascoteria-star {
	color: #E0E0E0;
}
.mascoteria-star.is-on {
	color: #000;
}
.mascoteria-reviews-score {
	font-weight: 700;
	font-family: var(--wp--preset--font-family--montserrat);
}
.mascoteria-reviews-count {
	font-size: 13px;
	color: #8a8a8a;
}
.mascoteria-reviews-grid {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 32px;
	margin-top: 22px;
}
.mascoteria-review {
	padding: 16px 0;
	border-bottom: 1px solid #F0F0F0;
}
.mascoteria-review:first-child {
	padding-top: 0;
}
.mascoteria-review-top {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 8px;
}
.mascoteria-review-avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
}
.mascoteria-review-name {
	font-weight: 700;
	font-size: 14px;
	color: #2a2a2a;
}
.mascoteria-review-date {
	font-size: 12px;
	color: #9a9a9a;
}
.mascoteria-review-text {
	margin: 0;
	color: #6a6a6a;
	line-height: 1.6;
}
.mascoteria-reviews-empty {
	color: #8a8a8a;
}
.mascoteria-reviews-all {
	display: inline-block;
	margin-top: 14px;
}
.mascoteria-reviews-cta {
	background: var(--wp--preset--color--accent-3, #F9F9FB);
	border-radius: 10px;
	padding: 18px;
	align-self: start;
}
.mascoteria-reviews-cta-text {
	font-size: 13px;
	color: #6a6a6a;
	margin: 0 0 14px;
}
.mascoteria-write-review {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 20px;
	border: none !important;
	border-radius: 8px !important;
	background: #000 !important;
	color: #fff !important;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .01em;
	text-shadow: none !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.mascoteria-write-review:hover,
.mascoteria-write-review:focus {
	background: var(--wp--preset--color--accent-2, #D6C6F2) !important;
	color: #000 !important;
}
.mascoteria-review-form {
	margin-top: 24px;
	border-top: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	padding-top: 20px;
}
.mascoteria-review-form .comment-form-rating select {
	margin-top: 6px;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 8px;
	padding: 8px 12px;
}
.mascoteria-review-form textarea {
	width: 100%;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 8px;
	padding: 10px;
}
@media (max-width: 781px) {
	.mascoteria-reviews-grid {
		grid-template-columns: 1fr;
	}
}

/* ---------- Blog article: site-width frame, readable text column ---------- */
.mascoteria-article > .wp-block-post-title,
.mascoteria-article > .wp-block-group,
.mascoteria-article > .wp-block-post-content,
.mascoteria-article > .wp-block-cover {
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}
.mascoteria-article > .wp-block-post-featured-image {
	max-width: 1040px;
	margin-left: auto;
	margin-right: auto;
}

/* ---------- Catalog filters — wireframe "filter-box" look ---------- */
/* Desktop: filters show inline; hide the mobile overlay toggle/header. */
@media (min-width: 782px) {
	.wc-block-product-filters__open-overlay,
	.wc-block-product-filters__overlay-header {
		display: none !important;
	}
}
.wp-block-woocommerce-product-filters {
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 10px;
	padding: 16px;
	background: #fff;
}
.wp-block-woocommerce-product-filters h3.wp-block-heading {
	font-size: 14px !important;
	font-weight: 700;
	color: #2a2a2a;
	margin: 0 0 10px;
}
.wp-block-woocommerce-product-filter-taxonomy,
.wp-block-woocommerce-product-filter-attribute {
	margin-bottom: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid #F0F0F0;
}
.wp-block-woocommerce-product-filters > *:last-child,
.wp-block-woocommerce-product-filter-taxonomy:last-child,
.wp-block-woocommerce-product-filter-attribute:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
/* checkbox rows */
.wp-block-woocommerce-product-filters .wc-block-components-checkbox__label,
.wp-block-woocommerce-product-filters label {
	font-size: 14px;
	color: #555;
}
.wp-block-woocommerce-product-filters input[type="checkbox"] {
	accent-color: var(--wp--preset--color--accent-2, #D6C6F2);
	width: 16px;
	height: 16px;
}
/* active filter chips */
.wp-block-woocommerce-product-filter-active {
	margin-bottom: 12px;
}

/* ---------- Sort dropdown — wireframe pill ("Ordenar por: X ▾") ---------- */
.wp-block-woocommerce-catalog-sorting select,
.wc-block-catalog-sorting select,
.woocommerce-ordering select.orderby,
select.orderby {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 14px;
	color: #2a2a2a;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 8px;
	padding: 9px 38px 9px 14px;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 13px center;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
	line-height: 1.2;
}
.wp-block-woocommerce-catalog-sorting select:hover,
select.orderby:hover {
	border-color: #000;
}

/* ---------- Pills & stickers ---------- */
.mascoteria-pill,
.wp-block-group.is-style-pill {
	display: inline-block;
	background: var(--wp--preset--color--accent-1, #F6F3FF);
	color: #000;
	border-radius: 999px;
	padding: 2px 10px;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.6;
}
.mascoteria-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 4px 0;
}
.wp-block-group.is-style-sticker {
	border-radius: 50%;
	aspect-ratio: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: var(--wp--preset--color--accent-2, #D6C6F2);
	border: 2px solid #000;
	transform: rotate(-8deg);
}

/* ---------- Product cards ---------- */
.mascoteria-product-card li.wc-block-product .wc-block-components-product-image,
.mascoteria-product-card li.wc-block-product img {
	border-radius: var(--wp--custom--radius--card, 10px);
}
.mascoteria-product-card li.wc-block-product {
	display: flex;
	flex-direction: column;
	gap: 0;
	border: 1px solid #F0F0F0;
	border-radius: var(--wp--custom--radius--card, 10px);
	padding: 12px;
	background: #fff;
	position: relative;
}
.mascoteria-product-card li.wc-block-product:hover {
	border-color: var(--wp--preset--color--accent-4, #E6E4EF);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
}
.mascoteria-product-card li.wc-block-product > .wc-block-components-product-image,
.mascoteria-product-card li.wc-block-product > .wp-block-woocommerce-product-image {
	margin-bottom: 12px;
}
.mascoteria-product-card li.wc-block-product .mascoteria-brand-label {
	margin-bottom: 2px;
}
.mascoteria-product-card li.wc-block-product .wp-block-post-title {
	margin: 0 0 6px;
	font-size: 15px;
	line-height: 1.35;
}
.mascoteria-product-card li.wc-block-product .wp-block-post-title a {
	text-decoration: none;
}
.mascoteria-product-card li.wc-block-product .mascoteria-pills {
	margin: 0 0 8px;
}
.mascoteria-product-card li.wc-block-product .wc-block-components-product-price,
.mascoteria-product-card li.wc-block-product .wp-block-woocommerce-product-price {
	margin: 0;
	font-size: 17px;
}
.mascoteria-product-card li.wc-block-product .mascoteria-points {
	margin-bottom: 10px;
}
/* La maqueta empuja la fila de precio al fondo (.pc-pricerow margin-top:auto),
   asi los precios calzan aunque una tarjeta traiga marca o chips y otra no. */
.mascoteria-product-card li.wc-block-product .wp-block-woocommerce-product-price {
	margin-top: auto;
}
.mascoteria-product-card li.wc-block-product .wp-block-button__link,
.mascoteria-product-card li.wc-block-product .wc-block-components-product-button__button {
	width: 100%;
	font-size: 13px;
	padding: 10px 14px;
}
/* breathing room between grid rows */
.wc-block-product-template.wc-block-product-template {
	gap: 20px 14px;
}
.mascoteria-points {
	font-size: 12px;
	color: #666;
}
.mascoteria-brand-label {
	font-size: 12px;
	color: #666;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.mascoteria-brand-label a {
	color: inherit;
	text-decoration: none;
}

/* ---------- Single product layout ---------- */
.single-product .mascoteria-brand-label {
	margin-bottom: 4px;
}
.single-product h1.wp-block-post-title {
	margin: 0 0 12px;
}
.single-product main .mascoteria-pills {
	margin: 0 0 16px;
}
.single-product .wp-block-woocommerce-product-price {
	margin-bottom: 4px;
}
.single-product main .mascoteria-points {
	display: block;
	margin-bottom: 16px;
	font-size: 13px;
}
.single-product .wp-block-post-excerpt {
	margin: 0 0 20px;
	color: #4a4a4a;
}
/* Buy-box (wireframe): no separator; rows align to the title's left edge */
.single-product .wp-block-woocommerce-add-to-cart-form {
	margin: 0 0 10px;
}
/* Alto uniforme de la fila. La maqueta usa 50px en cantidad y boton. */
.single-product .quantity.wc-block-components-quantity-selector {
	height: 50px !important;
	min-height: 50px !important;
}
.single-product .wc-block-components-quantity-selector__input,
.single-product .wc-block-components-quantity-selector__button {
	height: 50px !important;
	min-height: 0 !important;
}
.single-product form.cart .single_add_to_cart_button {
	height: 50px !important;
	min-height: 50px !important;
}
/* Add-to-cart row spans the full info-column width (right edge aligns) */
.single-product form.cart {
	width: 100% !important;
	margin: 0 !important;
}
/* WC clearfix pseudo-elements become phantom flex items that each eat a
   10px gap, insetting the row. Remove them so qty/cart align edge-to-edge. */
.single-product form.cart::before,
.single-product form.cart::after {
	display: none !important;
}
.single-product form.cart .single_add_to_cart_button {
	margin: 0 !important;
}
.single-product .wp-block-woocommerce-product-details {
	margin-top: var(--wp--preset--spacing--60, 64px);
}
/* gallery thumbnails */
.wc-block-product-gallery-thumbnails img,
.woocommerce-product-gallery ol.flex-control-thumbs img {
	border-radius: 8px;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
}
/* Row 1: qty stepper (− 1 +) + add to cart fills the rest */
.single-product form.cart {
	display: flex;
	gap: 10px;
	align-items: stretch;
	flex-wrap: nowrap;
	margin: 0;
}
.single-product form.cart .quantity {
	margin: 0;
	flex: 0 0 124px;
}
/* WC block quantity selector → clean horizontal [−] [1] [+] */
.single-product .quantity.wc-block-components-quantity-selector {
	display: flex !important;
	align-items: center;
	height: 54px;
	width: 124px;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 8px;
	background: var(--wp--preset--color--accent-3, #F9F9FB);
	overflow: hidden;
}
.single-product .wc-block-components-quantity-selector__input {
	order: 1;
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	box-sizing: border-box;
	height: 54px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 54px !important;
	border: none;
	background: transparent;
	text-align: center;
	font-size: 15px;
	font-family: var(--wp--preset--font-family--montserrat);
	font-weight: 600;
	color: #2a2a2a;
}
.single-product .wc-block-components-quantity-selector__button {
	flex: 0 0 38px;
	height: 100%;
	border: none;
	background: transparent;
	font-size: 20px;
	line-height: 1;
	color: #555;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}
.single-product .wc-block-components-quantity-selector__button:nth-of-type(1) {
	order: 0;
}
.single-product .wc-block-components-quantity-selector__button:nth-of-type(2) {
	order: 2;
}
.single-product .wc-block-components-quantity-selector__button:hover {
	background: #ECECEC;
}
/* Legacy (non-block) qty fallback */
.single-product form.cart .quantity input.qty {
	height: 54px;
	border-radius: 8px;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	background: var(--wp--preset--color--accent-3, #F9F9FB);
	text-align: center;
	width: 124px;
}
.single-product form.cart .single_add_to_cart_button {
	flex: 1;
	min-height: 54px;
	border-radius: 8px;
}
/* Row 2: favorite + buy-now, EQUAL width (flex:1), same total as row 1 */
.mascoteria-secondary-actions {
	margin: 0 0 16px;
	display: flex !important;
	gap: 10px;
	flex-wrap: nowrap;
}
/* Two equal halves (50% minus half the gap) — guaranteed equal width */
.mascoteria-secondary-actions > .mascoteria-fav--labeled,
.mascoteria-secondary-actions > .mascoteria-buy-now {
	flex: 0 0 calc(50% - 5px) !important;
	width: calc(50% - 5px) !important;
	max-width: calc(50% - 5px) !important;
}
/* Full reset of the card-heart base styles for the labeled buttons */
.mascoteria-secondary-actions .mascoteria-fav--labeled,
.mascoteria-secondary-actions .mascoteria-buy-now {
	box-sizing: border-box;
	position: static;
	height: auto;
	min-height: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 999px !important;
	padding: 14px 22px;
	font-family: var(--wp--preset--font-family--montserrat);
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	box-shadow: none !important;
	transform: none;
}

/* Ficha: colores medidos en la pantalla "Ficha" de la maqueta */
.mascoteria-secondary-actions .mascoteria-fav--labeled {
	background: transparent !important;
	color: var(--wp--preset--color--azul) !important;
	border: 1.5px solid var(--wp--preset--color--azul) !important;
	font-size: 15px;
}
.mascoteria-secondary-actions .mascoteria-buy-now {
	background: var(--wp--preset--color--lima) !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 0 !important;
	font-size: 15px;
}
.mascoteria-secondary-actions .mascoteria-fav--labeled svg {
	width: 18px;
	height: 18px;
}
.mascoteria-secondary-actions .mascoteria-fav--labeled.is-active {
	background: var(--wp--preset--color--accent-1, #F6F3FF);
}
.mascoteria-secondary-actions .mascoteria-buy-now:hover { filter: brightness(.95); transform: none; }
.mascoteria-secondary-actions .mascoteria-fav--labeled:hover {
	background: var(--wp--preset--color--accent-1, #F6F3FF) !important;
	transform: none;
}

/* Product gallery on white so images never blend into the pink body */
.single-product .wp-block-woocommerce-product-image-gallery {
	background: #fff;
	border-radius: 10px;
	padding: 10px;
}
.single-product .wp-block-woocommerce-product-image-gallery img {
	border-radius: 8px;
}

/* Stock info box */
.mascoteria-stock-box p {
	margin: 0;
}
.mascoteria-stock-box .wc-block-components-product-stock-indicator {
	font-weight: 600;
	margin: 0 0 2px;
}

/* White card sections on the product page (description / reviews) */
.mascoteria-product-card-section > h2:first-child {
	margin-top: 0;
}
.single-product .mascoteria-fav--labeled svg {
	flex: 0 0 auto;
}

/* reviews */
/* The card already titles the section "Reseñas" — hide the block's own
   "(n) valoraciones en ..." heading to avoid the duplicate. */
.mascoteria-reviews-card .woocommerce-Reviews-title {
	display: none;
}
#reviews .commentlist {
	list-style: none;
	margin: 0;
	padding: 0;
}
#reviews .commentlist > li {
	border-bottom: 1px solid #F0F0F0;
	padding: 16px 0;
	margin: 0;
	background: transparent;
}
#reviews .commentlist > li:last-child {
	border-bottom: none;
}
#reviews .comment_container img.avatar {
	border-radius: 50%;
}
#reviews .comment-reply-title {
	font-weight: 700;
	display: block;
	margin-bottom: 8px;
}
#reviews .comment-form input[type="text"],
#reviews .comment-form input[type="email"],
#reviews .comment-form textarea {
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 8px;
	padding: 10px 12px;
	width: 100%;
}

/* White surfaces that must pop on the pink body */
.mascoteria-blog-categories a {
	background: #fff;
}
.wp-block-query .wp-block-post-featured-image img {
	background: #fff;
}

/* Hide ALL star ratings (client feedback: "sin estrellas ni valoración
   promedio"). Written reviews stay visible. */
.wc-block-grid .star-rating,
.wc-block-components-product-rating,
.wp-block-woocommerce-product-rating,
.wc-block-product-template .star-rating,
.products .star-rating,
.woocommerce-product-rating,
#reviews .star-rating,
#reviews .comment-form-rating,
#reviews .stars {
	display: none !important;
}

/* ---------- Checkout steps indicator ---------- */
.mascoteria-steps {
	display: flex;
	justify-content: center;
	gap: 32px;
	counter-reset: step;
}
.mascoteria-steps .mascoteria-step {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: #666;
}
.mascoteria-steps .mascoteria-step::before {
	counter-increment: step;
	content: counter(step);
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1px solid #666;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
}
.mascoteria-steps .mascoteria-step.is-active {
	color: #000;
	font-weight: 700;
}
.mascoteria-steps .mascoteria-step.is-active::before {
	background: var(--wp--preset--color--accent-2, #D6C6F2);
	border-color: #000;
	color: #000;
}

/* ---------- Favorites ---------- */
.mascoteria-product-card {
	position: relative;
}
.mascoteria-fav {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 5;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	background: #fff;
	color: #000;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	line-height: 0;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
	transition: transform 0.12s ease, background 0.12s ease;
}
.mascoteria-fav svg {
	display: block;
}
.mascoteria-fav .mascoteria-fav-path {
	transition: fill 0.12s ease;
}
.mascoteria-fav:hover {
	border-color: #000;
	transform: scale(1.08);
}
.mascoteria-fav.is-active {
	background: var(--wp--preset--color--accent-2, #D6C6F2);
	border-color: #000;
}
.mascoteria-fav.is-active .mascoteria-fav-path {
	fill: #000;
	stroke: #000;
}
.single-product .mascoteria-fav {
	position: static;
	width: auto;
	height: auto;
	border: none;
	background: transparent;
}
.mascoteria-favorites-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 20px;
}
.mascoteria-favorite-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 10px;
	padding: 14px;
	background: #fff;
}
.mascoteria-favorite-card img {
	border-radius: 8px;
	width: 100%;
	height: auto;
}
.mascoteria-favorite-card .fav-name {
	font-weight: 600;
	text-decoration: none;
	color: #000;
}
.mascoteria-favorite-card .fav-price {
	font-weight: 700;
}
.mascoteria-favorite-card .fav-actions {
	display: flex;
	gap: 8px;
	margin-top: 8px;
}
.mascoteria-favorite-card .fav-actions .button {
	font-size: 12px;
	padding: 8px 12px;
}

/* ---------- Blog category strip ---------- */
.mascoteria-blog-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	padding: 0;
	margin: 16px 0 24px;
}
.mascoteria-blog-categories li {
	margin: 0;
}
.mascoteria-blog-categories a {
	display: inline-block;
	padding: 6px 16px;
	border: 1px solid #000;
	border-radius: 999px;
	text-decoration: none;
	font-size: 14px;
	color: #000;
}
.mascoteria-blog-categories a:hover,
.mascoteria-blog-categories .current-cat a {
	background: var(--wp--preset--color--accent-2, #D6C6F2);
}

/* ---------- Brand directory ---------- */
.mascoteria-brand-index {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 24px 0;
}
.mascoteria-brand-index a,
.mascoteria-brand-index span {
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
}
.mascoteria-brand-index a {
	background: var(--wp--preset--color--accent-1, #F6F3FF);
	color: #000;
}
.mascoteria-brand-index a:hover {
	background: var(--wp--preset--color--accent-2, #D6C6F2);
}
.mascoteria-brand-index span {
	color: #bdbdbd;
}
.mascoteria-brand-letter {
	font-size: 24px;
	border-bottom: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	padding-bottom: 6px;
	margin-top: 32px;
}
.mascoteria-brand-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 14px;
	margin-top: 14px;
}
.mascoteria-brand-card {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 90px;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 10px;
	padding: 12px;
	background: #fff;
	text-decoration: none;
}
.mascoteria-brand-card:hover {
	border-color: #000;
}
.mascoteria-brand-card img {
	max-height: 64px;
	width: auto;
}
.mascoteria-brand-header {
	display: flex;
	align-items: center;
	gap: 20px;
	background: var(--wp--preset--color--accent-1, #F6F3FF);
	border-radius: 10px;
	padding: 20px 24px;
	margin: 20px 0;
}
.mascoteria-brand-header img {
	max-height: 72px;
	width: auto;
	background: #fff;
	border-radius: 8px;
	padding: 6px;
}

/* ---------- My Account ---------- */
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 10px 16px;
	border-radius: 10px;
	text-decoration: none;
	color: #000;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
	background: var(--wp--preset--color--accent-1, #F6F3FF);
}

/* ---------- Misc ---------- */
@media (max-width: 781px) {
	.mascoteria-arrow { display: none; }
	.mascoteria-megamenu-panel { display: none !important; }
}

/* ---------- Ajustes de diseño (rev. wireframe) ---------- */

/* Favorito: círculo perfecto siempre (no se estira al ancho en grillas de producto) */
.mascoteria-fav:not(.mascoteria-fav--labeled) {
	flex: 0 0 auto;
	width: 38px;
	min-width: 38px;
	max-width: 38px;
	height: 38px;
	aspect-ratio: 1 / 1;
	box-sizing: border-box;
	padding: 0;
}

/* Filtros: suavizar el fieldset (borde gris redondeado en vez del borde negro por defecto) */
.wp-block-woocommerce-product-filters fieldset {
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 10px;
	padding: 12px 14px;
	margin: 0;
	min-width: 0;
}
.wp-block-woocommerce-product-filters fieldset > legend {
	padding: 0 4px;
	font-size: 14px;
	font-weight: 600;
	color: #2a2a2a;
}

/* Filtros: separar el botón "Aplicar" de los campos */
.wc-block-product-filters__apply {
	margin-top: 16px;
}

/* ---------- Mi Cuenta: título, sidebar y avatar (wireframe) ---------- */

/* Título "Mi Cuenta" redundante y mal alineado -> oculto (el saludo/heading de cada seccion orienta) */
.woocommerce-account .wp-block-post-title { display: none; }

/* Bloque de perfil (avatar + nombre) */
.woocommerce-account-gravatar { text-align: center; margin-bottom: 20px; }
.woocommerce-account-gravatar__avatar-wrapper img.avatar {
	border-radius: 50%;
	border: 3px solid var(--wp--preset--color--accent-1, #F6F3FF);
}

/* Menú lateral como tarjeta con íconos */
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 8px;
	background: #fff;
	border: 1px solid #e8e8e3;
	border-radius: 14px;
	display: block;
}
.woocommerce-MyAccount-navigation li { padding: 0 !important; margin: 0 !important; border: 0 !important; }
.woocommerce-MyAccount-navigation li a {
	display: flex !important;
	align-items: center;
	gap: 10px;
	padding: 11px 14px !important;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.35 !important;
	color: #444;
	text-decoration: none !important;
}
.woocommerce-MyAccount-navigation li a:hover { background: #f6f6f4; color: #111; }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--wp--preset--color--accent-1, #F6F3FF); color: var(--wp--preset--color--azul, #003DFF); font-weight: 600; }

.woocommerce-MyAccount-navigation-link a::before {
	content: "";
	width: 20px;
	height: 20px;
	display: inline-block;
	flex: 0 0 auto;
	background-color: currentColor;
	opacity: .85;
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask-position: center; mask-position: center;
	-webkit-mask-size: 19px 19px; mask-size: 19px 19px;
}

/* Iconos del menu de cuenta: SVG enmascarado, hereda el color del enlace */
.woocommerce-MyAccount-navigation-link--dashboard a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V21h14V9.5'/%3E%3Cpath d='M9.5 21v-6h5v6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V21h14V9.5'/%3E%3Cpath d='M9.5 21v-6h5v6'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--orders a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5 12 3l9 4.5v9L12 21l-9-4.5z'/%3E%3Cpath d='M3 7.5 12 12l9-4.5M12 12v9'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5 12 3l9 4.5v9L12 21l-9-4.5z'/%3E%3Cpath d='M3 7.5 12 12l9-4.5M12 12v9'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--mis-mascotas a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='6.5' cy='10' rx='2' ry='2.6'/%3E%3Cellipse cx='17.5' cy='10' rx='2' ry='2.6'/%3E%3Cellipse cx='10' cy='5.6' rx='1.8' ry='2.3'/%3E%3Cellipse cx='14.6' cy='5.6' rx='1.8' ry='2.3'/%3E%3Cpath d='M12 12.6c-2.6 0-4.7 2-4.7 4.2 0 1.7 1.3 2.7 3 2.7 .9 0 1.3-.4 1.7-.4s.8.4 1.7.4c1.7 0 3-1 3-2.7 0-2.2-2.1-4.2-4.7-4.2z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='6.5' cy='10' rx='2' ry='2.6'/%3E%3Cellipse cx='17.5' cy='10' rx='2' ry='2.6'/%3E%3Cellipse cx='10' cy='5.6' rx='1.8' ry='2.3'/%3E%3Cellipse cx='14.6' cy='5.6' rx='1.8' ry='2.3'/%3E%3Cpath d='M12 12.6c-2.6 0-4.7 2-4.7 4.2 0 1.7 1.3 2.7 3 2.7 .9 0 1.3-.4 1.7-.4s.8.4 1.7.4c1.7 0 3-1 3-2.7 0-2.2-2.1-4.2-4.7-4.2z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--favoritos a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.6-7-9.4A4 4 0 0 1 12 7.6 4 4 0 0 1 19 10.6C19 15.4 12 20 12 20z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.6-7-9.4A4 4 0 0 1 12 7.6 4 4 0 0 1 19 10.6C19 15.4 12 20 12 20z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--mis-puntos a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3.5 2.7 5.5 6 .9-4.3 4.2 1 6-5.4-2.8-5.4 2.8 1-6L3.3 9.9l6-.9z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3.5 2.7 5.5 6 .9-4.3 4.2 1 6-5.4-2.8-5.4 2.8 1-6L3.3 9.9l6-.9z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--membresia a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11h16v9H4z'/%3E%3Cpath d='M2.5 7.5h19V11h-19z'/%3E%3Cpath d='M12 7.5V20'/%3E%3Cpath d='M12 7.5S10.5 4 8.4 4a2.2 2.2 0 0 0 0 3.5z'/%3E%3Cpath d='M12 7.5S13.5 4 15.6 4a2.2 2.2 0 0 1 0 3.5z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11h16v9H4z'/%3E%3Cpath d='M2.5 7.5h19V11h-19z'/%3E%3Cpath d='M12 7.5V20'/%3E%3Cpath d='M12 7.5S10.5 4 8.4 4a2.2 2.2 0 0 0 0 3.5z'/%3E%3Cpath d='M12 7.5S13.5 4 15.6 4a2.2 2.2 0 0 1 0 3.5z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--downloads a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5v11'/%3E%3Cpath d='m7.8 10.5 4.2 4.2 4.2-4.2'/%3E%3Cpath d='M4.5 18.5h15'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5v11'/%3E%3Cpath d='m7.8 10.5 4.2 4.2 4.2-4.2'/%3E%3Cpath d='M4.5 18.5h15'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-address a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6.5-5.7 6.5-10.4A6.5 6.5 0 0 0 5.5 10.6C5.5 15.3 12 21 12 21z'/%3E%3Ccircle cx='12' cy='10.4' r='2.4'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6.5-5.7 6.5-10.4A6.5 6.5 0 0 0 5.5 10.6C5.5 15.3 12 21 12 21z'/%3E%3Ccircle cx='12' cy='10.4' r='2.4'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-account a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 14.5a1.7 1.7 0 0 0 .3 1.9l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-2.9 1.2 2 2 0 1 1-4 0 1.7 1.7 0 0 0-2.9-1.2l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0-1.2-2.9 2 2 0 1 1 0-4 1.7 1.7 0 0 0 1.2-2.9l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 2.9-1.2 2 2 0 1 1 4 0 1.7 1.7 0 0 0 2.9 1.2l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0 1.2 2.9 2 2 0 1 1 0 4 1.7 1.7 0 0 0-1.3.9z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 14.5a1.7 1.7 0 0 0 .3 1.9l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-2.9 1.2 2 2 0 1 1-4 0 1.7 1.7 0 0 0-2.9-1.2l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0-1.2-2.9 2 2 0 1 1 0-4 1.7 1.7 0 0 0 1.2-2.9l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 2.9-1.2 2 2 0 1 1 4 0 1.7 1.7 0 0 0 2.9 1.2l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0 1.2 2.9 2 2 0 1 1 0 4 1.7 1.7 0 0 0-1.3.9z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--customer-logout a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 20H5.5A1.5 1.5 0 0 1 4 18.5v-13A1.5 1.5 0 0 1 5.5 4h4'/%3E%3Cpath d='m15.5 16 4-4-4-4'/%3E%3Cpath d='M19.5 12H9.8'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 20H5.5A1.5 1.5 0 0 1 4 18.5v-13A1.5 1.5 0 0 1 5.5 4h4'/%3E%3Cpath d='m15.5 16 4-4-4-4'/%3E%3Cpath d='M19.5 12H9.8'/%3E%3C/svg%3E"); }

/* ---------- Direcciones: tarjetas consistentes ---------- */
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .u-columns.woocommerce-Addresses {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px; margin-top: 16px; float: none; width: auto;
}
.woocommerce-account .woocommerce-Address {
	background: #fff; border: 1px solid #e8e8e3; border-radius: 14px; padding: 22px;
	box-sizing: border-box; width: auto !important; float: none !important; margin: 0 !important;
}
.woocommerce-Address-title { margin-bottom: 10px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.woocommerce-Address-title h2, .woocommerce-Address-title h3 { font-size: 17px !important; margin: 0 !important; line-height: 1.3 !important; }
.woocommerce-Address-title a, .woocommerce-Address .edit { color: var(--wp--preset--color--azul, #003DFF) !important; font-weight: 600; text-decoration: none; font-size: 13px; }
.woocommerce-Address address { font-size: 14px; color: #555; font-style: normal; line-height: 1.6; }
.woocommerce-MyAccount-content .u-columns::before, .woocommerce-MyAccount-content .u-columns::after { display: none !important; }

/* ---------- Formularios nativos WooCommerce (Detalles, editar dirección) ---------- */
.woocommerce-MyAccount-content form .woocommerce-Input,
.woocommerce-MyAccount-content form input[type="text"],
.woocommerce-MyAccount-content form input[type="email"],
.woocommerce-MyAccount-content form input[type="tel"],
.woocommerce-MyAccount-content form input[type="password"],
.woocommerce-MyAccount-content form select,
.woocommerce-MyAccount-content form textarea {
	box-sizing: border-box; max-width: 100%; width: 100%;
	padding: 10px 14px; border: 1px solid #ddd; border-radius: 8px; font-size: 14px;
}
.woocommerce-MyAccount-content form button,
.woocommerce-MyAccount-content form button.button,
.woocommerce-MyAccount-content form input[type="submit"] {
	background: var(--wp--preset--color--azul, #003DFF) !important; color: #fff !important; border: none !important; border-radius: 999px !important;
	padding: 12px 22px !important; font-weight: 600 !important; font-size: 14px !important; text-transform: none !important; box-shadow: none !important; cursor: pointer;
}

/* ---------- Mobile fixes (≤781px) ---------- */
@media (max-width: 781px) {
	.mascoteria-access { display: none !important; }
	/* La maqueta SI muestra la barra lima en movil (31px). Se conserva, compacta. */
	.mascoteria-topbar { display: block !important; padding-top: 5px !important; padding-bottom: 5px !important; }
	.mascoteria-topbar p, .mascoteria-topbar a { font-size: 12px !important; }
	.mascoteria-topbar .wp-block-social-links { display: none !important; }
	body { overflow-x: hidden; }
	.mascoteria-featured-cats .wp-block-columns { flex-direction: row !important; flex-wrap: wrap !important; gap: 10px !important; }
	.mascoteria-featured-cats .wp-block-columns > .wp-block-column { flex-basis: calc(50% - 5px) !important; width: calc(50% - 5px) !important; flex-grow: 0 !important; margin: 0 !important; }
	.mascoteria-benefit-row { flex-direction: column !important; align-items: center !important; gap: 18px !important; }
}

/* ---------- Mobile: tarjetas de producto ---------- */
@media (max-width: 781px) {
	.mascoteria-product-card .wc-block-product { position: relative; }
	.mascoteria-fav { z-index: 6; }
	.mascoteria-product-card .wc-block-product .wp-block-button { margin-top: 10px !important; }
	.mascoteria-product-card .wp-block-button,
	.mascoteria-product-card .wp-block-button__link,
	.mascoteria-product-card .wc-block-components-product-button__button {
		width: 100% !important;
		text-align: center;
	}
}

/* ---------- Mobile: barra de iconos del header ---------- */
@media (max-width: 781px) {
	.mascoteria-menubar-mobile .wc-block-mini-cart { margin-left: auto !important; }
	.mascoteria-mobile-actions { display: flex; gap: 14px; align-items: center; }
	.mascoteria-mobile-actions svg,
	.mascoteria-menubar-mobile .wc-block-mini-cart svg { width: 22px !important; height: 22px !important; }
	.mascoteria-mobile-actions a,
	.mascoteria-mobile-actions .wp-block-woocommerce-customer-account a { color: #1f1f1f !important; display: flex; align-items: center; }
}

/* ---------- Mobile: footer compacto + texto botones producto ---------- */
@media (max-width: 781px) {
	/* Beneficios: 3 en fila (icono + titulo, sin descripcion) */
	.mascoteria-benefit-row { flex-direction: row !important; flex-wrap: nowrap !important; align-items: flex-start !important; gap: 6px !important; justify-content: space-between !important; }
	.mascoteria-benefit { flex: 1 1 0 !important; min-width: 0 !important; flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 4px !important; }
	.mascoteria-benefit-b { display: none !important; }
	.mascoteria-benefit-a { font-size: 12px !important; line-height: 1.25 !important; }

	/* Footer: secciones en 2 columnas (marca full-width arriba) */
	.mascoteria-footer .wp-block-columns { flex-direction: row !important; flex-wrap: wrap !important; gap: 24px 20px !important; }
	.mascoteria-footer .wp-block-columns > .wp-block-column { flex-basis: calc(50% - 10px) !important; width: calc(50% - 10px) !important; flex-grow: 0 !important; margin: 0 !important; }
	.mascoteria-footer .wp-block-columns > .wp-block-column:first-child { flex-basis: 100% !important; width: 100% !important; }

	/* Botones de producto: texto siempre visible y bien ajustado */
	.mascoteria-product-card .wp-block-button__link,
	.mascoteria-product-card .wc-block-components-product-button__button {
		white-space: normal !important;
		font-size: 13px !important;
		line-height: 1.3 !important;
		padding: 10px 12px !important;
		text-align: center !important;
		height: auto !important;
	}
}

/* ---------- Mobile: botones ficha producto (compacto, texto en 1 linea) ---------- */
@media (max-width: 781px) {
	.single-product form.cart { flex-wrap: nowrap !important; gap: 8px !important; }
	.single-product form.cart .quantity { max-width: 84px !important; flex: 0 0 auto !important; }
	.single-product form.cart .single_add_to_cart_button,
	.single-product form.cart button[type="submit"] { flex: 1 1 auto !important; width: auto !important; white-space: nowrap !important; font-size: 13px !important; padding: 12px 8px !important; }
	.mascoteria-secondary-actions { flex-direction: row !important; gap: 10px !important; }
	.mascoteria-secondary-actions > * { width: auto !important; flex: 1 1 0 !important; }
	.mascoteria-fav--labeled { justify-content: center !important; white-space: nowrap !important; gap: 6px !important; padding: 11px 8px !important; font-size: 12px !important; }
	.mascoteria-fav--labeled .mascoteria-fav-label { font-size: 0 !important; }
	.mascoteria-fav--labeled .mascoteria-fav-label::after { content: "Favoritos"; font-size: 12px; }
	.mascoteria-secondary-actions .wp-block-button__link { white-space: nowrap !important; font-size: 13px !important; }
}

/* ---------- Mobile: grilla de productos 2 por fila ---------- */
@media (max-width: 781px) {
	.wc-block-product-template { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
	.wc-block-product-template .wc-block-product { width: auto !important; max-width: none !important; margin: 0 !important; }
	.mascoteria-product-card .wc-block-product .wp-block-button__link,
	.mascoteria-product-card .wc-block-components-product-button__button { font-size: 12px !important; padding: 9px 6px !important; white-space: normal !important; }
	.wc-block-product-template .wp-block-post-title { font-size: 14px !important; }
}

/* ---------- Mobile: carruseles de producto (home) -> grilla 2 por fila ---------- */
@media (max-width: 781px) {
	.mascoteria-carousel .wc-block-product-template {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		overflow-x: visible !important;
		gap: 12px !important;
	}
	.mascoteria-carousel .wc-block-product-template .wc-block-product {
		width: auto !important; min-width: 0 !important; max-width: none !important; margin: 0 !important;
	}
	.mascoteria-carousel .mascoteria-carousel-arrow,
	.mascoteria-carousel [class*="arrow"],
	.mascoteria-carousel button[class*="prev"],
	.mascoteria-carousel button[class*="next"] { display: none !important; }
}

/* Megamenú: puente invisible trigger→panel + delay, para poder mover el mouse al panel sin que se cierre */
.mascoteria-menubar .has-megamenu > .mascoteria-menu-trigger { position: relative; }
.mascoteria-menubar .has-megamenu > .mascoteria-menu-trigger::after {
	content: "";
	position: absolute;
	left: -10px;
	right: -10px;
	top: 100%;
	height: 24px;
}
/* pequeño colchón visual del panel para que el puente lo alcance */
.mascoteria-menubar .mascoteria-megamenu-panel { margin-top: 0; }
/* mantener abierto un instante al salir (gracia) usando visibility+opacity */
.mascoteria-menubar .has-megamenu:hover .mascoteria-megamenu-panel,
.mascoteria-menubar .has-megamenu:focus-within .mascoteria-megamenu-panel {
	display: block;
}

/* ---------- Hero: alinear el texto al contenedor del sitio (diseno final 09-2026) ---------- */
.mascoteria-slider .wp-block-cover__inner-container {
	width: 100%;
	max-width: var(--wp--style--global--content-size, max(70vw, 360px));
	margin-inline: auto;
	flex-basis: 100%;
}
.mascoteria-hero-texto {
	max-width: 620px;
	margin-inline: 0;
}
.mascoteria-hero-etiqueta {
	display: inline-block;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	border-radius: 999px;
	padding: 7px 16px;
	margin-bottom: 18px;
	letter-spacing: .01em;
}
.mascoteria-slider .wp-block-cover .wp-block-buttons { margin-top: 26px; }
.mascoteria-slider .wp-block-button.is-style-outline .wp-block-button__link {
	border: 2px solid var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--contrast);
	background: transparent;
}
@media (max-width: 781px) {
	.mascoteria-slider .wp-block-cover { min-height: 440px !important; }
	.mascoteria-hero-texto { max-width: 100%; }
}
.mascoteria-slider .wp-block-cover { padding-inline: 0; }

/* ---------- Hero con fotografia: degradado en la capa de fondo (queda BAJO el texto) ---------- */
.mascoteria-hero-con-foto.hero-auto .wp-block-cover__background {
	opacity: 1 !important;
	background-color: transparent !important;
	/* La imagen trae relleno lila plano hasta el 45% y ahi empieza la foto.
	   El degradado se mantiene OPACO hasta pasar ese punto, para que la union
	   no se vea, y recien despues se abre sobre el animal. */
	background-image: linear-gradient(90deg,
		rgba(246,243,255,1)   0%,
		rgba(246,243,255,1)   46%,
		rgba(246,243,255,.50) 54%,
		rgba(246,243,255,.12) 64%,
		rgba(246,243,255,0)   74%) !important;
}
@media (max-width: 781px) {
	.mascoteria-hero-con-foto.hero-auto .wp-block-cover__background {
		background-image: linear-gradient(180deg,
			rgba(246,243,255,.94) 0%,
			rgba(246,243,255,.80) 42%,
			rgba(246,243,255,.35) 72%,
			rgba(246,243,255,.15) 100%) !important;
	}
	.mascoteria-hero-con-foto.hero-auto .wp-block-cover__image-background { object-position: 70% center; }
}
/* el bloque cover fuerza negro puro; la marca usa gris oscuro */
.mascoteria-slider .wp-block-cover.is-light,
.mascoteria-slider .wp-block-cover.is-light h1,
.mascoteria-slider .wp-block-cover.is-light h2,
.mascoteria-slider .wp-block-cover.is-light p:not(.has-text-color) {
	color: var(--wp--preset--color--contrast, #2C2F3A);
}

/* ---------- Categorias destacadas: tarjetas de la maqueta ---------- */
.mascoteria-cat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:22px; }
.mascoteria-ccard {
	position:relative; border-radius:20px; overflow:hidden;
	display:flex; flex-direction:column; justify-content:space-between;
	aspect-ratio:1/1.04; padding:22px; color:#fff; text-decoration:none;
	transition:transform .18s ease, box-shadow .18s ease;
}
.mascoteria-ccard:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(20,15,40,.16); }
.mascoteria-cc-perros   { background:linear-gradient(150deg,#2b5bff,#003DFF); }
.mascoteria-cc-gatos    { background:linear-gradient(150deg,#a58fd6,#8C75B8); }
.mascoteria-cc-farmacia { background:linear-gradient(150deg,#123a9e,#1746d6); }
.mascoteria-cc-ofertas  { background:linear-gradient(150deg,#d4ff63,#C6FF39); color:#2C2F3A; }
.mascoteria-cc-ic {
	width:56px; height:56px; border-radius:16px; background:rgba(255,255,255,.2);
	display:flex; align-items:center; justify-content:center; flex:0 0 auto;
}
.mascoteria-cc-ofertas .mascoteria-cc-ic { background:rgba(0,0,0,.08); }
.mascoteria-cc-txt  { display:flex; flex-direction:column; gap:6px; }
.mascoteria-cc-main { font-family:var(--wp--preset--font-family--montserrat); font-size:22px; font-weight:700; line-height:1.15; }
.mascoteria-cc-sub  { font-size:15px; opacity:.85; line-height:1.35; }
.mascoteria-cc-go   { display:flex; align-items:center; gap:7px; margin-top:8px; font-family:var(--wp--preset--font-family--montserrat); font-size:13px; font-weight:700; }
.mascoteria-ccard, .mascoteria-ccard:hover, .mascoteria-ccard:focus { color:#fff; }
.mascoteria-cc-ofertas, .mascoteria-cc-ofertas:hover, .mascoteria-cc-ofertas:focus { color:#2C2F3A; }
@media (max-width:900px){
	.mascoteria-cat-grid{ grid-template-columns:1fr 1fr; gap:14px; }
	.mascoteria-ccard{ aspect-ratio:auto; min-height:190px; padding:18px; gap:16px; }
	.mascoteria-cc-sub{ font-size:13px; line-height:1.3; }
}
@media (max-width:480px){ .mascoteria-cc-main{ font-size:19px; } .mascoteria-cc-ic{ width:44px; height:44px; border-radius:13px; } }

/* ---------- Tipografia: calzar con la maqueta ---------- */
/* Solo el menu principal del header: la regla generica tambien alcanzaba la
   navegacion del footer y dejaba esa columna en 16px/600 mientras las otras
   iban en 14px/400. */
.mascoteria-menubar .wp-block-navigation .wp-block-navigation-item__content,
.mascoteria-menubar a {
	font-family:var(--wp--preset--font-family--montserrat) !important;
	font-size:16px !important;
	font-weight:600 !important;
}
.mascoteria-featured-cats > h2,
.wp-block-group > h2.wp-block-heading:not(.has-xx-large-font-size) {
	font-size:30px; font-weight:700; letter-spacing:-.3px; line-height:1.1;
}

/* ---------- Tarjeta de producto: valores medidos en la maqueta ---------- */
.wc-block-product,
.wp-block-post.product,
li.product {
	border-radius: 20px !important;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF) !important;
	padding: 14px !important;
	box-shadow: none !important;
	background: #fff;
}
.wc-block-product .wp-block-post-title,
.wc-block-product .wc-block-components-product-name,
li.product .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--montserrat) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--wp--preset--color--contrast) !important;
}
.wc-block-product .wc-block-components-product-price,
.wc-block-product .price,
li.product .price {
	font-family: var(--wp--preset--font-family--montserrat) !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	color: var(--wp--preset--color--contrast) !important;
}
/* chips de atributos: esquema lila de la maqueta */
.mascoteria-pill {
	background: var(--wp--preset--color--accent-1, #F6F3FF) !important;
	color: var(--wp--preset--color--lila, #8C75B8) !important;
	border: 1px solid var(--wp--preset--color--accent-2, #D6C6F2) !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	padding: 3px 9px !important;
	line-height: 1.4;
}
.mascoteria-pills { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 8px; }


/* ---------- Ajustes finos medidos contra la maqueta ---------- */
/* titulos de seccion: 30px/700 (el hero conserva su tamano propio) */
.wp-site-blocks h2.wp-block-heading:not(.has-xx-large-font-size) {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: -.3px;
	line-height: 1.12;
}
/* seccion Club: 34px sobre fondo oscuro */
.mascoteria-club h2.wp-block-heading,
.wp-block-cover h2.wp-block-heading.has-x-large-font-size { font-size: 34px; }

/* buscador: input 15px y boton pildora azul */
.mascoteria-search .wp-block-search__input {
	font-size: 15px !important;
	color: var(--wp--preset--color--contrast) !important;
}
.mascoteria-search .wp-block-search__button {
	background: var(--wp--preset--color--azul) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-family: var(--wp--preset--font-family--montserrat) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	padding: 10px 22px !important;
}
.mascoteria-search .wp-block-search__button svg { fill: #fff; }

/* accesos del header: carrito como pildora lila */
.mascoteria-access a { font-weight: 600 !important; font-size: 13px !important; }
.mascoteria-access a:last-child {
	background: var(--wp--preset--color--accent-1, #F6F3FF);
	border-radius: 999px;
	padding: 9px 16px;
}
/* boton agregar al carrito */
.wc-block-product .wp-block-button__link,
li.product .button { font-size: 14px !important; }

/* footer: texto suave como la maqueta, no blanco puro */
.mascoteria-footer { color: #C9CBD6; }
.mascoteria-footer h3, .mascoteria-footer h4 {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 15px; font-weight: 700; color: #fff;
}
/* seccion Club sobre fondo oscuro: 34px como la maqueta */
.wp-block-cover.is-dark h2.wp-block-heading { font-size: 34px !important; }

/* ---------- Ficha de producto: valores medidos en la pantalla "Ficha" de la maqueta ---------- */
.single-product h1.wp-block-post-title,
.wp-block-post-title.has-x-large-font-size { font-size: 32px !important; }

/* Agregar al carrito: pildora azul */
.single_add_to_cart_button.button {
	background: var(--wp--preset--color--azul) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-family: var(--wp--preset--font-family--montserrat) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	padding: 15px 28px !important;
}
/* Comprar ahora: pildora verde lima con texto gris */
/* Favoritos: pildora de contorno azul */
.mascoteria-fav--labeled svg { fill: currentColor; stroke: currentColor; }
/* miniaturas de la galeria */
.wp-block-woocommerce-product-image-gallery .wc-block-product-gallery-thumbnails__thumbnail,
.wp-block-woocommerce-product-image-gallery img {
	border-radius: 14px;
}
.wp-block-woocommerce-product-image-gallery .wc-block-product-gallery-thumbnails__thumbnail {
	background: var(--wp--preset--color--accent-1, #F6F3FF);
	border: 1.5px solid var(--wp--preset--color--accent-4, #E6E4EF);
}
.wp-block-woocommerce-product-image-gallery .wc-block-product-gallery-thumbnails__thumbnail--is-active {
	border: 2px solid var(--wp--preset--color--azul);
}
/* Hero: subir el encuadre para no cortar la cabeza del perro */
.mascoteria-hero-con-foto img.wp-block-cover__image-background {
	object-position: center 22% !important;
}

/* ---------- Club Estación Patitas: degradado y dos columnas de la maqueta ---------- */
.mascoteria-club {
	background: linear-gradient(130deg, #0B2EA8, #003DFF);
	margin-top: var(--wp--preset--spacing--60, 48px);
	overflow: hidden;
	/* el ancho completo lo da el alignfull del contenedor */
}
.mascoteria-club-in {
	max-width: var(--wp--style--global--content-size, max(70vw, 360px));
	margin-inline: auto;
	padding: 56px 0;
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 32px;
	align-items: center;
}
.mascoteria-club-copy { color: #fff; }
.mascoteria-club-badge {
	display: inline-flex; align-items:center; gap:7px;
	background: rgba(255,255,255,.14);
	color: var(--wp--preset--color--lima, #C6FF39);
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 13px; font-weight: 600;
	border-radius: 999px; padding: 7px 16px; margin-bottom: 16px;
}
.mascoteria-club-titulo {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 34px !important; font-weight: 700; color: #fff;
	line-height: 1.12; margin: 0 0 12px;
}
.mascoteria-club-bajada { font-size: 16px; color: #fff; margin: 0 0 20px; max-width: 52ch; }
.mascoteria-club-lista { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 10px; }
.mascoteria-club-lista li {
	display: flex; align-items: center; gap: 10px;
	font-size: 15px; font-weight: 500; color: #fff;
}
.mascoteria-club-check {
	width: 22px; height: 22px; flex: 0 0 auto;
	border-radius: 999px; background: var(--wp--preset--color--lima, #C6FF39);
	color: var(--wp--preset--color--contrast, #2C2F3A);
	display: inline-flex; align-items: center; justify-content: center;
}
.mascoteria-club-btn {
	display: inline-block;
	background: var(--wp--preset--color--lima, #C6FF39);
	color: var(--wp--preset--color--contrast, #2C2F3A) !important;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 16px; font-weight: 600;
	border-radius: 999px; padding: 15px 28px; text-decoration: none;
}
.mascoteria-club-btn:hover { filter: brightness(.95); }
.mascoteria-club-art { position: relative; min-height: 300px; display:flex; align-items:center; justify-content:center; }
.mascoteria-club-paw { position: absolute; color: rgba(255,255,255,.13); }
.mascoteria-club-paw.p1 { width: 58px; height: 58px; top: 4%; left: 10%; transform: rotate(-18deg); }
.mascoteria-club-paw.p2 { width: 58px; height: 58px; bottom: 8%; right: 8%; transform: rotate(20deg); }
.mascoteria-club-spark { position:absolute; color:var(--wp--preset--color--lima,#C6FF39); z-index:2; font-size:30px; line-height:1; opacity:.85; }
.mascoteria-club-spark.s1 { top:12%; left:30%; }
.mascoteria-club-spark.s2 { bottom:20%; left:14%; }
.mascoteria-club-medallion {
	position:relative; z-index:3; width:230px; height:230px; border-radius:50%;
	background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2);
	box-shadow:0 24px 60px rgba(0,0,0,.25); color:rgba(255,255,255,.78);
	display:flex; align-items:center; justify-content:center; padding:40px; box-sizing:border-box;
}
.mascoteria-club-pet { position:absolute; z-index:4; overflow:hidden; border-radius:50%; border:3px solid rgba(255,255,255,.55); box-shadow:0 14px 32px rgba(0,0,0,.28); }
.mascoteria-club-pet img { width:100%; height:100%; object-fit:cover; display:block; }
.mascoteria-club-pet.dog { width:98px; height:98px; top:6%; left:0; }
.mascoteria-club-pet.cat { width:82px; height:82px; bottom:4%; right:2%; }
@media (max-width: 900px) {
	.mascoteria-club-in { grid-template-columns: 1fr; gap:8px; padding:36px 20px; text-align:center; }
	.mascoteria-club-art { min-height:250px; order:-1; }
	.mascoteria-club-lista { max-width:380px; margin-left:auto; margin-right:auto; text-align:left; }
	.mascoteria-club-titulo { font-size: 28px !important; }
}
@media (max-width:480px) {
	.mascoteria-club-medallion { width:190px; height:190px; padding:34px; }
	.mascoteria-club-pet.dog { width:80px; height:80px; }
	.mascoteria-club-pet.cat { width:68px; height:68px; }
}


/* ---------- Movil: logo legible (era de 57x16px) ---------- */
@media (max-width: 781px) {
	.mascoteria-logobar .wp-block-site-logo img,
	.mascoteria-logotype img { width: 150px !important; max-width: 46vw; height: auto; }
}

/* ---------- Movil: el buscador se desbordaba 53px con el boton nuevo ---------- */
@media (max-width: 781px) {
	.mascoteria-search,
	.mascoteria-search .wp-block-search__inside-wrapper {
		max-width: 100% !important;
		width: 100% !important;
		min-width: 0 !important;   /* la regla base fija 220px y no dejaba encoger */
		box-sizing: border-box;
	}
	.mascoteria-search .wp-block-search__input { min-width: 0; flex: 1 1 auto; }
	.mascoteria-search .wp-block-search__button {
		padding: 9px 14px !important;
		flex: 0 0 auto;
	}
}
@media (max-width: 781px) {
	/* el buscador pasa a su propia linea: con el logo a 150px quedaba de 40px */
	.mascoteria-logobar > .wp-block-group { flex-wrap: wrap !important; row-gap: 10px; }
	.mascoteria-logobar .mascoteria-search { order: 3; flex: 1 0 100% !important; }
	.mascoteria-logobar .wp-block-site-logo { order: 1; }
	.mascoteria-logobar .mascoteria-access { order: 2; margin-left: auto; }
}

/* ---------- Pantalla de categoria: valores medidos en la maqueta ---------- */
/* titulo de la categoria */
.tax-product_cat .wp-block-query-title,
.post-type-archive-product .wp-block-query-title,
.tax-product_cat h1.wp-block-post-title,
body.archive h1.wp-block-query-title {
	font-size: 38px !important;
	font-weight: 700;
	letter-spacing: -.4px;
}
/* migas de pan */
.wp-block-woocommerce-breadcrumbs,
.woocommerce-breadcrumb {
	font-size: 13px;
	color: var(--wp--preset--color--accent-5, #6B6F7D);
}
.wp-block-woocommerce-breadcrumbs a,
.woocommerce-breadcrumb a { color: var(--wp--preset--color--accent-5, #6B6F7D); }
.wp-block-woocommerce-breadcrumbs a:hover { color: var(--wp--preset--color--azul); }

/* selector de orden como pildora */
.wc-block-product-sort-select select,
.woocommerce-ordering select,
.wp-block-woocommerce-catalog-sorting select {
	font-size: 13px !important;
	border-radius: 999px !important;
	border: 1.5px solid var(--wp--preset--color--accent-4, #E6E4EF) !important;
	padding: 9px 30px 9px 14px !important;
	background-color: #fff !important;
}

/* panel unico de filtros, como la maqueta */
.wp-block-woocommerce-product-filters {
	background: #fff;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 20px;
	padding: 20px;
}
.wp-block-woocommerce-product-filters > * + * {
	border-top: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	padding-top: 16px;
	margin-top: 16px;
}
.wp-block-woocommerce-product-filters .wp-block-heading {
	font-size: 14px !important;
	font-weight: 700;
	margin: 0 0 10px;
}
/* opciones */
.wc-block-components-checkbox__label,
.wp-block-woocommerce-product-filters label {
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--contrast) !important;
}
.wc-block-components-checkbox__input { accent-color: var(--wp--preset--color--azul); }
/* los grupos van sin caja propia: la maqueta solo los separa con una linea */
.wp-block-woocommerce-product-filters fieldset {
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}
.wp-block-woocommerce-product-filters > [class*="wp-block-woocommerce-product-filter"] {
	border-bottom: 0 !important;
	padding-bottom: 0 !important;
}

/* ---------- Aviso de producto agotado ---------- */
.mascoteria-restock {
	margin-top: 18px;
	padding: 18px 20px;
	background: var(--wp--preset--color--accent-1, #F6F3FF);
	border: 1px solid var(--wp--preset--color--accent-2, #D6C6F2);
	border-radius: 16px;
}
.mascoteria-restock__titulo {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 15px; font-weight: 700; margin: 0 0 4px;
	color: var(--wp--preset--color--contrast);
}
.mascoteria-restock__texto { font-size: 14px; color: var(--wp--preset--color--accent-5, #6B6F7D); margin: 0 0 12px; }
.mascoteria-restock__form { display: flex; gap: 10px; flex-wrap: wrap; }
.mascoteria-restock__input {
	flex: 1 1 200px; min-width: 0;
	border: 1.5px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 999px; padding: 12px 18px; font-size: 14px; background: #fff;
}
.mascoteria-restock__btn {
	background: var(--wp--preset--color--azul); color: #fff; border: 0;
	border-radius: 999px; padding: 12px 24px; cursor: pointer;
	font-family: var(--wp--preset--font-family--montserrat); font-size: 14px; font-weight: 600;
}
.mascoteria-restock__btn:hover { filter: brightness(1.08); }
.mascoteria-restock__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.mascoteria-restock__ok { color: #1a7f4b; font-size: 14px; font-weight: 600; margin: 0 0 10px; }
.mascoteria-restock__error { color: #b3261e; font-size: 14px; font-weight: 600; margin: 0 0 10px; }

/* ---------- Testimonios: valores de la maqueta ---------- */
.mascoteria-testi {
	border-radius: 20px !important;
	padding: 22px !important;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF) !important;
}
.mascoteria-testi-stars {
	color: var(--wp--preset--color--lima, #C6FF39) !important;
	font-size: 16px !important;
	letter-spacing: 1px;
}

/* ---------- Cabecera de seccion: titulo a la izquierda, control a la derecha ---------- */
.mascoteria-block-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 4px;
}
.mascoteria-block-head h2 { margin: 0; }
.mascoteria-see {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--azul) !important;
	text-decoration: none;
	white-space: nowrap;
}
.mascoteria-see:hover { text-decoration: underline; }

/* ---------- Carrito y checkout: campos con el radio del sistema (12px) ---------- */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-select__container,
.wc-block-components-select select,
.wp-block-woocommerce-checkout input[type="text"],
.wp-block-woocommerce-checkout input[type="email"],
.wp-block-woocommerce-checkout input[type="tel"],
.wp-block-woocommerce-checkout select {
	border-radius: 12px !important;
	border: 1.5px solid var(--wp--preset--color--accent-4, #E6E4EF) !important;
}
.wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout select:focus {
	border-color: var(--wp--preset--color--azul) !important;
	outline: 2px solid rgba(0,61,255,.15);
	outline-offset: 1px;
}
/* caja del resumen del pedido y del total */
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-sidebar .wc-block-components-panel,
.wp-block-woocommerce-cart-order-summary-block {
	border-radius: 20px;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
}

/* ---------- Movil: filtros plegados tras el boton "Filtrar productos" ----------
   El bloque de WooCommerce trae el boton y un overlay, pero su CSS apunta a
   .wc-block-product-filters y el contenedor se pinta como
   .wp-block-woocommerce-product-filters, asi que el plegado no funciona y los
   filtros quedan siempre abiertos (1400px de alto antes de ver un producto). */
@media (max-width: 600px) {
	.wp-block-woocommerce-product-filters { padding: 0; border: 0; }
	.wp-block-woocommerce-product-filters .wc-block-product-filters__overlay { display: none; }
	.wp-block-woocommerce-product-filters.mascoteria-filtros-abiertos .wc-block-product-filters__overlay {
		display: block;
		background: #fff;
		border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
		border-radius: 20px;
		padding: 20px;
		margin-top: 12px;
	}
	.wp-block-woocommerce-product-filters .wc-block-product-filters__open-overlay,
	.wp-block-woocommerce-product-filters button:has(> svg) {
		border-radius: 999px !important;
		border: 1.5px solid var(--wp--preset--color--accent-4, #E6E4EF) !important;
		background: #fff !important;
		font-family: var(--wp--preset--font-family--montserrat) !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		padding: 11px 20px !important;
		width: 100%;
		justify-content: center;
	}
}

/* ---------- Movil: botones de la ficha parejos y sin partir el texto ---------- */
@media (max-width: 600px) {
	.mascoteria-secondary-actions { gap: 10px !important; align-items: stretch; }
	.mascoteria-secondary-actions .mascoteria-fav--labeled,
	.mascoteria-secondary-actions .mascoteria-buy-now {
		white-space: nowrap;
		padding: 14px 10px !important;
		font-size: 14px !important;
		min-height: 54px;
		line-height: 1.1;
	}
	/* el boton principal ocupa todo el ancho disponible junto al selector */
	form.cart .single_add_to_cart_button.button {
		flex: 1 1 auto;
		width: auto;
		padding: 15px 20px !important;
		font-size: 15px !important;
	}
}

/* Footer: todas las columnas con la misma tipografia */
.mascoteria-footer .wp-block-navigation .wp-block-navigation-item__content,
.mascoteria-footer .wp-block-navigation a {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 14px;
	font-weight: 400;
}

/* ---------- Pantalla de "en construccion" ---------- */
.mascoteria-proximamente {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(160deg, #F6F3FF 0%, #D6C6F2 100%);
	text-align: center;
}
.mascoteria-prox-caja { padding: 40px 24px; }
.mascoteria-prox-caja .wp-block-site-logo { margin: 0 auto 26px; }
.mascoteria-prox-badge {
	display: inline-block;
	background: var(--wp--preset--color--lima, #C6FF39);
	color: var(--wp--preset--color--contrast, #2C2F3A);
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 13px; font-weight: 700;
	border-radius: 999px; padding: 7px 18px; margin: 0 0 18px;
}
.mascoteria-prox-titulo {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: clamp(30px, 5vw, 44px) !important;
	font-weight: 800; line-height: 1.1;
	color: var(--wp--preset--color--contrast, #2C2F3A);
	margin: 0 0 14px;
}
.mascoteria-prox-texto {
	font-size: 17px; line-height: 1.6;
	color: var(--wp--preset--color--accent-5, #6B6F7D);
	margin: 0 auto 26px; max-width: 48ch;
}
.mascoteria-proximamente .wp-block-social-links { margin-bottom: 22px; }
.mascoteria-prox-contacto { font-size: 14px; color: var(--wp--preset--color--accent-5, #6B6F7D); }
.mascoteria-prox-contacto a { color: var(--wp--preset--color--azul) !important; font-weight: 600; }

/* Evita enlaces sociales vacios si se agrega un icono sin URL desde el editor. */
.mascoteria-sin-enlace { cursor: default; }
.wp-block-social-link a[href=""],
.wp-block-social-link a:not([href]) { pointer-events: none; cursor: default; }

/* ---------- Ficha: especificaciones, ingredientes y tarjetas ---------- */
.mascoteria-bloque-ficha { margin-top: 28px; }
.mascoteria-bloque-ficha h2 { margin: 0 0 12px; }
.mascoteria-specs { display: grid; gap: 0; }
.mascoteria-spec {
	display: flex; justify-content: space-between; gap: 20px;
	padding: 11px 0;
	border-bottom: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	font-size: 15px;
}
.mascoteria-spec:last-child { border-bottom: 0; }
.mascoteria-spec__k { color: var(--wp--preset--color--accent-5, #6B6F7D); }
.mascoteria-spec__v { color: var(--wp--preset--color--contrast); font-weight: 600; text-align: right; }
.mascoteria-ingredientes { font-size: 15px; line-height: 1.65; color: var(--wp--preset--color--accent-5, #6B6F7D); margin: 0; }

.mascoteria-fi-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 30px; }
.mascoteria-fi-cards > article:only-child { grid-column: 1 / -1; }
.mascoteria-fi-card { border-radius: 20px; padding: 22px; border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF); display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:start; }
.mascoteria-fi-icon { width:44px; height:44px; border-radius:50%; background:#fff; color:var(--wp--preset--color--azul,#003DFF); display:flex; align-items:center; justify-content:center; }
.mascoteria-fi-icon svg { width:24px; height:24px; }
.mascoteria-fi-ship .mascoteria-fi-icon { color:#1f7a4d; }
.mascoteria-fi-card h3 {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 16px !important; font-weight: 700; margin: 0 0 8px;
	color: var(--wp--preset--color--contrast);
}
.mascoteria-fi-card p { font-size: 14px; line-height: 1.55; margin: 0; color: var(--wp--preset--color--accent-5, #6B6F7D); }
.mascoteria-fi-club { background: var(--wp--preset--color--accent-1, #F6F3FF); border-color: var(--wp--preset--color--accent-2, #D6C6F2); }
.mascoteria-fi-ship { background: #EAF7EF; border-color: #C9E7D5; }
.mascoteria-fi-link { color:var(--wp--preset--color--azul,#003DFF) !important; font-family:var(--wp--preset--font-family--montserrat); font-weight:700; white-space:nowrap; }
@media (max-width: 700px) { .mascoteria-fi-cards { grid-template-columns: 1fr; } }

/* ---------- Selectores de variante en botones (en vez de desplegables) ---------- */
.mascoteria-select-oculto {
	position: absolute !important;
	width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); clip-path: inset(50%);
	white-space: nowrap;
}
.mascoteria-swatches { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 4px; }
.mascoteria-swatch {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 14px; font-weight: 600;
	color: var(--wp--preset--color--contrast, #2C2F3A);
	background: #fff;
	border: 1.5px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 999px;
	padding: 10px 18px;
	cursor: pointer;
	transition: border-color .15s ease, color .15s ease, background .15s ease;
	line-height: 1.1;
}
.mascoteria-swatch:hover:not(:disabled) { border-color: var(--wp--preset--color--azul); }
.mascoteria-swatch.activo {
	border-color: var(--wp--preset--color--azul);
	color: var(--wp--preset--color--azul);
	background: var(--wp--preset--color--accent-1, #F6F3FF);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--azul);
}
.mascoteria-swatch.no-disponible {
	opacity: .4;
	cursor: not-allowed;
	text-decoration: line-through;
}
/* muestras de color */
.mascoteria-swatches.es-color { gap: 10px; }
.mascoteria-swatch.es-muestra {
	width: 38px; height: 38px; padding: 0;
	border-radius: 999px;
	background: var(--tono, #ccc);
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.10);
	border: 2px solid transparent;
}
.mascoteria-swatch.es-muestra.activo {
	border-color: var(--wp--preset--color--azul);
	box-shadow: inset 0 0 0 2px #fff, 0 0 0 1px var(--wp--preset--color--azul);
	background: var(--tono, #ccc);
}
.mascoteria-swatch.es-muestra.no-disponible { text-decoration: none; }
/* la etiqueta del atributo */
.woocommerce-variation-add-to-cart, table.variations th.label label {
	font-family: var(--wp--preset--font-family--montserrat);
	font-weight: 600;
}
table.variations, table.variations tr, table.variations td, table.variations th {
	display: block; width: 100%; border: 0; padding: 0;
}
table.variations th.label { margin-top: 14px; font-size: 14px; }
/* en productos variables el boton queda apretado junto al selector de cantidad */
.woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.woocommerce-variation-add-to-cart .single_add_to_cart_button {
	flex: 1 1 auto; min-width: 190px; white-space: nowrap;
}
.woocommerce-variation-add-to-cart .quantity { flex: 0 0 auto; }
.woocommerce-variation-price { margin-bottom: 4px; }
.reset_variations { font-size: 13px; color: var(--wp--preset--color--accent-5, #6B6F7D); }

/* ---------- Fila cantidad + agregar al carrito, como la maqueta ----------
   Maqueta: fila flex gap 14px · cantidad 131x50 pildora borde 1.5px #E6E4EF
   · boton flex:1 alto 50 radio 999px azul 16px/600 */
.woocommerce-variation-add-to-cart,
form.cart:not(.variations_form) {
	display: flex !important;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 14px;
	margin-top: 14px;
}
.woocommerce-variation-add-to-cart .quantity,
form.cart .quantity {
	flex: 0 0 131px !important;
	width: 131px !important;
	height: 50px;
	border: 1.5px solid var(--wp--preset--color--accent-4, #E6E4EF) !important;
	border-radius: 999px !important;
	background: transparent !important;
	display: flex; align-items: center; justify-content: space-between;
	overflow: hidden;
	padding: 0 6px;
	box-sizing: border-box;
}
.woocommerce-variation-add-to-cart .quantity input,
form.cart .quantity input {
	border: 0 !important; background: transparent !important;
	text-align: center; width: 100%; height: 100%;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 15px; font-weight: 600;
	-moz-appearance: textfield;
}
.woocommerce-variation-add-to-cart .quantity input::-webkit-outer-spin-button,
.woocommerce-variation-add-to-cart .quantity input::-webkit-inner-spin-button,
form.cart .quantity input::-webkit-outer-spin-button,
form.cart .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce-variation-add-to-cart .quantity button,
form.cart .quantity button {
	background: transparent !important; border: 0 !important;
	color: var(--wp--preset--color--contrast) !important;
	width: 30px; height: 100%; cursor: pointer; font-size: 17px; padding: 0 !important;
	flex: 0 0 30px;
}
.woocommerce-variation-add-to-cart .single_add_to_cart_button,
form.cart .single_add_to_cart_button {
	flex: 1 1 0 !important;
	min-width: 0 !important;
	height: 50px;
	padding: 0 28px !important;
	border-radius: 999px !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	white-space: nowrap;
	display: inline-flex; align-items: center; justify-content: center;
}

/* ---------- Selectores de variante: compactos y alineados ---------- */
table.variations { margin: 0 0 4px !important; }
table.variations tbody, table.variations tr { display: block; }
table.variations td, table.variations th { display: block; padding: 0 !important; }
table.variations th.label { margin: 12px 0 6px !important; }
table.variations th.label label {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 13px; font-weight: 700;
	color: var(--wp--preset--color--accent-5, #6B6F7D);
	text-transform: uppercase; letter-spacing: .04em;
}
.mascoteria-swatches { margin: 0 0 2px; gap: 8px; }
.mascoteria-swatch { padding: 9px 16px; font-size: 14px; }
.mascoteria-swatch.es-muestra { width: 34px; height: 34px; }
.woocommerce-variation-description, .woocommerce-variation-availability { margin: 6px 0 0; font-size: 14px; }
a.reset_variations { display: inline-block; margin-top: 8px; }
@media (max-width: 600px) {
	.woocommerce-variation-add-to-cart, form.cart:not(.variations_form) { flex-wrap: wrap; }
	.woocommerce-variation-add-to-cart .quantity, form.cart .quantity { flex: 0 0 120px !important; width: 120px !important; }
}
/* El formulario de producto variable venia en flex horizontal: dejaba los
   selectores a la izquierda y el boton a la derecha. En la maqueta van
   apilados y a todo el ancho. */
form.variations_form.cart { display: block !important; }
form.variations_form.cart > table.variations { width: 100%; }
form.variations_form.cart > .single_variation_wrap { width: 100%; margin-top: 4px; }
/* cantidad y boton: alto definido arriba, en el bloque de fila uniforme */
.woocommerce-variation-add-to-cart .quantity,
form.cart .quantity { box-sizing: border-box !important; }

/* ---------- Blog: alinear con el sistema de diseño ---------- */
/* titulo de la pagina, mismo criterio que la pantalla de categoria */
/* mismo tamano que el titulo de la pantalla de categoria (38px/700).
   La clase de preset de WordPress lleva !important, por eso hace falta aqui. */
body.blog h1.wp-block-heading,
body.page h1.wp-block-post-title,
.wp-block-query-title { font-size: 38px !important; font-weight: 700 !important; letter-spacing: -.4px; }

/* chips de categoria: eran contorno negro del wireframe */
.mascoteria-blog-chips a,
.wp-block-categories-list a,
.taxonomy-category a {
	display: inline-block;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 14px; font-weight: 600;
	color: var(--wp--preset--color--contrast) !important;
	background: #fff;
	border: 1.5px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 999px;
	padding: 9px 18px;
	text-decoration: none;
	transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.mascoteria-blog-chips a:hover,
.wp-block-categories-list a:hover {
	border-color: var(--wp--preset--color--azul);
	color: var(--wp--preset--color--azul) !important;
	background: var(--wp--preset--color--accent-1, #F6F3FF);
}

/* tarjetas de entrada */
.wp-block-post-template > li img,
.wp-block-post-featured-image img { border-radius: 20px !important; }
.wp-block-post-template > li .wp-block-post-title a,
.wp-block-post-title a { color: var(--wp--preset--color--contrast) !important; }
.wp-block-post-template > li .wp-block-post-title {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 18px !important; font-weight: 700; line-height: 1.25;
}
.wp-block-post-date, .wp-block-post-terms {
	font-size: 13px; color: var(--wp--preset--color--accent-5, #6B6F7D);
}
.wp-block-post-excerpt__excerpt { font-size: 14.5px; color: var(--wp--preset--color--accent-5, #6B6F7D); line-height: 1.55; }
/* "Leer más" como los enlaces de seccion */
.wp-block-post-excerpt__more-link, .more-link {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 14px !important; font-weight: 600 !important;
	color: var(--wp--preset--color--azul) !important;
	text-decoration: none;
}
.wp-block-post-excerpt__more-link:hover { text-decoration: underline; }

/* ---------- Topbar: iconos SVG en vez de emoji ---------- */
.mascoteria-tb { display: inline-flex; align-items: center; gap: 7px; }
.mascoteria-tb::before {
	content: "";
	width: 15px;
	height: 15px;
	flex: 0 0 auto;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask-position: center; mask-position: center;
	-webkit-mask-size: 15px 15px; mask-size: 15px 15px;
}
.mascoteria-tb--tel::before  { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16.9v2.6a1.7 1.7 0 0 1-1.9 1.7 17 17 0 0 1-7.4-2.6 16.7 16.7 0 0 1-5.1-5.1A17 17 0 0 1 4 6.1 1.7 1.7 0 0 1 5.7 4.2h2.6a1.7 1.7 0 0 1 1.7 1.5c.1.8.3 1.6.6 2.4a1.7 1.7 0 0 1-.4 1.8l-1.1 1.1a13.7 13.7 0 0 0 5.1 5.1l1.1-1.1a1.7 1.7 0 0 1 1.8-.4c.8.3 1.6.5 2.4.6a1.7 1.7 0 0 1 1.5 1.7z'/%3E%3C/svg%3E");  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16.9v2.6a1.7 1.7 0 0 1-1.9 1.7 17 17 0 0 1-7.4-2.6 16.7 16.7 0 0 1-5.1-5.1A17 17 0 0 1 4 6.1 1.7 1.7 0 0 1 5.7 4.2h2.6a1.7 1.7 0 0 1 1.7 1.5c.1.8.3 1.6.6 2.4a1.7 1.7 0 0 1-.4 1.8l-1.1 1.1a13.7 13.7 0 0 0 5.1 5.1l1.1-1.1a1.7 1.7 0 0 1 1.8-.4c.8.3 1.6.5 2.4.6a1.7 1.7 0 0 1 1.5 1.7z'/%3E%3C/svg%3E"); }
.mascoteria-tb--mail::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='2'/%3E%3Cpath d='m3.6 6.7 8.4 5.8 8.4-5.8'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='2'/%3E%3Cpath d='m3.6 6.7 8.4 5.8 8.4-5.8'/%3E%3C/svg%3E"); }

/* ---------- Tarjeta de producto: ajustes contra la maqueta ---------- */
/* .pcard: padding 14, borde #E6E4EF, hover con borde lila suave */
.mascoteria-product-card li.wc-block-product {
	padding: 14px;
	border-color: var(--wp--preset--color--accent-4, #E6E4EF);
}
.mascoteria-product-card li.wc-block-product:hover {
	border-color: var(--wp--preset--color--accent-2, #D6C6F2);
}

/* .pc-media: caja lila con la foto contenida */
.mascoteria-product-card li.wc-block-product .wc-block-components-product-image,
.mascoteria-product-card li.wc-block-product .wp-block-woocommerce-product-image {
	background: var(--wp--preset--color--accent-1, #F6F3FF);
	border-radius: 16px;
	overflow: hidden;
	/* Proporcion fija como .pc-media en la maqueta: las fotos del cliente vienen
	   en varios formatos (cuadradas, 3:2, verticales) y sin esto cada tarjeta
	   estira distinto la caja. */
	aspect-ratio: 1 / 0.86;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mascoteria-product-card li.wc-block-product .wc-block-components-product-image > a,
.mascoteria-product-card li.wc-block-product .wp-block-woocommerce-product-image > a {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mascoteria-product-card li.wc-block-product .wc-block-components-product-image img,
.mascoteria-product-card li.wc-block-product .wp-block-woocommerce-product-image img {
	border-radius: 0;
	mix-blend-mode: multiply;
	width: 84%;
	height: 84%;
	object-fit: contain;
}

/* .pc-points: pildora lima con huella, no texto plano */
.mascoteria-product-card li.wc-block-product .mascoteria-points,
.mascoteria-favorites .mascoteria-points {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: var(--wp--preset--color--lima, #C6FF39);
	color: var(--wp--preset--color--contrast, #2C2F3A);
	font-family: var(--wp--preset--font-family--montserrat), sans-serif;
	font-weight: 700;
	font-size: 12px;
	padding: 5px 10px;
	border-radius: 999px;
	align-self: flex-start;
}
.mascoteria-product-card li.wc-block-product .mascoteria-points::before,
.mascoteria-favorites .mascoteria-points::before {
	content: "";
	width: 14px;
	height: 14px;
	flex: 0 0 auto;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask-position: center; mask-position: center;
	-webkit-mask-size: 14px 14px; mask-size: 14px 14px;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='11' r='2'/%3E%3Ccircle cx='10.5' cy='7.5' r='2'/%3E%3Ccircle cx='15.5' cy='7.5' r='2'/%3E%3Ccircle cx='19' cy='11.5' r='1.7'/%3E%3Cpath d='M8.5 15.5c0-2 2-3.2 4-3.2s4 1.2 4 3.2a3.2 3.2 0 0 1-3.2 3.2c-1 0-1.2-.6-1.8-.6s-.8.6-1.8.6a3.2 3.2 0 0 1-3.2-3.2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='11' r='2'/%3E%3Ccircle cx='10.5' cy='7.5' r='2'/%3E%3Ccircle cx='15.5' cy='7.5' r='2'/%3E%3Ccircle cx='19' cy='11.5' r='1.7'/%3E%3Cpath d='M8.5 15.5c0-2 2-3.2 4-3.2s4 1.2 4 3.2a3.2 3.2 0 0 1-3.2 3.2c-1 0-1.2-.6-1.8-.6s-.8.6-1.8.6a3.2 3.2 0 0 1-3.2-3.2z'/%3E%3C/svg%3E");
}

/* .pc-brand: 11px/700 con mas tracking, tono de la maqueta */
.mascoteria-brand-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #6B6F7D;
}

/* ---------- Cabecera de seccion con flechas (block-head de la maqueta) ---------- */
/* Solo las cabeceras que llevan flechas: el resto conserva su regla original
   (align-items: baseline, para que el enlace "Ver todo" calce con el titulo). */
.mascoteria-block-head:has(.carrousel-nav) {
	align-items: center;
	margin-bottom: 26px;
}
.mascoteria-block-head > h2,
.mascoteria-block-head > h3 { margin: 0; }
.carrousel-nav { display: flex; gap: 8px; flex: 0 0 auto; }
.carrousel-nav .mascoteria-arrow {
	position: static;
	transform: none;
	left: auto;
	right: auto;
	width: 38px;
	height: 38px;
	border: 1.5px solid var(--wp--preset--color--accent-4, #E6E4EF);
	color: #6B6F7D;
}
.carrousel-nav .mascoteria-arrow svg { width: 18px; height: 18px; }
.carrousel-nav .mascoteria-arrow.is-prev svg { transform: rotate(90deg); }
.carrousel-nav .mascoteria-arrow.is-next svg { transform: rotate(-90deg); }
/* Las flechas que siguen flotando (secciones con pestanas) tambien llevan chevron */
.mascoteria-carousel > .mascoteria-arrow svg { width: 16px; height: 16px; }
.mascoteria-carousel > .mascoteria-arrow.is-prev svg { transform: rotate(90deg); }
.mascoteria-carousel > .mascoteria-arrow.is-next svg { transform: rotate(-90deg); }

/* .pc-name: alto minimo para que los precios se alineen entre tarjetas */
.mascoteria-product-card li.wc-block-product .wp-block-post-title { min-height: 38px; }

/* ---------- Categoria / tienda: barra de filtros como .filters de la maqueta ---------- */
.wp-block-woocommerce-product-filters {
	background: #fff;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 20px;   /* .filters de la maqueta; la variable del tema vale 10 */
	padding: 20px;
}
.mascoteria-filtros-head {
	align-items: center;
	margin-bottom: 14px;
	gap: 12px;
}
.mascoteria-filtros-head h3 { margin: 0; font-size: 17px; }
/* "Limpiar": enlace discreto, no boton. Vive dentro del bloque de filtros
   activos (WooCommerce solo lo acepta ahi), junto a los chips. */
.wp-block-woocommerce-product-filter-clear-button button,
.wp-block-woocommerce-product-filter-clear-button a {
	font-size: 13px;
	color: var(--wp--preset--color--azul, #003DFF);
	text-decoration: underline;
	background: none;
	border: none;
	padding: 0;
}
/* Chips del filtro aplicado: pildora azul con la x */
.wc-block-product-filter-removable-chips__item {
	background: var(--wp--preset--color--azul, #003DFF) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	padding: 5px 10px !important;
}
.wc-block-product-filter-removable-chips__item * { color: #fff !important; }
.wc-block-product-filter-removable-chips__remove { opacity: .7; }
.wc-block-product-filter-removable-chips {
	display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px;
}
/* separadores entre grupos, como .fgroup */
.wp-block-woocommerce-product-filter-attribute,
.wp-block-woocommerce-product-filter-taxonomy {
	padding: 16px 0;
	border-top: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
}
.wp-block-woocommerce-product-filters > .wp-block-woocommerce-product-filter-active + * { border-top: none; }

/* migas: 13px y tono secundario, como en la maqueta */
.woocommerce-breadcrumb,
.wp-block-woocommerce-breadcrumbs {
	font-size: 13px;
	color: #6B6F7D;
}
.woocommerce-breadcrumb a,
.wp-block-woocommerce-breadcrumbs a { color: #6B6F7D; }
.woocommerce-breadcrumb a:hover,
.wp-block-woocommerce-breadcrumbs a:hover { color: var(--wp--preset--color--azul, #003DFF); }

/* bajada de la categoria (.cat-sub): sale de la descripcion del termino */
.mascoteria-cat-sub, .term-description {
	font-size: 15px;
	color: #6B6F7D;
	margin-top: 6px;
	max-width: 62ch;
}

.mascoteria-filtros-activos { align-items: center; gap: 10px; margin-bottom: 18px; }
.mascoteria-filtros-activos .wp-block-woocommerce-product-filter-removable-chips { flex: 0 1 auto; min-width: 0; }
.mascoteria-filtros-activos .wc-block-product-filter-removable-chips { margin-bottom: 0; }
.mascoteria-filtros-activos .wp-block-woocommerce-product-filter-clear-button { flex: 0 0 auto; }


/* En el carrito interesa el nombre y la variante, no el parrafo de venta. */
.wc-block-components-product-metadata__description { display: none; }

/* Caja de totales como tarjeta del sistema */
.wc-block-cart__sidebar > .wc-block-components-sidebar,
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
	background: #fff;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 20px;
	padding: 22px;
}
.wc-block-cart__sidebar { position: sticky; top: 24px; }

/* Checkout: la opcion elegida. OJO: WooCommerce la marca con un box-shadow
   interno (no border ni outline), asi que hay que pisar esa propiedad. */
.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--azul, #003DFF) !important;
	border-radius: 12px;
}
.wc-block-components-radio-control__input { accent-color: var(--wp--preset--color--azul, #003DFF); }

/* Ficha: los h2 de seccion van a 22px como .fi-block h2 de la maqueta.
   Llevan !important porque el preset has-large-font-size tambien lo trae.
   "Productos relacionados" NO entra aqui: es cabecera de carrusel, va a 30. */
.mascoteria-bloque-ficha h2.wp-block-heading,
.mascoteria-product-card-section h2.wp-block-heading,
.single-product .mascoteria-bloque-ficha h2 {
	font-size: 22px !important;
}
.mascoteria-reviews-head h2 { font-size: 22px; }

/* icono de mascota en el widget del escritorio: mismo SVG que la ficha */
.dash-panel .dash-ico {
	width: 30px; height: 30px; border-radius: 50%;
	background: var(--wp--preset--color--accent-1, #F6F3FF);
	color: var(--wp--preset--color--azul, #003DFF);
	display: inline-flex; align-items: center; justify-content: center;
	flex: 0 0 auto; margin-right: 10px;
}
.dash-panel .dash-ico svg { width: 18px; height: 18px; }

/* Carrusel de marcas: se dibuja desde la taxonomia. Mientras no haya logos
   cargados, cada marca se muestra como su nombre en la misma caja. */
.mascoteria-brands .mascoteria-brand {
	flex: 0 0 auto;
	width: 196px;
	height: 96px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--wp--preset--color--accent-4, #E6E4EF);
	border-radius: 14px;
	background: #fff;
	text-decoration: none;
	padding: 12px;
	scroll-snap-align: start;
}
.mascoteria-brands .mascoteria-brand:hover { border-color: var(--wp--preset--color--accent-2, #D6C6F2); }
.mascoteria-brands .mascoteria-brand img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.mascoteria-brands .mascoteria-brand.is-texto span {
	font-family: var(--wp--preset--font-family--montserrat), sans-serif;
	font-weight: 700;
	font-size: 15px;
	color: #6B6F7D;
	text-align: center;
	line-height: 1.25;
}

/* ---------- Titulos de pagina al ancho del contenido ----------
   Los titulos salen al ancho de CONTENIDO y debajo el bloque de WooCommerce
   va al ancho AMPLIO, asi que no calzaban por la izquierda. Paso: carrito,
   checkout, marcas y resultados de busqueda. Se resuelve de una vez. */
.woocommerce-cart .wp-block-post-title,
.woocommerce-checkout .wp-block-post-title,
.woocommerce-account .wp-block-post-title,
.search-results .wp-block-query-title,
.search .wp-block-query-title,
body.page .wp-block-post-title,
.post-type-archive-product .wp-block-query-title,
.tax-product_cat .wp-block-query-title,
.tax-product_brand .wp-block-query-title {
	max-width: var(--wp--style--global--wide-size, 1200px);
	width: 100%;
}

/* Contacto del footer: el correo no debe partirse en el .cl */
.mascoteria-footer-contacto { white-space: nowrap; }
@media (max-width: 600px) { .mascoteria-footer-contacto { white-space: normal; } }

/* ---------- Foco ----------
   El anillo azul del navegador molesta al hacer clic con el mouse, pero hay
   que conservarlo para quien navega con teclado: por eso solo se quita en
   :focus que NO es :focus-visible. */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
[tabindex]:focus:not(:focus-visible),
.wp-block-button__link:focus:not(:focus-visible),
summary:focus:not(:focus-visible) {
	outline: none;
	box-shadow: none;
}
/* Y cuando SI corresponde mostrarlo, que use el azul de marca y no el del navegador. */
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid var(--wp--preset--color--azul, #003DFF);
	outline-offset: 2px;
	border-radius: 4px;
}

/* Hero con foto: la imagen es apaisada 2560x920 con los animales en la mitad
   derecha, asi que se ancla a la derecha y el degradado despeja la izquierda. */
.mascoteria-hero-con-foto.hero-auto img.wp-block-cover__image-background {
	object-position: right center !important;
}

/* ---------- Categorias destacadas con foto de fondo ----------
   La foto viene de la imagen de la categoria en WooCommerce (--cc-foto).
   El degradado de color de cada tarjeta se mantiene ENCIMA para que el
   titulo y la bajada sigan legibles. */
.mascoteria-ccard.tiene-foto {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.mascoteria-ccard.tiene-foto::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--cc-foto);
	background-size: cover;
	background-position: center;
	z-index: -2;
	transition: transform .4s ease;
}
.mascoteria-ccard.tiene-foto::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg,
		rgba(20,22,34,.28) 0%,
		rgba(20,22,34,.52) 55%,
		rgba(20,22,34,.80) 100%);
}
.mascoteria-ccard.tiene-foto:hover::before { transform: scale(1.05); }
/* con foto, el texto va siempre en blanco */
.mascoteria-ccard.tiene-foto .mascoteria-cc-main,
.mascoteria-ccard.tiene-foto .mascoteria-cc-sub { color: #fff; }
.mascoteria-ccard.tiene-foto .mascoteria-cc-ic {
	background: rgba(255,255,255,.22);
	backdrop-filter: blur(3px);
	color: #fff;
}

/* ================= Hero: modos de fondo =================
   .hero-auto   el sitio acomoda la foto y pone el degradado de marca
   .hero-propio se respeta el diseno que subio el cliente, sin agregarle nada
   .tiene-movil hay una segunda imagen para pantallas chicas              */

/* --- imagen de celular: reemplaza a la de escritorio bajo 782px --- */
.mascoteria-hero-con-foto .mascoteria-hero-movil { display: none; }
@media (max-width: 781px) {
	.mascoteria-hero-con-foto.tiene-movil .wp-block-cover__image-background { display: none; }
	.mascoteria-hero-con-foto.tiene-movil .mascoteria-hero-movil {
		display: block;
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		z-index: 0;
	}
}

/* --- MOVIL con acomodo automatico ---
   Antes el degradado era opaco ARRIBA, justo donde queda el animal, y el texto
   encima. Ahora la foto se ve limpia arriba y el degradado sube desde abajo,
   que es donde va el texto. */
@media (max-width: 781px) {
	.mascoteria-hero-con-foto.hero-auto .wp-block-cover__background {
		background-image: linear-gradient(180deg,
			rgba(246,243,255,0)   0%,
			rgba(246,243,255,.08) 26%,
			rgba(246,243,255,.72) 48%,
			rgba(246,243,255,.97) 62%,
			rgba(246,243,255,1)   100%) !important;
	}
	/* Sin imagen propia de celular se reusa el banner ancho: hay que anclarlo a
	   la derecha para que se vea el animal y no el relleno de color. */
	.mascoteria-hero-con-foto.hero-auto:not(.tiene-movil) img.wp-block-cover__image-background {
		object-position: right center !important;
	}
	/* Con imagen propia de celular (vertical) el sujeto suele ir al centro. */
	.mascoteria-hero-con-foto.hero-auto.tiene-movil img.mascoteria-hero-movil {
		object-position: center top !important;
	}
	/* el texto baja al tercio inferior, sobre la zona opaca */
	.mascoteria-hero-con-foto.hero-auto .wp-block-cover__inner-container {
		align-self: flex-end;
		padding-bottom: 6px;
	}
	.mascoteria-hero-con-foto.hero-auto { min-height: 560px !important; }
}

/* --- diseno propio del cliente: no se le agrega nada --- */
.mascoteria-hero-con-foto.hero-propio .wp-block-cover__background {
	background-image: none !important;
	background-color: transparent !important;
	opacity: 1 !important;
}
.mascoteria-hero-con-foto.hero-propio img.wp-block-cover__image-background,
.mascoteria-hero-con-foto.hero-propio .mascoteria-hero-movil {
	object-position: center !important;
}
/* capa de oscurecimiento opcional, para que el texto se lea sobre su arte */
.mascoteria-hero-con-foto.hero-propio.hero-osc-suave  .wp-block-cover__background { background-color: rgba(20,22,34,.22) !important; }
.mascoteria-hero-con-foto.hero-propio.hero-osc-medio  .wp-block-cover__background { background-color: rgba(20,22,34,.42) !important; }
.mascoteria-hero-con-foto.hero-propio.hero-osc-fuerte .wp-block-cover__background { background-color: rgba(20,22,34,.62) !important; }
.mascoteria-hero-con-foto.hero-propio[class*="hero-osc-"] .mascoteria-hero-texto,
.mascoteria-hero-con-foto.hero-propio[class*="hero-osc-"] .mascoteria-hero-texto * { color: #fff; }

/* El bloque de texto medía 620px fijos y se metía 167px dentro de la foto, con
   el degradado ya semitransparente: el texto quedaba ilegible sobre la imagen.
   Ahora se acota al ancho de la zona opaca, asi el renglon corta antes y sigue
   en la linea de abajo. */
@media (min-width: 782px) {
	/* El titulo aguanta mas ancho: es grande y oscuro, se lee igual aunque
	   roce el degradado. La bajada es chica y gris, esa si tiene que cortar
	   antes de llegar a la foto. */
	.mascoteria-hero-con-foto.hero-auto .mascoteria-hero-texto {
		max-width: min(620px, 40vw) !important;
	}
	.mascoteria-hero-con-foto.hero-auto .mascoteria-hero-texto > p {
		max-width: min(560px, 32vw);
	}
	/* la zona 100% opaca se extiende un poco para dar aire al texto */
	.mascoteria-hero-con-foto.hero-auto .wp-block-cover__background {
		background-image: linear-gradient(90deg,
			rgba(246,243,255,1)   0%,
			rgba(246,243,255,1)   48%,
			rgba(246,243,255,.50) 56%,
			rgba(246,243,255,.12) 66%,
			rgba(246,243,255,0)   76%) !important;
	}
}

/* ---------- Carruseles de producto en movil ----------
   WooCommerce agrega por JavaScript la clase wc-block-product-template__responsive
   cuando el contenedor es angosto, y esa clase trae display:grid. En el home eso
   convertia los carruseles en una grilla de dos columnas con TODOS los productos
   apilados. Se le gana sumando la misma clase al selector. */
.mascoteria-carousel .wc-block-product-template.wc-block-product-template__responsive,
.mascoteria-carousel .wc-block-product-template__responsive {
	display: flex !important;
	grid-template-columns: none !important;
	grid-gap: 0 !important;
	gap: var(--wp--preset--spacing--30, 14px) !important;
	overflow-x: auto !important;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
@media (max-width: 781px) {
	/* en celular se ve una tarjeta y se asoma la siguiente, para que se note
	   que hay mas y se pueda deslizar */
	.mascoteria-carousel .wc-block-product-template > li,
	.mascoteria-carousel ul.wp-block-post-template > li {
		flex: 0 0 76% !important;
		max-width: 76% !important;
		scroll-snap-align: start;
	}
}

/* ---------- Mi Cuenta: pedidos y controles (rev. 4.1) ---------- */

/* Los CTA de WooCommerce heredaban el ancho de los botones principales. En la
   cuenta deben sentirse como acciones compactas, no como banners. */
.woocommerce-account .woocommerce-MyAccount-content a.button,
.woocommerce-account .woocommerce-MyAccount-content button.button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-width: 0 !important;
	min-height: 40px;
	box-sizing: border-box;
	padding: 9px 17px !important;
	border: 1px solid transparent !important;
	border-radius: 999px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	white-space: nowrap;
}

/* Listado de pedidos: cada pedido se lee como una tarjeta, sin la tabla cafe
   ni las lineas del estilo predeterminado de WooCommerce. */
.woocommerce-account .woocommerce-MyAccount-orders {
	display: block;
	width: 100%;
	border: 0 !important;
	border-collapse: separate;
	background: transparent !important;
}
.woocommerce-account .woocommerce-MyAccount-orders thead {
	display: none;
}
.woocommerce-account .woocommerce-MyAccount-orders tbody {
	display: grid;
	gap: 14px;
}
.woocommerce-account .woocommerce-MyAccount-orders tbody tr {
	display: grid;
	grid-template-columns: .65fr 1.05fr .9fr 1.45fr minmax(148px, auto);
	gap: 12px;
	align-items: center;
	padding: 18px 20px;
	border: 1px solid #e7e3f0;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 26px rgba(46, 36, 78, .06);
}
.woocommerce-account .woocommerce-MyAccount-orders tbody td {
	display: block !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-size: 14px;
	text-align: left !important;
}
.woocommerce-account .woocommerce-MyAccount-orders tbody td::before {
	content: attr(data-title);
	display: block;
	float: none !important;
	margin-bottom: 4px;
	color: #777482;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1.2;
	text-transform: uppercase;
}
.woocommerce-account .woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-number a {
	color: var(--wp--preset--color--azul, #003DFF);
	font-size: 16px;
	font-weight: 800;
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-number::before {
	content: "Pedido" !important;
}
.woocommerce-account .woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-status {
	font-weight: 700;
}
.woocommerce-account .woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}
.woocommerce-account .woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions::before {
	flex: 0 0 100%;
}
.woocommerce-account .woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions .button {
	margin: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions .reorder {
	border-color: #d9d2ee !important;
	background: #f6f3ff !important;
	color: #312a47 !important;
}

/* Detalle del pedido: tarjeta limpia y jerarquia de totales. */
.woocommerce-account .woocommerce-order-details {
	margin-top: 28px;
	padding: 24px;
	border: 1px solid #e7e3f0;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(46, 36, 78, .06);
}
.woocommerce-account .woocommerce-order-details__title {
	margin: 0 0 18px !important;
	font-size: clamp(22px, 3vw, 30px) !important;
}
.woocommerce-account .woocommerce-table--order-details {
	width: 100%;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse !important;
	background: transparent !important;
}
.woocommerce-account .woocommerce-table--order-details th,
.woocommerce-account .woocommerce-table--order-details td {
	padding: 13px 10px !important;
	border: 0 !important;
	border-bottom: 1px solid #ece9f3 !important;
	background: transparent !important;
	font-size: 14px;
}
.woocommerce-account .woocommerce-table--order-details thead th {
	color: #716d7c;
	font-size: 11px;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child td {
	border-bottom: 0 !important;
	color: #252330;
	font-size: 17px;
	font-weight: 800;
}
.woocommerce-account .woocommerce-table--order-details .button {
	margin: 0 !important;
}
.woocommerce-account .woocommerce-order-details + .woocommerce-customer-details,
.woocommerce-account .woocommerce-customer-details {
	margin-top: 22px;
	padding: 22px 24px;
	border: 1px solid #e7e3f0;
	border-radius: 18px;
	background: #f8f6ff;
}
.woocommerce-account .woocommerce-customer-details h2 {
	margin-top: 0 !important;
	font-size: 20px !important;
}
.woocommerce-account .woocommerce-customer-details address {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-style: normal;
	line-height: 1.7;
}

/* El ojo es un control auxiliar: transparente y discreto, nunca un CTA azul. */
.woocommerce-account .woocommerce-password-input .show-password-input,
.woocommerce-account .password-input .show-password-input,
.woocommerce-account button.show-password-input {
	position: absolute !important;
	top: 50% !important;
	right: 4px !important;
	transform: translateY(-50%);
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 38px !important;
	min-width: 38px !important;
	height: 38px !important;
	min-height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #514d5c !important;
	box-shadow: none !important;
}
.woocommerce-account .woocommerce-password-input .show-password-input:hover,
.woocommerce-account .password-input .show-password-input:hover,
.woocommerce-account button.show-password-input:hover {
	background: #f1eef8 !important;
}

/* ---------- Carrito vacio con identidad Estacion Patitas ---------- */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	padding-top: 10px;
}
.woocommerce-cart .wc-block-cart__empty-cart__title {
	margin: 0 auto !important;
	color: #282633;
	font-size: clamp(25px, 4vw, 34px) !important;
	line-height: 1.2;
}
.woocommerce-cart .wc-block-cart__empty-cart__title::before {
	content: "" !important;
	display: block !important;
	width: 132px !important;
	height: 132px !important;
	margin: 0 auto 26px !important;
	border-radius: 50% !important;
	background-color: #f4efff !important;
	background-image: url("/wp-content/uploads/2026/09/isotipo-estacionpatitas.png") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 92px auto !important;
	-webkit-mask-image: none !important;
	mask-image: none !important;
	box-shadow: 0 14px 34px rgba(84, 55, 139, .13) !important;
}
.woocommerce-cart .wc-block-cart__empty-cart__title::after {
	content: "Aún no agregas productos. Explora la tienda y encuentra algo especial para tu mejor compañero.";
	display: block;
	max-width: 560px;
	margin: 14px auto 28px;
	color: #65616e;
	font-family: Inter, sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.55;
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-separator {
	display: none;
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) {
	margin-top: 38px !important;
	font-size: clamp(21px, 3vw, 28px) !important;
}

/* ---------- Pagina 404 de marca ---------- */
.mascoteria-404 {
	position: relative;
	overflow: hidden;
	max-width: 920px !important;
	margin: 0 auto;
	padding: clamp(34px, 6vw, 70px) clamp(22px, 7vw, 78px) !important;
	border: 1px solid #e5def5;
	border-radius: 28px;
	background:
		radial-gradient(circle at 12% 18%, rgba(190, 255, 45, .26), transparent 26%),
		radial-gradient(circle at 90% 84%, rgba(81, 48, 151, .12), transparent 30%),
		#f8f5ff;
	box-shadow: 0 18px 55px rgba(54, 39, 87, .08);
}
.mascoteria-404__badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 auto 18px;
	padding: 7px 13px;
	border-radius: 999px;
	background: #fff;
	color: #513097;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.mascoteria-404 .wp-block-image img {
	filter: drop-shadow(0 12px 22px rgba(81, 48, 151, .14));
}
.mascoteria-404 h1 {
	max-width: 680px;
	margin-right: auto;
	margin-left: auto;
}
.mascoteria-404 .wp-block-search {
	max-width: 590px;
	margin-right: auto;
	margin-left: auto;
}
.mascoteria-404 .wp-block-search__inside-wrapper {
	border-color: #d7cee9 !important;
	background: #fff;
	box-shadow: 0 8px 24px rgba(54, 39, 87, .06);
}
.mascoteria-404 .is-style-outline .wp-block-button__link {
	border-color: #513097 !important;
	color: #513097 !important;
	background: transparent !important;
}

@media (max-width: 1050px) {
	.woocommerce-account .woocommerce-MyAccount-orders tbody tr {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.woocommerce-account .woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions {
		grid-column: 1 / -1;
		justify-content: flex-start;
	}
}

@media (max-width: 600px) {
	.woocommerce-account .woocommerce-MyAccount-orders tbody tr {
		grid-template-columns: 1fr;
		padding: 18px;
	}
	.woocommerce-account .woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions {
		grid-column: auto;
	}
	.woocommerce-account .woocommerce-order-details,
	.woocommerce-account .woocommerce-customer-details {
		padding: 18px;
		border-radius: 14px;
	}
	.woocommerce-account .woocommerce-table--order-details th,
	.woocommerce-account .woocommerce-table--order-details td {
		padding: 11px 6px !important;
	}
	.mascoteria-404 .wp-block-buttons {
		align-items: stretch !important;
		flex-direction: column !important;
	}
	.mascoteria-404 .wp-block-button,
	.mascoteria-404 .wp-block-button__link {
		width: 100%;
	}
}
