/* ============================================================
   MASTER REFERENCE LAYER — Crematiamana V2 (OWNER_MASTER_REFERENCE_SITEWIDE_V3)
   Fuente: assets/brand/reference-style/OWNER_MASTER_REFERENCE_SITEWIDE_V3.png
   Regla: todos los colores provienen de tokens.css / theme.json.
   ============================================================ */

/* 1 · SCOPE, RESET DE MARGENES DE BLOQUES Y RITMO EDITORIAL */
.cm-ref {
	background-color: var(--cm-color-cream);
	color: var(--cm-color-text);
	overflow-x: clip;
}

.cm-ref > *,
.cm-ref > main > .wp-block-post-content > *,
.wp-site-blocks > *,
.cm-ref :where(.is-layout-flow, .is-layout-constrained) > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.cm-ref-section {
	padding-block: clamp(3rem, 5vw, 4.25rem);
}

.cm-ref-section--tight {
	padding-block: clamp(2.25rem, 3.8vw, 3.25rem);
}

.cm-ref-section--flush {
	padding-block: 0;
}

.cm-ref-section--sage {
	background-color: var(--wp--preset--color--sage-200);
}

.cm-ref-section--cream {
	background-color: var(--cm-color-cream-section);
}

.cm-ref-section--parchment {
	background-color: var(--cm-color-parchment);
}

.cm-ref-section--forest {
	background-color: var(--cm-color-forest);
	color: var(--wp--preset--color--bone-50);
}

.cm-ref-section--forest :is(p, li, .cm-cta-band__text) {
	color: var(--wp--preset--color--sand-200);
}

.cm-ref-section--sage :is(p, li, .cm-ref-body),
.cm-order-strip :is(p, li) {
	color: var(--wp--preset--color--ink-900);
}

.cm-ref-shell {
	width: 100%;
	max-width: var(--cm-shell);
	margin-inline: auto;
	padding-inline: var(--cm-gutter);
}

.cm-ref-shell--copy {
	max-width: var(--cm-shell-copy);
}

/* Jerarquía y espaciado tipográfico profesional */
:where(.cm-ref) :is(h1, h2, h3) {
	font-family: var(--cm-font-serif);
	font-weight: var(--cm-serif-weight);
	letter-spacing: var(--cm-serif-tracking);
	line-height: 1.1;
}

:where(.cm-ref) :is(p, li) {
	line-height: 1.64;
}

.cm-page-hero__eyebrow,
.cm-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: .19em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-800);
	margin: 0 0 0.55rem !important;
}

.cm-page-hero__eyebrow::before,
.cm-page-hero__eyebrow::after,
.cm-eyebrow::before,
.cm-eyebrow::after {
	content: "";
	display: inline-block;
	width: 26px;
	height: 1px;
	background-color: rgba(143, 106, 34, 0.48);
	flex: 0 0 auto;
}

.cm-eyebrow--center {
	display: flex;
	justify-content: center;
	width: 100%;
}

.cm-eyebrow--cream {
	color: var(--wp--preset--color--sand-200) !important;
}

.cm-eyebrow--cream::before,
.cm-eyebrow--cream::after {
	background-color: rgba(231, 224, 210, 0.45);
}

.cm-ref-title {
	font-family: var(--cm-font-serif);
	font-weight: var(--cm-serif-weight);
	letter-spacing: -0.012em;
	line-height: 1.1;
	color: var(--cm-color-red);
	margin: 0 0 0.85rem !important;
}

.cm-ref-title__forest,
.cm-campaign__title--forest {
	color: var(--wp--preset--color--primary-800);
}

.cm-ref-title--xl {
	font-size: clamp(2.1rem, 1.5rem + 2.1vw, 3.15rem);
}

.cm-ref-title--lg {
	font-size: clamp(1.7rem, 1.3rem + 1.15vw, 2.2rem);
}

.cm-ref-title--md {
	font-size: clamp(1.5rem, 1.2rem + 0.95vw, 1.95rem);
}

.cm-ref-title--center {
	text-align: center;
	margin-inline: auto !important;
	margin-bottom: 0.65rem !important;
}

.cm-ref-title--ink {
	color: var(--cm-color-ink-strong, var(--cm-color-text));
}

.cm-ref-title--cream {
	color: var(--wp--preset--color--bone-50);
}

.cm-ref-title--gold {
	color: var(--wp--preset--color--accent-500);
}

.cm-ref-body {
	max-width: var(--cm-shell-copy);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.65;
	color: var(--cm-color-text-alt);
	margin: 0 0 1rem !important;
}

.cm-ref-title--center + .cm-ref-body,
.cm-ref-shell > .cm-ref-title--center ~ .cm-ref-body {
	text-align: center;
	margin-inline: auto !important;
	max-width: 56ch;
	margin-bottom: 2rem !important;
}

.cm-ref-shell > .wp-block-buttons {
	display: flex;
	justify-content: center;
	margin-top: 2rem !important;
}

/* Frase manuscrita decorativa con trazo dorado editorial */
.cm-script {
	font-family: var(--cm-font-script);
	font-size: var(--cm-script-size);
	line-height: 1.18;
	color: var(--cm-color-red);
	margin: 0;
}

.cm-script:not(.screen-reader-text)::after {
	content: "";
	display: block;
	width: 4.5rem;
	height: 2px;
	margin-top: 4px;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(184, 148, 86, 0.85) 0%, rgba(184, 148, 86, 0.15) 100%);
	transform: rotate(-2deg);
}

.cm-split__script:not(.cm-split__script--left):not(.cm-split__script--left-mid):not(.screen-reader-text)::after {
	margin-left: auto;
	background: linear-gradient(270deg, rgba(184, 148, 86, 0.85) 0%, rgba(184, 148, 86, 0.15) 100%);
}

.cm-script--cream {
	color: var(--wp--preset--color--bone-50);
}

.cm-script--ink {
	color: var(--cm-color-text-alt);
}

.cm-script--leaf,
.cm-script--forest {
	color: var(--wp--preset--color--primary-800);
}

/* 2 · R01 BARRA DE UTILIDAD */
.cm-utility {
	background-color: var(--cm-color-topbar);
	color: var(--wp--preset--color--bone-50);
	font-size: 0.75rem;
}

.cm-utility__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px 22px;
	max-width: var(--cm-shell);
	margin-inline: auto;
	padding: 7px var(--cm-gutter);
	text-align: center;
}

.cm-utility__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	letter-spacing: .04em;
	margin: 0;
}

.cm-utility__sep {
	opacity: .45;
	margin: 0;
}

@media (max-width: 700px) {
	.cm-utility__item--optional {
		display: none;
	}
}

/* 3 · R02 HEADER */
.wp-site-blocks > header,
.wp-site-blocks > main,
.wp-site-blocks > footer,
.cm-header-shell,
.cm-header-shell > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.cm-header--ref {
	position: sticky;
	top: 0;
	z-index: var(--cm-z-header);
	background-color: var(--wp--preset--color--bone-50);
	border-bottom: var(--cm-border-decorative);
	margin-top: 0 !important;
	transition: box-shadow var(--cm-dur-base) var(--cm-ease-standard), background-color var(--cm-dur-base) var(--cm-ease-standard);
}

.cm-header--ref.cm-is-stuck {
	background-color: var(--wp--preset--color--white);
	box-shadow: var(--cm-shadow-e2);
}

.cm-header--ref .cm-header__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	gap: 16px;
	max-width: var(--cm-shell);
	margin-inline: auto;
	padding: 13px var(--cm-gutter);
}

.cm-header--ref .cm-header__brand {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 8px;
}

.cm-header__brand-lockup {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	margin: 0 !important;
}

.cm-header--ref .cm-header__brand .wp-block-site-title {
	line-height: 1;
	margin: 0 !important;
}

.cm-header--ref .cm-header__brand .wp-block-site-title a {
	display: inline-flex;
	align-items: center;
	color: var(--cm-color-red);
	text-decoration: none;
}

.cm-header--ref .cm-header__brand .cm-official-logo {
	display: block;
	height: 34px;
	width: auto;
	max-width: 168px;
	object-fit: contain;
}

@media (max-width: 640px) {
	.cm-header--ref .cm-header__brand .cm-official-logo {
		height: 27px;
		max-width: 138px;
	}
}

.cm-header__brand-sub {
	margin: 0;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-800);
	white-space: nowrap;
}

.cm-header--ref .cm-nav {
	flex: 1 1 auto;
	display: flex;
	justify-content: center;
}

.cm-header--ref .cm-nav .wp-block-navigation__container {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: clamp(0.65rem, 1.25vw, 1.15rem);
}

.cm-header--ref .cm-nav .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 2px 4px;
	font-size: 0.84rem;
	font-weight: 500;
	white-space: nowrap;
	text-decoration: none;
	color: var(--cm-color-text);
	transition: color var(--cm-dur-fast) var(--cm-ease-standard);
}

.cm-header--ref .cm-nav .wp-block-navigation-item__content:hover {
	color: var(--cm-color-red);
}

.cm-header__tools {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
}

.cm-header__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--cm-radius-pill);
	border: var(--cm-border-decorative);
	background-color: var(--wp--preset--color--white);
	color: var(--cm-color-text);
	text-decoration: none;
	transition: border-color var(--cm-dur-fast) var(--cm-ease-standard), color var(--cm-dur-fast) var(--cm-ease-standard);
}

.cm-header__icon:hover {
	border-color: var(--wp--preset--color--primary-700);
	color: var(--wp--preset--color--primary-800);
}

.cm-header--ref .cm-header__cta {
	flex: 0 0 auto;
	margin: 0;
}

.cm-header--ref .cm-header__cta .wp-block-button__link {
	padding: 9px 18px;
	font-size: 0.8125rem;
	white-space: nowrap;
}

@media (max-width: 1080px) {
	.cm-header__brand-sub,
	.cm-header__tools {
		display: none;
	}
}

@media (max-width: 900px) {
	.cm-header--ref .cm-header__bar {
		flex-wrap: wrap;
	}
}

/* 4 · BOTONES DE LA REFERENCIA */
.cm-btn-ref {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border-radius: var(--cm-radius-pill);
	font-family: var(--cm-font-text);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: .02em;
	text-decoration: none;
	transition: transform var(--cm-dur-fast) var(--cm-ease-standard);
}

.cm-btn-ref:hover {
	transform: translateY(-1px);
}

.cm-btn-ref:active {
	transform: translateY(0);
}

.cm-btn-ref .wp-block-button__link {
	padding: 11px 24px;
	border-radius: var(--cm-radius-pill);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
	transition: background-color var(--cm-dur-fast) var(--cm-ease-standard), color var(--cm-dur-fast) var(--cm-ease-standard), border-color var(--cm-dur-fast) var(--cm-ease-standard);
}

.cm-btn-ref--red .wp-block-button__link,
.cm-btn--ref-red .wp-block-button__link,
.cm-btn--ref-red .cm-btn--pending {
	background-color: var(--cm-color-red-action);
	color: var(--wp--preset--color--bone-50);
	border-radius: var(--cm-radius-pill);
	padding: 11px 24px;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
}

.cm-btn-ref--red .wp-block-button__link:hover {
	background-color: var(--cm-color-red-hover);
	color: var(--wp--preset--color--bone-50);
}

.cm-btn-ref--green .wp-block-button__link,
.cm-btn--ref-green .wp-block-button__link,
.cm-btn--ref-green .cm-btn--pending {
	background: linear-gradient(180deg, var(--wp--preset--color--primary-700) 0%, var(--wp--preset--color--primary-800) 100%);
	color: var(--wp--preset--color--bone-50);
	border: 1.5px solid rgba(201, 150, 62, 0.72);
	box-shadow: 0 6px 16px rgba(23, 48, 31, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.14);
	border-radius: var(--cm-radius-pill);
	padding: 10px 24px;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
}

.cm-btn-ref--green .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary-600);
	border-color: var(--wp--preset--color--accent-500);
}

.cm-btn-ref--ghost .wp-block-button__link {
	background-color: transparent;
	border: var(--cm-border-control);
	color: var(--cm-color-text);
}

.cm-btn-ref--ghost .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--primary-700);
	color: var(--wp--preset--color--primary-800);
}

.cm-btn-ref--outline .wp-block-button__link,
.cm-btn--ref-outline .wp-block-button__link,
.cm-btn--ref-outline .cm-btn--pending {
	background-color: transparent;
	border: var(--cm-border-control-dark);
	color: var(--wp--preset--color--bone-50);
	border-radius: var(--cm-radius-pill);
	padding: 10px 22px;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
}

.cm-btn-ref--outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--bone-50);
	color: var(--wp--preset--color--primary-900);
}

.cm-btn--ref-light .wp-block-button__link,
.cm-btn--ref-light .cm-btn--pending,
.cm-btn--ref-cream .wp-block-button__link {
	background-color: var(--wp--preset--color--bone-50);
	color: var(--cm-color-forest);
	border-radius: var(--cm-radius-pill);
	padding: 11px 24px;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
}

.cm-btn--pending,
.wp-block-button__link.cm-btn--pending[aria-disabled="true"] {
	opacity: .92;
	cursor: not-allowed;
	display: inline-block;
}

.cm-ref-checks {
	list-style: none;
	margin: 0.4rem 0 1.25rem !important;
	padding: 0;
	display: grid;
	gap: 9px;
}

