/**
 * Plusmaster main styles (mobile first).
 *
 * @package Plusmaster
 */

/* --- Reset / base --- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body.pm-body {
	margin: 0;
	font-family: var(--pm-font-secondary);
	font-size: 1rem;
	color: var(--pm-gray-900);
	background: var(--pm-gray-100);
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

a {
	color: var(--pm-brand-600);
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
}

/* Show/Hide by screen size xs, sm, lg*/
.pm-show-xs {
	display: block;
}
@media (min-width: 768px) {
	.pm-show-xs {
		display: none;
	}
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
}

.pm-skip-link {
	position: absolute;
	left: var(--pm-space-16);
	top: -100px;
	z-index: 100000;
	padding: var(--pm-space-8) var(--pm-space-16);
	background: var(--pm-brand-500);
	color: var(--pm-white);
	border-radius: var(--pm-radius-sm);
}

.pm-skip-link:focus {
	top: var(--pm-space-16);
}

/* --- Typography utilities --- */
.pm-title-1 {
	font-family: var(--pm-font-primary);
	font-size: clamp(2.25rem, 6vw, 4.5rem);
	line-height: 1.1;
	letter-spacing: -0.8px;
	font-weight: 500;
}

.pm-title-1--regular {
	font-weight: 400;
}

.pm-title-1--medium {
	font-weight: 500;
}

.pm-title-1--bold {
	font-weight: 700;
}

.pm-title-h1 {
	font-family: var(--pm-font-primary);
	font-size: clamp(2rem, 4vw, 3.5rem);
	line-height: 1.21;
	letter-spacing: -0.5px;
	font-weight: 600;
	margin: 0 0 var(--pm-space-24);
}

.pm-title-h5 {
	font-family: var(--pm-font-primary);
	font-size: 1.5rem;
	line-height: 1.25;
	letter-spacing: -0.15px;
	font-weight: 600;
	margin: 0 0 var(--pm-space-12);
}

/* Heading/H5 — Switzer 24 / 30, -0.15 (Figma: Medium / Semi Bold / Bold) */
.pm-heading-h5--medium,
.pm-heading-h5--semibold,
.pm-heading-h5--bold {
	font-family: var(--pm-font-primary);
	font-size: var(--pm-text-h5-size);
	line-height: var(--pm-text-h5-line-height);
	letter-spacing: var(--pm-text-h5-letter-spacing);
	margin: 0;
}

.pm-heading-h5--medium {
	font-weight: var(--pm-text-h5-weight-medium);
}

.pm-heading-h5--semibold {
	font-weight: var(--pm-text-h5-weight-semibold);
}

.pm-heading-h5--bold {
	font-weight: var(--pm-text-h5-weight-bold);
}

/* Heading/H3 — Switzer 40 / 48, -0.3 (Figma: Semi Bold / Bold) */
.pm-heading-h3--semibold,
.pm-heading-h3--bold {
	font-family: var(--pm-font-primary);
	font-size: var(--pm-text-h3-size);
	line-height: var(--pm-text-h3-line-height);
	letter-spacing: var(--pm-text-h3-letter-spacing);
	margin: 0;
}

.pm-heading-h3--semibold {
	font-weight: var(--pm-text-h3-weight-semibold);
}

.pm-heading-h3--bold {
	font-weight: var(--pm-text-h3-weight-bold);
}

/* Heading/H4 — Switzer 32 / 38, -0.2 (Figma: Medium / Semi Bold) */
.pm-heading-h4--medium,
.pm-heading-h4--semibold,
.pm-heading-h4--bold {
	font-family: var(--pm-font-primary);
	font-size: var(--pm-text-h4-size);
	line-height: var(--pm-text-h4-line-height);
	letter-spacing: var(--pm-text-h4-letter-spacing);
	margin: 0;
}

.pm-heading-h4--medium {
	font-weight: var(--pm-text-h4-weight-medium);
}

.pm-heading-h4--semibold {
	font-weight: var(--pm-text-h4-weight-semibold);
}

.pm-heading-h4--bold {
	font-weight: var(--pm-text-h4-weight-bold);
}

/* Heading/H6 — Switzer 20 / 24, 0 (Figma: Medium / Semi Bold / Bold) */
.pm-title-h6--medium,
.pm-title-h6--semibold,
.pm-title-h6--bold {
	font-family: var(--pm-font-primary);
	font-size: var(--pm-text-h6-size);
	line-height: var(--pm-text-h6-line-height);
	letter-spacing: var(--pm-text-h6-letter-spacing);
	margin: 0;
}

.pm-title-h6--medium {
	font-weight: var(--pm-text-h6-weight-medium);
}

.pm-title-h6--semibold {
	font-weight: var(--pm-text-h6-weight-semibold);
}

.pm-title-h6--bold {
	font-weight: var(--pm-text-h6-weight-bold);
}


/* Body/Body-1/Regular */
.pm-body-1--regular {
	font-weight: 400;
}

/* Body/Body-1/Medium */
.pm-body-1--medium {
	font-weight: 500;
}

/* Body/Body-2 — Inter, 16px / 24px, letter-spacing 0 */
.pm-body-2,
.pm-body-2--regular {
	font-family: var(--pm-font-secondary);
	font-size: 1rem;
	line-height: 24px;
 	letter-spacing: 0;
	font-weight: 400;
}

/* Body/Body-3 — Inter, 14px / 20px, letter-spacing 0 (Figma: Regular / Medium) */
.pm-body-3,
.pm-body-3--regular,
.pm-body-3--medium {
	font-family: var(--pm-font-secondary);
	font-size: var(--pm-text-body-3-size);
	line-height: var(--pm-text-body-3-line-height);
	letter-spacing: var(--pm-text-body-3-letter-spacing);
}

.pm-body-3,
.pm-body-3--regular {
	font-weight: var(--pm-text-body-3-weight-regular);
}

.pm-body-3--medium {
	font-weight: var(--pm-text-body-3-weight-medium);
}

/* Body/Body-4 — Inter, 12px / 16px, letter-spacing 0 (Figma: Regular / Medium) */
.pm-body-4,
.pm-body-4--regular,
.pm-body-4--medium {
	font-family: var(--pm-font-secondary);
	font-size: var(--pm-text-body-4-size);
	line-height: var(--pm-text-body-4-line-height);
	letter-spacing: var(--pm-text-body-4-letter-spacing);
}

.pm-body-4,
.pm-body-4--regular {
	font-weight: var(--pm-text-body-4-weight-regular);
}

.pm-body-4--medium {
	font-weight: var(--pm-text-body-4-weight-medium);
}

/* Label/Label-1 — Inter, 16px / 22px, -0.18 (Figma: Regular / Medium / Bold) */
.pm-label-1,
.pm-label-1--regular,
.pm-label-1--medium,
.pm-label-1--bold {
	font-family: var(--pm-font-secondary);
	font-size: var(--pm-text-label-1-size);
	line-height: var(--pm-text-label-1-line-height);
	letter-spacing: var(--pm-text-label-1-letter-spacing);
}

.pm-label-1,
.pm-label-1--regular {
	font-weight: var(--pm-text-label-1-weight-regular);
}

.pm-label-1--medium {
	font-weight: var(--pm-text-label-1-weight-medium);
}

.pm-label-1--bold {
	font-weight: var(--pm-text-label-1-weight-bold);
}

.pm-entry-content > *:first-child {
	margin-top: 0;
}

.pm-entry-content > *:last-child {
	margin-bottom: 0;
}

/* --- Container --- */
.pm-container {
	width: 100%;
	max-width: var(--pm-container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--pm-space-16);
	padding-right: var(--pm-space-16);
}

.pm-stack > * + * {
	margin-top: var(--pm-space-24);
}

.pm-page {
	padding-top: var(--pm-space-16);
	padding-bottom: var(--pm-space-32);
}

@media (min-width: 1024px) {
	.pm-container {
		padding-left: var(--pm-space-32);
		padding-right: var(--pm-space-32);
	}
}

/* --- Header (flujo normal; no fijo) --- */
.pm-header {
	position: relative;
	z-index: 10;
}

.pm-header__brand a{
	display: block;
	width: 120px;
}

@media (min-width: 1024px) {
	.pm-header__brand a{
		width: 83px;
	}
}

/* Con menú abierto: por encima del overlay difuminado; sin blur (fondo sólido). */
body.pm-menu-open .pm-header {
	z-index: 250;
	background: var(--pm-gray-100);
}

.pm-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--pm-space-16);
	min-height: var(--pm-header-height);
	padding-top: var(--pm-space-16);
	padding-bottom: var(--pm-space-16);
}

.pm-header .custom-logo img,
.pm-overlay .custom-logo img {
	max-height: 40px;
	width: auto;
}

.pm-header__logo-text {
	font-family: var(--pm-font-primary);
	font-weight: 700;
	font-size: 1.125rem;
	color: var(--pm-gray-900);
}

