/* ==========================================================================
   PF People First — estilos del tema
   Medidas tomadas del diseño (lienzo de 1920 px). --d es "1 px del diseño":
   vale 1px a 1920 de ancho y se achica en proporción en pantallas menores,
   así la composición se mantiene igual. Los textos tienen un mínimo legible.
   ========================================================================== */

@font-face { font-family: "Aloevera Display"; src: url("../fonts/AloeveraDisplay-Light.otf") format("opentype"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Aloevera Display"; src: url("../fonts/AloeveraDisplay-Regular.otf") format("opentype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Aloevera Display"; src: url("../fonts/AloeveraDisplay-Medium.otf") format("opentype"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Aloevera Display"; src: url("../fonts/AloeveraDisplay-SemiBold.otf") format("opentype"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Aloevera Display"; src: url("../fonts/AloeveraDisplay-Bold.otf") format("opentype"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Aloevera Display"; src: url("../fonts/AloeveraDisplay-Black.otf") format("opentype"); font-weight: 900; font-display: swap; }

:root {
	/* Colores exactos del diseño */
	--pf-morado: #7918a4;
	--pf-morado-osc: #5e1180;
	--pf-teal: #25b1c5;
	--pf-teal-osc: #1d8e9e;
	--pf-teal-icono: #28b4c4;
	--pf-morado-icono: #7627a2;
	--pf-naranja: #ee7722;
	--pf-crema: #f8f6e9;
	--pf-blanco: #ecf5fb;
	--pf-tinta: #000;
	--pf-borde: #c8c8c8;
	--pf-fuente: "Aloevera Display", "Helvetica Neue", Arial, sans-serif;

	/* 1 px del diseño */
	--d: min(1px, calc(100vw / 1920));
	--gutter: 16px;

	/* Tipografía del diseño (con mínimo legible) */
	--t48: max(28px, calc(48 * var(--d)));
	--t46: max(27px, calc(46 * var(--d)));
	--t36: max(24px, calc(36 * var(--d)));
	--t32: max(22px, calc(32.6 * var(--d)));
	--t24: max(19px, calc(24 * var(--d)));
	--t21: max(16px, calc(21.2 * var(--d)));
	--t20: max(16px, calc(20 * var(--d)));
	--t18: max(15px, calc(18 * var(--d)));
	--t16: max(14px, calc(16 * var(--d)));
	--t15: max(14px, calc(15.6 * var(--d)));
	--t14: max(13px, calc(13.8 * var(--d)));
	--t12: max(12px, calc(12.3 * var(--d)));
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
#pf-contacto, #pf-news, #respond { scroll-margin-top: 140px; }
body {
	margin: 0;
	background: #fff;
	color: var(--pf-tinta);
	font-family: var(--pf-fuente);
	font-size: var(--t16);
	line-height: 1.2;
	-webkit-font-smoothing: antialiased;
}
body, .elementor-widget-text-editor, .elementor-widget-heading .elementor-heading-title,
.elementor-button, input, textarea, select, button { font-family: var(--pf-fuente); }
img { max-width: 100%; height: auto; }
a { color: var(--pf-morado); }
a:hover, a:focus { color: var(--pf-morado-osc); }
h1, h2, h3, h4 { font-family: var(--pf-fuente); line-height: 1.2; margin: 0; font-weight: 700; }
p { margin: 0; }
:focus-visible { outline: 3px solid var(--pf-naranja); outline-offset: 2px; }
.pf-main { overflow-x: clip; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link:focus { position: fixed !important; top: 8px; left: 8px; width: auto; height: auto; clip: auto; z-index: 1000; background: #fff; padding: 8px 14px; }

/* Contenedores: anchos del diseño (en proporción al lienzo de 1920) */
.pf-wrap { width: 100%; box-sizing: border-box; margin-inline: auto; padding-inline: var(--gutter); max-width: calc(1344 * var(--d) + 2 * var(--gutter)); }
.pf-wrap--1404 { max-width: calc(1404 * var(--d) + 2 * var(--gutter)); }
.pf-wrap--1412 { max-width: calc(1412 * var(--d) + 2 * var(--gutter)); }
.pf-wrap--1315 { max-width: calc(1315 * var(--d) + 2 * var(--gutter)); }

/* Títulos */
.pf-titulo, .pf-h48 .elementor-heading-title, .pf-h36 .elementor-heading-title, .pf-h46 .elementor-heading-title {
	color: var(--pf-morado); font-weight: 700; text-align: center; line-height: 1.15;
}
.pf-titulo { font-size: var(--t36); margin: 0 0 calc(40 * var(--d)); }
.pf-titulo--xl, .pf-h48 .elementor-heading-title { font-size: var(--t48); }
.pf-h36 .elementor-heading-title { font-size: var(--t36); }
.pf-h46 .elementor-heading-title { font-size: var(--t46); line-height: 1.2; text-align: left; }
.pf-titulo--negro { color: var(--pf-tinta) !important; }
.pf-blanco .elementor-heading-title, .pf-blanco { color: #fff !important; }
.pf-bajada { text-align: center; margin: calc(-28 * var(--d)) 0 calc(24 * var(--d)); font-size: var(--t16); }

/* ---------- Botones (155,5 x 51,6 · 16 px bold · píldora) ---------- */
.pf-btn, .elementor-widget-button.pf-boton .elementor-button {
	display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
	min-width: max(124px, calc(155.5 * var(--d))); min-height: max(42px, calc(51.6 * var(--d)));
	padding: 0 calc(26 * var(--d)); border: 0; border-radius: 999px;
	font-family: var(--pf-fuente); font-weight: 700; font-size: var(--t16); line-height: 1; text-decoration: none; cursor: pointer;
	color: var(--pf-blanco); background: var(--pf-teal);
	transition: background-color .25s, color .25s, transform .25s, box-shadow .25s;
}
.elementor-widget-button.pf-boton .elementor-button-content-wrapper { gap: 0; }
.pf-btn--teal, .elementor-widget-button.pf-boton--teal .elementor-button { background: var(--pf-teal); color: var(--pf-blanco); }
.pf-btn--teal:hover, .elementor-widget-button.pf-boton--teal .elementor-button:hover { background: var(--pf-teal-osc); color: var(--pf-blanco); }
.pf-btn--morado, .elementor-widget-button.pf-boton--morado .elementor-button { background: var(--pf-morado); color: var(--pf-blanco); }
.pf-btn--morado:hover, .elementor-widget-button.pf-boton--morado .elementor-button:hover { background: var(--pf-morado-osc); color: var(--pf-blanco); }
.elementor-widget-button.pf-boton--blanco .elementor-button { background: #fff; color: var(--pf-morado); }
.elementor-widget-button.pf-boton--blanco .elementor-button:hover { background: var(--pf-crema); color: var(--pf-morado-osc); }
/* Botón grande del diseño: 344,7 x 59,1 · 21 px */
.elementor-widget-button.pf-boton--grande .elementor-button { min-width: max(250px, calc(344.7 * var(--d))); min-height: max(46px, calc(59.1 * var(--d))); font-size: var(--t21); }
/* "Ver todo": 185 x 59,1 · 21 px */
.elementor-widget-button.pf-boton--medio .elementor-button { min-width: max(140px, calc(185 * var(--d))); min-height: max(46px, calc(59.1 * var(--d))); font-size: var(--t21); }
/* "Explora contenidos de cuidado oral": 359,8 x 51,6 */
.elementor-widget-button.pf-boton--ancho .elementor-button { min-width: max(260px, calc(359.8 * var(--d))); }

/* El tema base pinta los botones de rosa: se neutraliza en los botones propios. */
.pf-hamburguesa, .pf-hamburguesa:hover, .pf-hamburguesa:focus,
.pf-vistas button, .pf-vistas button:hover, .pf-vistas button:focus { background: none !important; border: 0 !important; box-shadow: none; }
.woocommerce a.button, .woocommerce button.button, .wc-block-components-button:not(.is-link), .wp-element-button {
	background: var(--pf-teal); color: var(--pf-blanco); border: 0; border-radius: 999px; font-weight: 700;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .wp-element-button:hover { background: var(--pf-teal-osc); color: var(--pf-blanco); }

/* ---------- Encabezado (franja 33 · barra 68 · logo 185 · menú 16 bold) ---------- */
.pf-header { position: sticky; top: 0; z-index: 50; background: #fff; }
.admin-bar .pf-header { top: 32px; }
.pf-header__franja { height: max(14px, calc(33 * var(--d))); background: var(--pf-teal); }
.pf-header__barra { background: #fff; }
.pf-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: max(56px, calc(68 * var(--d))); }
.pf-header__logo img { display: block; width: max(120px, calc(185.4 * var(--d))); height: auto; }
.pf-nav { display: flex; justify-content: center; transform: translateX(calc(82 * var(--d))); }
.pf-nav .menu { list-style: none; display: flex; gap: max(16px, calc(20.5 * var(--d))); margin: 0; padding: 0; }
.pf-nav .menu a { color: var(--pf-tinta); font-weight: 700; font-size: var(--t16); text-decoration: none; padding: 6px 0; border-bottom: 2px solid transparent; }
.pf-nav .menu a:hover, .pf-nav .menu .current-menu-item > a, .pf-nav .menu .current-menu-ancestor > a { border-color: var(--pf-teal); }

.pf-nav .pf-redes--nav { display: none; }
.pf-header__acciones { position: relative; display: flex; align-items: center; justify-content: flex-end; gap: max(12px, calc(20 * var(--d))); }
/* El carrito no está en el diseño: va afuera del contenedor para no correr las redes. */
.pf-header__extra { display: flex; align-items: center; gap: max(10px, calc(14 * var(--d))); }
/* Desde 1440 px la lupa y el carrito van por fuera del contenedor (así el resto coincide con el diseño).
   Entre 992 y 1439 todo va en una fila, sin desplazamientos, para que nada se superponga. */
@media (min-width: 1440px) { .pf-header__extra { position: absolute; left: calc(100% + max(14px, calc(26 * var(--d)))); top: 50%; transform: translateY(-50%); } }
@media (min-width: 992px) and (max-width: 1439px) {
	.pf-header__inner { grid-template-columns: auto 1fr auto; column-gap: 24px; }
	.pf-nav { transform: none; }
	.pf-header__acciones { gap: 14px; }
}

.pf-redes { list-style: none; display: flex; gap: max(8px, calc(11.5 * var(--d))); margin: 0; padding: 0; }
.pf-redes a { display: grid; place-items: center; box-sizing: border-box; width: max(28px, calc(32.5 * var(--d))); height: max(28px, calc(32.5 * var(--d))); border-radius: 50%; color: var(--pf-tinta); text-decoration: none; }
.pf-redes svg { width: 54%; height: 54%; fill: currentColor; }
.pf-redes--header a, .pf-redes--nav a { border: 1px solid var(--pf-tinta); }
.pf-redes--header a:hover { background: var(--pf-tinta); color: #fff; }
.pf-redes--pie { gap: max(10px, calc(15.3 * var(--d))); }
.pf-redes--pie a { background: var(--pf-tinta); color: #fff; width: max(34px, calc(43 * var(--d))); height: max(34px, calc(43 * var(--d))); }
.pf-redes--pie a:hover { background: var(--pf-morado); color: #fff; }

.pf-carrito { position: relative; display: grid; place-items: center; width: max(30px, calc(36 * var(--d))); height: max(30px, calc(36 * var(--d))); color: var(--pf-morado); }
.pf-carrito svg { width: 80%; height: 80%; fill: currentColor; }
.pf-carrito__n { position: absolute; top: -4px; right: -6px; min-width: 18px; height: 18px; padding: 0 4px; box-sizing: border-box; border-radius: 9px; background: var(--pf-naranja); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
.pf-hamburguesa { display: none; width: 40px; height: 40px; padding: 9px 8px; cursor: pointer; flex-direction: column; justify-content: space-between; }
.pf-hamburguesa span { display: block; height: 2.5px; border-radius: 2px; background: var(--pf-morado); transition: transform .25s, opacity .25s; }
.pf-hamburguesa[aria-expanded="true"] span:nth-child(1) { transform: translateY(8.5px) rotate(45deg); }
.pf-hamburguesa[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.pf-hamburguesa[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8.5px) rotate(-45deg); }

/* ---------- Pie (crema · 498 de alto · columnas en 291 / 630 / 849 / 1161) ---------- */
.pf-footer { background: var(--pf-crema); padding: calc(96 * var(--d)) 0 calc(18 * var(--d)); font-size: var(--t18); }
.pf-footer__grid { display: grid; grid-template-columns: calc(339 * var(--d)) calc(219 * var(--d)) calc(312 * var(--d)) 1fr; align-items: start; }
.pf-footer__titulo { font-size: var(--t20); font-weight: 700; margin: 0 0 calc(10 * var(--d)); color: var(--pf-tinta); line-height: 1.2; }
.pf-footer__logo { display: block; margin-left: calc(-21 * var(--d)); }
.pf-footer__logo img { width: max(170px, calc(265.3 * var(--d))); display: block; }
.pf-footer__marca p { margin: calc(22 * var(--d)) 0 calc(31 * var(--d)); }
.pf-footer .menu { list-style: none; padding: 0; margin: calc(30 * var(--d)) 0 0; display: grid; gap: calc(13 * var(--d)); }
.pf-footer .menu a { color: var(--pf-tinta); text-decoration: none; font-size: var(--t18); line-height: 1.2; }
.pf-footer .menu a:hover { color: var(--pf-morado); text-decoration: underline; }
.pf-footer__linea { border: 0; border-top: 1px solid var(--pf-tinta); margin: calc(95 * var(--d)) 0 calc(28 * var(--d)); }
/* En el diseño el pie está corrido 37 px a la derecha del centro. */
@media (min-width: 1200px) { .pf-footer .pf-wrap--1412 { position: relative; left: calc(37 * var(--d)); } }
.pf-footer__copy { margin: 0; font-size: var(--t18); }

.pf-news { text-align: center; max-width: max(440px, calc(542 * var(--d))); }
.pf-news__titulo { margin: calc(19 * var(--d)) 0 calc(18 * var(--d)); font-size: var(--t18); }
.pf-news__fila { display: flex; gap: calc(31 * var(--d)); justify-content: center; }
.pf-news input[type=email] { flex: 0 1 max(250px, calc(326.3 * var(--d))); min-width: 0; box-sizing: border-box; height: max(46px, calc(59.8 * var(--d))); border: 1px solid var(--pf-tinta); border-radius: 999px; padding: 0 calc(24 * var(--d)); background: #fff; font-size: var(--t18); text-align: center; color: var(--pf-tinta); }
.pf-news input[type=email]::placeholder { color: var(--pf-tinta); opacity: 1; }
.pf-news .pf-btn { min-width: max(130px, calc(184.6 * var(--d))); min-height: max(46px, calc(59.8 * var(--d))); font-size: var(--t18); }
.pf-check { display: flex; gap: 8px; align-items: center; font-size: var(--t18); margin: calc(20 * var(--d)) 0 0; cursor: pointer; }
.pf-check--centro { justify-content: center; }
.pf-check input { margin: 0; width: max(13px, calc(17 * var(--d))); height: max(13px, calc(17 * var(--d))); accent-color: var(--pf-morado); flex: none; }
.pf-check a { color: var(--pf-tinta); font-weight: 700; }
.pf-form .pf-check a { color: var(--pf-morado); text-decoration: none; }

/* ---------- Formularios (campos 566 x 60 · área 1138 x 294 · 18 px) ---------- */
.pf-form { display: grid; gap: calc(21 * var(--d)); }
.pf-form__fila { display: grid; grid-template-columns: 1fr 1fr; gap: calc(10.5 * var(--d)); }
.pf-form input[type=text], .pf-form input[type=email], .pf-form textarea {
	width: 100%; box-sizing: border-box; border: 1px solid var(--pf-tinta); border-radius: 999px;
	height: max(46px, calc(59.8 * var(--d))); padding: 0 calc(35 * var(--d));
	font-size: var(--t18); color: var(--pf-tinta); background: #fff;
}
.pf-form textarea { height: auto; min-height: max(180px, calc(294 * var(--d))); border-radius: max(22px, calc(30 * var(--d))); padding: calc(26 * var(--d)) calc(31 * var(--d)); resize: vertical; }
.pf-form ::placeholder { color: var(--pf-morado); opacity: 1; }
.pf-form .pf-btn, .pf-form .form-submit { justify-self: start; margin: 0; }
.pf-hp { position: absolute; left: -9999px; }
.pf-aviso { padding: 12px 16px; border-radius: 10px; margin: 0 0 8px; font-weight: 600; font-size: var(--t16); }
.pf-aviso--ok { background: #e2f6f8; color: #105860; }
.pf-aviso--error { background: #fde9e9; color: #8a1c1c; }

.pf-comentarios { max-width: calc(1138 * var(--d) + 2 * var(--gutter)); box-sizing: border-box; margin: 0 auto; padding: calc(108 * var(--d)) var(--gutter) 0; }
.pf-comentarios .pf-titulo { margin-bottom: calc(14 * var(--d)); }
.pf-comentarios__nota { text-align: center; font-size: var(--t18); font-weight: 700; margin: 0 0 calc(24 * var(--d)); }
.pf-comentarios .comment-form-cookies-consent { display: none; }
.pf-comentarios .form-submit { justify-self: center; }
.pf-comentarios .form-submit input { font-family: var(--pf-fuente); }

/* ---------- Tarjetas de producto ---------- */
.pf-grid-prod { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(19.5 * var(--d)); }
.pf-card-prod {
	position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; box-sizing: border-box;
	border: 1px solid var(--pf-borde); border-radius: max(12px, calc(18 * var(--d))); background: #fff;
	transition: border-color .2s, box-shadow .2s;
}
.pf-card-prod:hover { border-color: var(--pf-morado); }
.pf-card-prod:hover .pf-btn--teal { background: var(--pf-morado); }
.pf-card-prod__img { --alto: calc(295 * var(--d)); position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: var(--alto); }
.pf-card-prod__img img { max-height: var(--alto) !important; max-width: 100%; width: auto !important; height: auto; object-fit: contain; }
.pf-card-prod__titulo { font-weight: 700; margin: 0; line-height: 1.2; }
.pf-card-prod__titulo a { color: var(--pf-morado); text-decoration: none; }
.pf-card-prod__sub { margin: 0; line-height: 1.2; }
.pf-card-prod__precio { font-weight: 700; color: var(--pf-tinta); margin: calc(8 * var(--d)) 0 0; font-size: var(--t16); }
.pf-card-prod__precio del { opacity: .55; font-weight: 400; }

/* Tienda / relacionados: tarjeta 343 x 492 */
.pf-grid-prod--tienda .pf-card-prod { min-height: calc(491.9 * var(--d)); padding: calc(34 * var(--d)) calc(14 * var(--d)) calc(15 * var(--d)); }
.pf-grid-prod--tienda .pf-card-prod__titulo { font-size: var(--t14); margin-top: calc(32 * var(--d)); }
.pf-grid-prod--tienda .pf-card-prod__sub { font-size: var(--t12); margin-top: calc(6 * var(--d)); }
.pf-grid-prod--tienda .pf-card-prod .pf-btn { margin-top: auto; }
.pf-grid-prod--tienda .pf-card-prod__sub + .pf-btn, .pf-grid-prod--tienda .pf-card-prod__precio + .pf-btn { margin-top: max(16px, calc(25 * var(--d))); }

/* Productos populares (Inicio): tarjeta 447,6 x 742,7 */
.pf-grid-prod--populares { grid-template-columns: repeat(4, 1fr); gap: calc(25.5 * var(--d)); }
.pf-grid-prod--populares .pf-card-prod { min-height: calc(742.7 * var(--d)); padding: calc(41 * var(--d)) calc(40 * var(--d)) calc(70 * var(--d)); }
.pf-grid-prod--populares .pf-card-prod__img { --alto: calc(384.5 * var(--d)); }
.pf-grid-prod--populares .pf-card-prod__titulo { font-size: var(--t18); margin-top: calc(44 * var(--d)); }
.pf-grid-prod--populares .pf-card-prod__sub { font-size: var(--t16); font-weight: 700; margin-top: calc(6 * var(--d)); }
.pf-card-prod__conoce { font-size: var(--t18); font-weight: 700; color: var(--pf-morado); text-decoration: none; margin-top: calc(14 * var(--d)); line-height: 1.2; }
.pf-card-prod__desc { font-size: var(--t16); line-height: 1.2; margin-top: calc(18 * var(--d)); }
.pf-card-prod__desc p { margin: 0; }

/* Relacionados: 4 tarjetas de 343 con 22 de separación */
.pf-grid-prod--4 { grid-template-columns: repeat(4, 1fr); gap: calc(22 * var(--d)); }

/* ---------- Categorías (Inicio): columnas de 440 · imagen ~375 x 415 ---------- */
.pf-cats { display: grid; grid-template-columns: repeat(3, calc(440 * var(--d))); justify-content: center; }
.pf-cat { text-align: center; display: flex; flex-direction: column; align-items: center; }
.pf-cat__img { display: flex; align-items: flex-end; justify-content: center; height: calc(432 * var(--d)); }
.pf-cat__img img { display: block; width: calc(375 * var(--d)); height: auto; max-height: 100%; object-fit: contain; }
.pf-cat__titulo { display: grid; align-items: center; min-height: calc(66 * var(--d)); color: var(--pf-morado); font-weight: 700; font-size: var(--t36); line-height: .85; margin: calc(30 * var(--d)) 0 0; }
.pf-cat__desc { font-size: var(--t16); line-height: 1.2; max-width: calc(392 * var(--d)); margin: calc(20 * var(--d)) 0 calc(15 * var(--d)); flex: 1; }

/* ---------- Tarjetas de blog (Inicio): 798 x 399 · título 21 · texto 18 ---------- */
.pf-blog-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: calc(29.8 * var(--d)); }
.pf-blog-card { text-align: center; }
.pf-blog-card__img { display: block; overflow: hidden; border-radius: max(12px, calc(20 * var(--d))); }
.pf-blog-card__img img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; }
.pf-blog-card__titulo { font-size: var(--t21); font-weight: 700; margin: calc(23 * var(--d)) 0 0; line-height: 1.2; }
.pf-blog-card__titulo a { color: var(--pf-morado); text-decoration: none; }
.pf-blog-card__extracto { font-size: var(--t18); line-height: 1.2; margin: calc(14 * var(--d)) auto 0; max-width: calc(790 * var(--d)); }
/* "Te puede interesar" (artículo): 3 tarjetas chicas */
.pf-blog-cards--chico { grid-template-columns: repeat(3, 1fr); gap: calc(28 * var(--d)); }
.pf-blog-cards--chico .pf-blog-card { text-align: left; }
.pf-blog-cards--chico .pf-blog-card__img { border-radius: max(10px, calc(14 * var(--d))); }
.pf-blog-cards--chico .pf-blog-card__titulo { font-size: var(--t18); margin-top: calc(28 * var(--d)); }

/* ---------- PF en tu ciudad: título 36 · logos en tarjetas 248 x 124 ---------- */
.pf-tiendas { padding: calc(100 * var(--d)) 0 calc(64 * var(--d)); }
.pf-tiendas .pf-titulo { margin-bottom: calc(35 * var(--d)); }
.pf-sec-comentarios + .pf-sec-tiendas .pf-tiendas { padding-top: calc(40 * var(--d)); }
.pf-tiendas__cinta { width: calc(1625 * var(--d)); max-width: 100%; margin-inline: auto; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.pf-tiendas__lista { list-style: none; display: flex; gap: calc(38 * var(--d)); margin: 0; padding: calc(9 * var(--d)) 0; width: max-content; animation: pf-cinta 34s linear infinite; }
.pf-tiendas__cinta:hover .pf-tiendas__lista { animation-play-state: paused; }
.pf-tiendas__item > * { display: grid; place-items: center; box-sizing: border-box; width: max(150px, calc(248 * var(--d))); height: max(76px, calc(124 * var(--d))); padding: calc(14 * var(--d)) calc(20 * var(--d)); border: 1px solid #ececec; border-radius: max(12px, calc(19 * var(--d))); background: #fff; text-align: center; font-size: var(--t16); font-weight: 700; color: var(--pf-morado); text-decoration: none; }
.pf-tiendas__item img { max-height: max(36px, calc(66 * var(--d))); max-width: 100%; width: auto; }
@keyframes pf-cinta { to { transform: translateX(calc(-50% - 19 * var(--d))); } }
@media (prefers-reduced-motion: reduce) { .pf-tiendas__lista { animation: none; } .pf-tiendas__cinta { overflow-x: auto; } }

/* ---------- Banners de página ---------- */
.pf-banner-titulo { background: var(--pf-morado); color: #fff; text-align: center; display: grid; place-content: center; min-height: max(80px, calc(110.3 * var(--d))); padding: 0 var(--gutter); box-sizing: border-box; }
.pf-banner-titulo h1 { color: #fff; font-size: var(--t36); font-weight: 700; margin: 0; }
.pf-banner-titulo p { margin: calc(12 * var(--d)) 0 0; font-size: var(--t16); font-weight: 700; }
.pf-banner-titulo--alto { min-height: max(110px, calc(158.8 * var(--d))); }
.pf-banner-cat img { display: block; width: 100%; height: calc(110 * var(--d)); object-fit: cover; object-position: left center; }

/* ---------- Tienda (contenedor 310 → 1714 · barra lateral · tarjetas 343) ---------- */
.pf-tienda { padding-top: calc(100 * var(--d)); padding-bottom: 0; }
/* En el diseño la tienda está corrida 52 px a la derecha del centro. */
@media (min-width: 1200px) { .pf-tienda { position: relative; left: calc(52 * var(--d)); } .pf-orden { margin-right: calc(30 * var(--d)); } .pf-tienda + .pf-tiendas .pf-tiendas__cinta { position: relative; left: calc(52 * var(--d)); } }
.pf-tienda + .pf-tiendas { padding-top: calc(151 * var(--d)); }
.pf-tienda + .pf-tiendas .pf-tiendas__cinta { width: calc(1427 * var(--d)); }
.pf-tienda + .pf-tiendas .pf-titulo { margin-bottom: calc(45 * var(--d)); }
.pf-tienda .pf-titulo { margin-bottom: calc(66 * var(--d)); }
.pf-tienda__layout { display: grid; grid-template-columns: calc(336 * var(--d)) 1fr; align-items: start; }
.pf-filtros { width: calc(222 * var(--d)); min-width: 160px; }
.pf-filtro { border-bottom: 1px solid #8c8c8c; padding: 0 0 calc(30 * var(--d)); margin-bottom: calc(34 * var(--d)); }
.pf-filtro summary { display: flex; justify-content: space-between; align-items: center; cursor: pointer; list-style: none; color: var(--pf-morado); font-weight: 700; font-size: var(--t24); line-height: 1.2; padding: 0 0 calc(16 * var(--d)); }
.pf-filtro summary::-webkit-details-marker { display: none; }
.pf-filtro summary::after { content: ""; width: calc(14 * var(--d)); min-width: 10px; height: 1.5px; background: var(--pf-tinta); }
.pf-filtro:not([open]) summary::after { content: "+"; width: auto; height: auto; background: none; font-weight: 400; color: var(--pf-tinta); }
.pf-filtro ul { list-style: none; margin: 0; padding: 0; display: grid; gap: calc(12 * var(--d)); font-size: var(--t16); }
.pf-filtro a { color: var(--pf-tinta); text-decoration: none; }
.pf-filtro a:hover, .pf-filtro a[aria-current] { color: var(--pf-morado); font-weight: 700; }
.pf-filtro__check { display: flex; align-items: center; gap: calc(14 * var(--d)); }
.pf-filtro__check::before { content: ""; width: max(12px, calc(14 * var(--d))); height: max(12px, calc(14 * var(--d))); border: 1px solid #555; border-radius: 2px; flex: none; }
.pf-filtro__check.is-on::before { background: var(--pf-morado); border-color: var(--pf-morado); box-shadow: inset 0 0 0 2px #fff; }
.pf-tienda__barra { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: calc(-6 * var(--d)) 0 0; min-height: calc(48 * var(--d)); flex-wrap: wrap; }
.pf-vistas { display: flex; gap: calc(12 * var(--d)); }
.pf-vistas button { width: max(20px, calc(22 * var(--d))); height: max(20px, calc(22 * var(--d))); padding: 2px; cursor: pointer; color: var(--pf-tinta); }
.pf-vistas button.is-on { color: var(--pf-morado); }
.pf-vistas svg { width: 100%; height: 100%; fill: currentColor; }
.pf-orden { display: flex; align-items: center; gap: calc(28 * var(--d)); font-size: var(--t16); }
.pf-orden form { margin: 0; }
.pf-orden select { border: 0; background: transparent; color: var(--pf-morado); font-weight: 700; font-size: var(--t16); cursor: pointer; padding: 4px; }
.pf-grid-prod[data-vista="2"] { grid-template-columns: repeat(2, 1fr); }
.pf-grid-prod[data-vista="4"] { grid-template-columns: repeat(4, 1fr); }
.pf-grid-prod[data-vista="lista"] { grid-template-columns: 1fr; }
.pf-grid-prod[data-vista="lista"] .pf-card-prod { min-height: 0; display: grid; grid-template-columns: calc(180 * var(--d)) 1fr auto; grid-template-rows: auto auto; column-gap: calc(32 * var(--d)); text-align: left; align-items: center; padding: calc(18 * var(--d)) calc(28 * var(--d)); }
.pf-grid-prod[data-vista="lista"] .pf-card-prod__img { --alto: calc(150 * var(--d)); grid-row: 1 / 4; margin: 0; }
.pf-grid-prod[data-vista="lista"] .pf-card-prod__titulo { margin-top: 0; align-self: end; }
.pf-grid-prod[data-vista="lista"] .pf-card-prod .pf-btn { grid-column: 3; grid-row: 1 / 4; margin: 0; }
.pf-vacio { padding: 40px 0; text-align: center; }
.woocommerce-pagination { margin-top: 28px; text-align: center; }

/* ---------- Ficha de producto ---------- */
.pf-ficha { padding-top: calc(62 * var(--d)); padding-bottom: calc(62 * var(--d)); }
.pf-migas { font-size: var(--t15); display: flex; flex-wrap: wrap; gap: calc(12 * var(--d)); margin-bottom: calc(14 * var(--d)); }
.pf-migas a { text-decoration: none; }
.pf-migas a:first-child { color: var(--pf-morado); }
.pf-migas a:not(:first-child), .pf-migas > span[aria-hidden] { color: var(--pf-tinta); }
.pf-migas [aria-current] { color: var(--pf-morado); font-weight: 700; }
.pf-ficha__grid { display: grid; grid-template-columns: calc(684 * var(--d)) 1fr; column-gap: 0; align-items: start; padding-left: calc(16 * var(--d)); }
.pf-ficha > .pf-migas { padding-left: calc(16 * var(--d)); }
.pf-ficha .pf-migas { margin-left: 0; }
.pf-ficha__galeria .woocommerce-product-gallery { position: relative; display: grid; grid-template-columns: calc(49 * var(--d)) 1fr; column-gap: calc(28 * var(--d)); width: 100% !important; float: none !important; margin: 0 !important; }
.pf-ficha__galeria .woocommerce-product-gallery__wrapper, .pf-ficha__galeria .flex-viewport { grid-column: 2; grid-row: 1; }
.pf-ficha__galeria .flex-control-thumbs { grid-column: 1; grid-row: 1; list-style: none; margin: 0; padding: 0; display: grid; gap: calc(14 * var(--d)); align-content: start; }
.pf-ficha__galeria .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
.pf-ficha__galeria .flex-control-thumbs img { box-sizing: border-box; width: max(40px, calc(49 * var(--d))); height: max(40px, calc(49 * var(--d))); padding: 3px; object-fit: contain; border: 1px solid transparent; border-radius: 4px; cursor: pointer; opacity: .65; background: #fff; }
.pf-ficha__galeria .flex-control-thumbs img.flex-active { border-color: var(--pf-tinta); opacity: 1; }
.woocommerce .pf-ficha__galeria .woocommerce-product-gallery__image img, .pf-ficha__galeria .woocommerce-product-gallery__image img { width: 100% !important; height: calc(520 * var(--d)) !important; object-fit: contain; }
.pf-ficha__galeria .woocommerce-product-gallery__trigger { top: calc(18 * var(--d)) !important; right: calc(38 * var(--d)) !important; z-index: 5; width: max(32px, calc(43.8 * var(--d))) !important; height: max(32px, calc(43.8 * var(--d))) !important; border: 1px solid var(--pf-tinta); border-radius: 50%; background: #fff !important; }
.pf-ficha__info { padding-top: calc(3 * var(--d)); max-width: calc(660 * var(--d)); }
.pf-ficha__nav { display: flex; justify-content: flex-end; gap: calc(14 * var(--d)); margin-bottom: calc(-22 * var(--d)); }
.pf-ficha__nav a { color: var(--pf-tinta); width: max(14px, calc(16 * var(--d))); height: max(14px, calc(16 * var(--d))); }
.pf-ficha__nav svg { width: 100%; height: 100%; fill: currentColor; }
.pf-ficha__titulo { color: var(--pf-morado); font-size: var(--t24); font-weight: 700; margin: 0; line-height: 1.2; }
.pf-ficha__sub { font-weight: 700; font-size: var(--t15); line-height: 1.2; margin: calc(14 * var(--d)) 0 0; padding-bottom: calc(18 * var(--d)); border-bottom: 1px solid #8c8c8c; }
.pf-ficha__compra { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: calc(18 * var(--d)) 0; border-bottom: 1px solid #8c8c8c; }
.pf-ficha__compra:empty { display: none; }
.pf-ficha__compra .price { font-size: var(--t24); font-weight: 700; color: var(--pf-tinta); margin: 0; }
.pf-ficha__compra form.cart { display: flex; gap: 10px; align-items: center; margin: 0; }
.pf-ficha__compra .quantity input { width: 64px; height: max(42px, calc(51.6 * var(--d))); box-sizing: border-box; padding: 0 10px; border: 1px solid var(--pf-tinta); border-radius: 999px; text-align: center; font: inherit; }
.pf-ficha__compra .single_add_to_cart_button { background: var(--pf-morado) !important; color: var(--pf-blanco) !important; border-radius: 999px !important; min-height: max(42px, calc(51.6 * var(--d))); padding: 0 calc(30 * var(--d)) !important; font-family: var(--pf-fuente); font-size: var(--t16) !important; font-weight: 700; border: 0; cursor: pointer; }
.pf-ficha__compra .single_add_to_cart_button:hover { background: var(--pf-morado-osc) !important; }
.pf-ficha__compra .stock { margin: 0; font-size: var(--t15); }
.pf-acordeon { border-bottom: 1px solid #8c8c8c; padding: calc(18 * var(--d)) 0; font-size: var(--t15); line-height: 1.2; }
.pf-acordeon summary { display: flex; justify-content: space-between; align-items: center; cursor: pointer; list-style: none; color: var(--pf-morado); font-weight: 700; font-size: var(--t15); }
.pf-acordeon summary::-webkit-details-marker { display: none; }
.pf-acordeon summary::after { content: ""; flex: none; width: calc(14 * var(--d)); min-width: 10px; height: 2px; background: var(--pf-morado); box-shadow: none; }
.pf-acordeon:not([open]) summary::after { content: "+"; width: auto; height: auto; background: none; font-size: var(--t18); line-height: 1; }
.pf-acordeon__cuerpo { padding-top: calc(20 * var(--d)); }
.pf-acordeon__cuerpo p { margin: 0 0 calc(18.8 * var(--d)); }
.pf-acordeon__cuerpo p:last-child { margin-bottom: 0; }
.pf-acordeon__cuerpo ul { margin: 0; padding-left: calc(18 * var(--d)); }
.pf-ficha__pres { margin-top: calc(37 * var(--d)) !important; }
.pf-ficha__banner img { display: block; width: 100%; height: auto; }

.pf-beneficios { padding-top: calc(51 * var(--d)); padding-bottom: calc(72 * var(--d)); }
.pf-beneficios .pf-titulo { margin-bottom: calc(38 * var(--d)); }
.pf-beneficios__lista { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(4, calc(337 * var(--d))); justify-content: center; text-align: center; }
.pf-beneficios__lista li { display: flex; flex-direction: column; align-items: center; }
.pf-beneficios__lista img { width: calc(145 * var(--d)); min-width: 80px; height: calc(145 * var(--d)); min-height: 80px; object-fit: contain; display: block; margin: 0 auto calc(11 * var(--d)); }
.pf-beneficios__lista span { color: var(--pf-morado); font-weight: 700; font-size: var(--t15); line-height: 1.2; max-width: calc(270 * var(--d)); }
.pf-faq { max-width: calc(1228 * var(--d) + 2 * var(--gutter)); padding-top: calc(44 * var(--d)); padding-bottom: calc(167 * var(--d)); }
.pf-faq .pf-titulo { margin-bottom: calc(27 * var(--d)); }
.pf-faq .pf-acordeon { font-size: var(--t16); padding: calc(22 * var(--d)) 0 calc(14 * var(--d)); }
.pf-faq .pf-acordeon summary { color: var(--pf-tinta); font-size: var(--t16); }
.pf-faq .pf-acordeon summary::after { background: var(--pf-tinta); }
.pf-faq .pf-acordeon:not([open]) summary::after { color: var(--pf-tinta); background: none; }
.pf-faq .pf-acordeon__cuerpo { padding-top: calc(42 * var(--d)); }
.pf-relacionados { max-width: calc(1435 * var(--d) + 2 * var(--gutter)); padding-bottom: calc(120 * var(--d)); }
.pf-relacionados .pf-titulo { margin-bottom: calc(14 * var(--d)); }
.pf-relacionados .pf-bajada { margin: 0 0 calc(31 * var(--d)); }
.pf-relacionados .pf-card-prod { min-height: calc(487.5 * var(--d)); }
.pf-explora { max-width: calc(1626 * var(--d) + 2 * var(--gutter)); padding-bottom: calc(100 * var(--d)); }
.pf-explora .pf-titulo { margin-bottom: calc(44 * var(--d)); }

/* ---------- Avisos de WooCommerce ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-radius: 10px; border-top-color: var(--pf-teal); font-size: var(--t16); }
.woocommerce-message .button, .woocommerce-info .button { background: var(--pf-teal) !important; color: var(--pf-blanco) !important; border-radius: 999px !important; }
.wc-block-components-button:not(.is-link), .woocommerce a.button.alt, .woocommerce button.button.alt { background: var(--pf-morado); color: var(--pf-blanco); }

/* ---------- Blog: listado (imagen 636 x 318 · texto centrado en columna de 660) ---------- */
.pf-blog-lista { max-width: calc(1315 * var(--d) + 2 * var(--gutter)); padding-top: calc(58 * var(--d)); padding-bottom: calc(100 * var(--d)); display: grid; gap: calc(32 * var(--d)); }
.pf-blog-item { display: grid; grid-template-columns: calc(636 * var(--d)) 1fr; gap: calc(30 * var(--d)); align-items: center; }
.pf-blog-item__img { display: block; overflow: hidden; border-radius: max(10px, calc(14 * var(--d))); }
.pf-blog-item__img img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; }
.pf-blog-item__texto { text-align: center; padding: 0 calc(15 * var(--d)); }
.pf-blog-item__titulo { font-size: var(--t18); font-weight: 700; margin: 0; line-height: 1.2; }
.pf-blog-item__titulo a { color: var(--pf-morado); text-decoration: none; }
.pf-blog-item__texto p { font-size: var(--t18); line-height: 1.2; margin: calc(14 * var(--d)) 0 calc(38 * var(--d)); }

/* ---------- Blog: artículo (contenedor 1315 · h1 48 · h2 36 · texto 18) ---------- */
.pf-articulo { max-width: calc(1315 * var(--d) + 2 * var(--gutter)); padding-top: calc(36 * var(--d)); }
.pf-articulo .pf-migas { margin-left: calc(10 * var(--d)); margin-bottom: calc(10 * var(--d)); }
.pf-articulo__img img { display: block; width: 100%; aspect-ratio: 1315 / 658; height: auto; max-height: none !important; object-fit: cover; border-radius: max(18px, calc(40 * var(--d))); }
.pf-articulo__titulo { color: var(--pf-morado); font-size: var(--t48); font-weight: 700; line-height: 1.15; margin: calc(20 * var(--d)) 0 calc(14 * var(--d)) calc(8 * var(--d)); }
.pf-articulo__cuerpo { font-size: var(--t18); line-height: 1.2; padding-left: calc(8 * var(--d)); }
.pf-articulo__cuerpo p { margin: 0 0 calc(21.6 * var(--d)); }
.pf-articulo__cuerpo h2 { color: var(--pf-morado); font-size: var(--t36); font-weight: 700; line-height: 1.2; margin: calc(55 * var(--d)) 0 calc(20 * var(--d)); }
.pf-articulo__cuerpo h3 { font-size: var(--t18); font-weight: 700; margin: calc(40 * var(--d)) 0 calc(16 * var(--d)); }
.pf-articulo__cuerpo h4 { color: var(--pf-morado); font-size: var(--t18); font-weight: 700; margin: calc(14 * var(--d)) 0 calc(6 * var(--d)); }
.pf-compartir { display: flex; align-items: center; gap: calc(12 * var(--d)); margin: calc(80 * var(--d)) 0 calc(24 * var(--d)); color: var(--pf-morado); font-weight: 700; font-size: var(--t18); }
.pf-compartir .pf-redes a { width: max(28px, calc(32.5 * var(--d))); height: max(28px, calc(32.5 * var(--d))); }
.pf-anterior { display: grid; gap: calc(6 * var(--d)); border-top: 1px solid var(--pf-tinta); padding: calc(24 * var(--d)) 0 0; text-decoration: none; color: var(--pf-tinta); }
.pf-anterior small { text-transform: uppercase; font-size: var(--t15); padding-left: calc(20 * var(--d)); }
.pf-anterior span { color: var(--pf-morado); font-weight: 700; font-size: var(--t18); padding-left: calc(20 * var(--d)); }
.pf-anterior svg { width: 100%; height: 12px; color: var(--pf-tinta); }
.pf-interesar { max-width: calc(1315 * var(--d) + 2 * var(--gutter)); padding-top: calc(70 * var(--d)); }
.pf-interesar .pf-titulo { margin-bottom: calc(34 * var(--d)); }
.pf-pagina { padding-top: calc(60 * var(--d)); padding-bottom: calc(100 * var(--d)); max-width: calc(1100 * var(--d) + 2 * var(--gutter)); font-size: var(--t18); line-height: 1.4; }

/* ==========================================================================
   Secciones armadas en Elementor. Cada contenedor lleva su clase; las medidas
   salen del diseño. ".e-con.pf-x" gana sobre los valores por defecto de Elementor.
   ========================================================================== */
.e-con.pf-sec { --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; --gap: 0px; --row-gap: 0px; --column-gap: 0px; --content-width: 100%; --width: 100%; }
.e-con.pf-sec .elementor-widget { width: 100%; }
.pf-sec .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* Banner principal (1920 x 700) */
.e-con.pf-hero { padding: 0; }
.pf-hero .swiper-slide-image, .pf-hero img { width: 100%; display: block; }
.pf-hero .swiper-pagination { bottom: calc(18 * var(--d)) !important; }
.pf-hero .swiper-pagination-bullet { background: #fff; opacity: .7; }
.pf-hero .swiper-pagination-bullet-active { background: var(--pf-morado); opacity: 1; }

/* Franja de beneficios (íconos ~88 · texto 16,6 bold) */
.e-con.pf-strip { --flex-direction: row; flex-direction: row !important; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: calc(40 * var(--d)) calc(44 * var(--d)); }
.e-con.pf-strip > .pf-strip__item, .pf-cinta__pista > .pf-strip__item { flex-direction: row !important; flex-wrap: nowrap !important; align-items: center; gap: calc(40 * var(--d)); width: auto !important; --width: auto; padding: 0; }
.pf-strip__item .elementor-widget-image { width: auto !important; flex: none; }
.pf-strip__item .elementor-widget-image img { width: auto; height: max(56px, calc(90 * var(--d))); max-width: none; object-fit: contain; }
.pf-strip__item .elementor-widget-text-editor { width: auto !important; }
.pf-strip p { margin: 0; font-size: max(14px, calc(16.6 * var(--d))); font-weight: 700; line-height: 1.2; white-space: nowrap; }

/* Productos populares */
.e-con.pf-sec-populares { padding: calc(59 * var(--d)) calc(26.5 * var(--d)) 0; }
.pf-sec-populares > .pf-h48 { margin-bottom: calc(23 * var(--d)) !important; }

/* Categorías */
.e-con.pf-sec-cats { padding: calc(100 * var(--d)) var(--gutter) calc(119 * var(--d)); }

/* Aprender a cuidar (celeste 702 de alto · imagen 687 x 657 · texto desde x=998) */
.e-con.pf-sec-aprender { --flex-direction: row; flex-direction: row !important; align-items: center; min-height: calc(702.4 * var(--d)); padding: calc(24.7 * var(--d)) 0 calc(20 * var(--d)) calc(279.2 * var(--d)); background: var(--pf-teal); gap: calc(32 * var(--d)); }
.pf-sec-aprender .pf-aprender__img { width: calc(686.8 * var(--d)) !important; flex: none; }
.pf-sec-aprender .pf-aprender__img img { display: block; width: 100%; height: auto; border-radius: max(20px, calc(40 * var(--d))); }
.e-con.pf-sec-aprender > .pf-aprender__texto { align-self: flex-start; margin-top: calc(143 * var(--d)); width: calc(640 * var(--d)) !important; --pf-ancho-texto: calc(590 * var(--d)); --width: auto; --flex-direction: column; flex-direction: column !important; align-items: flex-start; gap: 0; padding: 0; }
.pf-aprender__texto > .pf-h46 { margin-bottom: calc(24 * var(--d)) !important; }
.pf-aprender__texto .pf-h46 .elementor-heading-title { color: var(--pf-blanco); }
.pf-texto-sobre-color, .pf-texto-sobre-color p { color: var(--pf-blanco); font-size: var(--t16); line-height: 1.5625; }
.pf-texto-sobre-color p { margin: 0 0 calc(25 * var(--d)); }
.pf-aprender__texto > .pf-texto-sobre-color { max-width: var(--pf-ancho-texto) !important; }
.pf-aprender__texto > .pf-boton { margin-top: calc(24 * var(--d)) !important; text-align: left; }
.pf-aprender__texto > .pf-boton .elementor-button-wrapper { justify-content: flex-start; text-align: left; }

/* Imagen completa a todo el ancho (Elegir PF y otros banners) */
.e-con.pf-sec-imagen { padding: 0; }
.pf-sec-imagen img { display: block; width: 100%; height: auto; }
.e-con.pf-sec-elegir { padding: calc(74 * var(--d)) 0 0; }

/* Explora nuestro contenido (tarjetas 798) */
.e-con.pf-sec-explora { padding: calc(64 * var(--d)) calc(147 * var(--d)) 0; align-items: center; }
.pf-sec-explora > .pf-h48 { margin-bottom: calc(29 * var(--d)) !important; }
.pf-sec-explora > .pf-boton { margin-top: calc(52 * var(--d)) !important; }

/* ---------- Nosotros ---------- */
.e-con.pf-nos-nacimos { background: var(--pf-morado); min-height: calc(301.5 * var(--d)); padding: calc(39 * var(--d)) calc(150 * var(--d)) calc(40 * var(--d)); align-items: center; justify-content: flex-start; text-align: center; }
.pf-nos-nacimos .pf-h36 .elementor-heading-title { color: #fff; }
.pf-nos-nacimos > .pf-texto-medio { margin: calc(22 * var(--d)) 0 calc(36 * var(--d)) !important; max-width: calc(1185 * var(--d)) !important; }
.pf-texto-medio, .pf-texto-medio p { color: #fff; font-size: var(--t18); font-weight: 500; line-height: 1.2; text-align: center; }
.e-con.pf-nos-ciencia { --flex-direction: row; flex-direction: row !important; align-items: flex-start; background: var(--pf-teal); min-height: calc(608.9 * var(--d)); padding: calc(53 * var(--d)) calc(150 * var(--d)) calc(71 * var(--d)) calc(312.4 * var(--d)); gap: calc(24 * var(--d)); }
.pf-nos-ciencia .pf-nos-ciencia__img { width: calc(463.3 * var(--d)) !important; flex: none; }
.pf-nos-ciencia .pf-nos-ciencia__img img { display: block; width: 100%; height: calc(484.4 * var(--d)); object-fit: cover; border-radius: max(16px, calc(28 * var(--d))); }
.e-con.pf-nos-ciencia > .pf-nos-ciencia__texto { width: auto !important; flex: 1; --flex-direction: column; flex-direction: column !important; padding: calc(68 * var(--d)) 0 0; gap: 0; }
.pf-nos-ciencia__texto .pf-h48 .elementor-heading-title { text-align: left; }
.pf-nos-ciencia__texto > .pf-h48 { margin-bottom: calc(34 * var(--d)) !important; }
.pf-nos-ciencia__texto > .pf-texto-sobre-color { max-width: calc(760 * var(--d)) !important; }
.e-con.pf-nos-hacemos { padding: calc(36 * var(--d)) calc(150 * var(--d)) 0; align-items: center; }
.pf-nos-hacemos > .pf-texto-centro { margin: calc(26 * var(--d)) 0 calc(40 * var(--d)) !important; }
.pf-texto-centro, .pf-texto-centro p { font-size: var(--t16); line-height: 1.2; text-align: center; }
.pf-texto-centro p { margin: 0 0 calc(31 * var(--d)); }
.e-con.pf-nos-hacemos__fila { --flex-direction: row; flex-direction: row !important; justify-content: center; gap: 0; padding: 0; width: 100%; }
.e-con.pf-nos-hacemos__fila > .e-con { width: calc(450 * var(--d)) !important; --width: auto; padding: 0; gap: 0; align-items: center; }
.pf-nos-hacemos__fila .elementor-widget-image img { width: calc(480 * var(--d)); max-width: none; height: auto; display: block; margin-inline: calc(-15 * var(--d)); }
.pf-nos-hacemos__fila .pf-texto-centro { margin: 0; max-width: calc(380 * var(--d)); }
.e-con.pf-nos-siempre { padding: calc(80 * var(--d)) var(--gutter) calc(63 * var(--d)); }
.e-con.pf-nos-filosofia { padding: 0 var(--gutter); align-items: center; background: linear-gradient(var(--pf-morado) 0, var(--pf-morado) calc(312.5 * var(--d)), transparent calc(312.5 * var(--d))); }
.pf-nos-filosofia img { display: block; width: calc(1273 * var(--d)); max-width: 100%; height: auto; margin-inline: auto; border-radius: max(16px, calc(32 * var(--d))); }
.e-con.pf-nos-elegir { padding: calc(100 * var(--d)) 0 0; }
.e-con.pf-nos-cuidamos { padding: calc(125 * var(--d)) calc(43 * var(--d)) calc(58 * var(--d)); align-items: center; }
.pf-nos-cuidamos > .pf-h48 { margin-bottom: calc(64 * var(--d)) !important; }
.e-con.pf-cuidamos { --flex-direction: row; flex-direction: row !important; justify-content: space-between; padding: 0; gap: 0; width: 100%; }
.e-con.pf-cuidamos > .e-con { width: calc(222 * var(--d)) !important; min-width: 90px; --width: auto; padding: 0; gap: calc(34 * var(--d)); align-items: center; }
.pf-cuidamos .elementor-widget-text-editor { width: auto !important; }
.pf-cuidamos p { white-space: nowrap; }
.pf-cuidamos .elementor-widget-image img { width: calc(222 * var(--d)); min-width: 90px; height: auto; display: block; margin: 0 auto; }
.pf-cuidamos p { margin: 0; font-size: var(--t18); font-weight: 700; text-align: center; line-height: 1.2; }
.e-con.pf-nos-banda { background: var(--pf-teal); min-height: calc(156.6 * var(--d)); padding: calc(28 * var(--d)) calc(128 * var(--d)); justify-content: center; }
.pf-nos-banda .elementor-heading-title { color: #fff !important; font-size: var(--t36) !important; line-height: 1.2; text-align: center; }
.e-con.pf-nos-personas { --flex-direction: row; flex-direction: row !important; align-items: flex-start; background: var(--pf-morado); min-height: calc(676.8 * var(--d)); margin-top: calc(100 * var(--d)); padding: calc(60 * var(--d)) calc(290 * var(--d)) calc(74 * var(--d)) calc(305.5 * var(--d)); gap: calc(40 * var(--d)); }
.e-con.pf-nos-personas > .pf-nos-personas__texto { width: calc(706.5 * var(--d)) !important; flex: none; padding: calc(62 * var(--d)) 0 0; gap: 0; }
.pf-nos-personas__texto .pf-h48 .elementor-heading-title { color: #fff; text-align: left; }
.pf-nos-personas__texto > .pf-h48 { margin-bottom: calc(48 * var(--d)) !important; }
.pf-nos-personas__texto .pf-h48 .elementor-heading-title { white-space: nowrap; }
.pf-nos-personas .pf-nos-personas__img { width: calc(577.5 * var(--d)) !important; flex: none; }
.pf-nos-personas__img img { display: block; width: 100%; height: auto; border-radius: max(16px, calc(32 * var(--d))); }

/* ---------- Contacto ---------- */
.e-con.pf-contacto-banda { background: var(--pf-morado); min-height: calc(110.3 * var(--d)); padding: 0 var(--gutter); justify-content: center; }
.pf-contacto-banda .elementor-heading-title { color: #fff !important; font-size: var(--t36) !important; text-align: center; text-transform: uppercase; }
.e-con.pf-contacto-cuerpo { --flex-direction: row; flex-direction: row !important; align-items: flex-start; padding: calc(156 * var(--d)) calc(154 * var(--d)) 0 calc(113 * var(--d)); gap: 0; }
.e-con.pf-contacto-cuerpo > .pf-contacto-datos { width: calc(515 * var(--d)) !important; flex: none; padding: calc(10 * var(--d)) 0 0; gap: 0; }
.e-con.pf-contacto-cuerpo > .pf-contacto-form { width: calc(1138 * var(--d)) !important; flex: none; padding: 0; }
.pf-contacto-datos .elementor-heading-title { color: var(--pf-morado); font-size: var(--t32) !important; text-align: left; }
.pf-contacto-datos .elementor-widget-text-editor { margin-top: calc(21 * var(--d)) !important; font-size: var(--t21); line-height: 1.2; }
.pf-contacto-datos h3 { color: var(--pf-morado); font-size: var(--t21); font-weight: 700; margin: calc(26 * var(--d)) 0 calc(8 * var(--d)); }
.pf-contacto-datos h3:nth-of-type(2) { margin-top: calc(40 * var(--d)); }
.pf-contacto-datos p { margin: 0; font-size: var(--t21); }
.pf-contacto-form .pf-check { font-size: var(--t21); margin: calc(31 * var(--d)) 0 calc(28 * var(--d)) calc(30 * var(--d)); gap: calc(26 * var(--d)); }
.pf-contacto-form .pf-btn { font-size: var(--t18); margin-left: calc(-10 * var(--d)); }
.pf-contacto-form .pf-form { gap: calc(21 * var(--d)); }
.pf-contacto-tiendas .pf-tiendas { padding-top: calc(119 * var(--d)); }
.pf-contacto-tiendas .pf-tiendas__cinta { width: calc(1648 * var(--d)); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1199px) {
	.pf-grid-prod--populares { grid-template-columns: repeat(2, 1fr); gap: 16px; }
	.pf-grid-prod--populares .pf-card-prod { min-height: 0; padding: 32px 28px 40px; }
	.pf-grid-prod--populares .pf-card-prod__img { --alto: 260px; }
	.pf-grid-prod--populares .pf-card-prod__titulo { margin-top: 24px; }
	.pf-grid-prod--tienda .pf-card-prod { min-height: 0; padding: 24px 14px 18px; }
	.pf-card-prod__img { --alto: 210px; }
	.pf-grid-prod--4, .pf-grid-prod[data-vista="4"] { grid-template-columns: repeat(2, 1fr); gap: 16px; }
	.pf-footer__grid { grid-template-columns: 1.1fr .8fr 1fr; row-gap: 32px; }
	.pf-footer__news { grid-column: 1 / -1; justify-self: start; }
	.pf-news { max-width: 560px; text-align: left; }
	.pf-news__fila, .pf-check--centro { justify-content: flex-start; }
	.pf-cats { grid-template-columns: repeat(3, 1fr); gap: 24px; }
	.pf-cat__img { height: auto; }
	.pf-cat__img img { width: 100%; max-width: 300px; }
	.e-con.pf-sec-aprender { padding: 48px var(--gutter); }
	.e-con.pf-sec-aprender > .pf-aprender__texto { width: auto !important; flex: 1; }
	.pf-sec-aprender .pf-aprender__img { width: 44% !important; }
	.pf-beneficios__lista { grid-template-columns: repeat(4, 1fr); gap: 16px; }
	.pf-ficha__grid { grid-template-columns: 1fr 1fr; column-gap: 32px; }
	.pf-ficha__galeria .woocommerce-product-gallery__image img { height: 420px; }
	.pf-tienda__layout { grid-template-columns: 200px 1fr; column-gap: 24px; }
	.pf-filtros { width: auto; }
	.e-con.pf-contacto-cuerpo { padding: 64px var(--gutter) 0; gap: 40px; }
	.e-con.pf-contacto-cuerpo > .pf-contacto-datos { width: 32% !important; }
	.e-con.pf-contacto-cuerpo > .pf-contacto-form { width: auto !important; flex: 1; }
	.e-con.pf-nos-ciencia, .e-con.pf-nos-personas { padding: 48px var(--gutter); }
	.e-con.pf-nos-ciencia > .pf-nos-ciencia__texto { padding-top: 0; }
	.pf-nos-ciencia .pf-nos-ciencia__img { width: 40% !important; }
	.pf-nos-ciencia .pf-nos-ciencia__img img { height: auto; }
	.pf-nos-personas .pf-nos-personas__img { width: 42% !important; }
	.e-con.pf-nos-nacimos, .e-con.pf-nos-hacemos, .e-con.pf-nos-banda { padding-left: var(--gutter); padding-right: var(--gutter); }
	.e-con.pf-cuidamos { flex-wrap: wrap; justify-content: center; row-gap: 32px; }
	.e-con.pf-cuidamos > .e-con { width: 30% !important; }
	.pf-blog-item { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1199px) {
	.pf-cuidamos p, .pf-nos-personas__texto .pf-h48 .elementor-heading-title { white-space: normal; }
	.e-con.pf-nos-personas > .pf-nos-personas__texto { width: auto !important; flex: 1; padding-top: 0; }
}

@media (max-width: 991px) {
	.pf-header__inner { grid-template-columns: auto 1fr; }
	.pf-hamburguesa { display: flex; }
	.pf-redes--header { display: none; }
	.pf-nav {
		position: fixed; inset: 70px 0 auto 0; z-index: 49; flex-direction: column; align-items: center; gap: 22px; transform: translateY(-12px);
		background: #fff; padding: 28px var(--gutter) 32px; box-shadow: 0 16px 24px rgba(0,0,0,.08);
		opacity: 0; visibility: hidden; transition: opacity .2s, transform .2s, visibility .2s;
	}
	.admin-bar .pf-nav { top: 116px; }
	.pf-nav.is-open { transform: none; opacity: 1; visibility: visible; }
	.pf-nav .menu { flex-direction: column; align-items: center; gap: 16px; }
	.pf-nav .menu a { font-size: 18px; }
	.pf-nav .pf-redes--nav { display: flex; }
	.pf-tienda__layout { grid-template-columns: 1fr; gap: 12px; }
	.pf-filtros { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
	.pf-filtros .pf-filtro:not([open]) { margin-bottom: 0; }
	.pf-ficha__grid { grid-template-columns: 1fr; gap: 24px; }
	.pf-ficha__info { max-width: none; }
	.pf-ficha__nav { margin-bottom: 0; }
	.pf-blog-cards--chico { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
	:root { --gutter: 16px; }
	body { font-size: 15px; }
	.pf-titulo { margin-bottom: 24px; }
	.pf-grid-prod, .pf-grid-prod--4, .pf-grid-prod[data-vista="2"], .pf-grid-prod[data-vista="3"], .pf-grid-prod[data-vista="4"] { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.pf-vistas { display: none; }
	.pf-grid-prod[data-vista="lista"] .pf-card-prod { grid-template-columns: 90px 1fr; padding: 14px; }
	.pf-grid-prod[data-vista="lista"] .pf-card-prod__img { --alto: 90px; }
	.pf-grid-prod[data-vista="lista"] .pf-card-prod .pf-btn { grid-column: 2; grid-row: auto; justify-self: start; margin-top: 8px; }
	.pf-card-prod__img { --alto: 170px; }
	.pf-grid-prod--tienda .pf-card-prod { padding: 18px 10px 16px; }
	.pf-grid-prod--tienda .pf-card-prod__titulo { margin-top: 16px; }
	.pf-cats { grid-template-columns: 1fr; max-width: 280px; margin-inline: auto; gap: 40px; }
	.pf-cat__titulo { min-height: 0; margin-top: 16px; }
	.pf-cat__desc { max-width: none; margin: 12px 0 16px; }
	.pf-grid-prod.pf-grid-prod--populares { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin-inline: calc(-1 * var(--gutter)); padding: 0 var(--gutter) 12px; scrollbar-width: thin; }
	.pf-grid-prod--populares .pf-card-prod { flex: 0 0 80%; scroll-snap-align: center; padding: 24px 22px 28px; }
	.pf-grid-prod--populares .pf-card-prod__img { --alto: 220px; }
	.pf-blog-cards, .pf-blog-cards--chico { grid-template-columns: 1fr; gap: 28px; }
	.pf-blog-item { grid-template-columns: 1fr; gap: 14px; }
	.pf-blog-item__texto { padding: 0; }
	.pf-blog-item__texto p { margin-bottom: 16px; }
	.pf-form__fila { grid-template-columns: 1fr; gap: 12px; }
	.pf-form { gap: 12px; }
	.pf-beneficios__lista { grid-template-columns: repeat(2, 1fr); row-gap: 28px; }
	.pf-footer { padding-top: 44px; padding-bottom: 20px; }
	.pf-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
	.pf-footer__marca { grid-column: 1 / -1; }
	.pf-footer__logo { margin-left: -12px; }
	.pf-news__fila { flex-direction: column; align-items: stretch; gap: 10px; }
	.pf-news input[type=email] { flex-basis: auto; }
	.pf-footer__linea { margin: 32px 0 16px; }
	.pf-ficha__galeria .woocommerce-product-gallery { grid-template-columns: 1fr; row-gap: 12px; }
	.pf-ficha__galeria .flex-control-thumbs { grid-column: 1; grid-row: 2; grid-template-columns: repeat(5, 52px); }
	.pf-ficha__galeria .woocommerce-product-gallery__wrapper, .pf-ficha__galeria .flex-viewport { grid-column: 1; }
	.pf-ficha__galeria .woocommerce-product-gallery__image img { height: 320px; }
	.pf-tiendas { padding: 56px 0 40px; }
	.pf-tiendas__cinta { width: 100%; }

	.e-con.pf-strip { padding: 20px 0; }
	.e-con.pf-sec-populares { padding: 40px var(--gutter) 0; }
	.e-con.pf-sec-cats { padding: 56px var(--gutter); }
	.e-con.pf-sec-aprender, .e-con.pf-nos-ciencia, .e-con.pf-nos-personas, .e-con.pf-contacto-cuerpo { flex-direction: column !important; padding: 40px var(--gutter); gap: 24px; }
	.e-con.pf-nos-personas { flex-direction: column-reverse !important; }
	.pf-sec-aprender .pf-aprender__img, .pf-nos-ciencia .pf-nos-ciencia__img, .pf-nos-personas .pf-nos-personas__img,
	.e-con.pf-contacto-cuerpo > .pf-contacto-datos, .e-con.pf-contacto-cuerpo > .pf-contacto-form { width: 100% !important; }
	.e-con.pf-sec-explora { padding: 48px var(--gutter) 0; }
	.pf-sec-explora .pf-boton { margin-top: 32px; }
	.e-con.pf-nos-nacimos { padding: 40px var(--gutter); }
	.e-con.pf-nos-hacemos__fila { --flex-direction: column; flex-direction: column !important; align-items: center; gap: 28px; }
	.e-con.pf-nos-hacemos__fila > .e-con { width: 100% !important; max-width: 340px; }
	.pf-nos-hacemos__fila .elementor-widget-image img { width: 100%; margin: 0; }
	.pf-nos-hacemos__fila .pf-texto-centro { max-width: none; }
	.e-con.pf-nos-siempre { padding: 48px var(--gutter) 24px; }
	.e-con.pf-nos-filosofia { background: linear-gradient(var(--pf-morado) 0, var(--pf-morado) 50%, transparent 50%); }
	.e-con.pf-nos-cuidamos { padding: 56px var(--gutter) 40px; }
	.e-con.pf-cuidamos > .e-con { width: 45% !important; gap: 12px; }
	.pf-cuidamos .elementor-widget-image img { width: 110px; min-width: 0; }
	.e-con.pf-nos-banda { padding: 28px var(--gutter); }
	.e-con.pf-nos-personas { margin-top: 48px; }
	.pf-contacto-form .pf-check { margin: 8px 0 16px; }
	.pf-contacto-form .pf-btn { margin-left: 0; }
}

/* En celular los textos usan todo el ancho disponible. */
@media (max-width: 767px) {
	.pf-aprender__texto > .pf-texto-sobre-color, .pf-nos-nacimos > .pf-texto-medio, .pf-nos-ciencia__texto > .pf-texto-sobre-color { max-width: none !important; }
	.pf-blog-card__extracto, .pf-beneficios__lista span, .pf-cat__desc, .pf-news { max-width: none; }
	.e-con.pf-nos-personas > .pf-nos-personas__texto { width: 100% !important; }
	.pf-strip p { font-size: 14px; }
}

@media (max-width: 480px) {
	.pf-header__logo img { width: 112px; }
	.pf-grid-prod, .pf-grid-prod--4, .pf-grid-prod[data-vista] { grid-template-columns: 1fr; }
	.pf-filtros { grid-template-columns: 1fr; gap: 0; }
	.pf-orden { width: 100%; justify-content: space-between; }
	.pf-footer__grid { grid-template-columns: 1fr; }
	.pf-beneficios__lista { grid-template-columns: 1fr 1fr; }
	.e-con.pf-cuidamos > .e-con { width: 100% !important; }
}

/* ==========================================================================
   Animaciones (como en pffarmaceutica.com). Se apagan con "reducir movimiento".
   ========================================================================== */
@media (prefers-reduced-motion: no-preference) {

	/* 1. Banner principal: la imagen entra con un zoom que se aleja. */
	.pf-hero .swiper-slide { overflow: hidden; }
	.pf-hero .swiper-slide-active img { animation: pf-zoom-sale 1.2s cubic-bezier(.4, 0, .2, 1) both; }

	/* 2. Franja de beneficios en movimiento continuo (la arma pf.js). */
	.pf-cinta { overflow: hidden; width: 100%; mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
	.pf-cinta__pista { display: flex; width: max-content; gap: calc(120 * var(--d)); animation: pf-cinta-franja 40s linear infinite; }
	.pf-cinta:hover .pf-cinta__pista { animation-play-state: paused; }
	@keyframes pf-cinta-franja { to { transform: translateX(calc(-50% - 60 * var(--d))); } }

	/* 3. Aparición al bajar: sube 2rem y aparece, de a uno (la clase la pone pf.js). */
	.pf-revela { opacity: .01; transform: translateY(2rem); }
	.pf-revela.is-visible { animation: pf-sube .8s ease forwards; animation-delay: calc(var(--orden, 0) * 75ms); }

	/* 4. Tarjetas de producto: cambia a la segunda foto. */
	.pf-card-prod__img img { transition: opacity .5s ease, transform .5s ease; }
	.pf-card-prod__img2 { position: absolute; inset: 0; margin: auto; opacity: 0; }
	.pf-card-prod--doble:hover .pf-card-prod__img > img:first-child { opacity: 0; }
	.pf-card-prod--doble:hover .pf-card-prod__img2 { opacity: 1; }
	.pf-card-prod:not(.pf-card-prod--doble):hover .pf-card-prod__img img { opacity: .8; }

	/* 5. Imágenes del blog: zoom leve y degradado. */
	.pf-blog-card__img, .pf-blog-item__img { position: relative; }
	.pf-blog-card__img img, .pf-blog-item__img img { transition: transform .5s ease; }
	.pf-blog-card__img::after, .pf-blog-item__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,0) 20%, rgba(0,0,0,.52)); opacity: 0; transition: opacity .5s ease; pointer-events: none; }
	.pf-blog-card:hover .pf-blog-card__img img, .pf-blog-item:hover .pf-blog-item__img img { transform: scale(1.05); }
	.pf-blog-card:hover .pf-blog-card__img::after, .pf-blog-item:hover .pf-blog-item__img::after { opacity: 1; }

	/* 6. Botones que suben al pasar el mouse. */
	.pf-btn:hover, .elementor-widget-button.pf-boton .elementor-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .pf-ficha__compra .single_add_to_cart_button:hover {
		transform: translateY(-.35em); box-shadow: 0 .5em .5em -.4em rgba(0, 0, 0, .35);
	}
}
.pf-card-prod__img2 { display: none; }
@media (prefers-reduced-motion: no-preference) { .pf-card-prod__img2 { display: block; } }

@keyframes pf-zoom-sale { from { transform: scale(1.12); opacity: .4; } to { transform: scale(1); opacity: 1; } }
@keyframes pf-sube { from { opacity: .01; transform: translateY(2rem); } to { opacity: 1; transform: none; } }

/* En el editor de Elementor todo se ve quieto y visible. */
.elementor-editor-active .pf-revela { opacity: 1 !important; transform: none !important; animation: none !important; }

/* ---------- Página 404 ---------- */
.pf-404 { text-align: center; padding-top: calc(90 * var(--d)); padding-bottom: calc(40 * var(--d)); }
.pf-404__personajes img { width: max(90px, calc(140 * var(--d))); height: auto; margin: 0 auto; }
.pf-404__codigo { font-size: max(64px, calc(140 * var(--d))); font-weight: 900; line-height: 1; margin: 8px 0 4px; color: var(--pf-teal); }
.pf-404__texto { max-width: 560px; margin: calc(-16 * var(--d)) auto 28px; font-size: var(--t18); }
.pf-404__botones { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-bottom: 28px; }
.pf-404__buscar { display: flex; gap: 8px; justify-content: center; max-width: 520px; margin: 0 auto; }
.pf-404__buscar input[type=search] { flex: 1; min-width: 0; height: max(42px, calc(51.6 * var(--d))); box-sizing: border-box; border: 1px solid var(--pf-tinta); border-radius: 999px; padding: 0 20px; font: inherit; font-size: var(--t16); }
.pf-404__sugeridos { max-width: calc(1435 * var(--d) + 2 * var(--gutter)); padding-top: calc(60 * var(--d)); padding-bottom: calc(100 * var(--d)); }
.pf-404__sugeridos .pf-grid-prod { grid-template-columns: repeat(4, 1fr); gap: calc(22 * var(--d)); }
@media (max-width: 767px) { .pf-404__sugeridos .pf-grid-prod { grid-template-columns: repeat(2, 1fr); gap: 10px; } }

/* Banner de categoría en celular: se centra en el nombre de la línea. */
@media (max-width: 767px) {
	.pf-banner-cat img { height: 72px; object-position: 17% center; }
}

/* ---------- Filtros instantáneos de la tienda ---------- */
.pf-banner-titulo__h { color: #fff; font-size: var(--t36); font-weight: 700; margin: 0; line-height: 1.2; }
.pf-buscar-tienda { position: relative; margin-bottom: calc(30 * var(--d)); }
.pf-buscar-tienda input { width: 100%; box-sizing: border-box; height: max(40px, calc(46 * var(--d))); border: 1px solid #8c8c8c; border-radius: 999px; padding: 0 40px 0 16px; font-family: var(--pf-fuente); font-size: var(--t16); color: var(--pf-tinta); background: #fff; }
.pf-buscar-tienda input::placeholder { color: #777; }
.pf-buscar-tienda input:focus { outline: none; border-color: var(--pf-morado); box-shadow: 0 0 0 3px rgba(121, 24, 164, .15); }
.pf-buscar-tienda svg { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; fill: #777; pointer-events: none; }
.pf-filtro__opcion { position: relative; display: flex; align-items: center; gap: calc(14 * var(--d)); cursor: pointer; color: var(--pf-tinta); }
.pf-filtro__opcion input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pf-filtro__opcion span::before { content: ""; display: inline-block; vertical-align: -2px; margin-right: max(8px, calc(14 * var(--d))); width: max(12px, calc(14 * var(--d))); height: max(12px, calc(14 * var(--d))); box-sizing: border-box; border: 1px solid #555; border-radius: 2px; background: #fff; }
.pf-filtro__opcion input:checked + span { color: var(--pf-morado); font-weight: 700; }
.pf-filtro__opcion input:checked + span::before { background: var(--pf-morado); border-color: var(--pf-morado); box-shadow: inset 0 0 0 2px #fff; }
.pf-filtro__opcion input:focus-visible + span { outline: 3px solid var(--pf-naranja); outline-offset: 2px; }
/* Categorías: como en el diseño, sin casilla (se marca en violeta y negrita). */
.pf-filtro__opcion--texto span::before { display: none; }
.pf-filtro__opcion:hover span { color: var(--pf-morado); }
.pf-resumen { display: flex; gap: 14px; align-items: baseline; flex-wrap: wrap; font-size: var(--t15); color: #555; margin: 0 0 calc(14 * var(--d)); }
.pf-resumen__limpiar { color: var(--pf-morado); font-weight: 700; }
.pf-tienda__resultado { transition: opacity .2s; }
.pf-tienda__resultado.is-cargando { opacity: .45; pointer-events: none; }
.pf-orden label { font-size: var(--t16); white-space: nowrap; }

/* ---------- Buscador del encabezado ---------- */
.pf-lupa { display: grid; place-items: center; width: max(30px, calc(36 * var(--d))); height: max(30px, calc(36 * var(--d))); padding: 0; border: 0 !important; background: none !important; color: var(--pf-morado); cursor: pointer; }
.pf-lupa svg { width: 78%; height: 78%; fill: currentColor; }
.pf-lupa[aria-expanded="true"] { color: var(--pf-teal); }
.pf-buscador { background: #fff; border-top: 1px solid #eee; box-shadow: 0 16px 24px rgba(0,0,0,.08); }
.pf-buscador[hidden] { display: none; }
.pf-buscador__form { position: relative; display: flex; gap: 12px; align-items: center; padding-top: 18px; padding-bottom: 18px; }
.pf-buscador__form input[type=search] { flex: 1; min-width: 0; height: max(44px, calc(52 * var(--d))); box-sizing: border-box; border: 1px solid var(--pf-tinta); border-radius: 999px; padding: 0 22px; font-family: var(--pf-fuente); font-size: var(--t16); }
.pf-buscador__form input[type=search]:focus { outline: none; border-color: var(--pf-morado); box-shadow: 0 0 0 3px rgba(121, 24, 164, .15); }
.pf-buscador__resultados { position: absolute; top: 100%; left: var(--gutter); right: var(--gutter); z-index: 60; background: #fff; border: 1px solid #e3e3e3; border-radius: 16px; box-shadow: 0 18px 40px rgba(0,0,0,.12); overflow: hidden; }
.pf-buscador__resultados:empty { display: none; }
.pf-buscador__grupo { padding: 10px 0; }
.pf-buscador__grupo + .pf-buscador__grupo { border-top: 1px solid #eee; }
.pf-buscador__titulo { margin: 0; padding: 4px 20px 6px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #777; }
.pf-buscador__item { display: flex; align-items: center; gap: 14px; padding: 8px 20px; color: var(--pf-tinta); text-decoration: none; font-size: var(--t16); }
.pf-buscador__item:hover, .pf-buscador__item:focus { background: #f6eefa; color: var(--pf-morado); outline: none; }
.pf-buscador__item img { width: 44px; height: 44px; object-fit: contain; flex: none; }
.pf-buscador__item strong { display: block; color: var(--pf-morado); }
.pf-buscador__item small { color: #555; }
.pf-buscador__todo { display: block; padding: 12px 20px; border-top: 1px solid #eee; font-weight: 700; color: var(--pf-morado); text-decoration: none; }
.pf-buscador__vacio { margin: 0; padding: 16px 20px; color: #555; }
@media (max-width: 767px) {
	.pf-buscador__form { flex-wrap: wrap; }
	.pf-buscador__form .pf-btn { width: 100%; }
}

/* Contenedores en tablet y celular: usan el ancho disponible (la proporción del diseño es solo para escritorio). */
@media (max-width: 1199px) {
	.pf-wrap, .pf-comentarios, .pf-faq, .pf-relacionados, .pf-explora, .pf-blog-lista, .pf-articulo, .pf-interesar, .pf-pagina, .pf-404__sugeridos { max-width: 900px !important; }
	.pf-tienda.pf-wrap, .pf-ficha.pf-wrap, .pf-header .pf-wrap, .pf-footer .pf-wrap, .pf-buscador .pf-wrap { max-width: 1000px !important; }
}
@media (max-width: 767px) {
	.pf-wrap, .pf-comentarios, .pf-faq, .pf-relacionados, .pf-explora, .pf-blog-lista, .pf-articulo, .pf-interesar, .pf-pagina, .pf-404__sugeridos,
	.pf-tienda.pf-wrap, .pf-ficha.pf-wrap, .pf-header .pf-wrap, .pf-footer .pf-wrap, .pf-buscador .pf-wrap { max-width: none !important; }
	.pf-tiendas__cinta, .pf-tienda + .pf-tiendas .pf-tiendas__cinta, .pf-contacto-tiendas .pf-tiendas__cinta { width: 100% !important; left: 0 !important; }
}

/* ---------- Desplegable de "Productos" ---------- */
.pf-nav .menu .menu-item-has-children { position: relative; }
.pf-nav .menu .menu-item-has-children > a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 7px; vertical-align: 3px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
.pf-nav .sub-menu { list-style: none; margin: 0; padding: 0; }
.pf-nav .sub-menu a { display: block; border: 0 !important; font-weight: 600; white-space: nowrap; }
@media (min-width: 992px) {
	.pf-nav .sub-menu {
		position: absolute; top: 100%; left: 50%; z-index: 60; min-width: 250px; padding: 10px 0;
		background: #fff; border: 1px solid #ececec; border-radius: 14px; box-shadow: 0 12px 28px rgba(0,0,0,.12);
		opacity: 0; visibility: hidden; transform: translate(-50%, 8px); transition: opacity .2s, transform .2s, visibility .2s;
	}
	.pf-nav .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; } /* puente para no perder el hover */
	.pf-nav .menu-item-has-children:hover > .sub-menu, .pf-nav .menu-item-has-children:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translate(-50%, 4px); }
	.pf-nav .menu-item-has-children:hover > a::after, .pf-nav .menu-item-has-children:focus-within > a::after { transform: rotate(-135deg); vertical-align: -1px; }
	.pf-nav .sub-menu a { padding: 10px 22px !important; font-size: var(--t15); }
	.pf-nav .sub-menu a:hover, .pf-nav .sub-menu a:focus { background: #f6eefa; color: var(--pf-morado); }
	.pf-nav .sub-menu li:last-child a { color: var(--pf-morado); border-top: 1px solid #eee !important; margin-top: 6px; }
}
@media (max-width: 991px) {
	.pf-nav .menu .menu-item-has-children > a::after { display: none; }
	.pf-nav .menu .menu-item-has-children { display: flex; flex-direction: column; align-items: center; text-align: center; }
	.pf-nav .sub-menu { display: grid; gap: 10px; margin-top: 12px; text-align: center; }
	.pf-nav .sub-menu a { font-size: 15px !important; color: #444; }
	.pf-nav .sub-menu li:last-child a { color: var(--pf-morado); }
}

/* Logo y acciones ocupan solo su contenido: así la caja de las redes no queda encima del menú
   (con el desplazamiento del diseño, antes tapaba "Blog" y no dejaba hacer clic). */
.pf-header__logo { justify-self: start; }
.pf-header__acciones { justify-self: end; }
@media (min-width: 992px) { .pf-nav { position: relative; z-index: 2; } }