.cm-ref-checks li {
	position: relative;
	padding-left: 1.95rem;
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
}

.cm-ref-checks li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: .14em;
	width: 1.32rem;
	height: 1.32rem;
	display: grid;
	place-items: center;
	border-radius: var(--cm-radius-pill);
	background: radial-gradient(circle at 35% 30%, rgb(253, 250, 242) 0%, rgb(236, 224, 198) 100%);
	border: 1px solid rgba(184, 148, 86, 0.82);
	box-shadow: 0 2px 5px rgba(110, 80, 21, 0.14);
	color: var(--wp--preset--color--primary-800);
	font-size: 0.72rem;
	font-weight: 700;
}

.cm-split--green .cm-ref-checks li::before {
	background: var(--wp--preset--color--primary-700);
	color: var(--wp--preset--color--bone-50);
}

/* 5 · SPLITS (R04, R05, R07, R08) — ALINEADOS AL SHELL 1180px */
.cm-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	background-color: var(--cm-color-cream-section);
	overflow: hidden;
	position: relative;
}

.cm-split--media-left > .cm-split__media {
	order: 0;
}

.cm-split--media-right > .cm-split__media {
	order: 1;
}

.cm-split__media {
	position: relative;
	overflow: hidden;
	background-color: transparent;
	min-height: clamp(24rem, 34vw, 31rem);
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.cm-split__media figure,
.cm-campaign__media figure,
.cm-advice__media figure,
.cm-active__media figure {
	margin: 0 !important;
	width: 100%;
	height: 100%;
	max-width: 100%;
}

@media (min-width: 901px) {
	.cm-split__media > figure {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
	}
}

.cm-split__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.cm-split__media img[src*="home-story.webp"],
.cm-split__media img[src*="autenticidad-3-sellos.webp"] {
	object-fit: contain;
	background-color: #f4eee1;
	padding: clamp(0.75rem, 1.5vw, 1.25rem);
}

/* Fusión continua sin costura vertical en splits claros (R05, R07, R08) */
@media (min-width: 901px) {
	.cm-split--cream.cm-split--media-right .cm-split__media img,
	#rutina .cm-split__media img {
		-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 11%, #000 100%);
		mask-image: linear-gradient(to right, transparent 0%, #000 11%, #000 100%);
	}
}

.cm-split__panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	padding-block: clamp(2.5rem, 4.2vw, 3.6rem);
}

.cm-split--media-right .cm-split__panel {
	padding-left: max(var(--cm-gutter), calc(100% - (var(--cm-shell) / 2) + var(--cm-gutter)));
	padding-right: clamp(2rem, 3.6vw, 3.25rem);
}

.cm-split--media-left .cm-split__panel {
	padding-left: clamp(2.5rem, 4.5vw, 4.25rem);
	padding-right: max(var(--cm-gutter), calc(100% - (var(--cm-shell) / 2) + var(--cm-gutter)));
}

.cm-split--green .cm-split__panel {
	background-color: var(--cm-color-forest);
	color: var(--wp--preset--color--bone-50);
}

.cm-split--parchment {
	background: radial-gradient(circle at 22% 28%, rgb(246, 239, 226) 0%, rgb(239, 230, 213) 62%, rgb(232, 221, 202) 100%);
}

.cm-split--parchment .cm-split__panel {
	background-color: transparent;
}

.cm-split--cream,
.cm-split--cream .cm-split__panel {
	background-color: var(--cm-color-cream-section);
}

.cm-split__panel .cm-ref-body {
	max-width: 50ch;
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.62;
	margin: 0 0 0.85rem !important;
}

.cm-split--green .cm-split__panel .cm-ref-body,
.cm-split--green .cm-split__panel p {
	color: var(--wp--preset--color--sand-200);
}

.cm-split__panel > .wp-block-buttons {
	margin-top: 0.35rem !important;
}

.cm-split__cta-center {
	display: flex;
	justify-content: center;
	width: 100%;
}

.cm-micro-sig {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 0.7rem 0 0 !important;
	font-size: 0.63rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--cm-color-text-alt);
	opacity: 0.88;
}

.cm-micro-sig__line {
	width: 36px;
	height: 1px;
	background-color: rgba(143, 106, 34, 0.48);
	flex: 0 0 auto;
}

.cm-split__panel-script {
	margin: 1.15rem 0 0 !important;
	font-size: clamp(1.6rem, 2.05vw, 2.1rem);
}

.cm-split__media--frame {
	align-items: center;
	justify-content: center;
	padding: 0;
	background-color: transparent;
}

.cm-frame {
	padding: 0;
	background-color: transparent;
	box-shadow: none;
	border-radius: 0;
	max-width: 100%;
	width: 100%;
	height: 100%;
}

.cm-frame img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover !important;
	object-position: center;
	border-radius: 0;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 10%, #000 100%), linear-gradient(to bottom, transparent 0%, #000 6%, #000 94%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(to right, transparent 0%, #000 10%, #000 100%), linear-gradient(to bottom, transparent 0%, #000 6%, #000 94%, transparent 100%);
	mask-composite: intersect;
}

.cm-frame img[src*="home-story.webp"],
.cm-frame img[src*="autenticidad-3-sellos.webp"],
.cm-split__media img[src*="home-story.webp"],
.cm-split__media img[src*="autenticidad-3-sellos.webp"] {
	object-fit: contain !important;
	background-color: #f4eee1;
	padding: clamp(0.75rem, 1.5vw, 1.25rem);
}

.cm-split__script {
	position: absolute;
	right: clamp(1.5rem, 3.2vw, 2.75rem);
	bottom: clamp(1.25rem, 2.6vw, 2rem);
	max-width: 16rem;
	text-align: right;
	margin: 0;
	z-index: 2;
	font-size: clamp(1.6rem, 2.15vw, 2.2rem);
	text-shadow: 0 2px 14px rgba(250, 246, 238, 0.95), 0 1px 4px rgba(250, 246, 238, 0.9);
}

.cm-split__script--left {
	left: clamp(1.5rem, 3.4vw, 2.75rem);
	right: auto;
	text-align: left;
	text-shadow: 0 2px 16px rgba(15, 31, 20, 0.9);
}

.cm-split__script--left-mid {
	left: clamp(1.25rem, 2.8vw, 2.25rem);
	right: auto;
	bottom: clamp(1.25rem, 2.6vw, 2rem);
	text-align: left;
	background-color: transparent;
	padding: 0;
	border-radius: 0;
	box-shadow: none;
	text-shadow: 0 2px 14px rgba(250, 246, 238, 0.96), 0 1px 6px rgba(250, 246, 238, 0.92);
}

@media (max-width: 900px) {
	.cm-split {
		grid-template-columns: 1fr;
	}
	.cm-split--media-right > .cm-split__media,
	.cm-split--media-left > .cm-split__media {
		order: 0;
	}
	.cm-split__media {
		min-height: 18rem;
		max-height: 24rem;
	}
	.cm-split--media-right .cm-split__panel,
	.cm-split--media-left .cm-split__panel {
		padding: 2.25rem var(--cm-gutter);
	}
}

/* 6 · R03 HERO CAMPAÑA */
.cm-campaign {
	position: relative;
	background-color: var(--cm-color-cream-section);
	overflow: hidden;
	border-bottom: var(--cm-border-decorative);
}

.cm-campaign__grid {
	display: grid;
	grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
	align-items: center;
	gap: clamp(1.5rem, 3vw, 2.75rem);
	max-width: var(--cm-shell);
	margin-inline: auto;
	padding: clamp(2rem, 3.6vw, 3rem) var(--cm-gutter);
}

.cm-campaign__copy {
	display: flex;
	flex-direction: column;
	max-width: 33.5rem;
	position: relative;
	z-index: 2;
}

.cm-campaign__title {
	font-family: var(--cm-font-serif);
	font-weight: var(--cm-serif-weight);
	font-size: clamp(2.35rem, 1.65rem + 2.2vw, 3.35rem);
	line-height: 1.04;
	color: var(--cm-color-red);
	margin: 0 0 0.75rem !important;
}

.cm-campaign__lead {
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.6;
	color: var(--cm-color-text-alt);
	margin: 0 0 0.85rem !important;
}

.cm-campaign__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0.25rem 0 1.25rem !important;
}

.cm-campaign__trust {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	padding-top: 0.9rem;
	border-top: var(--cm-border-decorative);
	font-size: var(--wp--preset--font-size--caption);
	color: var(--cm-color-muted);
}

.cm-campaign__trust-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
}

.cm-campaign__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.cm-campaign__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
	box-shadow: none;
	transform: scale(1.04);
	transform-origin: right center;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 94%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 94%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%);
	mask-composite: intersect;
}

.cm-campaign__script {
	position: absolute;
	top: 5%;
	left: 14%;
	max-width: 15rem;
	text-align: left;
	pointer-events: none;
	z-index: 2;
	background-color: transparent;
	padding: 0;
	font-size: clamp(1.7rem, 2.25vw, 2.3rem);
	text-shadow: 0 2px 12px rgba(245, 242, 238, 0.96);
}

.cm-seal {
	position: absolute;
	right: 1rem;
	bottom: 0.85rem;
	width: 6.25rem;
	height: 6.25rem;
	display: grid;
	place-items: center;
	padding: 8px;
	border-radius: var(--cm-radius-pill);
	background-color: var(--wp--preset--color--bone-50);
	border: 2px solid var(--wp--preset--color--accent-500);
	color: var(--wp--preset--color--accent-800);
	font-size: 0.62rem;
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: .05em;
	box-shadow: inset 0 0 0 3px var(--wp--preset--color--bone-50), inset 0 0 0 4px var(--wp--preset--color--accent-500), var(--cm-shadow-e2);
	margin: 0;
	z-index: 2;
}

@media (max-width: 900px) {
	.cm-campaign__grid {
		grid-template-columns: 1fr;
		padding-block: 2rem;
	}
	.cm-campaign__media {
		order: -1;
	}
	.cm-campaign__media img {
		transform: none;
	}
	.cm-campaign__script {
		left: 4%;
		top: 3%;
	}
}

/* 7 · LUXURY GOLD-TRIMMED PLAQUES: R07 SEAL CHECKER & R08 ROUTINE TABS */
.cm-seal-checker {
	background: linear-gradient(180deg, rgba(253, 250, 244, 0.98) 0%, rgba(246, 239, 227, 0.98) 100%);
	border: 1px solid rgba(186, 158, 108, 0.68);
	border-radius: 14px;
	padding: 13px 16px 11px;
	display: grid;
	gap: 8px;
	margin: 0.25rem 0 1rem !important;
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.7), 0 12px 28px rgba(35, 36, 31, 0.07);
}

.cm-seal-checker__header {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 0 !important;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.19em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-900);
}

.cm-seal-checker__header::before,
.cm-seal-checker__header::after {
	content: "";
	flex: 1 1 28px;
	max-width: 72px;
	height: 1px;
	background-color: rgba(184, 148, 86, 0.55);
}

.cm-seal-checker__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid rgba(184, 148, 86, 0.28);
	border-bottom: 1px solid rgba(184, 148, 86, 0.35);
	padding-block: 10px 8px;
}

.cm-seal-checker__btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	text-align: center;
	gap: 6px;
	padding: 4px 8px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--cm-color-text);
	font-family: var(--cm-font-text);
	cursor: pointer;
	transition: transform var(--cm-dur-fast) var(--cm-ease-standard), opacity var(--cm-dur-fast) var(--cm-ease-standard);
}

.cm-seal-checker__btn + .cm-seal-checker__btn {
	border-left: 1px solid rgba(184, 148, 86, 0.38);
}

.cm-seal-checker__btn:hover {
	transform: translateY(-1px);
}

.cm-seal-checker__medallion {
	width: 2.35rem;
	height: 2.35rem;
	border-radius: var(--cm-radius-pill);
	display: grid;
	place-items: center;
	background: radial-gradient(circle at 35% 30%, rgb(253, 250, 242) 0%, rgb(238, 226, 201) 68%, rgb(216, 196, 158) 100%);
	border: 1.5px solid rgba(184, 148, 86, 0.88);
	box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.92), 0 3px 8px rgba(110, 80, 21, 0.16);
	color: var(--wp--preset--color--ink-900);
	font-family: var(--cm-font-serif);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1;
	transition: opacity var(--cm-dur-fast) var(--cm-ease-standard), transform var(--cm-dur-fast) var(--cm-ease-standard);
}

.cm-seal-checker__btn:not(.is-checked) .cm-seal-checker__medallion {
	opacity: 0.45;
}

.cm-seal-checker__label {
	display: flex;
	flex-direction: column;
	gap: 1px;
	margin: 0;
	font-size: 0.64rem;
	line-height: 1.28;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--cm-color-text);
}

.cm-seal-checker__label strong {
	font-weight: 700;
	color: var(--wp--preset--color--ink-900);
}

.cm-seal-checker__label span {
	font-weight: 600;
	color: var(--cm-color-text-alt);
}

.cm-seal-checker__dash {
	width: 18px;
	height: 1.5px;
	background-color: rgba(184, 148, 86, 0.78);
	margin-top: 2px;
}

.cm-seal-checker__status {
	margin: 0 !important;
	text-align: center;
	font-size: 0.73rem;
	color: var(--cm-color-text-alt);
	font-weight: 500;
}