.pm-header__nav--pills {
	display: none;
}

@media (min-width: 1024px) {
	.pm-header__nav--pills {
		display: flex;
		flex: 1;
		justify-content: center;
	}
}

.pm-pills {
	display: flex;
	flex-wrap: wrap;
	gap: var(--pm-space-8);
	list-style: none;
	margin: 0;
	padding: 0;
	justify-content: center;
}

.pm-pills__item {
	margin: 0;
}

.pm-pills__link,
.pm-pills a {
	display: inline-flex;
	align-items: center;
	padding: var(--pm-space-8) var(--pm-space-16);
	border: 1px solid var(--pm-gray-50);
	border-radius: var(--pm-radius-full);
	background: var(--pm-white);
	color: var(--pm-gray-800);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.35;
	text-decoration: none;
}

.pm-header__actions {
	display: flex;
	align-items: center;
	gap: var(--pm-space-16);
	padding: var(--pm-space-4);
}

.pm-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: none;
	cursor: pointer;
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	box-sizing: border-box;
}

.pm-icon-btn--whatsapp {
	width: 48px;
	height: 48px;
	padding: var(--pm-space-8);
	background: var(--pm-whatsapp-bg);
	color: var(--pm-white);
	border: 1px solid var(--pm-whatsapp-border);
	box-shadow: var(--pm-whatsapp-shadow-1), var(--pm-whatsapp-shadow-2);
}

.pm-icon-btn--whatsapp svg {
	display: block;
	width: 22px;
	height: 22px;
	flex-shrink: 0;
}

.pm-icon-btn--whatsapp:hover,
.pm-icon-btn--whatsapp:focus-visible {
	background: var(--pm-whatsapp-bg-hover);
}

@media (min-width: 1024px) {
	.pm-icon-btn--whatsapp {
		width: 40px;
		height: 40px;
		padding: var(--pm-space-8);
	}
}

/* Menú: círculo 40×40, dos barras (superior larga centrada, inferior corta alineada a la izquierda). */
.pm-menu-toggle {
	position: relative;
	width: 48px;
	height: 48px;
	box-sizing: border-box;
	border-radius: 50%;
	border: 0;
	background: var(--pm-white);
	cursor: pointer;
	padding: 0;
	box-shadow: 0 2px 8px 0 #64748B0A;
	transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.pm-menu-toggle:focus-visible {
	outline: 2px solid var(--pm-brand-500);
	outline-offset: 2px;
}

.pm-menu-toggle__hamburger {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.2s ease;
}

.pm-menu-toggle__hamburger-inner {
	display: flex;
    flex-direction: column;
    align-items: baseline;
    justify-content: center;
    padding: 4px;
    gap: 4px;
    width: 24px;
    height: 24px;
}

.pm-menu-toggle__bar {
	display: block;
	height: 0;
	border-radius: var(--pm-radius-full);
	border: 1.5px solid var(--pm-gray-950);
}

.pm-menu-toggle__bar--top {
	width: 100%;
}

.pm-menu-toggle__bar--middle {
	width: 100%;
}

.pm-menu-toggle__bar--bottom {
	width: 50%;
}
@media (min-width: 1024px) {
	.pm-menu-toggle {
		width: 40px;
		height: 40px;
	}
	.pm-menu-toggle__hamburger-inner{
		gap: 6px;
	}
	.pm-menu-toggle__bar--middle {
		display: none;
	}
}

.pm-menu-toggle__close-icon {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.2s ease;
	pointer-events: none;
}

.pm-menu-toggle__close-icon::before,
.pm-menu-toggle__close-icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 18px;
	height: 2px;
	background: var(--pm-gray-900);
	border-radius: var(--pm-radius-2);
}

.pm-menu-toggle__close-icon::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.pm-menu-toggle__close-icon::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

body.pm-menu-open .pm-menu-toggle__hamburger {
	opacity: 0;
}

body.pm-menu-open .pm-menu-toggle__close-icon {
	opacity: 1;
}

/* --- Landing template --- */
.pm-landing {
	--pm-landing-hero-min-h: 512px;
	max-width: var(--pm-container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--pm-space-16);
	padding-right: var(--pm-space-16);
}

@media (min-width: 1024px) {
	.pm-landing {
		padding-left: var(--pm-space-32);
		padding-right: var(--pm-space-32);
	}
}

.pm-landing__hero-stack {
	position: relative;
	z-index: 0;
	min-height: var(--pm-landing-hero-min-h);
	margin: 0 0;
	border-radius: var(--pm-radius-16);
	overflow: visible;
	background: var(--pm-gray-200);
}

.pm-hero {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	border-radius: inherit;
}

.pm-hero__media {
	position: absolute;
	inset: 0;
}

.pm-hero__media picture {
	display: block;
	width: 100%;
	height: 100%;
}

.pm-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left bottom;
	display: block;
}

.pm-bottom-blur {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 100;
	height: var(--pm-hero-bottom-blur-height);
	background: transparent;
	pointer-events: none;
	opacity: 1;
	transition: opacity 0.3s ease;
}

.pm-bottom-blur.is-hidden {
	opacity: 0;
}

.pm-bottom-blur > div,
.pm-bottom-blur::before,
.pm-bottom-blur::after {
  position: absolute;
  inset: 0;
}
.pm-bottom-blur::before {
  content: "";
  z-index: 1;
  backdrop-filter: blur(0.5px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 1) 12.5%,
    rgba(0, 0, 0, 1) 25%,
    rgba(0, 0, 0, 0) 37.5%
  );
}
.pm-bottom-blur > div:nth-of-type(1) {
  z-index: 2;
  backdrop-filter: blur(1px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 12.5%,
    rgba(0, 0, 0, 1) 25%,
    rgba(0, 0, 0, 1) 37.5%,
    rgba(0, 0, 0, 0) 50%
  );
}
.pm-bottom-blur > div:nth-of-type(2) {
  z-index: 3;
  backdrop-filter: blur(2px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 25%,
    rgba(0, 0, 0, 1) 37.5%,
    rgba(0, 0, 0, 1) 50%,
    rgba(0, 0, 0, 0) 62.5%
  );
}
.pm-bottom-blur > div:nth-of-type(3) {
  z-index: 4;
  backdrop-filter: blur(4px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 37.5%,
    rgba(0, 0, 0, 1) 50%,
    rgba(0, 0, 0, 1) 62.5%,
    rgba(0, 0, 0, 0) 75%
  );
}
.pm-bottom-blur > div:nth-of-type(4) {
  z-index: 5;
  backdrop-filter: blur(8px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 50%,
    rgba(0, 0, 0, 1) 62.5%,
    rgba(0, 0, 0, 1) 75%,
    rgba(0, 0, 0, 0) 87.5%
  );
}
.pm-bottom-blur > div:nth-of-type(5) {
  z-index: 6;
  backdrop-filter: blur(16px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 62.5%,
    rgba(0, 0, 0, 1) 75%,
    rgba(0, 0, 0, 1) 87.5%,
    rgba(0, 0, 0, 0) 100%
  );
}
.pm-bottom-blur > div:nth-of-type(6) {
  z-index: 7;
  backdrop-filter: blur(32px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 75%,
    rgba(0, 0, 0, 1) 87.5%,
    rgba(0, 0, 0, 1) 100%
  );
}
.pm-bottom-blur::after {
  content: "";
  z-index: 8;
  backdrop-filter: blur(64px);
  mask: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 87.5%,
    rgba(0, 0, 0, 1) 100%
  );
}


.pm-hero__content {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	min-height: var(--pm-landing-hero-min-h);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	max-width: 100%;
	padding: var(--pm-space-24);
	gap: var(--pm-space-4);
}

@media (min-width: 768px) {
	.pm-hero__content {
		padding: var(--pm-space-32);
	}
}


@media (min-width: 1024px) {
	.pm-hero__content {
		max-width: 36rem;
		padding: var(--pm-space-60) var(--pm-space-24);
		padding-left: var(--pm-space-60);
	}
}
.pm-hero__title {
	font-family: var(--pm-font-primary);
	font-size: var(--pm-text-h5-size);
	line-height: var(--pm-text-h5-line-height);
	letter-spacing: var(--pm-text-h5-letter-spacing);
	font-weight: var(--pm-font-weight-bold);
	color: var(--pm-white);
	margin: 0 0;
}

.pm-hero__title-line {
	display: block;
}

.pm-hero__subtitle {
	color: rgba(255, 255, 255, 0.95);
	margin: 0;
}
@media (min-width: 768px) {
	.pm-hero__title {
		font-size: var(--pm-text-h4-size);
		line-height: var(--pm-text-h4-line-height);
		letter-spacing: var(--pm-text-h4-letter-spacing);
	}
	.pm-hero__subtitle{
		max-width: 380px;
	}
}
@media (min-width: 1024px) {
	.pm-hero__title {
		
		font-size: var(--pm-text-h3-size);
		line-height: var(--pm-text-h3-line-height);
		letter-spacing: var(--pm-text-h3-letter-spacing);
		color: var(--pm-white);
		margin: 0 0;
	}
}