@media (max-width: 560px) {
	.cm-seal-checker__list {
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.cm-seal-checker__btn + .cm-seal-checker__btn {
		border-left: 0;
		border-top: 1px solid rgba(184, 148, 86, 0.28);
		padding-top: 8px;
	}
}

.cm-routine-tabs {
	background: linear-gradient(180deg, rgba(253, 250, 244, 0.98) 0%, rgba(246, 239, 227, 0.98) 100%);
	border: 1px solid rgba(186, 158, 108, 0.68);
	border-radius: 14px;
	padding: 14px 16px;
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.7), 0 12px 28px rgba(35, 36, 31, 0.07);
	display: grid;
	gap: 12px;
	margin: 0.25rem 0 1rem !important;
}

.cm-routine-tabs__nav {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(184, 148, 86, 0.35);
}

.cm-routine-tabs__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: var(--cm-radius-pill);
	border: 1px solid rgba(184, 148, 86, 0.45);
	background-color: var(--wp--preset--color--bone-50);
	color: var(--cm-color-text);
	font-family: var(--cm-font-text);
	font-size: 0.72rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color var(--cm-dur-fast) var(--cm-ease-standard), color var(--cm-dur-fast) var(--cm-ease-standard);
}

.cm-routine-tabs__num {
	width: 1.25rem;
	height: 1.25rem;
	border-radius: var(--cm-radius-pill);
	display: grid;
	place-items: center;
	background: radial-gradient(circle at 35% 30%, rgb(253, 250, 242) 0%, rgb(230, 214, 184) 100%);
	border: 1px solid rgba(184, 148, 86, 0.75);
	color: var(--wp--preset--color--ink-900);
	font-family: var(--cm-font-serif);
	font-size: 0.72rem;
	font-weight: 700;
	flex: 0 0 auto;
}

.cm-routine-tabs__btn.is-active,
.cm-routine-tabs__btn[aria-selected="true"] {
	background-color: var(--wp--preset--color--primary-800);
	color: var(--wp--preset--color--bone-50);
	border-color: rgba(201, 150, 62, 0.72);
}

.cm-routine-tabs__panel {
	background-color: transparent;
	border: 0;
	border-radius: 0;
	padding: 2px 4px;
	box-shadow: none;
}

.cm-ref-checks--compact {
	margin: 0 !important;
	gap: 6px;
}

.cm-ref-checks--compact li {
	font-size: var(--wp--preset--font-size--small);
}

/* 8 · R06 BANDA WHATSAPP */
.cm-band-wa {
	position: relative;
	background-color: var(--cm-color-forest);
	color: var(--wp--preset--color--bone-50);
	overflow: hidden;
}

.cm-band-wa__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
	max-width: var(--cm-shell);
	margin-inline: auto;
	padding: clamp(1.65rem, 3vw, 2.25rem) var(--cm-gutter);
	position: relative;
	z-index: 1;
}

.cm-band-wa__icon {
	flex: 0 0 auto;
	width: 3.35rem;
	height: 3.35rem;
	display: grid;
	place-items: center;
	border-radius: var(--cm-radius-pill);
	background-color: var(--wp--preset--color--bone-50);
	color: var(--cm-color-forest);
	margin: 0;
}

.cm-band-wa__copy {
	flex: 1 1 20rem;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.cm-band-wa__title {
	font-family: var(--cm-font-serif);
	font-size: clamp(1.3rem, 1.05rem + .85vw, 1.7rem);
	line-height: 1.15;
	margin: 0;
	color: var(--wp--preset--color--bone-50);
}

.cm-band-wa__text {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sand-200);
}

/* 9 · R09 CARRUSEL DE TESTIMONIOS Y COMPROMISOS */
.cm-carousel {
	position: relative;
	--cm-carousel-per-view: 3;
	margin-top: 0.5rem !important;
}

.cm-carousel__viewport {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - (var(--cm-carousel-per-view) - 1) * 24px) / var(--cm-carousel-per-view));
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-block: 6px;
	scroll-behavior: smooth;
	overscroll-behavior-x: contain;
}

@media (max-width: 1024px) {
	.cm-carousel {
		--cm-carousel-per-view: 2;
	}
}

@media (max-width: 640px) {
	.cm-carousel {
		--cm-carousel-per-view: 1;
	}
	.cm-carousel__viewport {
		grid-auto-columns: 88%;
	}
}

.cm-carousel__viewport::-webkit-scrollbar {
	display: none;
}

.cm-carousel__slide {
	scroll-snap-align: start;
	min-width: 0;
}

.cm-carousel__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 1.25rem !important;
}

.cm-carousel__arrow {
	width: 2.25rem;
	height: 2.25rem;
	display: grid;
	place-items: center;
	border-radius: var(--cm-radius-pill);
	border: var(--cm-border-decorative);
	background-color: var(--wp--preset--color--white);
	color: var(--cm-color-text);
	cursor: pointer;
}

.cm-carousel__arrow:disabled {
	opacity: .4;
	cursor: default;
}

.cm-carousel__dots {
	display: flex;
	align-items: center;
	gap: 8px;
}

.cm-carousel__dot {
	width: .5rem;
	height: .5rem;
	padding: 0;
	border: 0;
	border-radius: var(--cm-radius-pill);
	background-color: var(--wp--preset--color--sand-300);
	cursor: pointer;
}

.cm-carousel__dot[aria-current="true"] {
	background-color: var(--cm-color-red-action);
	width: 1.25rem;
}

.cm-testimonial {
	display: flex;
	flex-direction: column;
	gap: 12px;
	height: 100%;
	padding: 26px 24px;
	background: linear-gradient(180deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bone-50) 100%);
	border: 1px solid rgba(186, 158, 108, 0.58);
	border-radius: 16px;
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.72), 0 12px 28px rgba(23, 48, 31, 0.06);
}

.cm-testimonial__badge {
	display: inline-flex;
	align-self: flex-start;
	padding: 4px 11px;
	border-radius: var(--cm-radius-pill);
	background: radial-gradient(circle at 35% 30%, rgb(253, 250, 242) 0%, rgb(238, 226, 201) 100%);
	border: 1px solid rgba(184, 148, 86, 0.65);
	color: var(--wp--preset--color--primary-800);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.cm-testimonial__title {
	margin: 2px 0 0 !important;
	font-family: var(--cm-font-serif);
	font-size: 1.25rem;
	line-height: 1.22;
	color: var(--cm-color-red);
}

.cm-testimonial__quote {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.62;
	color: var(--cm-color-text-alt);
}

.cm-testimonial__rating {
	display: flex;
	gap: 4px;
	color: var(--wp--preset--color--accent-500);
	font-size: var(--wp--preset--font-size--small);
}

.cm-testimonial__person {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto !important;
	padding-top: 12px;
	border-top: 1px solid rgba(184, 148, 86, 0.32);
}

.cm-testimonial__avatar {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: var(--cm-radius-pill);
	object-fit: cover;
	flex: 0 0 auto;
	background-color: var(--cm-color-strip);
}

.cm-testimonial__name {
	display: block;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
}

.cm-testimonial__meta {
	display: block;
	font-size: var(--wp--preset--font-size--caption);
	color: var(--cm-color-muted);
}

.cm-testimonial__link {
	font-size: var(--wp--preset--font-size--caption);
	font-weight: 700;
	color: var(--wp--preset--color--primary-800);
	text-decoration: none;
	white-space: nowrap;
}

.cm-testimonial__link:hover {
	color: var(--cm-color-red);
	text-decoration: underline;
}

/* 10 · R10 INGREDIENTES */
.cm-actives {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 24px;
	margin-block: 0.5rem 0.5rem !important;
	align-items: start;
}

.cm-active {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	text-align: center;
	padding: 8px 6px;
	background-color: transparent;
	border: 0;
}

.cm-active__media {
	width: 10rem;
	height: 8.35rem;
	aspect-ratio: 6 / 5;
	background-color: transparent;
	overflow: visible;
	margin-bottom: 4px !important;
}

.cm-active__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	mix-blend-mode: multiply;
}

.cm-active__label {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--cm-color-red);
	margin: 0 !important;
}

.cm-active__label::after {
	content: "";
	display: block;
	width: 22px;
	height: 1.5px;
	background-color: rgba(184, 148, 86, 0.78);
	margin: 5px auto 0;
}

.cm-active__text {
	margin: 0 !important;
	font-size: 0.8125rem;
	line-height: 1.52;
	color: var(--cm-color-text-alt);
	max-width: 22ch;
}

@media (max-width: 1024px) {
	.cm-actives {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.cm-actives {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* 11 · R11 FAQ / RECOMENDACIONES */
.cm-advice {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.1fr) minmax(0, 1.15fr);
	align-items: center;
	gap: clamp(1.25rem, 2.5vw, 2.25rem);
}

.cm-advice__center {
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-align: center;
	align-items: center;
	padding-inline: 8px;
}

.cm-advice__center .cm-ref-title {
	margin-bottom: 0.25rem !important;
}

.cm-advice__center .cm-ref-body {
	margin-bottom: 0.5rem !important;
}

.cm-advice__center .cm-script {
	display: none;
}

.cm-advice__media {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	max-height: 16.5rem;
	background-color: transparent;
}

.cm-advice > .cm-advice__media:first-child {
	border-radius: 0;
}

.cm-advice > .cm-advice__media:first-child img {
	-webkit-mask-image: linear-gradient(to right, #000 0%, #000 72%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(to right, #000 0%, #000 72%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%);
	mask-composite: intersect;
}

.cm-advice__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.cm-advice__media .cm-script {
	position: absolute;
	left: 1.15rem;
	bottom: 0.85rem;
	background-color: transparent;
	padding: 0;
	font-size: clamp(1.45rem, 1.85vw, 1.85rem);
	text-shadow: 0 2px 12px rgba(250, 246, 238, 0.96);
}

.cm-faq-wrap {
	margin-top: 2rem !important;
}

.cm-faq-wrap:not(:has(*)) {
	display: none;
	margin: 0;
}

.cm-faq-list {
	display: grid;
	gap: 14px 20px;
}

.cm-faq-wrap--grid .cm-faq-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
}

.cm-faq {
	padding: 15px 20px;
	border: 1px solid rgba(186, 158, 108, 0.58);
	border-radius: 14px;
	background: linear-gradient(180deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bone-50) 100%);
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.72), 0 6px 20px rgba(23, 48, 31, 0.05);
	transition: border-color var(--cm-dur-fast) var(--cm-ease-standard);
}

.cm-faq summary {
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.cm-faq summary::-webkit-details-marker {
	display: none;
}

.cm-faq summary::after {
	content: "+";
	flex: 0 0 auto;
	width: 1.65rem;
	height: 1.65rem;
	border-radius: var(--cm-radius-pill);
	background: radial-gradient(circle at 35% 30%, rgb(253, 250, 242) 0%, rgb(236, 224, 198) 100%);
	border: 1px solid rgba(184, 148, 86, 0.82);
	box-shadow: 0 2px 5px rgba(110, 80, 21, 0.14);
	color: var(--wp--preset--color--primary-800);
	display: grid;
	place-items: center;
	font-weight: 700;
	font-size: 0.95rem;
}

.cm-faq[open] summary {
	margin-bottom: 10px;
	color: var(--cm-color-red);
}

.cm-faq[open] summary::after {
	content: "−";
	background: var(--cm-color-red);
	border-color: var(--cm-color-red);
	color: var(--wp--preset--color--bone-50);
}

@media (max-width: 900px) {
	.cm-advice,
	.cm-faq-wrap--grid .cm-faq-list {
		grid-template-columns: 1fr;
	}
}

/* 12 · TARJETAS DINÁMICAS (R12 productos, R14 artículos) */
.cm-product-grid,
.cm-article-grid {
	display: block;
	margin-block: 0.5rem 0 !important;
}

.cm-product-grid > .wp-block-post-template,
.cm-article-grid > .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
	align-items: stretch;
}

.cm-article-grid > .wp-block-post-template {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cm-product-grid .wp-block-post-template > li,
.cm-article-grid .wp-block-post-template > li {
	display: flex;
	min-width: 0;
}

.cm-ref-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
	min-width: 0;
	padding: 18px;
	background: linear-gradient(180deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bone-50) 100%);
	border: 1px solid rgba(186, 158, 108, 0.56);
	border-radius: 18px;
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.72), 0 12px 32px rgba(23, 48, 31, 0.06);
	transition: transform var(--cm-dur-fast) var(--cm-ease-standard), box-shadow var(--cm-dur-fast) var(--cm-ease-standard);
}

.cm-ref-card:hover {
	transform: translateY(-4px);
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.8), 0 18px 40px rgba(23, 48, 31, 0.11);
}

.cm-ref-card__media {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	background-color: var(--wp--preset--color--bone-50);
	border: 1px solid rgba(184, 148, 86, 0.25);
	width: 100%;
	flex-shrink: 0;
	margin: 0 0 14px !important;
	display: block;
}

.cm-ref-card__media a {
	display: block;
	width: 100%;
}

.cm-ref-card__media img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform var(--cm-dur-slow) var(--cm-ease-decelerate);
}

.cm-article-grid .cm-ref-card__media img {
	aspect-ratio: 16 / 10 !important;
}

.cm-ref-card:hover .cm-ref-card__media img {
	transform: scale(1.04);
}

.cm-ref-card__title {
	margin: 0 0 8px !important;
	font-family: var(--cm-font-serif);
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.28;
}