/* Form rail */
.pm-sticky-form {
	position: static;
}

.pm-landing__rail {
	margin: var(--pm-space-24) 0;
	padding: 0;
}

.pm-landing__content {
	padding-bottom: var(--pm-space-40);
}

.pm-card {
	background: var(--pm-white);
	border-radius: var(--pm-radius-12);
	box-shadow: 0 2px 8px 0 #64748B0A;
	padding: var(--pm-space-20);
}

.pm-form-card__inner {
	display: block;
}

.pm-form-card__intro {
	margin-bottom: var(--pm-space-24);
}

.pm-form-card__intro .pm-form-card__title {
	font-family: var(--pm-font-primary);
	font-size: var(--pm-text-h6-size);
	line-height: var(--pm-text-h6-line-height);
	letter-spacing: var(--pm-text-h6-letter-spacing);
	font-weight: var(--pm-font-weight-bold);
	margin: 0 auto var(--pm-space-4);
	color: var(--pm-gray-950);
}

@media (min-width: 768px) {
	.pm-form-card__intro .pm-form-card__title {
		font-size: var(--pm-text-h5-size);
		line-height: var(--pm-text-h5-line-height);
		letter-spacing: var(--pm-text-h5-letter-spacing);
	}
}

@media (min-width: 1024px) {
	.pm-form-card__intro .pm-form-card__title {
		font-weight: var(--pm-font-weight-semibold);
	}
}
.pm-form-card__lead {
	margin-top: 0;
	margin-bottom: 0;
	color: var(--pm-gray-500);
}

.pm-form-card__notice {
	padding: var(--pm-space-12);
	background: var(--pm-orange-50);
	border-radius: var(--pm-radius-sm);
	font-size: 0.875rem;
	color: var(--pm-orange-800);
}

.pm-form-card__field p{
	margin: 0;
}

/* CF7 */
.wpcf7-form .pm-form-card  label{
	display: block;
	color: var(--pm-gray-500);
}

.wpcf7-form .pm-form-card input[type="text"],
.wpcf7-form .pm-form-card input[type="email"],
.wpcf7-form .pm-form-card input[type="tel"],
.wpcf7-form .pm-form-card textarea {
	width: 100%;
	padding: var(--pm-space-8) var(--pm-space-16);
	border: 1px solid var(--pm-gray-200);
	border-radius: var(--pm-radius-8);
	font-family: var(--pm-font-secondary);
	font-size: var(--pm-text-body-2-size);
	line-height: var(--pm-text-body-2-line-height);
	letter-spacing: var(--pm-text-body-2-letter-spacing);
	font-weight: var(--pm-text-body-2-weight-regular);
	color: var(--pm-gray-950);
	margin-top: var(--pm-space-4);
	margin-bottom: var(--pm-space-16);
}

.wpcf7-form .pm-form-card input[type="text"]::placeholder,
.wpcf7-form .pm-form-card input[type="email"]::placeholder,
.wpcf7-form .pm-form-card input[type="tel"]::placeholder,
.wpcf7-form .pm-form-card textarea::placeholder {
	color: var(--pm-gray-400);
}

.wpcf7-form  .pm-form-card .wpcf7-submit {
	width: 100%;
}

.pm-form-card .wpcf7-form .wpcf7-submit:hover {
	background: var(--pm-brand-600);
}

.pm-form-card .frm--hd{
	display: none !important;
}

/* Desktop: hero a todo el ancho; carril encima del hero (col 2) y sticky en la columna derecha al hacer scroll */
@media (min-width: 1024px) {
	.pm-landing {
		--pm-landing-hero-min-h: calc(100vh - var(--pm-header-height) - 50px);

		display: grid;
		grid-template-columns: 2fr 1fr;
		grid-template-rows: auto 1fr;
		gap: 0 var(--pm-space-24);
		align-items: start;
		
	}

	.pm-landing__hero-stack {
		grid-column: 1 / -1;
		grid-row: 1;
		margin: 0 0 var(--pm-space-72);
		min-height: var(--pm-landing-hero-min-h);
	}

	.pm-landing__rail {
		grid-column: 2;
		grid-row: 1 / span 2;
		z-index: 2;
		margin: 0;
		width: 100%;
		max-width: var(--pm-rail-width);
		justify-self: end;
		align-self: start;
		box-sizing: border-box;
		position: sticky;
		top: var(--pm-space-24);
		padding: var(--pm-space-24);
	}

	.pm-sticky-form {
		position: static;
	}

	.pm-landing__content {
		grid-column: 1;
		grid-row: 2;
		margin: var(--pm-space-32) 0 0;
		padding-bottom: var(--pm-space-60);
	}
}

/* Plantilla Blank (page-blank.php): ancho y márgenes como .pm-landing, sin grid — una sola columna */
.pm-page-blank {
	width: 100%;
	box-sizing: border-box;
}

.pm-page-blank__content {
	margin-left: var(--pm-space-16);
	margin-right: var(--pm-space-16);
	padding-bottom: var(--pm-space-40);
}

@media (min-width: 1024px) {
	.pm-page-blank {
		max-width: var(--pm-container-max);
		margin-left: auto;
		margin-right: auto;
		padding-left: var(--pm-space-32);
		padding-right: var(--pm-space-32);
	}

	.pm-page-blank__content {
		margin-left: 0;
		margin-right: 0;
		padding-bottom: var(--pm-space-60);
	}
}

/* Pagina de formulario (page-form.php + form-split-acf.php; contacto/mantenimiento) */
.pm-mantenimiento {
	margin: 0;
}

.pm-mantenimiento__split {
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-32);
}

.pm-mantenimiento__figure {
	margin: 0;
	border-radius: var(--pm-radius-16);
	aspect-ratio: 1;
	overflow: hidden; 
}

.pm-mantenimiento__img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center top;
}
@media (min-width: 768px) {
	.pm-mantenimiento__figure  {
		aspect-ratio: 802 / 480;
	}
}
@media (min-width: 1024px) {
	.pm-mantenimiento__figure  {
		aspect-ratio: 443 / 480;
	}
}

.pm-mantenimiento__panel {
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-32);
	min-width: 0;
}

.pm-mantenimiento__title {
	font-family: var(--pm-font-primary);
	font-size: var(--pm-text-h5-size);
	line-height: var(--pm-text-h5-line-height);
	letter-spacing: var(--pm-text-h5-letter-spacing);
	font-weight: var(--pm-font-weight-bold);
	margin: 0;
	color: var(--pm-gray-900);
}

.pm-mantenimiento__lede {
	margin: 0;
	color: var(--pm-gray-500);
}
@media (min-width: 768px) {
	.pm-mantenimiento__title {
		font-size: var(--pm-text-h4-size);
		line-height: var(--pm-text-h4-line-height);
		letter-spacing: var(--pm-text-h4-letter-spacing);
	}
}


.pm-mantenimiento-terms {
	margin: 0;
	padding-top: var(--pm-space-8);
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--pm-space-24);
}

.pm-mantenimiento-terms__body {
	grid-column: 1;
}

.pm-mantenimiento-terms__title {
	margin: 0 0 var(--pm-space-8);
	color: var(--pm-gray-900);
}

@media (min-width: 1024px) {
	.pm-mantenimiento-terms {
		grid-template-columns: 1fr 2fr;
	}
	.pm-mantenimiento-terms__body {
		grid-column: 2;
	}
}

.pm-mantenimiento-terms__wysiwyg {
	margin: 0;
	color: var(--pm-gray-600);
}

.pm-mantenimiento-terms__wysiwyg > *:first-child {
	margin-top: 0;
}

.pm-mantenimiento-terms__wysiwyg > *:last-child {
	margin-bottom: 0;
}

.pm-mantenimiento-terms__wysiwyg ol,
.pm-mantenimiento-terms__wysiwyg ul {
	margin: 0;
	padding-left: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.pm-mantenimiento-terms__wysiwyg li {
	padding-left: var(--pm-space-4);
}

.pm-mantenimiento-terms__list {
	margin: 0;
	padding-left: 1.25rem;
	color: var(--pm-gray-600);
	display: flex;
	flex-direction: column;
	gap: 0;
}

.pm-mantenimiento-terms__li {
	padding-left: var(--pm-space-4);
}

@media (min-width: 1024px) {
	.pm-mantenimiento__split {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
		gap: var(--pm-space-24);
		align-items: start;
	}

	
}

/* Página instalación (template-parts/pages/instalacion/content.php) */
.pm-instalacion__inner {
	background: var(--pm-gray-100);
	border-radius: var(--pm-radius-16);
	padding: var(--pm-space-24);
}

.pm-instalacion__split {
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-32);
}