.cm-ref-card__title a {
	color: var(--cm-color-text);
	text-decoration: none;
}

.cm-ref-card__title a:hover {
	color: var(--cm-color-red);
}

.cm-ref-card__text {
	font-size: 0.875rem;
	line-height: 1.54;
	color: var(--cm-color-text-alt);
	margin: 0 0 16px !important;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.cm-ref-card__text p {
	margin: 0;
}

.cm-ref-card__readmore {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	margin-top: auto !important;
	padding: 8px 18px;
	border-radius: var(--cm-radius-pill);
	background: linear-gradient(180deg, var(--wp--preset--color--primary-700) 0%, var(--wp--preset--color--primary-800) 100%);
	border: 1.5px solid rgba(201, 150, 62, 0.72);
	color: var(--wp--preset--color--bone-50);
	font-size: 0.78rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color var(--cm-dur-fast) var(--cm-ease-standard);
}

.cm-ref-card__readmore:hover {
	background: var(--wp--preset--color--primary-600);
	color: var(--wp--preset--color--bone-50);
}

@media (max-width: 1024px) {
	.cm-product-grid > .wp-block-post-template,
	.cm-article-grid > .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.cm-product-grid > .wp-block-post-template,
	.cm-article-grid > .wp-block-post-template {
		grid-template-columns: 1fr;
	}
}

/* 13 · R13 FRANJA DE PEDIDOS */
.cm-order-strip {
	background-color: var(--cm-color-parchment);
	border-block: var(--cm-border-decorative);
	position: relative;
	overflow: hidden;
	color: var(--wp--preset--color--primary-950);
}

.cm-order-strip__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
	align-items: center;
	gap: clamp(1.5rem, 3.5vw, 2.75rem);
	max-width: var(--cm-shell);
	margin-inline: auto;
	padding: clamp(2rem, 3.6vw, 2.75rem) var(--cm-gutter);
}

.cm-order-strip__copy {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.cm-order-strip__copy .cm-ref-body {
	margin-bottom: 0.35rem !important;
}

.cm-order-strip__title {
	font-family: var(--cm-font-serif);
	font-size: clamp(1.35rem, 1.1rem + .8vw, 1.7rem);
	color: var(--cm-color-red);
	margin: 0 !important;
}

.cm-order-strip__items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cm-order-strip__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding-inline: 16px;
	text-align: center;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.cm-order-strip__item p {
	margin: 0;
}

.cm-order-strip__item + .cm-order-strip__item {
	border-left: var(--cm-border-decorative);
}

@media (max-width: 900px) {
	.cm-order-strip__inner {
		grid-template-columns: 1fr;
	}
	.cm-order-strip__items {
		border-top: var(--cm-border-decorative);
		padding-top: 16px;
	}
}

@media (max-width: 560px) {
	.cm-order-strip__items {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.cm-order-strip__item + .cm-order-strip__item {
		border-left: 0;
		border-top: var(--cm-border-decorative);
		padding-top: 12px;
	}
}

/* 14 · R15 FOOTER */
.cm-footer-ref {
	background-color: var(--cm-color-footer);
	color: var(--wp--preset--color--sand-200);
	position: relative;
	overflow: hidden;
}

.cm-footer-ref__inner {
	max-width: var(--cm-shell);
	margin-inline: auto;
	padding: clamp(2.5rem, 4.5vw, 3.75rem) var(--cm-gutter) 28px;
	position: relative;
	z-index: 1;
}

.cm-footer-ref__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}

.cm-footer-ref__title {
	line-height: 1;
	margin: 0 0 10px !important;
}

.cm-footer-ref__title a {
	display: inline-flex;
	align-items: center;
	padding: 8px 16px;
	border-radius: 12px;
	background: linear-gradient(180deg, #ffffff 0%, #fbf9f4 100%);
	border: 1px solid rgba(201, 150, 62, 0.58);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
	text-decoration: none !important;
}

.cm-footer-ref__title .cm-official-logo {
	display: block;
	height: 28px;
	width: auto;
	max-width: 152px;
	object-fit: contain;
}

.cm-footer-ref__heading {
	font-family: var(--cm-font-text);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--wp--preset--color--bone-50);
	margin: 0 0 14px !important;
}

.cm-footer-ref a {
	color: var(--wp--preset--color--sand-200);
	text-decoration: none;
}

.cm-footer-ref a:hover {
	color: var(--wp--preset--color--bone-50);
	text-decoration: underline;
}

.cm-footer-ref__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
	font-size: var(--wp--preset--font-size--small);
}

.cm-footer-ref__origin-card {
	padding: 18px;
	border-radius: 14px;
	border: var(--cm-border-dark-decorative);
	background-color: var(--wp--preset--color--primary-900);
	display: grid;
	gap: 8px;
}

.cm-footer-ref__origin-title {
	margin: 0;
	color: var(--wp--preset--color--accent-500);
	font-size: var(--wp--preset--font-size--small);
}

.cm-footer-ref__origin-text {
	margin: 0;
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.55;
}

.cm-footer-ref__script {
	margin-top: 12px !important;
}

.cm-footer-ref__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 32px !important;
	padding-top: 18px;
	border-top: var(--cm-border-dark-decorative);
	font-size: var(--wp--preset--font-size--caption);
	color: var(--wp--preset--color--primary-300);
}

.cm-footer-ref__tagline {
	color: var(--wp--preset--color--sand-200);
	font-size: var(--wp--preset--font-size--small);
	margin: 0 0 14px !important;
}

.cm-footer-ref__legal-pending {
	color: var(--wp--preset--color--primary-300);
	margin: 0;
}

@media (max-width: 960px) {
	.cm-footer-ref__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.cm-footer-ref__grid {
		grid-template-columns: 1fr;
	}
}

/* 15 · MOTION & GSAP CHOREOGRAPHY */
.cm-js-motion .cm-reveal,
.cm-js-motion [data-cm-reveal] {
	opacity: 0;
	transform: translateY(1rem);
	transition: opacity var(--cm-dur-reveal) var(--cm-ease-decelerate), transform var(--cm-dur-reveal) var(--cm-ease-decelerate);
	transition-delay: var(--cm-reveal-delay, 0ms);
}

.cm-js-motion .cm-reveal.cm-is-visible,
.cm-js-motion [data-cm-reveal].cm-is-visible {
	opacity: 1;
	transform: none;
}

.cm-split-word-wrap {
	display: inline-block;
	overflow: hidden;
	vertical-align: bottom;
	padding-bottom: 0.04em;
}

.cm-split-word {
	display: inline-block;
	will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
	.cm-js-motion .cm-reveal,
	.cm-js-motion .cm-reveal.cm-is-visible,
	.cm-js-motion [data-cm-reveal],
	.cm-js-motion [data-cm-reveal].cm-is-visible,
	.cm-split-word {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
	.cm-carousel__viewport {
		scroll-behavior: auto;
	}
	.cm-btn-ref:hover,
	.cm-ref-card:hover,
	.cm-ref-card:hover .cm-ref-card__media img {
		transform: none;
	}
}

/* 16 · CATÁLOGO INTERACTIVO (/productos/) Y SISTEMA DE SITIO COMPLETO */
.cm-page-main > .wp-block-post-content {
	margin-block: 0;
}

.cm-page-hero {
	background-color: var(--cm-color-parchment);
	border-bottom: var(--cm-border-decorative);
	padding-block: clamp(2.75rem, 4.5vw, 3.75rem);
}

.cm-page-hero__inner {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.cm-page-hero__lead {
	max-width: 62ch;
	margin: 0 0 0.5rem !important;
	color: var(--cm-color-text-alt);
	line-height: 1.64;
}

.cm-filter-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 6px !important;
}

.cm-pill-link {
	margin: 0;
}

.cm-filter-pill,
.cm-pill-link a {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 6px 16px;
	border-radius: var(--cm-radius-pill);
	border: var(--cm-border-control);
	background-color: var(--wp--preset--color--white);
	color: var(--cm-color-text);
	font-family: var(--cm-font-text);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--cm-dur-fast) var(--cm-ease-standard), color var(--cm-dur-fast) var(--cm-ease-standard), border-color var(--cm-dur-fast) var(--cm-ease-standard);
}

.cm-filter-pill:hover,
.cm-filter-pill.is-active,
.cm-filter-pill[aria-pressed="true"],
.cm-pill-link a:hover {
	background-color: var(--wp--preset--color--primary-800);
	color: var(--wp--preset--color--bone-50);
	border-color: var(--wp--preset--color--primary-800);
}

/* 16 · CATÁLOGO GENERAL (/productos/) — MASTER REFERENCE V1 */
.cm-cat-hero {
	position: relative;
	background-color: #EFE6D5;
	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;
	border-bottom: 1px solid rgba(186, 158, 108, 0.45);
	padding: clamp(2.1rem, 4vw, 3.25rem) 0 clamp(1.8rem, 3.4vw, 2.75rem);
	overflow: hidden;
}

.cm-cat-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.38fr) minmax(0, 0.92fr);
	gap: 28px;
	align-items: stretch;
	position: relative;
	z-index: 2;
}

.cm-cat-hero__copy {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 650px;
}

.cm-cat-hero__title {
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: clamp(2.05rem, 3.5vw, 3.05rem);
	line-height: 1.07;
	letter-spacing: -0.015em;
}

.cm-cat-hero__title-forest {
	color: #17301F;
	display: block;
}

.cm-cat-hero__title-gold {
	color: #8F6A22;
	display: block;
}

.cm-cat-hero__script {
	margin: 2px 0 4px !important;
	font-size: clamp(1.35rem, 2.1vw, 1.75rem) !important;
	color: #21402B !important;
}

.cm-cat-hero__lead {
	margin: 0 0 8px !important;
	max-width: 58ch;
	font-size: 0.92rem;
	line-height: 1.58;
	color: #2C261F;
}

.cm-cat-hero__pills {
	margin: 4px 0 6px !important;
	gap: 8px;
	max-width: 620px;
}

.cm-cat-hero__pills .cm-filter-pill {
	padding: 6px 14px;
	font-size: 0.78rem;
	background-color: rgba(251, 247, 239, 0.92);
	border-color: rgba(180, 148, 92, 0.55);
	box-shadow: 0 2px 6px rgba(23, 48, 31, 0.05);
}

.cm-cat-hero__pills .cm-filter-pill.is-active {
	background-color: #1A3524;
	color: #FAF6EE;
	border-color: #1A3524;
}

.cm-cat-hero__sig {
	margin: 4px 0 0 !important;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--cm-font-script);
	font-size: 1.55rem;
	color: #7D5C21;
	line-height: 1;
}

.cm-cat-hero__sig svg {
	color: #8F6A22;
	transform: rotate(-10deg);
}

.cm-cat-hero__stage {
	position: relative;
	min-height: 310px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	pointer-events: none;
}

.cm-cat-hero__callout {
	margin: 8px 0 0 12px !important;
	display: flex;
	flex-direction: column;
	font-family: var(--cm-font-script);
	font-size: clamp(1.5rem, 2.2vw, 1.95rem);
	line-height: 1.04;
	color: #7C5B20;
	transform: rotate(-5deg);
	text-shadow: 0 1px 10px rgba(250, 246, 238, 0.92);
}

.cm-cat-hero__seals {
	list-style: none;
	margin: 4px 0 0 auto !important;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.cm-cat-hero__seals li {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 68px;
	padding: 7px 6px;
	border-radius: 12px;
	background: rgba(251, 247, 239, 0.88);
	border: 1px solid rgba(184, 148, 86, 0.55);
	box-shadow: 0 6px 16px rgba(23, 48, 31, 0.08);
	font-size: 0.56rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #17301F;
	text-align: center;
	gap: 3px;
}

.cm-cat-hero__seal-icon {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: radial-gradient(circle at 32% 28%, #FFFDF8 0%, #EFE3CC 70%, #DEC9A4 100%);
	border: 1px solid rgba(184, 148, 86, 0.52);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.78rem;
}

.cm-catalog-main-section {
	padding-top: 1.75rem !important;
	padding-bottom: 2.5rem !important;
}

.cm-catalog-console-stage {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	align-items: center;
	margin-bottom: 1.85rem !important;
}

.cm-catalog-console {
	background: linear-gradient(180deg, #FDFBF6 0%, #F5EFE2 100%);
	border: 1px solid rgba(186, 158, 108, 0.62);
	border-radius: 18px;
	padding: 20px 24px;
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.78), 0 12px 28px rgba(23, 48, 31, 0.06);
	display: grid;
	gap: 12px;
	margin-bottom: 0 !important;
}

.cm-catalog-console__side-note {
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	font-family: var(--cm-font-script);
	font-size: 1.58rem;
	line-height: 1.06;
	color: #6B5326;
	transform: rotate(-4deg);
	text-align: center;
	padding: 0 6px;
	white-space: nowrap;
}

.cm-catalog-console__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.cm-catalog-console__search {
	flex: 1 1 24rem;
}

.cm-catalog-console__search-box {
	display: flex;
	align-items: center;
	background-color: #FAF6EE;
	border: 1px solid rgba(184, 148, 86, 0.55);
	border-radius: var(--cm-radius-pill);
	padding: 3px 4px 3px 14px;
	gap: 8px;
	box-shadow: inset 0 1px 3px rgba(23, 48, 31, 0.04);
}

.cm-catalog-console__search-icon {
	font-size: 0.85rem;
	opacity: 0.7;
}

.cm-catalog-console__input {
	width: 100%;
	padding: 7px 6px;
	border: 0 !important;
	background: transparent !important;
	color: var(--cm-color-text);
	font-family: var(--cm-font-text);
	font-size: 0.84rem;
	outline: none;
}

.cm-catalog-console__search-btn {
	padding: 8px 20px;
	border-radius: var(--cm-radius-pill);
	border: 1px solid #17301F;
	background-color: #17301F;
	color: #FAF6EE;
	font-family: var(--cm-font-text);
	font-size: 0.8rem;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 150ms ease;
}

.cm-catalog-console__search-btn:hover {
	background-color: #23472F;
}

.cm-catalog-console__status {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 0.84rem;
	font-weight: 700;
	color: #2B251E;
}

.cm-catalog-console__reset {
	padding: 5px 12px;
	border-radius: var(--cm-radius-pill);
	border: var(--cm-border-control);
	background-color: transparent;
	color: var(--cm-color-red);
	font-family: var(--cm-font-text);
	font-size: 0.74rem;
	font-weight: 700;
	cursor: pointer;
}

.cm-catalog-console__reset:hover {
	background-color: var(--wp--preset--color--error-100);
}

.cm-catalog-console__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
}

.cm-catalog-console__row .cm-filter-pill {
	padding: 5px 13px;
	font-size: 0.76rem;
}

.cm-catalog-console__label {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: #3E362C;
	margin-right: 4px;
}

.cm-catalog-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.cm-catalog-card {
	background: linear-gradient(180deg, #FFFFFF 0%, #F9F4EA 100%);
	border: 1px solid rgba(186, 158, 108, 0.58);
	border-radius: 16px;
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 7px;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.78), 0 10px 26px rgba(23, 48, 31, 0.06);
	transition: transform var(--cm-dur-fast) var(--cm-ease-standard), box-shadow var(--cm-dur-fast) var(--cm-ease-standard);
}

.cm-catalog-card:hover {
	transform: translateY(-4px);
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.86), 0 16px 36px rgba(23, 48, 31, 0.11);
}