.pm-instalacion__figure {
	margin: 0;
	border-radius: var(--pm-radius-16);
	overflow: hidden;
}

.pm-instalacion__img {
	width: 100%;
	height: auto;
	display: block;
}

.pm-instalacion__panel {
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-24);
	min-width: 0;
	height: 100%;
	justify-content: space-between;
}

.pm-instalacion__title {
	margin: 0 0 var(--pm-space-8);
	color: var(--pm-gray-900);
}

.pm-instalacion__body {
	margin: 0;
	color: var(--pm-gray-500);
}

.pm-instalacion__body > *:first-child {
	margin-top: 0;
}

.pm-instalacion__body > *:last-child {
	margin-bottom: 0;
}

.pm-instalacion__manuales {
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-16);
}

.pm-instalacion__manuales-label {
	margin: 0;
	color: var(--pm-gray-950);
}

.pm-instalacion__manuales-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--pm-space-12);
}

.pm-instalacion__manuales-item {
	margin: 0;
}

.pm-instalacion__manual {
	display: inline-flex;
	align-items: center;
	gap: var(--pm-space-8);
	padding: var(--pm-space-12) var(--pm-space-16);
	border-radius: 999px;
	background: var(--pm-gray-200);
	color: var(--pm-gray-900);
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}

.pm-instalacion__manual:hover,
.pm-instalacion__manual:focus-visible {
	background: var(--pm-gray-300);
	color: var(--pm-gray-900);
}

.pm-instalacion__manual-icon {
	display: inline-flex;
	flex-shrink: 0;
	color: currentColor;
}

@media (min-width: 768px) {
	.pm-instalacion__inner {
		padding: var(--pm-space-32);
	}

	.pm-instalacion__split {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
		gap: var(--pm-space-32);
		align-items: start;
	}
}

/* Página FAQ — acordeón (template-parts/pages/faq/content.php) */
.pm-faq__layout {
	display: grid;
	gap: var(--pm-space-32);
	align-items: start;
}

.pm-faq__intro {
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-24);
}

.pm-faq__content{
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-8);
}

.pm-faq__title {
	margin: 0;
	color: var(--pm-gray-950);
}

.pm-faq__lede {
	margin: 0;
	color: var(--pm-gray-500);
}

.pm-faq__cta-wrap {
	margin: 0;
}

.pm-faq__accordion {
	background: var(--pm-white);
	border-radius: var(--pm-radius-16);
	padding: 0 var(--pm-space-8);
}

.pm-faq__item {
	border-bottom: 1px solid #F1F5F9;
	padding: var(--pm-space-16) var(--pm-space-8);
	gap: var(--pm-space-16);
}

.pm-faq__item:last-child {
	border-bottom: none;
}

.pm-faq__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--pm-space-16);
	padding: 0;

	cursor: pointer;
	list-style: none;
	font-weight: 500;
	color: var(--pm-gray-900);
}

.pm-faq__summary::-webkit-details-marker {
	display: none;
}

.pm-faq__question {
	flex: 1;
	min-width: 0;
	text-align: left;
	color: var(--pm-gray-950);
}

.pm-faq__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	color: var(--pm-gray-950);
}

.pm-faq__icon--times {
	display: none;
}

.pm-faq__item[open] .pm-faq__icon--plus {
	display: none;
}

.pm-faq__item[open] .pm-faq__icon--times {
	display: inline;
}

.pm-faq__panel {
	padding: var(--pm-space-16) 0;
}

.pm-faq__answer-p {
	margin: 0 0 var(--pm-space-16);
	color: #64748B;
}

.pm-faq__answer-p:last-child {
	margin-bottom: 0;
}

@media (min-width: 1024px) {
	.pm-faq__layout {
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
		gap: var(--pm-space-24);
	}

	.pm-faq__accordion {
		padding: 0 var(--pm-space-8);
	}
}

/* Tablet: dos columnas dentro de la tarjeta (texto | formulario). */
@media (min-width: 768px) and (max-width: 1023px) {
	.pm-form-card__inner {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: var(--pm-space-24);
		align-items: start;
	}

	.pm-form-card__intro {
		margin-bottom: 0;
	}
}

/* Section */
.pm-section {
	padding: 0;
	margin: 0 0 var(--pm-space-72);
}


/* Página inicio — testimonios (columna principal bajo el hero) */
/* .pm-inicio-testimonials {

} */

.pm-inicio-testimonials__head,
.pm-inicio-features__head,
.pm-inicio-install__head,
.pm-te-capacity__head,
.pm-te-compare__head {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto auto;
	gap: var(--pm-space-16);
	margin-bottom: var(--pm-space-32);
}

.pm-inicio-testimonials__title,
.pm-inicio-features__title,
.pm-inicio-install__title,
.pm-inicio-split__title,
.pm-te-capacity__title,
.pm-te-compare__title {
	font-family: var(--pm-font-primary);
	font-size: var(--pm-text-h5-size);
	line-height: var(--pm-text-h5-line-height);
	letter-spacing: var(--pm-text-h5-letter-spacing);
	font-weight: var(--pm-font-weight-bold);
	color: var(--pm-gray-900);
	margin: 0;
}

.pm-inicio-testimonials__title-line,
.pm-inicio-features__title-line,
.pm-inicio-install__title-line,
.pm-te-capacity__title-line,
.pm-te-compare__title-line {
	display: block;
}

.pm-inicio-testimonials__lede,
.pm-inicio-features__lede,
.pm-inicio-install__lede,
.pm-te-capacity__lede,
.pm-te-compare__lede {
	color: var(--pm-gray-600);
	margin: 0;
	max-width: 100%;
}

@media (min-width: 768px) {
	.pm-inicio-testimonials__lede,
	.pm-inicio-features__lede,
	.pm-inicio-install__lede,
	.pm-te-capacity__lede,
	.pm-te-compare__lede {
		max-width: 300px;
	}
}

@media (min-width: 1024px) {
	.pm-inicio-testimonials__title,
	.pm-inicio-features__title,
	.pm-inicio-install__title,
	.pm-inicio-split__title,
	.pm-te-capacity__title,
	.pm-te-compare__title{
		font-size: var(--pm-text-h4-size);
		line-height: var(--pm-text-h4-line-height);
		letter-spacing: var(--pm-text-h4-letter-spacing);
		font-weight: var(--pm-font-weight-semibold);
	}
}


.pm-inicio-testimonials__list,
.pm-inicio-install__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--pm-space-24);
}

.pm-video-card {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--pm-radius-16);
	height: 320px;
	color: var(--pm-white);
	text-decoration: none;
}

.pm-video-card:focus-visible {
	outline: 2px solid var(--pm-brand-500);
	outline-offset: 3px;
}

.pm-video-card__media {
	position: absolute;
	inset: 0;
	display: block;
}

.pm-video-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease, filter 0.4s ease;
}

.pm-video-card:hover .pm-video-card__media img,
.pm-video-card:focus-visible .pm-video-card__media img {
	transform: scale(1.06);
	filter: blur(10px);
}

.pm-video-card__shade {
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.5);
	pointer-events: none;
}

.pm-video-card__bottom {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: var(--pm-space-16);
	padding: var(--pm-space-20) var(--pm-space-24);
	box-sizing: border-box;
	transition: gap 0.4s ease;
}


.pm-video-card__play {
	flex-shrink: 0;
	display: flex;
}

.pm-video-card__play svg {
	display: block;
}

.pm-video-card__copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
	max-width: 300px;
	overflow: visible;
	color: var(--pm-white);
	opacity: 1;
	white-space: nowrap;
	transform: translateX(0);
	transition: opacity 0.338s ease-in-out, transform 0.338s ease-in-out, max-width 0.338s ease-in-out;
}

.pm-video-card:hover .pm-video-card__copy,
.pm-video-card:focus-visible .pm-video-card__copy {
	opacity: 0;
	overflow: visible;
	max-width: 0;
}

/* Página inicio — instalación / accesorios (2 tarjetas, mismo header que testimonios) */

.pm-inicio-install__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--pm-space-24);
}

.pm-inicio-install__item {
	min-width: 0;
}

.pm-install-card {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--pm-radius-16);
	min-height: 280px;
	height: 320px;
	color: var(--pm-white);
	text-decoration: none;
	box-shadow: 0 4px 24px var(--pm-alpha-light-200);
}

.pm-install-card:focus-visible {
	outline: 2px solid var(--pm-brand-500);
	outline-offset: 3px;
}

.pm-install-card__media {
	position: absolute;
	inset: 0;
	background-color: var(--pm-gray-200);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: transform 0.35s ease;
}

.pm-install-card:hover .pm-install-card__media,
.pm-install-card:focus-visible .pm-install-card__media {
	transform: scale(1.04);
}

.pm-install-card__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.25) 55%, transparent 100%);
	pointer-events: none;
}

.pm-install-card__bottom {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--pm-space-8);
	padding: var(--pm-space-24);
	box-sizing: border-box;
}

.pm-install-card__title {
	display: block;
	margin: 0;
	color: var(--pm-white);
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}

.pm-install-card__text {
	display: block;
	margin: 0;
	color: rgba(255, 255, 255, 0.95);
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

.pm-install-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: var(--pm-space-4);
	padding: var(--pm-space-10) var(--pm-space-20);
	background: var(--pm-brand-500);
	color: var(--pm-white);
	border-radius: var(--pm-radius-full);
	font-family: var(--pm-font-primary);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.3;
	box-shadow: 0 2px 12px rgba(247, 11, 77, 0.35);
}

.pm-install-card:hover .pm-install-card__btn,
.pm-install-card:focus-visible .pm-install-card__btn {
	background: var(--pm-brand-600);
}

/* Página inicio — grid de beneficios / características */

.pm-inicio-features__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	grid-auto-rows: 240px;
	gap: var(--pm-space-24);
}

.pm-inicio-features__item {
	min-width: 0;
}

.pm-feature-card {
	display: flex;
	flex-direction: column;
	position: relative;
	height: 100%;
	overflow: hidden;
	background: var(--pm-white);
	border-radius: var(--pm-radius-16);
}

.pm-feature-card__media {
	position: relative;
	height: 100%;
	flex-shrink: 0;
	background-color: var(--pm-gray-200);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.pm-feature-card__fade {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, transparent 35%, rgba(255, 255, 255, 0.55) 72%, var(--pm-white) 100%);
	pointer-events: none;
}

.pm-feature-card__body {
	padding: var(--pm-space-16);
	text-align: left;
	position: absolute;
	inset: auto 0 0 0;
}

.pm-feature-card__title {
	font-family: var(--pm-font-primary);
	font-size: var(--pm-text-h6-size);
	line-height: var(--pm-text-h6-line-height);
	letter-spacing: var(--pm-text-h6-letter-spacing);
	font-weight: var(--pm-font-weight-bold);
	color: var(--pm-gray-950);
}

.pm-feature-card__text {
	color: var(--pm-gray-500);
	margin: 0;
}

@media (min-width: 768px) {
	.pm-inicio-testimonials__head,
	.pm-inicio-features__head,
	.pm-inicio-install__head,
	.pm-te-capacity__head,
	.pm-te-compare__head {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto;
		margin-bottom: var(--pm-space-32);
		align-items: end;
	}

	.pm-inicio-testimonials__lede,
	.pm-inicio-features__lede,
	.pm-inicio-install__lede,
	.pm-te-capacity__lede,
	.pm-te-compare__lede {
		text-align: left;
		margin-left: auto;
	}

	.pm-inicio-testimonials__list,
	.pm-inicio-install__list {
		grid-template-columns: 2fr 1fr;
		grid-template-rows: 1fr;
		gap: var(--pm-space-16);
	}

	.pm-inicio-features__grid {
		grid-template-columns: 1fr 1fr;
		gap: var(--pm-space-16);
		align-items: stretch;
		grid-auto-rows: 320px;
	}

	
}

@media (min-width: 1024px) {
	.pm-inicio-testimonials__head,
	.pm-inicio-features__head,
	.pm-inicio-install__head,
	.pm-te-capacity__head,
	.pm-te-compare__head {
		display: grid;
		grid-template-columns: 2fr 1fr;
		grid-template-rows: auto;
		margin-bottom: var(--pm-space-32);
		align-items: end;
	}

	.pm-inicio-features__grid {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: var(--pm-space-24);
		align-items: stretch;
	}

	.pm-inicio-features__item:nth-child(1),
	.pm-inicio-features__item:nth-child(2) {
		grid-column: span 6;
	}

	.pm-inicio-features__item:nth-child(3),
	.pm-inicio-features__item:nth-child(4),
	.pm-inicio-features__item:nth-child(5) {
		grid-column: span 4;
	}

	.pm-inicio-features__item:nth-child(6) {
		grid-column: span 5;
	}

	.pm-inicio-features__item:nth-child(7) {
		grid-column: span 7;
	}
}

/* Página inicio — texto + imagen (instalación incluida) */
/* .pm-inicio-split {

} */

.pm-inicio-split__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--pm-space-32);
	align-items: center;
}

.pm-inicio-split__content {
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-24);
}

.pm-inicio-split__title {
	margin: 0;
	color: var(--pm-gray-900);
}

.pm-inicio-split__title-line {
	display: block;
}

.pm-inicio-split__text {
	margin: 0;
	color: var(--pm-gray-600);
}

.pm-inicio-split__figure {
	margin: 0;
	border-radius: var(--pm-radius-16);
	overflow: hidden;
}

.pm-inicio-split__img {
	width: auto;
	height: auto;
	display: block;
	object-fit: cover;
	margin: 0 auto;
}

@media (min-width: 1024px) {
	.pm-inicio-split__inner {
		grid-template-columns: 1fr 1fr;
		gap: var(--pm-space-24);
		align-items: start;
	}
}

/* Página inicio — banner mantenimiento / terma + lavandería */
.pm-inicio-terma-care__banner {
	position: relative;
	overflow: hidden;
	border-radius: var(--pm-radius-16);
	min-height: 480px;
	display: flex;
	align-items: end;
	box-sizing: border-box;
}

.pm-inicio-terma-care__photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center left;
}

.pm-inicio-terma-care__scrim {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		var(--pm-orange-50) 0%,
		rgba(255, 247, 237, 0.88) 42%,
		rgba(255, 247, 237, 0.35) 62%,
		transparent 78%
	);
}

.pm-inicio-terma-care__content {
	position: relative;
	z-index: 1;
	padding: var(--pm-space-32) var(--pm-space-24);
	max-width: 100%;
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-8);
}

.pm-inicio-terma-care__title {
	margin: 0;
	color: var(--pm-gray-950);
}

.pm-inicio-terma-care__text {
	margin: 0;
	color: var(--pm-gray-950);
}

.pm-inicio-terma-care__cta {
	margin-top: var(--pm-space-4);
	align-self: flex-start;
}

@media (min-width: 768px) {
	.pm-inicio-terma-care__banner {
		min-height: 320px;
	}

	.pm-inicio-terma-care__scrim {
		background: linear-gradient(
			90deg,
			var(--pm-orange-50) 0%,
			rgba(255, 247, 237, 0.96) 28%,
			rgba(255, 247, 237, 0.55) 44%,
			rgba(255, 247, 237, 0.12) 56%,
			transparent 64%
		);
	}

	.pm-inicio-terma-care__content {
		padding: var(--pm-space-16);
		max-width: 370px;
		min-height: 0;
	}
}

@media (min-width: 1024px) {
	.pm-inicio-terma-care__content{
		gap: 0;
	}
	.pm-inicio-terma-care__text {
		margin-bottom: var(--pm-space-16);
	}
}
/* Página Accesorios — banners (imagen + texto + CTA) */
.pm-accesorios__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-24);
}

.pm-accesorios__item {
	margin: 0;
	padding: 0;
}

.pm-acc-banner {
	position: relative;
	overflow: hidden;
	border-radius: var(--pm-radius-16);
	min-height: 280px;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

.pm-acc-banner__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}


.pm-acc-banner__content {
	position: relative;
	z-index: 1;
	padding: var(--pm-space-28) var(--pm-space-24);
	max-width: 22rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--pm-space-12);
}

.pm-acc-banner__icon-wrap {
	margin: 0;
	line-height: 0;
}

.pm-acc-banner__icon {
	display: block;
	width: 2rem;
	height: auto;
}

.pm-acc-banner__title {
	margin: 0;
	color: var(--pm-white);
}

.pm-acc-banner__text {
	margin: 0;
	color: rgba(255, 255, 255, 0.88);
}

.pm-acc-banner__cta {
	margin-top: var(--pm-space-4);
	align-self: flex-start;
}

@media (min-width: 768px) {
	.pm-accesorios__list {
		gap: var(--pm-space-32);
	}

	.pm-acc-banner {
		min-height: 520px;
		align-items: end;
	}

	.pm-acc-banner__content {
		padding: var(--pm-space-40) var(--pm-space-40);
		max-width: 520px;
	}
}

/* --- Overlay --- */
.pm-overlay[hidden] {
	display: none !important;
}

.pm-overlay:not([hidden]) {
	display: block;
	position: fixed;
	inset: 0;
	z-index: 200;
}

.pm-overlay__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(243, 244, 246, 0.28);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
}

.pm-overlay__shell {
	position: relative;
	z-index: 1;
	padding-top: calc(var(--pm-header-height) + var(--pm-space-16));
	padding-bottom: var(--pm-space-24);
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-16);
}

.pm-overlay__card {
	flex: 1;
	display: flex;
	flex-direction: column;
	background: var(--pm-white);
	border-radius: var(--pm-radius-16);
	padding: var(--pm-space-24);
	width: 100%;
	margin: 5px auto; 
}