.cm-catalog-card[hidden] {
	display: none !important;
}

.cm-catalog-card__media-wrap {
	position: relative;
	margin-bottom: 2px;
}

.cm-catalog-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1.08 / 1;
	border-radius: 11px;
	overflow: hidden;
	background-color: #F4EFE4;
	border: 1px solid rgba(184, 148, 86, 0.28);
}

.cm-catalog-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform var(--cm-dur-slow) var(--cm-ease-decelerate);
}

.cm-catalog-card:hover .cm-catalog-card__media img {
	transform: scale(1.04);
}

.cm-catalog-card__badge {
	position: absolute;
	top: 9px;
	left: 9px;
	padding: 4px 9px;
	border-radius: var(--cm-radius-pill);
	background-color: rgba(23, 48, 31, 0.92);
	color: #FAF6EE;
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	line-height: 1.1;
}

.cm-catalog-card__fav {
	position: absolute;
	top: 9px;
	right: 9px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1px solid rgba(184, 148, 86, 0.45);
	background-color: rgba(253, 250, 244, 0.9);
	color: #6E5835;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
}

.cm-catalog-card__fav:hover,
.cm-catalog-card__fav.is-active,
.cm-catalog-card__fav[aria-pressed="true"] {
	background-color: #8A1F24;
	color: #FAF6EE;
	border-color: #8A1F24;
	transform: scale(1.06);
}

.cm-catalog-card__line {
	margin: 2px 0 0 !important;
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #4A5D4E;
}

.cm-catalog-card__title {
	margin: 0 !important;
	font-family: var(--cm-font-serif);
	font-size: 1.08rem;
	line-height: 1.2;
}

.cm-catalog-card__title a {
	color: var(--cm-color-red);
	text-decoration: none;
}

.cm-catalog-card__title a:hover {
	text-decoration: underline;
}

.cm-catalog-card__desc {
	margin: 0 !important;
	font-size: 0.78rem;
	color: var(--cm-color-text-alt);
	line-height: 1.46;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.cm-catalog-card__pres {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-top: 8px;
	border-top: 1px solid rgba(184, 148, 86, 0.28);
	margin-top: auto !important;
}

.cm-catalog-card__pres-label {
	font-size: 0.7rem;
	color: var(--cm-color-muted);
	margin: 0 !important;
}

.cm-catalog-card__pres-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.cm-card-pres-btn {
	padding: 4px 9px;
	border-radius: var(--cm-radius-pill);
	border: 1px solid rgba(184, 148, 86, 0.48);
	background-color: #FAF6EE;
	color: var(--cm-color-text);
	font-family: var(--cm-font-text);
	font-size: 0.7rem;
	font-weight: 600;
	cursor: pointer;
}

.cm-card-pres-btn.is-active,
.cm-card-pres-btn[aria-pressed="true"] {
	background-color: var(--wp--preset--color--primary-800);
	color: var(--wp--preset--color--bone-50);
	border-color: rgba(201, 150, 62, 0.72);
}

.cm-catalog-card__actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 7px;
	padding-top: 6px;
}

.cm-catalog-card__link-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 7px 10px;
	border-radius: var(--cm-radius-pill);
	border: 1px solid rgba(184, 148, 86, 0.55);
	background-color: #FAF6EE;
	color: #17301F;
	font-size: 0.74rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 150ms ease, border-color 150ms ease;
}

.cm-catalog-card__link-pill:hover {
	background-color: #EFE6D5;
	border-color: #8F6A22;
}

.cm-catalog-card__cart-btn {
	width: 38px;
	height: 32px;
	border-radius: var(--cm-radius-pill);
	background: linear-gradient(180deg, #9B7B42 0%, #7E612D 100%);
	border: 1px solid rgba(126, 97, 45, 0.9);
	color: #FAF6EE;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	box-shadow: 0 3px 8px rgba(126, 97, 45, 0.22);
	transition: transform 150ms ease, filter 150ms ease;
}

.cm-catalog-card__cart-btn:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
	color: #FFFFFF;
}

.cm-catalog-empty {
	padding: 36px;
	border-radius: 18px;
	background-color: var(--wp--preset--color--white);
	border: 1px solid rgba(186, 158, 108, 0.56);
	text-align: center;
	display: grid;
	gap: 12px;
	justify-items: center;
}

.cm-catalog-empty[hidden] {
	display: none !important;
}

/* Section P04 · Wholesale & Routine Builder Plaque */
.cm-wholesale-builder {
	background: linear-gradient(180deg, #FDFBF6 0%, #F4ECE0 100%);
	border: 1px solid rgba(186, 158, 108, 0.62);
	border-radius: 18px;
	padding: 24px 28px;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: 26px;
	align-items: center;
	margin-top: 2.25rem !important;
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.76), 0 12px 32px rgba(23, 48, 31, 0.06);
}

.cm-wholesale-builder__controls {
	display: grid;
	gap: 11px;
}

.cm-wholesale-builder__heading-row {
	display: flex;
	align-items: center;
	gap: 12px;
}

.cm-wholesale-builder__emblem {
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	border-radius: 50%;
	background: radial-gradient(circle at 32% 28%, #FFFDF8 0%, #EFE3CC 70%, #DEC9A4 100%);
	border: 1px solid rgba(184, 148, 86, 0.58);
	color: #17301F;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px rgba(23, 48, 31, 0.08);
}

.cm-wholesale-builder__title {
	margin: 0 !important;
	font-size: clamp(1.38rem, 2.2vw, 1.82rem) !important;
	line-height: 1.16 !important;
}

.cm-ref-title__forest {
	color: #17301F;
}

.cm-ref-title__gold {
	color: #8F6A22;
}

.cm-wholesale-builder__preview {
	background-color: #EFE6D5;
	border: 1px solid rgba(184, 148, 86, 0.5);
	border-radius: 14px;
	padding: 18px 20px;
	display: grid;
	gap: 12px;
}

.cm-wholesale-builder__msg {
	margin: 0 !important;
	font-size: 0.84rem;
	font-style: italic;
	color: var(--cm-color-text);
	background-color: #FFFFFF;
	padding: 12px 15px;
	border-radius: 10px;
	border: 1px solid rgba(184, 148, 86, 0.42);
	line-height: 1.5;
}

.cm-wholesale-builder__cta-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}

.cm-wholesale-builder__wa-btn {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 11px 20px;
	border-radius: var(--cm-radius-pill);
	border: 1px solid #17301F;
	background: linear-gradient(180deg, #21432C 0%, #162E1E 100%);
	color: #FAF6EE;
	font-family: var(--cm-font-text);
	font-size: 0.86rem;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 6px 16px rgba(23, 48, 31, 0.18);
	transition: transform 150ms ease, filter 150ms ease;
}

.cm-wholesale-builder__wa-btn:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
}

.cm-wholesale-builder__sub {
	margin: 0 !important;
	font-size: 0.74rem;
	color: #4E4539;
	text-align: center;
}

.cm-wholesale-builder__sub a {
	color: #17301F;
	font-weight: 700;
	text-decoration: none;
}

/* Section P05 · Michoacán Mountain Valley Family Architecture */
.cm-family-landscape {
	position: relative;
	background-color: #EFE6D5;
	background-size: cover;
	background-position: center bottom;
	background-repeat: no-repeat;
	padding: clamp(2.4rem, 4.5vw, 3.8rem) 0 clamp(3rem, 5.5vw, 4.5rem);
	border-top: 1px solid rgba(186, 158, 108, 0.38);
}

.cm-family-landscape__inner {
	display: grid;
	gap: 24px;
}

.cm-family-landscape__header {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: end;
	gap: 16px;
}

.cm-family-landscape__titles {
	grid-column: 2;
	text-align: center;
}

.cm-family-landscape__title {
	margin: 4px 0 0 !important;
	color: #17301F !important;
}

.cm-family-landscape__script {
	grid-column: 3;
	justify-self: end;
	margin: 0 !important;
	font-family: var(--cm-font-script);
	font-size: 1.52rem;
	line-height: 1.08;
	color: #4A3818;
	text-align: right;
	transform: rotate(-3deg);
	text-shadow: 0 1px 12px rgba(250, 246, 238, 0.96), 0 0 6px rgba(250, 246, 238, 0.92);
}

.cm-family-cards-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.cm-family-arch-card {
	background: linear-gradient(180deg, rgba(253, 250, 244, 0.96) 0%, rgba(245, 238, 225, 0.95) 100%);
	border: 1px solid rgba(186, 158, 108, 0.62);
	border-radius: 16px;
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.78), 0 12px 28px rgba(23, 48, 31, 0.12);
}

.cm-family-arch-card__top {
	display: flex;
	align-items: flex-start;
	gap: 11px;
}

.cm-family-arch-card__icon {
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	border-radius: 50%;
	background: radial-gradient(circle at 32% 28%, #FFFDF8 0%, #EFE3CC 70%, #DEC9A4 100%);
	border: 1px solid rgba(184, 148, 86, 0.55);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.05rem;
	box-shadow: 0 4px 10px rgba(23, 48, 31, 0.08);
}

.cm-family-arch-card__eye {
	margin: 0 0 2px !important;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: #6B5630;
}

.cm-family-arch-card__title {
	margin: 0 !important;
	font-family: var(--cm-font-serif);
	font-size: 1.08rem;
	line-height: 1.2;
}

.cm-family-arch-card__title a {
	color: var(--cm-color-red);
	text-decoration: none;
}

.cm-family-arch-card__title a:hover {
	text-decoration: underline;
}

.cm-family-arch-card__desc {
	margin: 0 !important;
	font-size: 0.8rem;
	line-height: 1.48;
	color: #3A3229;
}

.cm-family-arch-card__link {
	margin-top: auto;
	padding-top: 6px;
	font-size: 0.8rem;
	font-weight: 700;
	color: #17301F;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.cm-family-arch-card__link:hover {
	color: var(--cm-color-red);
}

/* Section P06 · Dark Botanical Foliage WhatsApp Banner */
.cm-band-wa--foliage {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border-top: 1px solid rgba(201, 164, 96, 0.45);
	border-bottom: 1px solid rgba(201, 164, 96, 0.45);
}

.cm-band-wa__foliage-copy {
	display: flex;
	align-items: center;
	gap: 16px;
}

.cm-band-wa__leaf-emblem {
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	border-radius: 50%;
	background: rgba(250, 246, 238, 0.1);
	border: 1px solid rgba(212, 174, 106, 0.65);
	color: #E5C384;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.cm-band-wa--foliage .cm-wa-cta .wp-block-button__link,
.cm-band-wa--foliage .cm-btn {
	background: linear-gradient(180deg, #B68F4C 0%, #8E6B2E 100%) !important;
	color: #FAF6EE !important;
	border: 1px solid rgba(235, 206, 148, 0.78) !important;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28) !important;
	padding: 12px 24px !important;
	font-weight: 700 !important;
}

@media (max-width: 1120px) {
	.cm-catalog-grid,
	.cm-family-cards-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.cm-catalog-console-stage {
		grid-template-columns: 1fr;
	}
	.cm-catalog-console__side-note {
		display: none;
	}
	.cm-family-landscape__header {
		grid-template-columns: 1fr;
		text-align: center;
	}
	.cm-family-landscape__titles,
	.cm-family-landscape__script {
		grid-column: 1;
		justify-self: center;
		text-align: center;
	}
}

@media (max-width: 900px) {
	.cm-cat-hero__inner,
	.cm-wholesale-builder {
		grid-template-columns: 1fr;
	}
	.cm-cat-hero__stage {
		min-height: 180px;
	}
}

@media (max-width: 600px) {
	.cm-catalog-grid,
	.cm-family-cards-grid {
		grid-template-columns: 1fr;
	}
}

/* 16B · PÁGINAS DE FAMILIA (/productos/cremas/ y subfamilias) — MASTER REFERENCE V1 */
.cm-fam-hero {
	position: relative;
	background-color: #EFE8D9;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border-bottom: 1px solid rgba(186, 158, 108, 0.45);
	padding: clamp(1.85rem, 3.4vw, 2.65rem) 0 clamp(1.4rem, 2.5vw, 2rem) !important;
	overflow: hidden;
}

.cm-fam-hero__shell {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.cm-fam-hero__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 32px;
	padding-left: clamp(1.5rem, 7.5vw, 6.4rem);
	padding-right: clamp(1rem, 3.5vw, 2.8rem);
}

.cm-fam-hero__main {
	display: flex;
	flex-direction: column;
	gap: 6px;
	max-width: 590px;
}

.cm-fam-hero__breadcrumb {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	font-size: 0.78rem;
	color: #73654E;
	margin: 0 0 4px !important;
}

.cm-fam-hero__breadcrumb a {
	color: #73654E;
	text-decoration: none;
	font-weight: 500;
}

.cm-fam-hero__breadcrumb a:hover {
	color: #17301F;
	text-decoration: underline;
}

.cm-fam-hero__breadcrumb strong {
	color: #544632;
	font-weight: 700;
}

.cm-fam-hero__sep {
	opacity: 0.65;
	font-size: 0.72rem;
}

.cm-fam-hero__rule {
	width: 42px;
	height: 1px;
	background-color: rgba(186, 158, 108, 0.68);
	margin-left: 4px;
}

.cm-fam-hero__title {
	margin: 0 !important;
	font-family: var(--cm-font-serif);
	font-size: clamp(2.1rem, 3.5vw, 3.05rem) !important;
	line-height: 1.06 !important;
	color: #17301F !important;
	letter-spacing: -0.015em;
}

.cm-fam-hero__script {
	margin: 2px 0 4px !important;
	font-family: var(--cm-font-serif);
	font-style: italic;
	font-size: clamp(1.08rem, 1.55vw, 1.3rem);
	line-height: 1.32;
	color: #20422B;
}

.cm-fam-hero__lead {
	margin: 0 !important;
	max-width: 52ch;
	font-size: 0.88rem;
	line-height: 1.54;
	color: #3A332A;
}

.cm-fam-hero__stamp {
	display: flex;
	align-items: center;
	gap: 18px;
	border-left: 1px solid rgba(176, 149, 102, 0.55);
	padding: 6px 0 6px 32px;
}

.cm-fam-hero__stamp-art {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}

.cm-fam-hero__stamp-copy {
	display: flex;
	flex-direction: column;
}

.cm-fam-hero__stamp-main {
	margin: 0 !important;
	font-family: var(--cm-font-serif);
	font-size: 0.9rem;
	line-height: 1.42;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #3D352B;
}

.cm-fam-hero__stamp-line {
	display: block;
	width: 138px;
	height: 1px;
	background-color: #B6924E;
	margin: 9px 0;
}

.cm-fam-hero__stamp-sub {
	margin: 0 !important;
	font-size: 0.62rem;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: #5B4F3E;
}

.cm-fam-hero__pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 2px 0 0 !important;
}

.cm-fam-hero__pills .cm-filter-pill {
	padding: 6px 15px;
	font-size: 0.77rem;
	font-weight: 600;
	background-color: #FAF7F0;
	border: 1px solid rgba(186, 158, 108, 0.48);
	color: #221E18;
	box-shadow: 0 2px 6px rgba(23, 48, 31, 0.04);
}

.cm-fam-hero__pills .cm-filter-pill.is-active {
	background-color: #1A3524;
	color: #FAF6EE;
	border-color: #1A3524;
}

/* Section C02 · 50/50 Editorial Split */
.cm-fam-split-section {
	border-bottom: 1px solid rgba(186, 158, 108, 0.35);
}

.cm-fam-split {
	grid-template-columns: 1.1fr 0.9fr !important;
	min-height: 430px;
	background-color: #FAF7F1 !important;
}

.cm-fam-split__media {
	position: relative;
	padding: 0 !important;
	min-height: 420px;
	overflow: hidden;
}

.cm-fam-split__figure {
	margin: 0 !important;
	width: 100%;
	height: 100%;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
}

.cm-fam-split__figure img {
	width: 100% !important;
	height: 100% !important;
	max-height: 500px;
	object-fit: cover !important;
	object-position: center !important;
	display: block !important;
	border-radius: 0 !important;
}

.cm-fam-split__seal-badge {
	position: absolute;
	left: 5.5%;
	top: 26%;
	width: 102px;
	height: 102px;
	border-radius: 50%;
	border: 1.5px solid rgba(132, 102, 50, 0.68);
	background: radial-gradient(circle, rgba(244, 234, 214, 0.42) 0%, rgba(236, 222, 196, 0.2) 100%);
	display: grid;
	place-items: center;
	padding: 4px;
	pointer-events: none;
}

.cm-fam-split__seal-ring {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 1px solid rgba(132, 102, 50, 0.52);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #4A391E;
	gap: 1px;
}

.cm-fam-split__seal-top,
.cm-fam-split__seal-bot {
	font-family: var(--cm-font-serif);
	font-size: 0.52rem;
	font-weight: 700;
	letter-spacing: 0.13em;
}

.cm-fam-split__seal-sub {
	font-size: 0.42rem;
	letter-spacing: 0.12em;
	opacity: 0.85;
}

.cm-fam-split__seal-year {
	font-family: var(--cm-font-serif);
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.05;
}

.cm-fam-split__panel {
	padding: clamp(2rem, 3.6vw, 3rem) clamp(2rem, 4vw, 3.4rem) !important;
	background-color: #FAF7F1 !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 11px !important;
}

.cm-fam-split__panel .cm-eyebrow {
	justify-content: flex-start !important;
	margin-bottom: 0 !important;
}

.cm-fam-split__title {
	margin: 0 !important;
	color: #17301F !important;
	font-size: clamp(1.85rem, 2.7vw, 2.4rem) !important;
	line-height: 1.12 !important;
}

.cm-fam-split__body {
	margin: 0 !important;
	font-size: 0.86rem;
	line-height: 1.56;
	color: #3A332A;
	max-width: 54ch;
}

.cm-fam-features {
	list-style: none;
	margin: 4px 0 6px !important;
	padding: 0;
	display: grid;
	gap: 11px;
}

.cm-fam-features__item {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	align-items: center;
	gap: 13px;
}

.cm-fam-features__icon {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid rgba(186, 152, 92, 0.72);
	background: radial-gradient(circle at 30% 30%, #FFFDF9 0%, #F5ECDC 100%);
	color: #9A7432;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 3px 8px rgba(23, 48, 31, 0.05);
}

.cm-fam-features__text {
	font-size: 0.82rem;
	line-height: 1.44;
	color: #352E25;
}

.cm-fam-split__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: 6px !important;
}

.cm-fam-split__footer .cm-wa-cta .wp-block-button__link,
.cm-fam-split__footer .cm-btn {
	background: linear-gradient(180deg, #21432C 0%, #17301F 100%) !important;
	color: #FAF6EE !important;
	border: 1px solid #17301F !important;
	border-radius: 999px !important;
	padding: 10px 22px !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	box-shadow: 0 6px 16px rgba(23, 48, 31, 0.16) !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.cm-fam-split__footer .cm-btn::before {
	content: "";
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FAF6EE' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 11.8a8.5 8.5 0 0 1-12.6 7.5L3.5 20.5l1.3-4.2A8.5 8.5 0 1 1 20.5 11.8z'/%3E%3Cpath d='M9.5 8.8c.2-.4.5-.4.8-.4h.6c.2 0 .5.1.6.4l.8 1.9c.1.2.1.5-.1.7l-.5.6c-.1.2-.2.3 0 .6.4.7 1.5 1.8 2.9 2.4.3.1.4.1.6-.1l.7-.8c.2-.2.4-.2.7-.1l1.8.9c.3.1.4.3.4.5 0 .6-.4 1.4-1 1.7-.7.4-1.6.5-2.8.1-2.6-.8-4.7-2.9-5.6-5.4-.4-1.1-.3-2.1.1-2.8z'/%3E%3C/svg%3E");
}

.cm-fam-split__sig {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	font-family: var(--cm-font-script);
	font-size: 1.48rem;
	line-height: 0.96;
	color: #1E3324;
	transform: rotate(-5deg);
}

.cm-fam-split__sig svg {
	margin-top: 2px;
}

/* Section C03 · Explorar productos de nuestro catálogo */
.cm-fam-catalog {
	background-color: #FAF6EE !important;
	padding: clamp(2.1rem, 3.8vw, 3rem) 0 clamp(2.5rem, 4.2vw, 3.4rem) !important;
}

.cm-fam-catalog__header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 1.75rem !important;
}

.cm-fam-catalog__head-copy {
	border-left: 2px solid #C8A568;
	padding-left: 16px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.cm-fam-catalog__head-copy .cm-eyebrow {
	justify-content: flex-start !important;
	margin-bottom: 0 !important;
}

.cm-fam-catalog__title {
	margin: 0 !important;
	color: #7D1D22 !important;
	font-size: clamp(1.65rem, 2.4vw, 2.15rem) !important;
	line-height: 1.14 !important;
}

.cm-fam-catalog__sub {
	margin: 0 !important;
	font-size: 0.83rem;
	color: #4A4238;
}

.cm-fam-catalog__trust {
	list-style: none;
	margin: 0 !important;
	padding: 0;
	display: flex;
	align-items: center;
}

.cm-fam-catalog__trust li {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 4px 16px;
	font-size: 0.75rem;
	line-height: 1.24;
	color: #2D2720;
	font-weight: 500;
}

.cm-fam-catalog__trust li + li {
	border-left: 1px solid rgba(186, 158, 108, 0.42);
}

.cm-fam-catalog__trust-icon {
	color: #17301F;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.cm-product-grid--fam {
	display: block !important;
	width: 100% !important;
}

.cm-product-grid--fam > .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 18px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.cm-ref-card--fam {
	background: linear-gradient(180deg, #FFFFFF 0%, #FAF5EB 100%) !important;
	border: 1px solid rgba(186, 158, 108, 0.55) !important;
	border-radius: 14px !important;
	padding: 13px !important;
	text-align: left !important;
	align-items: stretch !important;
	gap: 8px !important;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.82), 0 10px 24px rgba(23, 48, 31, 0.06) !important;
}

.cm-ref-card--fam .cm-ref-card__media {
	margin: 0 0 4px !important;
	border-radius: 9px !important;
	overflow: hidden;
}

.cm-ref-card--fam .cm-ref-card__media img {
	width: 100% !important;
	aspect-ratio: 1.42 / 1 !important;
	object-fit: cover !important;
	border-radius: 9px !important;
	display: block !important;
}

.cm-ref-card--fam .cm-ref-card__title {
	margin: 0 !important;
	font-size: 1.04rem !important;
	line-height: 1.22 !important;
	text-align: left !important;
}

.cm-ref-card--fam .cm-ref-card__title a {
	color: #17281D !important;
	text-decoration: none !important;
	font-weight: 700 !important;
}

.cm-ref-card--fam .cm-ref-card__title a:hover {
	color: var(--cm-color-red) !important;
}

.cm-ref-card--fam .cm-ref-card__text {
	margin: 0 !important;
	font-size: 0.78rem !important;
	line-height: 1.46 !important;
	color: #4A433A !important;
	text-align: left !important;
}

.cm-ref-card--fam .cm-ref-card__readmore {
	margin-top: auto !important;
	width: 100% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 9px 14px !important;
	border-radius: 999px !important;
	background: linear-gradient(180deg, #21432C 0%, #17301F 100%) !important;
	color: #FAF6EE !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	border: 1px solid #17301F !important;
}

.cm-ref-card--fam .cm-ref-card__readmore:hover {
	filter: brightness(1.08);
}

/* Section C04 · Dark Foliage Banner with Warm Cream Pill Button */
.cm-band-wa--cream-cta .cm-wa-cta .wp-block-button__link,
.cm-band-wa--cream-cta .cm-btn {
	background: linear-gradient(180deg, #FBF6EC 0%, #EFE4D0 100%) !important;
	color: #17301F !important;
	border: 1px solid rgba(214, 184, 128, 0.85) !important;
	border-radius: 999px !important;
	padding: 11px 24px !important;
	font-weight: 700 !important;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.25) !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.cm-band-wa--cream-cta .cm-btn::before {
	content: "";
	width: 17px;
	height: 17px;
	flex: 0 0 17px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317301F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 11.8a8.5 8.5 0 0 1-12.6 7.5L3.5 20.5l1.3-4.2A8.5 8.5 0 1 1 20.5 11.8z'/%3E%3Cpath d='M9.5 8.8c.2-.4.5-.4.8-.4h.6c.2 0 .5.1.6.4l.8 1.9c.1.2.1.5-.1.7l-.5.6c-.1.2-.2.3 0 .6.4.7 1.5 1.8 2.9 2.4.3.1.4.1.6-.1l.7-.8c.2-.2.4-.2.7-.1l1.8.9c.3.1.4.3.4.5 0 .6-.4 1.4-1 1.7-.7.4-1.6.5-2.8.1-2.6-.8-4.7-2.9-5.6-5.4-.4-1.1-.3-2.1.1-2.8z'/%3E%3C/svg%3E");
}

@media (max-width: 1120px) {
	.cm-fam-hero__top {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	.cm-product-grid--fam > .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 900px) {
	.cm-fam-hero__top,
	.cm-fam-split {
		grid-template-columns: 1fr !important;
		max-width: 100% !important;
		overflow: hidden !important;
	}
	.cm-fam-split__media {
		min-height: 280px;
		max-width: 100% !important;
	}
	.cm-fam-split__figure {
		margin: 0 !important;
		max-width: 100% !important;
	}
	.cm-fam-hero__stamp {
		border-left: 0;
		border-top: 1px solid rgba(176, 149, 102, 0.45);
		padding: 14px 0 0;
	}
	.cm-fam-catalog__trust {
		flex-wrap: wrap;
		gap: 8px;
	}
}

@media (max-width: 600px) {
	.cm-product-grid--fam > .wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}

/* 17 · PDP, EDITORIAL & BREADCRUMBS */
.cm-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	list-style: none;
	margin: 0 0 24px !important;
	padding: 0;
	font-size: var(--wp--preset--font-size--caption);
	color: var(--cm-color-muted);
}

.cm-breadcrumbs__link {
	color: var(--cm-color-text-alt);
	text-decoration: none;
}

.cm-breadcrumbs__link:hover {
	color: var(--cm-color-red);
	text-decoration: underline;
}

.cm-breadcrumbs__current {
	font-weight: 600;
	color: var(--cm-color-text);
}

.cm-pdp-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: clamp(1.75rem, 4vw, 3.5rem);
	align-items: start;
}

.cm-pdp-gallery {
	display: grid;
	gap: 14px;
}

.cm-pdp-gallery__stage {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	background: linear-gradient(180deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bone-50) 100%);
	border: 1px solid rgba(186, 158, 108, 0.62);
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.78), 0 14px 34px rgba(23, 48, 31, 0.08);
	aspect-ratio: 1 / 1;
	display: grid;
	place-items: center;
}

.cm-pdp-gallery__main-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.cm-pdp-gallery__badge {
	position: absolute;
	top: 14px;
	left: 14px;
	padding: 5px 14px;
	border-radius: var(--cm-radius-pill);
	background: linear-gradient(180deg, var(--wp--preset--color--primary-700) 0%, var(--wp--preset--color--primary-900) 100%);
	border: 1px solid rgba(201, 150, 62, 0.68);
	color: var(--wp--preset--color--bone-50);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.cm-pdp-gallery__thumbs {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.cm-pdp-gallery__thumb {
	width: 4.75rem;
	height: 4.75rem;
	padding: 3px;
	border-radius: 12px;
	border: 1px solid rgba(186, 158, 108, 0.56);
	background-color: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.85);
	cursor: pointer;
	overflow: hidden;
	transition: border-color var(--cm-dur-fast) var(--cm-ease-standard), transform var(--cm-dur-fast) var(--cm-ease-standard);
}

.cm-pdp-gallery__thumb:hover {
	transform: translateY(-2px);
}

.cm-pdp-gallery__thumb.is-active {
	border-color: var(--cm-color-red);
	box-shadow: 0 0 0 2px var(--cm-color-red);
}

.cm-pdp-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 8px;
	display: block;
}

.cm-pdp-info {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.cm-pdp-family-link {
	color: var(--wp--preset--color--primary-800);
	text-decoration: none;
}

.cm-pdp-subtitle {
	margin: 0 !important;
	font-size: clamp(1.3rem, 1.1rem + 0.5vw, 1.55rem);
	color: var(--wp--preset--color--primary-800);
}

.cm-pdp-summary p {
	margin: 0;
	color: var(--cm-color-text-alt);
	line-height: 1.66;
}

.cm-pdp-label {
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--wp--preset--color--accent-800);
	margin-bottom: 8px;
}

.cm-pdp-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.cm-pres-pill {
	padding: 8px 18px;
	border-radius: var(--cm-radius-pill);
	border: 1px solid rgba(184, 148, 86, 0.56);
	background: linear-gradient(180deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bone-50) 100%);
	color: var(--cm-color-text);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	cursor: pointer;
	transition: background-color var(--cm-dur-fast) var(--cm-ease-standard), color var(--cm-dur-fast) var(--cm-ease-standard);
}

.cm-pres-pill.is-active,
.cm-pres-pill[aria-pressed="true"] {
	background: linear-gradient(180deg, var(--wp--preset--color--primary-700) 0%, var(--wp--preset--color--primary-800) 100%);
	color: var(--wp--preset--color--bone-50);
	border-color: rgba(201, 150, 62, 0.75);
}

.cm-pdp-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.cm-pdp-auth-box {
	padding: 18px 20px;
	border-radius: 16px;
	background: linear-gradient(180deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bone-50) 100%);
	border: 1px solid rgba(186, 158, 108, 0.62);
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.78), 0 10px 26px rgba(23, 48, 31, 0.06);
	display: grid;
	gap: 10px;
}