.pm-overlay__card-grid {
	display: grid;
	gap: var(--pm-space-24);
	flex: 1;
}

@media (min-width: 768px) {
	.pm-overlay__card-grid {
		grid-template-columns: 1fr 1fr;
		align-items: stretch;
	}
}

.pm-overlay-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: pm-overlay;
}

.pm-overlay-menu .menu-item,
.pm-overlay-menu__item {
	counter-increment: pm-overlay;
	border-bottom: 1px solid var(--pm-gray-100);
	padding-bottom: var(--pm-space-8);
	margin: 0;
}

.pm-overlay-menu .menu-item:last-child,
.pm-overlay-menu__item:last-child {
	border-bottom: none;
}

.pm-overlay-menu a,
.pm-overlay-menu__link {
	display: flex;
	align-items: baseline;
	gap: var(--pm-space-16);
	padding: var(--pm-space-8) 0;
	font-family: var(--pm-font-secondary);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	color: #020617;
	text-decoration: none;
}

.pm-overlay-menu a::before,
.pm-overlay-menu__link::before {
	content: counter(pm-overlay, decimal-leading-zero);
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0;
	color: var(--pm-gray-500);
	min-width: 1.5rem;
	flex-shrink: 0;
}

.pm-overlay-menu__label {
	text-decoration: none;
}

.pm-overlay-menu a:hover .pm-overlay-menu__label,
.pm-overlay-menu a:focus-visible .pm-overlay-menu__label {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.pm-overlay__figure {
	border-radius: var(--pm-radius-8);
	overflow: hidden;
	min-height: 200px;
	background: var(--pm-gray-100);
}

.pm-overlay__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media (max-width: 1023px) {
	.pm-overlay__figure {
		display: none;
	}
}

.pm-overlay__card-footer {
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-24);
	margin-top: auto;
	padding-top: var(--pm-space-24);
}

@media (min-width: 768px) {
	.pm-overlay__card-footer {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

.pm-overlay__ctas {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: var(--pm-space-16);
}

@media (min-width: 1024px) {
	.pm-overlay__ctas {
		flex-direction: row;
		flex-wrap: wrap;
	}
}

.pm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	padding: var(--pm-space-8) var(--pm-space-16);
	border-radius: 39px;
	text-decoration: none !important;
	border: 1px solid transparent;
	white-space: nowrap;
}

/* Texto que en hover sube y el duplicado entra por abajo */
.pm-btn__roll {
	display: inline-block;
	overflow: hidden;
	height: 1.35em;
	vertical-align: bottom;
}

.pm-btn__roll-track {
	display: flex;
	flex-direction: column;
	transition: transform 0.45s cubic-bezier(0.76, 0, 0.24, 1);
}

.pm-btn__roll-line {
	display: block;
	line-height: 1.35;
}

@media (hover: hover) and (pointer: fine) {
	.pm-btn:hover .pm-btn__roll-track,
	.pm-btn:focus-visible .pm-btn__roll-track,
	.pm-pills a:hover .pm-btn__roll-track,
	.pm-pills a:focus-visible .pm-btn__roll-track {
		transform: translateY(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.pm-btn__roll-track {
		transition: none;
	}

	.pm-btn:hover .pm-btn__roll-track,
	.pm-btn:focus-visible .pm-btn__roll-track,
	.pm-pills a:hover .pm-btn__roll-track,
	.pm-pills a:focus-visible .pm-btn__roll-track {
		transform: none;
	}
}

.pm-btn--primary {
	background: #c60b3f;
	color: var(--pm-white);
	box-shadow:
		0 2px 12px 0 rgba(213, 8, 65, 0.5),
		0 1px 4px 0 rgba(213, 8, 65, 0.2);
}

.pm-btn--secondary {
	background: var(--pm-gray-950);
	color: var(--pm-white);
	border-color: var(--pm-gray-700);
}

.pm-btn--tercery{
	background: transparent;
	color: var(--pm-gray-900);
	border-color: var(--pm-gray-200);
	transition: all 0.3s ease;
}

.pm-btn--tercery:hover {
	background: var(--pm-brand-600);
	color: var(--pm-white);
	box-shadow:
		0 2px 12px 0 rgba(213, 8, 65, 0.5),
		0 1px 4px 0 rgba(213, 8, 65, 0.2);
	border-color: #C60B3F;
}

.pm-btn--icon::after {
	content: '';
	display: inline-block;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask-image: url('../img/icon_link.svg');
	mask-image: url('../img/icon_link.svg');
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}

.pm-overlay__social {
	display: none;
	gap: var(--pm-space-24);
}

.pm-overlay__social a{
	color: #020617;
	text-decoration: none;
}

.pm-overlay__social a:hover {
	text-decoration: underline;
}

@media (min-width: 1024px) {
	.pm-overlay__social {
		display: flex;
	}
}

body.pm-menu-open {
	overflow: hidden;
}

/* --- Footer --- */
.pm-footer__inner {
	background: var(--pm-white);
	border-radius: var(--pm-radius-16);
	padding: var(--pm-space-24);
	margin-bottom: var(--pm-space-32);
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--pm-space-24);
}

.pm-footer__brand{
	text-align: center;
}
.pm-footer__brand-block a img{
	width: 166px;
	height: 80px;
}
.pm-footer__tagline {
	color: var(--pm-gray-500);
}

.pm-footer__content {
	display: flex;
	flex-flow: column;
	gap: var(--pm-space-48);
}

.pm-footer__link-groups{
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--pm-space-24);
}

@media (min-width: 1024px) {
	.pm-footer__inner {
		grid-template-columns: 1fr 2fr;
	}
	.pm-footer__brand{
		text-align: left;
	}
	.pm-footer__link-groups{
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: var(--pm-space-24);
	}
}

.pm-footer__heading {
	margin: 0 0 var(--pm-space-12);
	color: var(--pm-gray-500);
}

.pm-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pm-footer__links li{
	padding: var(--pm-space-8) 0;

}

.pm-footer__links a {
	color: #020617;
	font-family: var(--pm-font-primary);
	font-weight: var(--pm-text-body-2-weight-regular);
	font-size: var(--pm-text-body-2-size);
	line-height: var(--pm-text-body-2-line-height);
	letter-spacing: var(--pm-text-body-2-letter-spacing);
}

.pm-footer__addresses {
	display: grid;
	gap: var(--pm-space-24);
}

@media (min-width: 1024px) {
	.pm-footer__addresses {
		grid-template-columns: 1fr 1fr;
	}
}

.pm-footer__subheading {
	color: #020617;
	margin: 0;
}

.pm-footer__address {
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-8);
}

.pm-footer__address p{
	color: var(--pm-gray-500);
	margin: 0;
}

.pm-footer__address-line {
	display: flex;
	align-items: flex-start;
	gap: var(--pm-space-8);
}

.pm-footer__address-icon {
	flex-shrink: 0;
	margin-top: 0.125rem;
}

.pm-footer__bottom {
	display: grid;
	flex-direction: column;
	gap: var(--pm-space-16);
	color: var(--pm-gray-500);
}

@media (min-width: 1024px) {
	.pm-footer__bottom {
		grid-template-columns: 1fr 1fr;
	}
}

.pm-footer__book {
	display: inline-flex;
	align-items: center;
	gap: var(--pm-space-8);
	color: #020617;
}
.pm-footer__copy {
	color: var(--pm-gray-500);
	margin: 0;
}

/* ── Video Lightbox ──────────────────────────────────────────────────────── */

body.pm-lightbox--open {
	overflow: hidden;
}

.pm-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(0, 0, 0, 0);
	padding: var(--pm-space-24);
	box-sizing: border-box;
	transition: background-color 0.3s ease;
	display: none;
}

.pm-lightbox.is-visible {
	display: flex;
	background-color: rgba(26, 26, 26, 0.48);
}

.pm-lightbox__inner {
	position: relative;
	width: 100%;
	max-width: 900px;
	opacity: 0;
	transform: scale(0.95);
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.pm-lightbox.is-visible .pm-lightbox__inner {
	opacity: 1;
	transform: scale(1);
}

.pm-lightbox__close {
	position: absolute;
	bottom: calc(100% + 16px);
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	border: 1.5px solid rgba(255, 255, 255, 0.4);
	border-radius: 50%;
	color: var(--pm-white);
	cursor: pointer;
	opacity: 0.9;
	transition: opacity 0.2s ease, background 0.2s ease;
}

.pm-lightbox__close:hover {
	opacity: 1;
	background: rgba(255, 255, 255, 0.25);
}

.pm-lightbox__close:focus-visible {
	outline: 2px solid var(--pm-brand-500);
	outline-offset: 3px;
	border-radius: 50%;
	opacity: 1;
}

.pm-lightbox__video {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background-color: #000;
	border-radius: var(--pm-radius-16);
	overflow: hidden;
}

.pm-lightbox__video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: none;
	display: block;
}