.cm-pdp-auth-box__header {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--cm-color-red);
}

.cm-pdp-auth-box__list {
	margin: 0;
	padding-left: 1.25rem;
	font-size: var(--wp--preset--font-size--small);
}

.cm-pdp-auth-box__link {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	color: var(--cm-color-red);
	text-decoration: none;
}

.cm-pdp-auth-box__link:hover {
	text-decoration: underline;
}

.cm-pdp-specs-grid,
.cm-info-grid,
.cm-step-grid,
.cm-auth-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 32px !important;
}

.cm-pdp-spec-card,
.cm-info-card,
.cm-step-card,
.cm-auth-card {
	padding: 26px;
	border-radius: 18px;
	background: linear-gradient(180deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bone-50) 100%);
	border: 1px solid rgba(186, 158, 108, 0.62);
	display: flex;
	flex-direction: column;
	gap: 12px;
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.78), 0 12px 30px rgba(23, 48, 31, 0.06);
	transition: transform var(--cm-dur-fast) var(--cm-ease-standard), box-shadow var(--cm-dur-fast) var(--cm-ease-standard);
}

.cm-pdp-spec-card:hover,
.cm-info-card:hover,
.cm-step-card:hover,
.cm-auth-card:hover {
	transform: translateY(-3px);
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.85), 0 16px 38px rgba(23, 48, 31, 0.1);
}

.cm-pdp-spec-card__head {
	display: flex;
	align-items: center;
	gap: 10px;
}

.cm-pdp-spec-card__head .cm-seal-checker__num,
.cm-pdp-auth-box__header .cm-seal-checker__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	border-radius: 999px;
	background: radial-gradient(circle at 35% 30%, #FFFCF6 0%, #EFE5D1 68%, #DFCFAF 100%);
	border: 1.5px solid #C5A367;
	box-shadow: inset 0 0 0 2px #FFFCF7, 0 3px 8px rgba(28, 22, 14, 0.08);
	font-family: var(--cm-font-serif);
	font-size: 0.92rem;
	font-weight: 700;
	color: #1F1A14;
	line-height: 1;
}

.cm-pdp-spec-card__title {
	margin: 0 !important;
	font-size: var(--wp--preset--font-size--h4);
	color: var(--cm-color-red);
}

.cm-pdp-editorial-body {
	background: linear-gradient(180deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bone-50) 100%);
	border: 1px solid rgba(186, 158, 108, 0.56);
	border-radius: 18px;
	padding: clamp(1.75rem, 3.2vw, 2.75rem) !important;
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.78), 0 10px 28px rgba(23, 48, 31, 0.05);
}

.cm-pdp-related {
	margin-top: 48px !important;
	padding-top: 36px;
	border-top: var(--cm-border-decorative);
}

.cm-pdp-related__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 24px !important;
	flex-wrap: wrap;
	gap: 12px;
}

.cm-pdp-related__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

/* 18 · SISTEMA EDITORIAL (beautiful-article) · BLOG, ARTÍCULOS, BÚSQUEDA Y 404 */
.cm-articles__grid,
.cm-articles__grid > .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.cm-article-card {
	background: linear-gradient(180deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bone-50) 100%);
	border: 1px solid rgba(186, 158, 108, 0.58);
	border-radius: 18px;
	overflow: hidden;
	height: 100%;
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.75), 0 12px 30px rgba(23, 48, 31, 0.06);
	transition: transform var(--cm-dur-fast) var(--cm-ease-standard), box-shadow var(--cm-dur-fast) var(--cm-ease-standard);
}

.cm-article-card:hover {
	transform: translateY(-4px);
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.85), 0 18px 40px rgba(23, 48, 31, 0.11);
}

.cm-article-card__media img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
}

.cm-article-card__body {
	padding: 22px 24px 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.cm-article-card__cat a {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-800);
	text-decoration: none;
}

.cm-article-card__title {
	margin: 0 !important;
	font-family: var(--cm-font-serif);
	font-size: 1.32rem;
	line-height: 1.22;
}

.cm-article-card__title a {
	color: var(--cm-color-red);
	text-decoration: none;
}

.cm-article-card__title a:hover {
	text-decoration: underline;
}

.cm-article-card__excerpt {
	font-size: 0.9rem;
	color: var(--cm-color-text-alt);
	line-height: 1.6;
}

.cm-article-card__excerpt .wp-block-post-excerpt__more-link {
	display: inline-block;
	margin-top: 8px;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary-800);
	text-decoration: none;
}

.cm-article-hero__inner {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.cm-breadcrumbs-inline {
	font-size: var(--wp--preset--font-size--caption);
	color: var(--cm-color-muted);
	margin: 0 !important;
}

.cm-breadcrumbs-inline a {
	color: var(--wp--preset--color--primary-800);
	text-decoration: none;
	font-weight: 600;
}

.cm-article-hero__meta,
.cm-article-card__meta,
.cm-single-article__meta {
	display: flex;
	gap: 10px;
	align-items: center;
	font-size: var(--wp--preset--font-size--caption);
	color: var(--cm-color-muted);
}

.cm-article-featured {
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid rgba(186, 158, 108, 0.62);
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.78), 0 14px 36px rgba(23, 48, 31, 0.08);
	margin-bottom: 2.25rem !important;
}

.cm-article-featured img,
.cm-single-article__hero-img img {
	width: 100%;
	max-height: 28rem;
	object-fit: cover;
	display: block;
}

.cm-article-prose {
	background: linear-gradient(180deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bone-50) 100%);
	border: 1px solid rgba(186, 158, 108, 0.54);
	border-radius: 18px;
	padding: clamp(1.75rem, 3.6vw, 3rem) !important;
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.78), 0 10px 28px rgba(23, 48, 31, 0.05);
	margin-bottom: 2.25rem !important;
}

.cm-article-prose > * + * {
	margin-top: 1.15rem !important;
}

.cm-article-prose :is(h2, h3) {
	color: var(--cm-color-red);
	margin-top: 1.85rem !important;
	margin-bottom: 0.65rem !important;
}

.cm-article-takeaway-card {
	padding: clamp(1.75rem, 3vw, 2.5rem) !important;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.cm-cta-band__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
}

.cm-empty-state,
.cm-404-box,
.cm-ref-empty,
.cm-legal-plaque {
	padding: clamp(2rem, 3.5vw, 3rem);
	border-radius: 18px;
	background: linear-gradient(180deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bone-50) 100%);
	border: 1px solid rgba(186, 158, 108, 0.62);
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.78), 0 12px 32px rgba(23, 48, 31, 0.06);
	text-align: center;
}

.cm-legal-plaque {
	text-align: left;
}

.cm-micro-sig--center {
	justify-content: center;
	margin-top: 2rem !important;
}