/* Página «Qué nos diferencia» — bloques apilados (badge, título, imagen, texto) */
/* .pm-que-nos-diferencia {

} */

.pm-que-nos-diferencia__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-48);
	max-width: var(--pm-container-max);
	margin-left: auto;
	margin-right: auto;
}

.pm-que-nos-diferencia__item {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-24);	 
}
@media (min-width: 768px) {
	.pm-que-nos-diferencia__item {
		flex-direction: row;
	}
}

.pm-qnd-labels{
	width: 208px;
	flex-shrink: 0; 
}


.pm-qnd-block {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--pm-space-20);
}

.pm-qnd-block__badge {
	display: inline-flex;
	align-items: center;
	gap: var(--pm-space-8);
	margin: 0;
	padding: var(--pm-space-8) var(--pm-space-12);
	background: var(--pm-white);
	border: 1px solid var(--pm-gray-200);
	border-radius: var(--pm-radius-full);
	color: var(--pm-gray-700);
}

.pm-qnd-block__badge-svg {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
}

.pm-qnd-block__badge-label {
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-family: var(--pm-font-secondary);
	font-size: 14px;
	line-height: 24px;
	font-weight: 400;
	letter-spacing: 0.1em;
	color: #000;
}

.pm-qnd-block__title {
	margin: 0;
	color: var(--pm-gray-900);
	max-width: 20ch;
}

.pm-qnd-block__figure {
	margin: 0;
	width: 100%;
	border-radius: var(--pm-radius-24);
	overflow: hidden;
}

.pm-qnd-block__img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	aspect-ratio: 16 / 9;
}

.pm-qnd-block__text {
	margin: 0;
	color: var(--pm-gray-600);
	max-width: 42rem;
}

@media (min-width: 768px) {
	/* .pm-que-nos-diferencia {
		
	} */

	.pm-que-nos-diferencia__list {
		gap: var(--pm-space-72);
	}

	.pm-qnd-block {
		gap: var(--pm-space-24);
	}

	.pm-qnd-block__title {
		max-width: 24ch;
	}
}

/* Página «Termas eléctricas» — grid de niveles de capacidad */
.pm-te-capacity {
	box-sizing: border-box;
}

.pm-te-capacity__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--pm-space-24);
}

.pm-te-capacity__item {
	margin: 0;
	padding: 0;
}

.pm-te-cap-card {
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-16);
	height: 100%;
}

.pm-te-cap-card__figure {
	margin: 0;
	border-radius: var(--pm-radius-24);
	overflow: hidden;
}

.pm-te-cap-card__img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	aspect-ratio: 4 / 3;
}

.pm-te-cap-card__title {
	margin: 0;
	color: var(--pm-gray-900);
}

.pm-te-cap-card__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-10);
	color: var(--pm-gray-600);
}

.pm-te-cap-card__li {
	display: flex;
	align-items: flex-start;
	gap: var(--pm-space-8);
	padding: var(--pm-space-3);
	margin: 0;
}

.pm-te-cap-card__check {
	flex-shrink: 0;
	width: 17px;
	height: 17px;
	display: block;
	margin-top: 3px;
}

.pm-te-cap-card__li-text {
	min-width: 0;
}

@media (min-width: 768px) {
	.pm-te-capacity {
		padding: var(--pm-space-40) var(--pm-space-32);
	}

	.pm-te-capacity__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--pm-space-24);
	}
}

@media (min-width: 1024px) {
	.pm-te-capacity__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--pm-space-24);
	}

}

/* Página «Termas eléctricas» — tabla comparativa */
.pm-te-compare {
	box-sizing: border-box;
}

.pm-te-compare__scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 0;
	padding: 0;
}

.pm-te-compare__table-wrap {
	border: 1px solid var(--pm-gray-200);
	border-radius: var(--pm-radius-16);
	overflow: auto;
	background: var(--pm-white);
}

.pm-te-compare__table {
	width: 100%;
	min-width: 40rem;
	border-collapse: collapse;
	table-layout: fixed;
}

.pm-te-compare__corner {
	width: 10rem;
	padding: var(--pm-space-14) var(--pm-space-12);
	background: var(--pm-gray-50);
	border-bottom: 1px solid var(--pm-gray-200);
	vertical-align: middle;
}

.pm-te-compare__table thead th {
	padding: var(--pm-space-16) var(--pm-space-12);
	text-align: left;
	vertical-align: bottom;
	color: var(--pm-gray-950);
	background: var(--pm-gray-50);
	border-bottom: 1px solid var(--pm-gray-200);
	border-left: 1px solid var(--pm-gray-200);
}

.pm-te-compare__table thead th:first-child {
	border-left: none;
}

.pm-te-compare__rowhead {
	padding: var(--pm-space-14) var(--pm-space-12);
	text-align: left;
	vertical-align: top;
	text-transform: uppercase;
	color: var(--pm-gray-950);
	background: var(--pm-white);
	border-top: 1px solid var(--pm-gray-200);
	border-right: 1px solid var(--pm-gray-200);
	width: 6.5rem;
}

.pm-te-compare__table tbody tr:first-child .pm-te-compare__rowhead {
	border-top: none;
}

.pm-te-compare__cell {
	padding: var(--pm-space-14) var(--pm-space-12);
	text-align: left;
	vertical-align: top;
	color: var(--pm-gray-500);
	border-top: 1px solid var(--pm-gray-200);
	border-left: 1px solid var(--pm-gray-200);
}

.pm-te-compare__table tbody tr:first-child .pm-te-compare__cell {
	border-top: none;
}

.pm-te-compare__cell--brand {
	color: var(--pm-gray-950);
}

/* Formularios CF7 */
.wpcf7-form {
	margin: 0;
}
.wpcf7-spinner{
	display: none !important;
}

.wpcf7-form.submitting .wpcf7-submit {
	color: transparent !important;
	text-shadow: none;
	cursor: wait;
	pointer-events: none;
	background: var(--pm-brand-600) url('../img/icon-loading.svg') no-repeat center / 24px 24px !important;
}

.pm-form{
	gap: var(--pm-space-16);
	display: flex;
	flex-direction: column;
}

.pm-form p {
	margin: 0;
}

.pm-form label {
	display: block;
	color: var(--pm-gray-500);
}

.pm-form input[type="text"],
.pm-form input[type="email"],
.pm-form input[type="tel"],
.pm-form select,
.pm-form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: var(--pm-space-8) var(--pm-space-16);
	border: 1px solid var(--pm-gray-200);
	border-radius: var(--pm-radius-8);
	font-family: var(--pm-font-secondary);
	font-size: var(--pm-text-body-2-size);
	line-height: var(--pm-text-body-2-line-height);
	color: var(--pm-gray-950);
}

.pm-form textarea {
	width: 100%;
	height: 192px;
	resize: vertical;
}

.pm-form input::placeholder,
.pm-form textarea::placeholder {
	color: var(--pm-gray-400);
}

.pm-form .frm--hd{
	display: none;
}

.pm-form .wpcf7-acceptance .wpcf7-list-item{
	margin: 0;
}

.pm-form .wpcf7-acceptance label {
	display: flex;
	align-items: flex-start;
	gap: var(--pm-space-8);
	color: var(--pm-gray-950);
	font-size: var(--pm-text-body-2-size);
	line-height: var(--pm-text-body-2-line-height);
	cursor: pointer;
}

.pm-form .wpcf7-acceptance input[type="checkbox"] {
	margin-top: 0.2rem;
	width: 1.125rem;
	height: 1.125rem;
	accent-color: var(--pm-gray-900);
	cursor: pointer;
	flex-shrink: 0;
}

/* .pm-form .wpcf7-submit {

}

.pm-form .wpcf7-submit:hover {
} */

.pm-mantenimiento__form .wpcf7-not-valid-tip {
	margin-top: var(--pm-space-4);
	font-size: 0.875rem;
}

.pm-form__group {
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-16);
}

.pm-form__group__col{
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-16);
}

@media (min-width: 768px) {
	.pm-form{
		display: flex;
		flex-direction: column;
		gap: var(--pm-space-16);
	}
	.pm-form__group{
		flex-direction: row;
	}
	
}

/* ============================================================
   Detalle de producto — single-pm_producto
   ============================================================ */

/* Contenedor principal */
.pm-single-producto {
	padding-top: var(--pm-space-16);
	padding-bottom: var(--pm-space-32);
}

/* Migas de pan */
.pm-breadcrumb {
	margin-bottom: var(--pm-space-8);
}

.pm-breadcrumb__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--pm-space-8);
	color: #64748B ;
}

.pm-breadcrumb__link {
	color: #64748B;
	text-decoration: none;
	transition: color 0.2s ease;
}

.pm-breadcrumb__link:hover {
	color: var(--pm-gray-900);
	text-decoration: none;
}

.pm-breadcrumb__item--current {
	color: var(--pm-gray-900);
	font-weight: var(--pm-text-body-3-weight-medium);
}

/* Bloque hero (galería + datos) */
.pm-single-producto__hero {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--pm-space-32);
}

@media (min-width: 1024px) {
	.pm-single-producto__hero {
		grid-template-columns: 2fr 1fr;
		gap: var(--pm-space-24);
		align-items: start;
	}

	.pm-single-producto__info {
		position: sticky;
		top: calc(var(--pm-header-height) + var(--pm-space-24));
	}
}

/* --- Galería --- */
.pm-single-producto__main-image {
	border-radius: var(--pm-radius-16);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pm-single-producto__main-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: opacity 0.2s ease;
}

.pm-single-producto__main-image--placeholder {
	min-height: 280px;
}

.pm-single-producto__thumbs {
	list-style: none;
	margin: var(--pm-space-12) 0 0;
	padding: 0;
	display: flex;
	gap: var(--pm-space-8);
	flex-wrap: wrap;
}

.pm-single-producto__thumb {
	width: 72px;
	height: 72px;
	border-radius: var(--pm-radius-8);
	border: 2px solid var(--pm-gray-200);
	overflow: hidden;
	background: var(--pm-gray-100);
	cursor: pointer;
	padding: 0;
	transition: border-color 0.2s ease;
}

.pm-single-producto__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.pm-single-producto__thumb:hover {
	border-color: var(--pm-gray-400);
}

.pm-single-producto__thumb--active {
	border-color: var(--pm-brand-600);
}

/* --- Datos --- */
.pm-single-producto__info {
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-16);
}

.pm-single-producto__main-data {
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-4);
}

.pm-single-producto__title {
	color: var(--pm-gray-950);
	margin: 0;
}

.pm-single-producto__price {
	color: var(--pm-brand-600);
	margin: 0;
}

.pm-single-producto__details{
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-24);
}

.pm-single-producto__features_group{
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-8);
}

.pm-single-producto__desc {
	color: var(--pm-gray-950);
	margin: 0; 
}

.pm-single-producto__features {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-8);
}

.pm-single-producto__feature,
.pm-single-producto__gratis-item {
	display: flex;
	align-items: center;
	gap: var(--pm-space-8);
	color: var(--pm-gray-600);
}

.pm-single-producto__feature-icon {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	color: var(--pm-gray-600);
}

/* Sección Gratis con tu compra */
.pm-single-producto__gratis {
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-8);
}

.pm-single-producto__gratis-title {
	color: var(--pm-gray-950);
	margin: 0;
}

.pm-single-producto__gratis-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-8);
}

/* Selector Monofásica / Trifásica */
.pm-single-producto__tipo-selector {
	position: relative;
	display: flex;
	background: var(--pm-gray-200);
	border-radius: var(--pm-radius-full);
	padding: var(--pm-space-4);
	width: fit-content;
}

.pm-tipo-slider {
	position: absolute;
	top: var(--pm-space-4);
	left: var(--pm-space-4);
	height: calc(100% - var(--pm-space-8));
	border-radius: var(--pm-radius-full);
	background: var(--pm-white);
	box-shadow: 0 1px 4px var(--pm-alpha-light-200);
	transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	pointer-events: none;
}

.pm-tipo-btn {
	position: relative;
	z-index: 1;
	padding: var(--pm-space-4) var(--pm-space-16);
	border-radius: var(--pm-radius-full);
	border: none;
	background: transparent;
	color: var(--pm-gray-600);
	cursor: pointer;
	transition: color 0.2s ease;
}

.pm-tipo-btn--active {
	color: var(--pm-gray-900);
}

/* Botón pagar */
.pm-single-producto__buy-btn {
	width: 100%;
	justify-content: center;
}

/* --- Ficha técnica --- */
.pm-single-producto__ficha {
	margin-top: var(--pm-space-60);
}

.pm-single-producto__ficha-title {
	color: var(--pm-gray-950);
	margin: 0 0 var(--pm-space-24);
}

.pm-single-producto__ficha-table {
	width: 100%;
	border-collapse: collapse;
}

.pm-single-producto__ficha-row {
	border-bottom: 1px solid var(--pm-gray-200);
}

.pm-single-producto__ficha-row:last-child {
	border-bottom: none;
}

.pm-single-producto__ficha-label,
.pm-single-producto__ficha-value {
	padding: var(--pm-space-16) var(--pm-space-8);
	text-align: left;
	vertical-align: middle;
	font-weight: var(--pm-text-body-2-weight-regular);
}

.pm-single-producto__ficha-label {
	color: var(--pm-gray-500);
	width: 50%;
}

.pm-single-producto__ficha-value {
	color: var(--pm-gray-950);
}

@media (min-width: 768px) {
	.pm-single-producto__ficha-label {
		width: 40%;
	}
}

.pm-single-producto__ficha-subtitle {
	color: var(--pm-gray-950);
	margin: var(--pm-space-32) 0 0;
}

.pm-single-producto__ficha-nota {
	margin-top: var(--pm-space-24);
	color: var(--pm-gray-500);
}

.pm-ficha--hidden {
	display: none;
}

/* ============================================================
   Catálogo de productos — página Modelos
   ============================================================ */

/* Sección contenedor */
/* .pm-catalog {
	
} */

.pm-catalog__head {
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-24);
}

.pm-catalog__heading {
	font-family: var(--pm-font-primary);
	font-size: var(--pm-text-h5-size);
	line-height: var(--pm-text-h5-line-height);
	letter-spacing: var(--pm-text-h5-letter-spacing);
	font-weight: var(--pm-font-weight-bold);
	color: var(--pm-gray-900);
	margin: 0 0;
}

@media (min-width: 768px) {
	.pm-catalog__heading {
		font-size: var(--pm-text-h4-size);
		line-height: var(--pm-text-h4-line-height);
		letter-spacing: var(--pm-text-h4-letter-spacing);
		font-weight: var(--pm-font-weight-semibold);
	}
}

/* Pestañas */
.pm-catalog__tabs {
	display: flex;
	gap: var(--pm-space-8);
	margin-bottom: var(--pm-space-32);
}

.pm-catalog__tab {
	font-family: var(--pm-font-secondary);
	font-size: var(--pm-text-body-3-size);
	font-weight: var(--pm-text-body-3-weight-medium);
	line-height: var(--pm-text-body-3-line-height);
	padding: var(--pm-space-8) var(--pm-space-20);
	border-radius: var(--pm-radius-full);
	border: 0;
	background: var(--pm-white);
	color: var(--pm-gray-700);
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.pm-catalog__tab:hover {
	color: var(--pm-white);
	background: var(--pm-gray-950);
}

.pm-catalog__tab--active {
	background: var(--pm-gray-950);
	color: var(--pm-white);
}

/* Grilla */
.pm-catalog__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--pm-space-24);
}

@media (min-width: 600px) {
	.pm-catalog__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.pm-catalog__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* Mensaje vacío */
.pm-catalog__empty {
	color: var(--pm-gray-500);
	font-size: var(--pm-text-body-3-size);
}

/* Tarjeta producto */
.pm-product-card {
	border-radius: var(--pm-radius-16);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.pm-product-card--hidden {
	display: none;
}

/* Imagen */
.pm-product-card__image {
	background: var(--pm-gray-100);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: var(--pm-radius-16);
}

.pm-product-card__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.pm-product-card__image--placeholder {
	min-height: 180px;
}

/* Cuerpo */
.pm-product-card__body {
	padding: var(--pm-space-16);
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-16);
	flex: 1;
}

.pm-product-card__header {
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-8);
}	

.pm-product-card__title {
	color: var(--pm-gray-950);
	margin: 0;
}

.pm-product-card__price {
	font-family: var(--pm-font-secondary);
	font-size: 18px;
	font-weight: 500;
	line-height: 24px;
	color: var(--pm-brand-600);
	margin: 0;
}

.pm-product-card__info-group{
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-8);
}

.pm-product-card__desc {
	color: var(--pm-gray-500);
	margin: 0;
	min-height: 40px;
}

/* Características (baños, ambientes) */
.pm-product-card__features {
	list-style: none;
	margin: 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--pm-space-8);
}

.pm-product-card__feature {
	display: flex;
	align-items: center;
	gap: var(--pm-space-8);
	color: var(--pm-gray-500);
}

.pm-product-card__feature-icon {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	color: var(--pm-gray-500);
}

/* Tipo de conexión */
.pm-product-card__conexion {
	font-size: var(--pm-text-body-4-size);
	line-height: var(--pm-text-body-4-line-height);
	color: var(--pm-gray-500);
	margin: 0;
}

/* Acciones */
.pm-product-card__actions {
	display: flex;
	gap: var(--pm-space-8);
	flex-wrap: nowrap;
}

.pm-product-card__actions .pm-btn {
	width: 100%;
}

/* --- CF7 variantes aleatorias --- */
.pm-cf7-variant[hidden] {
	display: none;
}