@media (max-width: 900px) {
	.cm-pdp-grid,
	.cm-pdp-specs-grid,
	.cm-info-grid,
	.cm-step-grid,
	.cm-auth-grid,
	.cm-pdp-related__grid,
	.cm-articles__grid,
	.cm-articles__grid > .wp-block-post-template {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   WHATSAPP CONCIERGE WIDGET (ESQUINA INFERIOR DERECHA · HAUTE-BOTANICAL V2)
   ========================================================================== */

.cm-wa-concierge {
	position: fixed;
	right: clamp(16px, 2.2vw, 28px);
	bottom: clamp(16px, 2.2vw, 26px);
	z-index: 9990;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 14px;
	font-family: var(--wp--preset--font-family--body, system-ui, sans-serif);
	pointer-events: none;
}

.cm-wa-concierge > * {
	pointer-events: auto;
}

.cm-wa-concierge__panel {
	width: min(376px, calc(100vw - 32px));
	background: linear-gradient(180deg, #fdfbf6 0%, #f6f0e4 100%);
	border-radius: 20px;
	border: 1px solid rgba(186, 158, 108, 0.58);
	box-shadow:
		0 24px 60px rgba(15, 34, 21, 0.24),
		0 6px 18px rgba(15, 34, 21, 0.12),
		inset 0 0 0 1px rgba(255, 255, 255, 0.72);
	overflow: hidden;
	transform-origin: bottom right;
	transition: opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1), transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.cm-wa-concierge__panel[hidden] {
	display: none !important;
}

.cm-wa-concierge.is-open .cm-wa-concierge__panel {
	animation: cmWaPanelIn 0.3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes cmWaPanelIn {
	from {
		opacity: 0;
		transform: translateY(14px) scale(0.96);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.cm-wa-concierge__header {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 20px 20px 18px;
	background:
		radial-gradient(circle at 88% 16%, rgba(200, 169, 106, 0.22) 0%, transparent 52%),
		linear-gradient(135deg, #173a25 0%, #215736 58%, #153320 100%);
	color: #faf6ee;
	border-bottom: 1px solid rgba(200, 169, 106, 0.44);
}

.cm-wa-concierge__brand {
	display: flex;
	align-items: flex-start;
	gap: 13px;
}

.cm-wa-concierge__avatar {
	position: relative;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: linear-gradient(145deg, #25d366 0%, #179b48 100%);
	color: #ffffff;
	border: 1.5px solid rgba(255, 255, 255, 0.78);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
}

.cm-wa-concierge__online-dot {
	position: absolute;
	right: -1px;
	bottom: -1px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background-color: #38ef7d;
	border: 2px solid #173a25;
}

.cm-wa-concierge__head-copy {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.cm-wa-concierge__logo-badge {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 8px;
	margin-bottom: 1px;
}

.cm-wa-concierge__logo-img {
	display: block;
	height: 18px;
	width: auto;
	padding: 3px 7px;
	border-radius: 6px;
	background: #fbf9f4;
	border: 1px solid rgba(201, 150, 62, 0.55);
	object-fit: contain;
}

.cm-wa-concierge__eyebrow {
	margin: 0 !important;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #e4c98f;
}

.cm-wa-concierge__title {
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: 1.24rem;
	font-weight: 600;
	line-height: 1.18;
	color: #ffffff !important;
}

.cm-wa-concierge__sub {
	margin: 2px 0 0 !important;
	font-size: 0.8rem;
	line-height: 1.38;
	color: rgba(250, 246, 238, 0.88);
}

.cm-wa-concierge__close {
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.22);
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff;
	display: grid;
	place-items: center;
	cursor: pointer;
	padding: 0;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.cm-wa-concierge__close:hover {
	background: rgba(255, 255, 255, 0.18);
	transform: scale(1.06);
}

.cm-wa-concierge__body {
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.cm-wa-concierge__status {
	margin: 0 !important;
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 0.74rem;
	color: #4c5a4f;
	padding: 0 4px;
}

.cm-wa-concierge__status strong {
	color: #173a25;
	font-weight: 700;
}

.cm-wa-concierge__status-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background-color: #20b858;
	box-shadow: 0 0 0 3px rgba(32, 184, 88, 0.18);
	flex: 0 0 7px;
}

.cm-wa-concierge__list {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.cm-wa-concierge__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 13px;
	border-radius: 13px;
	background: #ffffff;
	border: 1px solid rgba(186, 158, 108, 0.42);
	border-left: 4px solid #20b858;
	box-shadow: 0 4px 12px rgba(23, 48, 31, 0.05);
	text-decoration: none !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.cm-wa-concierge__item:hover,
.cm-wa-concierge__item:focus-visible {
	transform: translateY(-2px);
	background: #fdfcf9;
	border-color: rgba(32, 184, 88, 0.55);
	border-left-color: #169946;
	box-shadow: 0 8px 20px rgba(23, 48, 31, 0.1);
}

.cm-wa-concierge__item-icon {
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: linear-gradient(145deg, #25d366 0%, #1aa34a 100%);
	color: #ffffff;
	box-shadow: 0 3px 9px rgba(32, 184, 88, 0.26);
}

.cm-wa-concierge__item-copy {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.cm-wa-concierge__item-title {
	font-size: 0.9rem;
	font-weight: 700;
	color: #17301f;
	line-height: 1.2;
}

.cm-wa-concierge__item-role {
	font-size: 0.75rem;
	color: #5a665d;
	line-height: 1.28;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.cm-wa-concierge__item-arrow {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: rgba(37, 211, 102, 0.11);
	color: #168f43;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.cm-wa-concierge__item:hover .cm-wa-concierge__item-arrow {
	background: #20b858;
	color: #ffffff;
	transform: scale(1.08);
}

.cm-wa-concierge__quick {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-top: 2px;
	padding: 5px 6px 5px 13px;
	border-radius: 999px;
	background: #ffffff;
	border: 1px solid rgba(186, 158, 108, 0.55);
	box-shadow: inset 0 1px 3px rgba(23, 48, 31, 0.05);
}

.cm-wa-concierge__input {
	flex: 1 1 auto;
	border: 0 !important;
	background: transparent !important;
	font-size: 0.8rem;
	color: #17301f;
	outline: none !important;
	padding: 4px 0;
}

.cm-wa-concierge__input::placeholder {
	color: #778279;
}

.cm-wa-concierge__send {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 0;
	background: linear-gradient(135deg, #1b4b2e 0%, #20b858 100%);
	color: #ffffff;
	display: grid;
	place-items: center;
	cursor: pointer;
	padding: 0;
	transition: transform 0.2s ease, filter 0.2s ease;
}

.cm-wa-concierge__send:hover {
	transform: scale(1.06);
	filter: brightness(1.08);
}

.cm-wa-concierge__dock {
	display: flex;
	align-items: center;
	gap: 10px;
}

.cm-wa-concierge__pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 15px;
	border-radius: 999px;
	background: rgba(253, 251, 246, 0.96);
	border: 1px solid rgba(186, 158, 108, 0.65);
	box-shadow: 0 8px 24px rgba(15, 34, 21, 0.14);
	color: #17301f;
	font-size: 0.8rem;
	font-weight: 700;
	cursor: pointer;
	transition: transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
}

.cm-wa-concierge__pill:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(15, 34, 21, 0.2);
}

.cm-wa-concierge.is-open .cm-wa-concierge__pill {
	opacity: 0;
	pointer-events: none;
	transform: translateX(8px);
}

.cm-wa-concierge__pill-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #20b858;
	box-shadow: 0 0 0 3px rgba(32, 184, 88, 0.22);
}

.cm-wa-concierge__fab {
	position: relative;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, 0.88);
	background: linear-gradient(145deg, #25d366 0%, #159947 100%);
	color: #ffffff;
	display: grid;
	place-items: center;
	cursor: pointer;
	box-shadow:
		0 12px 28px rgba(21, 153, 71, 0.38),
		0 4px 12px rgba(15, 34, 21, 0.18);
	transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1), background 0.24s ease, box-shadow 0.24s ease;
}

.cm-wa-concierge__fab:hover {
	transform: scale(1.06);
	box-shadow:
		0 16px 34px rgba(21, 153, 71, 0.46),
		0 6px 14px rgba(15, 34, 21, 0.22);
}

.cm-wa-concierge.is-open .cm-wa-concierge__fab {
	background: linear-gradient(145deg, #1b432b 0%, #122d1c 100%);
	box-shadow: 0 10px 24px rgba(15, 34, 21, 0.3);
}

.cm-wa-concierge__fab-icon {
	grid-area: 1 / 1;
	display: grid;
	place-items: center;
	transition: opacity 0.22s ease, transform 0.22s ease;
}

.cm-wa-concierge__fab-icon--close {
	opacity: 0;
	transform: rotate(-45deg) scale(0.75);
}

.cm-wa-concierge.is-open .cm-wa-concierge__fab-icon--wa {
	opacity: 0;
	transform: rotate(45deg) scale(0.75);
}

.cm-wa-concierge.is-open .cm-wa-concierge__fab-icon--close {
	opacity: 1;
	transform: rotate(0deg) scale(1);
}

.cm-wa-concierge__fab-badge {
	position: absolute;
	top: -3px;
	right: -3px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #9f2220;
	color: #ffffff;
	font-size: 0.68rem;
	font-weight: 700;
	display: grid;
	place-items: center;
	border: 2px solid #faf6ee;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.22);
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.cm-wa-concierge.is-open .cm-wa-concierge__fab-badge,
.cm-wa-concierge.has-interacted .cm-wa-concierge__fab-badge {
	opacity: 0;
	transform: scale(0.5);
	pointer-events: none;
}

@media (max-width: 600px) {
	.cm-wa-concierge__pill {
		display: none;
	}
	.cm-wa-concierge__fab {
		width: 54px;
		height: 54px;
	}
}

/* ==========================================================================
   21 · ARQUITECTURA EDITORIAL SEO 2026 (E-E-A-T, TOC, TABLAS Y SNIPPETS)
   ========================================================================== */

.cm-seo-eeat-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	padding: 12px 18px;
	margin: 0 0 20px !important;
	border-radius: 12px;
	background: linear-gradient(180deg, #ffffff 0%, #f7f2e7 100%);
	border: 1px solid rgba(186, 158, 108, 0.52);
	font-size: 0.82rem;
	color: #364037;
	box-shadow: 0 6px 18px rgba(23, 48, 31, 0.04);
}

.cm-seo-eeat-bar strong {
	color: #17301f;
	font-weight: 700;
}

.cm-seo-eeat-bar a {
	color: #8f1d1b;
	font-weight: 700;
	text-decoration: none;
}

.cm-seo-eeat-bar a:hover {
	text-decoration: underline;
}

.cm-seo-eeat-bar__sep {
	opacity: 0.45;
}

.cm-seo-toc {
	padding: 20px 24px;
	margin: 0 0 28px !important;
	border-radius: 16px;
	background: linear-gradient(180deg, #faf6ee 0%, #f1eadb 100%);
	border: 1px solid rgba(186, 158, 108, 0.62);
	border-left: 4px solid #1f4029;
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.65), 0 10px 26px rgba(23, 48, 31, 0.05);
}

.cm-seo-toc__title {
	margin: 0 0 12px !important;
	font-family: var(--cm-font-serif);
	font-size: 1.08rem;
	font-weight: 700;
	color: #17301f;
	letter-spacing: 0.01em;
}

.cm-seo-toc__list {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 8px 18px;
}

.cm-seo-toc__list li {
	margin: 0 !important;
}

.cm-seo-toc__list a {
	display: flex;
	align-items: baseline;
	gap: 9px;
	padding: 6px 10px;
	border-radius: 9px;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(186, 158, 108, 0.32);
	color: #232b24;
	font-size: 0.86rem;
	font-weight: 600;
	text-decoration: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.cm-seo-toc__list a:hover {
	background: #ffffff;
	border-color: rgba(31, 64, 41, 0.48);
	color: #8f1d1b;
	transform: translateX(2px);
}

.cm-seo-toc__num {
	font-size: 0.72rem;
	font-weight: 700;
	color: #8f6a22;
	letter-spacing: 0.06em;
	flex: 0 0 auto;
}

.cm-seo-summary {
	padding: 22px 24px;
	margin: 0 0 28px !important;
	border-radius: 16px;
	background: linear-gradient(180deg, #ffffff 0%, #fbf8f1 100%);
	border: 1px solid rgba(186, 158, 108, 0.65);
	border-top: 4px solid #8f1d1b;
	box-shadow: 0 12px 28px rgba(23, 48, 31, 0.06);
}

.cm-seo-summary__eyebrow {
	margin: 0 0 6px !important;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #8f1d1b;
}

.cm-seo-summary p,
.cm-seo-summary ul {
	margin: 0 0 10px !important;
}

.cm-seo-summary *:last-child {
	margin-bottom: 0 !important;
}

.cm-article-prose h2 {
	scroll-margin-top: 96px;
	font-family: var(--cm-font-serif);
	color: #17301f;
	margin-top: 2.1rem !important;
	margin-bottom: 0.75rem !important;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid rgba(186, 158, 108, 0.38);
}

.cm-article-prose h3 {
	font-family: var(--cm-font-serif);
	color: #8f1d1b;
	margin-top: 1.45rem !important;
	margin-bottom: 0.5rem !important;
}

.cm-seo-table-wrap {
	overflow-x: auto;
	margin: 1.5rem 0 !important;
	border-radius: 14px;
	border: 1px solid rgba(186, 158, 108, 0.55);
	background: #ffffff;
	box-shadow: 0 8px 22px rgba(23, 48, 31, 0.05);
}

.cm-seo-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
}

.cm-seo-table th {
	background: #17301f;
	color: #fbf9f4;
	text-align: left;
	padding: 12px 16px;
	font-weight: 600;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.cm-seo-table td {
	padding: 12px 16px;
	border-top: 1px solid rgba(186, 158, 108, 0.32);
	color: #2c352d;
	vertical-align: top;
}

.cm-seo-table tr:nth-child(even) td {
	background: #faf6ee;
}

.cm-seo-faq {
	display: grid;
	gap: 10px;
	margin: 1.5rem 0 !important;
}

.cm-seo-faq__item {
	border-radius: 12px;
	background: #ffffff;
	border: 1px solid rgba(186, 158, 108, 0.52);
	padding: 13px 18px;
}

.cm-seo-faq__item summary {
	cursor: pointer;
	font-family: var(--cm-font-serif);
	font-weight: 700;
	font-size: 1.02rem;
	color: #17301f;
}

.cm-seo-faq__ans {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid rgba(186, 158, 108, 0.28);
	font-size: 0.92rem;
	line-height: 1.62;
	color: #364037;
}


