/*
Theme Name: Creators Club
Theme URI: https://example.com/creators-club
Author: Creators Club
Author URI: https://example.com
Description: Tema de bloques (Full Site Editing) en español que replica la página de Creators Club: portada con imagen, método en 4 pasos, recursos, bonos, comunidad, preguntas frecuentes y panel de acceso, además de una landing de asesoría 1-1 y una página de checkout. Solo usa bloques nativos de WordPress.
Version: 1.4.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: creators-club
Tags: full-site-editing, block-patterns, custom-colors, editor-style, one-column, wide-blocks, translation-ready
*/

/* ==========================================================================
   ÍNDICE
   0.  Variables e iconos
   1.  Base
   2.  Maquetación y utilidades
   3.  Botones y enlaces
   4.  Portada (hero) y franja de herramientas
   5.  Transformación: carrusel y situaciones
   6.  Método y "lo que aprenderás"
   7.  Recursos
   8.  Bonos
   9.  Mentora y comunidad
   10. Preguntas frecuentes
   11. Acceso y pie de página
   12. Ventana de acceso (modal)
   13. Asesoría 1-1 y checkout
   14. Plantillas genéricas (cabecera, entradas, 404)
   15. Escala en escritorio
   16. Móvil (hasta 650px)
   17. Páginas de diseño: estructura común
   18. Página "Animaciones"
   19. Página "Mentoría Premium"
   20. Movimiento reducido
   ========================================================================== */

/* ==========================================================================
   0. VARIABLES E ICONOS
   ========================================================================== */
:root {
	--cc-paper: var(--wp--preset--color--paper);
	--cc-ink: var(--wp--preset--color--ink);
	--cc-pink: var(--wp--preset--color--pink);
	--cc-cream: var(--wp--preset--color--cream);
	--cc-display: var(--wp--preset--font-family--bodoni-moda);
	--cc-body: var(--wp--preset--font-family--manrope);
	--cc-shadow: 0 3px 8px #7e595015;
	--cc-icon-size: 12px;

	/* Iconos (Lucide, ISC) como máscaras CSS: heredan el color del texto. */
	--cc-ico-arrow-up-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h10v10'/%3E%3Cpath d='M7 17 17 7'/%3E%3C/svg%3E");
	--cc-ico-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	--cc-ico-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");
	--cc-ico-chevron-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E");
	--cc-ico-chevron-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
	--cc-ico-video: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5'/%3E%3Crect x='2' y='6' width='14' height='12' rx='2'/%3E%3C/svg%3E");
	--cc-ico-palette: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='13.5' cy='6.5' r='.5'/%3E%3Ccircle cx='17.5' cy='10.5' r='.5'/%3E%3Ccircle cx='8.5' cy='7.5' r='.5'/%3E%3Ccircle cx='6.5' cy='12.5' r='.5'/%3E%3Cpath d='M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z'/%3E%3C/svg%3E");
	--cc-ico-sparkles: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z'/%3E%3Cpath d='M20 3v4'/%3E%3Cpath d='M22 5h-4'/%3E%3C/svg%3E");
	--cc-ico-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
	--cc-ico-lightbulb: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5'/%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3C/svg%3E");
	--cc-ico-target: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E");
	--cc-ico-instagram: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='20' x='2' y='2' rx='5' ry='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cline x1='17.5' x2='17.51' y1='6.5' y2='6.5'/%3E%3C/svg%3E");
	--cc-ico-play: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='6 3 20 12 6 21 6 3'/%3E%3C/svg%3E");
	--cc-ico-plus-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23fcfaf8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5v14'/%3E%3C/svg%3E");
}

/* Máscara común a todos los iconos decorativos */
[class*="cc-i-"]::before,
.cc-cta .wp-block-button__link::after,
.cc-arrow .wp-block-button__link::before,
.cc-close-btn .wp-block-button__link::before,
.cc-check-list li::before,
.cc-learn-list li::before,
.cc-cross-list li::before,
.cc-fit-title::before,
.cc-compare td::before {
	content: "";
	display: block;
	flex-shrink: 0;
	width: var(--cc-icon-size);
	height: var(--cc-icon-size);
	background-color: currentColor;
	-webkit-mask: var(--cc-icon) center / contain no-repeat;
	mask: var(--cc-icon) center / contain no-repeat;
}

.cc-i-video { --cc-icon: var(--cc-ico-video); }
.cc-i-palette { --cc-icon: var(--cc-ico-palette); }
.cc-i-sparkles { --cc-icon: var(--cc-ico-sparkles); }
.cc-i-heart { --cc-icon: var(--cc-ico-heart); }
.cc-i-lightbulb { --cc-icon: var(--cc-ico-lightbulb); }
.cc-i-target { --cc-icon: var(--cc-ico-target); }
.cc-i-instagram { --cc-icon: var(--cc-ico-instagram); }
.cc-i-play { --cc-icon: var(--cc-ico-play); }

/* ==========================================================================
   1. BASE
   ========================================================================== */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 25px;
}

body {
	overflow-x: clip;
}

:where(h1, h2, h3, p) {
	margin: 0;
}

p {
	font-size: 10px;
	line-height: 1.8;
}

h2 {
	font-size: 27px;
	line-height: 1.14;
	font-weight: 400;
	letter-spacing: -1px;
}

h2 em {
	font-style: normal;
	color: var(--cc-pink);
}

figure.wp-block-image {
	margin: 0;
}

a:focus-visible,
summary:focus-visible,
.wp-element-button:focus-visible {
	outline: 2px solid var(--cc-pink);
	outline-offset: 5px;
}

/* ==========================================================================
   2. MAQUETACIÓN Y UTILIDADES
   ========================================================================== */
.cc-section {
	padding: 60px 24px;
	text-align: center;
}

/* Especificidad mínima: cualquier clase propia la sustituye. */
:where(.cc-section) p {
	margin: 19px 0;
}

.cc-eyebrow {
	display: block;
	font-size: 7px;
	font-weight: 500;
	letter-spacing: 1.8px;
	line-height: 1.65;
	margin: 0 0 12px;
	color: #8d797f;
	opacity: 1;
}

.cc-small-note {
	display: block;
	font-size: 7px;
	line-height: 1.65;
	margin: 10px 0 0;
	color: #97838a;
}

/* ==========================================================================
   3. BOTONES Y ENLACES
   ========================================================================== */
.cc-btns {
	margin: 0;
}

.cc-section .cc-btns {
	justify-content: center;
}

.cc-cta .wp-block-button__link {
	--cc-icon: var(--cc-ico-arrow-up-right);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 7px 16px;
	background: var(--wp--preset--gradient--brand);
	border: 1px solid #fff6e1;
	border-radius: 24px;
	color: var(--cc-ink);
	font-size: 7px;
	font-weight: 700;
	letter-spacing: 0.3px;
	line-height: 1.4;
	box-shadow: var(--cc-shadow);
	transition: transform 0.2s, box-shadow 0.2s;
}

.cc-cta .wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 5px 12px #7e595029;
}

.cc-cta .wp-block-button__link:active {
	transform: scale(0.98);
}

.cc-dark-btn .wp-block-button__link {
	display: inline-block;
	padding: 6px 22px;
	background: var(--cc-ink);
	border: 0;
	border-radius: 15px;
	color: var(--cc-paper);
	font-size: 6px;
	font-weight: 400;
	line-height: 1.65;
}

.cc-text-link {
	margin: 12px 0;
	opacity: 1;
}

.cc-text-link a {
	display: inline-block;
	font-size: 6px;
	letter-spacing: 0.7px;
	line-height: 1.65;
	border: 1px solid #ffffff30;
	padding: 5px 9px;
	border-radius: 15px;
}

/* ==========================================================================
   4. PORTADA (HERO) Y FRANJA DE HERRAMIENTAS
   ========================================================================== */
.cc-hero.wp-block-cover {
	min-height: 430px;
	padding: 0;
	align-items: flex-start;
	background-color: var(--cc-ink);
	color: var(--cc-paper);
}

.cc-hero .wp-block-cover__image-background {
	object-position: center 42%;
}

.cc-hero .wp-block-cover__inner-container {
	width: 100%;
	max-width: 500px;
	margin: auto;
	padding-top: 14px;
}

.cc-brand {
	font-family: var(--cc-display);
	font-size: 16px;
	line-height: 0.9;
	margin: 0 0 20px;
}

.cc-brand em {
	font-size: 19px;
	font-style: italic;
	color: inherit;
}

h1.cc-hero-title {
	font-family: var(--cc-body);
	font-size: 28px;
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -1px;
	max-width: 230px;
}

.cc-hero-title .cc-display {
	font-family: var(--cc-display);
	font-weight: 400;
}

.cc-hero-title em {
	font-style: italic;
}

.cc-hero-text {
	font-size: 8px;
	line-height: 1.6;
	margin: 15px 0 13px;
	opacity: 0.8;
}

.cc-hero-tools {
	display: flex;
	gap: 14px;
	margin-top: 22px;
}

.cc-tool {
	--cc-icon-size: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	margin: 0;
	font-size: 12px;
	line-height: 1;
	border-radius: 7px;
	background: #ffffff12;
	border: 1px solid #ffffff28;
}

/* Muestra solo el icono y deja el texto accesible para lectores de pantalla. */
.cc-tool--icon {
	font-size: 0;
}

.cc-brand-strip {
	height: 55px;
	background: var(--cc-ink);
	color: var(--cc-paper);
	display: flex;
	align-items: center;
	overflow: hidden;
	white-space: nowrap;
	border-top: 1px solid #ffffff14;
	font-size: 14px;
	font-family: var(--cc-display);
}

.cc-brand-track {
	display: flex;
	align-items: center;
	width: max-content;
	animation: cc-marquee 24s linear infinite;
}

.cc-brand-track p {
	flex-shrink: 0;
	margin: 0 40px 0 0;
	font-size: inherit;
	line-height: inherit;
}

.cc-brand-track p:nth-child(5n + 2) {
	font-size: 20px;
	letter-spacing: 2px;
}

@keyframes cc-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

/* ==========================================================================
   5. TRANSFORMACIÓN: CARRUSEL Y SITUACIONES
   ========================================================================== */
.cc-transformation {
	padding-top: 65px;
	padding-bottom: 50px;
}

.cc-carousel {
	position: relative;
	max-width: 440px;
	margin: 30px auto 20px;
}

.cc-gallery {
	display: flex;
	gap: 10px;
	margin: 0 auto;
	max-width: 440px;
	overflow: hidden;
	scroll-behavior: smooth;
}

.cc-card {
	position: relative;
	height: 190px;
	flex: 0 0 calc((100% - 20px) / 3);
	overflow: hidden;
	border-radius: 10px;
}

.cc-card figure {
	height: 100%;
}

.cc-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}

.cc-card:hover img {
	transform: scale(1.04) !important;
}

.cc-gallery .cc-card p {
	position: absolute;
	bottom: 8px;
	left: 8px;
	margin: 0;
	padding: 3px 7px;
	border-radius: 9px;
	font-size: 6px;
	line-height: 1.65;
	background: var(--cc-paper);
}

.cc-card-1 img { object-position: 70% center; transform: scale(1.25); }
.cc-card-2 img { object-position: 75% center; }
.cc-card-3 img { object-position: center 22%; transform: scale(1.15); }
.cc-card-4 img { object-position: 40% 20%; transform: scale(1.5); }

.cc-arrow {
	position: absolute;
	top: 50%;
	z-index: 5;
	margin: 0;
	transform: translateY(-50%);
}

.cc-arrow-prev { left: -12px; }
.cc-arrow-next { right: -12px; }

.cc-arrow .wp-block-button__link {
	--cc-icon-size: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid #ede6df;
	border-radius: 50%;
	background: var(--cc-paper);
	box-shadow: 0 3px 8px #7e595022;
	color: var(--cc-ink);
	font-size: 0;
	transition: transform 0.2s, box-shadow 0.2s;
}

.cc-arrow-prev .wp-block-button__link { --cc-icon: var(--cc-ico-chevron-left); }
.cc-arrow-next .wp-block-button__link { --cc-icon: var(--cc-ico-chevron-right); }

.cc-arrow .wp-block-button__link:hover {
	transform: scale(1.08);
	box-shadow: 0 5px 12px #7e595033;
}

.cc-arrow .wp-block-button__link:active {
	transform: scale(0.96);
}

.cc-possibilities {
	background:
		radial-gradient(ellipse at 0 30%, #fff6d8, transparent 35%),
		radial-gradient(ellipse at 100% 85%, #f9e8f1, transparent 35%),
		var(--cc-cream);
	padding-top: 65px;
	padding-bottom: 65px;
}

.cc-possibility-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin: 28px 0;
}

.cc-possibility {
	--cc-icon-size: 19px;
	display: flex;
	gap: 9px;
	align-items: center;
	padding: 12px 9px;
	border-radius: 7px;
	background: #ffffff9c;
}

.cc-possibility::before {
	color: #e85d8a;
}

.cc-possibility p {
	margin: 0;
	font-size: 9px;
	line-height: 1.65;
}

/* ==========================================================================
   6. MÉTODO Y "LO QUE APRENDERÁS"
   ========================================================================== */
.cc-method {
	background:
		radial-gradient(ellipse at 0 15%, #403335 0%, transparent 15%),
		radial-gradient(ellipse at 100% 50%, #39332a 0%, transparent 12%),
		#120e0c;
	color: var(--cc-paper);
}

.cc-method > .cc-section {
	padding-top: 70px;
	padding-bottom: 80px;
}

:where(.cc-method) p {
	opacity: 0.62;
	font-size: 9px;
}

h2.cc-sans-heading {
	font-family: var(--cc-body);
	font-weight: 700;
	font-size: 26px;
	letter-spacing: -0.7px;
}

.cc-step-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin: 30px 0 22px;
	text-align: left;
}

.cc-step {
	padding: 17px 16px 12px;
	background: linear-gradient(120deg, #2c2523, #1d1816);
	border: 1px solid #ffffff07;
	border-radius: 12px;
}

.cc-step-number {
	display: inline-block;
	margin: 0;
	padding: 3px 9px;
	border-radius: 15px;
	background: var(--wp--preset--gradient--brand-soft);
	color: var(--cc-ink);
	font-size: 6px;
	font-weight: 700;
	line-height: 1.65;
	opacity: 1;
}

h3.cc-step-title {
	margin-top: 10px;
	font-family: var(--cc-body);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: normal;
}

.cc-step p:not(.cc-step-number) {
	margin: 7px 0;
	font-size: 8px;
}

.cc-learn {
	padding: 50px 24px;
	background: linear-gradient(100deg, #302921, #201a18 43%, #302527 80%, #17120f);
}

.cc-learn-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 35px;
	max-width: 500px;
	margin: auto;
}

.cc-learn-inner h2 {
	font-size: 25px;
}

.cc-learn-main p:not(.cc-text-link) {
	margin: 12px 0;
}

.cc-learn-image {
	margin-top: 22px;
}

.cc-learn-image img {
	width: 210px;
	max-width: 100%;
	height: 125px;
	object-fit: contain;
	border-radius: 10px;
	mix-blend-mode: screen;
	opacity: 0.9;
}

.cc-learn-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.cc-learn-list li {
	--cc-icon-size: 13px;
	--cc-icon: var(--cc-ico-check);
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 10px;
	padding: 9px 0;
	border-bottom: 1px solid #ffffff0b;
}

.cc-learn-list li::before {
	color: var(--cc-pink);
}

/* ==========================================================================
   7. RECURSOS
   ========================================================================== */
.cc-resources {
	padding-top: 55px;
	padding-bottom: 50px;
}

.cc-toolkit-main {
	width: 365px;
	max-width: 100%;
	margin: 38px auto 26px;
}

.cc-toolkit-main img {
	width: 100%;
	height: 235px;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.cc-resource-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	max-width: 480px;
	margin: auto auto 22px;
}

.cc-resource {
	padding: 12px 10px;
	background: linear-gradient(130deg, #fffdf8, #f5eeee);
	border: 1px solid #ede6df;
	border-radius: 9px;
}

.cc-resource:last-child {
	grid-column: 2;
	background: #f6edf2;
}

.cc-resource-image {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 118px;
	overflow: hidden;
}

.cc-resource-image figure {
	flex-shrink: 0;
}

.cc-resource-image img {
	width: 190px;
	height: 135px;
	object-fit: cover;
	mix-blend-mode: multiply;
}

.cc-resource p {
	margin: 12px 0 0;
	font-size: 8px;
	line-height: 1.5;
}

.cc-resource-0 img { object-position: 0% 0%; }
.cc-resource-1 img { object-position: 45% 0%; transform: scale(1.35); }
.cc-resource-2 img { object-position: 90% 0%; transform: scale(1.4); }
.cc-resource-3 img { object-position: 0% 35%; transform: scale(1.5); }
.cc-resource-4 img { object-position: 45% 35%; transform: scale(1.7); }
.cc-resource-5 img { object-position: 90% 35%; transform: scale(1.25); }
.cc-resource-6 img { object-position: 0% 70%; }

/* ==========================================================================
   8. BONOS
   ========================================================================== */
.cc-bonuses {
	background: var(--cc-cream);
	padding-top: 60px;
	padding-bottom: 50px;
	text-align: left;
}

.cc-bonuses .cc-btns {
	justify-content: center;
	margin-top: 25px;
}

.cc-bonus-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 30px;
}

.cc-bonus {
	padding: 16px;
	background: linear-gradient(120deg, #fffcf5, #f6eaf0);
	border: 1px solid #f4e8df;
	border-radius: 8px;
}

.cc-bonus .cc-bonus-name {
	margin: 12px 0 0;
	font-size: 9px;
}

.cc-bonus:last-child {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 18px;
	width: 65%;
	margin: auto;
}

.cc-bonus:last-child .cc-bonus-name {
	max-width: 130px;
	margin: 0;
}

.cc-bonus-cover {
	position: relative;
	width: 100px;
	height: 132px;
	margin: auto;
	padding: 8px;
	overflow: hidden;
	background: #f4daea;
	border: 1px solid #dbbba6;
	box-shadow: 4px 4px 0 #d7c6ba, 8px 9px 12px #6a4e2420;
	transform: rotate(-4deg);
}

.cc-bonus-cover .cc-cover-label {
	margin: 0;
	font-size: 4px;
	letter-spacing: 1px;
	line-height: 1.65;
}

.cc-bonus-cover .cc-cover-title {
	position: relative;
	z-index: 1;
	margin: 12px 0 0;
	font-family: var(--cc-display);
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
}

.cc-bonus-cover figure {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 75px;
	height: 73px;
}

.cc-bonus-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	mix-blend-mode: multiply;
}

.cc-cover-1 { width: 75px; border-radius: 8px; background: #fff; transform: rotate(6deg); }
.cc-cover-2 { width: 170px; height: 112px; border: 6px solid #35302d; background: #ece4d7; transform: none; }
.cc-cover-2 figure { width: 85px; height: 95px; }
.cc-cover-3 { background: #fff3a5; transform: rotate(-2deg); }
.cc-cover-3 .cc-cover-title { font-family: var(--cc-body); font-weight: 800; }
.cc-cover-4 { flex-shrink: 0; width: 84px; height: 105px; background: #f8f0b9; }

/* ==========================================================================
   9. MENTORA Y COMUNIDAD
   ========================================================================== */
.cc-mentor {
	padding-top: 30px;
	padding-bottom: 0;
	text-align: left;
}

.cc-mentor-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 500px;
	margin: auto;
}

.cc-mentor-copy {
	width: 60%;
}

.cc-mentor h2 {
	font-size: 25px;
}

.cc-mentor-copy p:not(.cc-eyebrow):not(.cc-small-note) {
	margin: 16px 0;
	font-size: 9px;
}

.cc-mentor-photo {
	width: 185px;
}

.cc-mentor-photo img {
	display: block;
	width: 100%;
	height: 290px;
	object-fit: cover;
	object-position: center 22%;
	mix-blend-mode: multiply;
}

.cc-community {
	background:
		radial-gradient(ellipse at 0 60%, #f8e8ef, transparent 25%),
		var(--cc-cream);
	padding-top: 48px;
	padding-bottom: 45px;
}

.cc-community h2 {
	font-size: 26px;
}

.cc-community p:not(.cc-eyebrow) {
	font-size: 9px;
}

/* ==========================================================================
   10. PREGUNTAS FRECUENTES
   ========================================================================== */
.cc-faq {
	padding: 55px 24px;
	background:
		radial-gradient(ellipse at 100% 70%, #393132, transparent 20%),
		linear-gradient(#ffffff06 1px, transparent 1px),
		linear-gradient(90deg, #ffffff06 1px, transparent 1px),
		#120e0c;
	background-size: auto, 70px 70px, 70px 70px, auto;
	color: var(--cc-paper);
}

.cc-faq h2 {
	font-size: 24px;
}

.cc-faq-list {
	max-width: 350px;
	margin: 26px auto 0;
	text-align: left;
}

.cc-faq-item {
	margin-bottom: 7px;
	background: #241e1c;
	border: 1px solid #ffffff08;
	border-radius: 3px;
}

.cc-faq-item summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 12px;
	font-size: 8px;
	cursor: pointer;
	list-style: none;
}

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

.cc-faq-item summary::after {
	content: "";
	flex-shrink: 0;
	box-sizing: content-box;
	width: 14px;
	height: 14px;
	padding: 2px;
	border: 1px solid #ffffff25;
	border-radius: 50%;
	background: var(--cc-ico-plus-light) center / 14px no-repeat;
	transition: transform 0.2s;
}

.cc-faq-item[open] summary::after {
	transform: rotate(45deg);
}

.cc-faq-item p {
	margin: 0;
	padding: 0 12px 8px;
	font-size: 9px;
	opacity: 0.75;
}

.cc-faq-item p:last-child {
	padding-bottom: 14px;
}

.cc-faq .cc-btns {
	margin-top: 14px;
}

/* ==========================================================================
   11. ACCESO Y PIE DE PÁGINA
   ========================================================================== */
.cc-access {
	padding-top: 55px;
	padding-bottom: 35px;
}

.cc-access-panel {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 25px;
	max-width: 410px;
	margin: 28px auto 45px;
	padding: 28px 25px;
	text-align: left;
	background: #fffefa;
	border: 1px solid #f0e9e3;
	border-radius: 16px;
	box-shadow: 0 10px 28px #3d2e2116;
}

.cc-eyebrow--small {
	font-size: 5px;
	letter-spacing: 0.7px;
}

.cc-check-list {
	list-style: none;
	padding: 0;
	margin: 15px 0;
}

.cc-check-list li {
	--cc-icon: var(--cc-ico-check);
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin: 9px 0;
	font-size: 7px;
	line-height: 1.6;
}

.cc-price-label {
	margin: 0;
	font-size: 6px;
	letter-spacing: 1px;
	line-height: 1.65;
}

.cc-price {
	margin: 16px 0 8px;
	font-family: var(--cc-display);
	font-size: 35px;
	line-height: 1.3;
}

.cc-price small {
	font-size: 9px;
}

.cc-access-price .cc-price-text {
	margin: 8px 0 15px;
	font-size: 7px;
}

.cc-access-price .cc-btns,
.cc-mentor .cc-btns {
	justify-content: flex-start;
}

.cc-access-price .cc-cta .wp-block-button__link {
	padding: 8px 12px;
	font-size: 6px;
	white-space: nowrap;
}

.cc-access-price .cc-small-note {
	font-size: 6px;
	letter-spacing: 0;
}

h3.cc-last-title {
	font-family: var(--cc-display);
	font-size: 17px;
	font-weight: 400;
}

.cc-last-note p {
	margin: 10px 0;
	font-size: 8px;
}

.cc-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 500px;
	margin: auto;
	padding: 20px 0;
	color: #8d807a;
}

.cc-footer p {
	margin: 0;
	font-size: 6px;
}

.cc-footer .cc-footer-brand {
	font-family: var(--cc-display);
	font-size: 12px;
	color: var(--cc-ink);
}

/* ==========================================================================
   12. VENTANA DE ACCESO (MODAL) — solo CSS con :target, sin JavaScript
   ========================================================================== */
.cc-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 30;
	align-items: center;
	justify-content: center;
	padding: 25px;
	background: #15110fb3;
}

.cc-modal:target {
	display: flex;
}

.cc-modal-box {
	position: relative;
	width: 440px;
	max-width: 100%;
	padding: 45px 35px;
	text-align: center;
	background: var(--cc-paper);
	color: var(--cc-ink);
	border: 1px solid var(--cc-pink);
	border-radius: 16px;
}

.cc-modal-box .cc-modal-text {
	margin: 22px 0;
	font-size: 12px;
}

.cc-modal-close {
	position: absolute;
	top: 14px;
	right: 14px;
	margin: 0;
}

.cc-close-btn .wp-block-button__link {
	--cc-icon-size: 20px;
	--cc-icon: var(--cc-ico-x);
	display: block;
	padding: 8px;
	border: 0;
	background: transparent;
	color: var(--cc-ink);
	font-size: 0;
	line-height: 1;
}

/* ==========================================================================
   13. ASESORÍA 1-1 Y CHECKOUT
   Reutilizan los componentes de la landing (portada, rejilla, pasos, panel de
   precio y preguntas frecuentes); aquí solo van las piezas propias del checkout.
   ========================================================================== */
.cc-checkout {
	min-height: 70vh;
	padding-top: 35px;
	background:
		radial-gradient(ellipse at 0 30%, #fff6d8, transparent 35%),
		radial-gradient(ellipse at 100% 85%, #f9e8f1, transparent 35%),
		var(--cc-cream);
}

.cc-checkout-brand {
	margin: 0 0 40px;
	font-family: var(--cc-display);
	font-size: 16px;
	line-height: 0.9;
}

.cc-checkout-brand em {
	font-size: 19px;
	font-style: italic;
}

.cc-checkout .cc-access-panel {
	margin-top: 28px;
	margin-bottom: 25px;
}

.cc-order-title {
	margin: 12px 0 0;
	font-family: var(--cc-display);
	font-size: 14px;
	line-height: 1.2;
}

.cc-checkout-back {
	margin: 0;
}

.cc-checkout-back a {
	font-size: 7px;
	letter-spacing: 0.7px;
	color: #8d797f;
}

/* --- Asesoría 1-1: portada --- */
.cc-hero--oferta.wp-block-cover {
	padding-bottom: 36px;
}

.cc-hero-kicker {
	margin: 0 0 10px;
	font-size: 7px;
	font-weight: 700;
	letter-spacing: 1.8px;
	line-height: 1.65;
	color: var(--cc-pink);
}

.cc-hero--oferta h1.cc-hero-title {
	max-width: 330px;
	font-size: 21px;
	line-height: 1.12;
	letter-spacing: -0.5px;
}

.cc-hero--oferta .cc-hero-text {
	max-width: 330px;
}

.cc-check-list--hero {
	max-width: 330px;
	margin: 12px 0;
}

.cc-check-list--hero li {
	margin: 6px 0;
	font-size: 8px;
}

.cc-check-list--hero li::before {
	color: var(--cc-pink);
}

.cc-check-list--grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 14px;
	margin: 18px 0 12px;
}

.cc-hero-price {
	margin: 4px 0 0;
	font-size: 7px;
	line-height: 1.65;
	opacity: 0.85;
}

.cc-trust-bar {
	padding: 14px 0;
	overflow: hidden;
	white-space: nowrap;
	background: var(--cc-ink);
	color: var(--cc-paper);
	border-top: 1px solid #ffffff14;
}

.cc-trust-track {
	display: flex;
	align-items: center;
	width: max-content;
	animation: cc-marquee 40s linear infinite;
}

.cc-trust-bar:hover .cc-trust-track {
	animation-play-state: paused;
}

.cc-trust-track p {
	flex-shrink: 0;
	margin: 0;
	font-size: 8px;
	letter-spacing: 1px;
	line-height: 1.65;
}

.cc-trust-track p::after {
	content: "✦";
	margin: 0 28px;
	color: var(--cc-pink);
}

/* --- Asesoría 1-1: textos, listas y citas --- */
.cc-quote {
	margin: 22px 0;
	font-family: var(--cc-display);
	font-size: 15px;
	font-style: italic;
	line-height: 1.3;
	opacity: 1;
}

.cc-pain-list,
.cc-cross-list {
	list-style: none;
	max-width: 320px;
	margin: 14px auto;
	padding: 0;
	text-align: left;
}

.cc-pain-list li,
.cc-cross-list li {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 7px 0;
	font-size: 10px;
	line-height: 1.5;
}

.cc-pain-list li::before {
	content: "";
	flex-shrink: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--cc-pink);
}

.cc-cross-list li {
	--cc-icon-size: 11px;
	--cc-icon: var(--cc-ico-x);
	font-size: 9px;
}

.cc-cross-list li::before {
	color: var(--cc-pink);
}

.cc-learn-list--block {
	max-width: 360px;
	margin: 18px auto;
	text-align: left;
}

.cc-check-list--wide {
	max-width: 340px;
	margin: 14px auto;
	text-align: left;
}

.cc-check-list--wide li {
	align-items: center;
	margin: 7px 0;
	font-size: 9px;
}

.cc-check-list--wide li::before,
.cc-testimonial .cc-check-list li::before {
	color: var(--cc-pink);
}

.cc-fitsec {
	text-align: center;
}

.cc-fit-list {
	display: grid;
	gap: 10px;
	margin: 24px 0;
	text-align: left;
}

.cc-fit {
	padding: 14px 16px;
	background: #fffefa;
	border: 1px solid #f0e9e3;
	border-radius: 10px;
}

h3.cc-fit-title {
	--cc-icon-size: 13px;
	--cc-icon: var(--cc-ico-check);
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-family: var(--cc-body);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: normal;
}

h3.cc-fit-title::before {
	color: var(--cc-pink);
}

.cc-fit p {
	margin: 7px 0 0 21px;
	font-size: 8px;
	line-height: 1.7;
}

.cc-not-for {
	margin: 30px 0 0;
	padding: 20px;
	text-align: left;
	background: #ffffff80;
	border: 1px dashed #d9c9c0;
	border-radius: 12px;
}

.cc-not-for p {
	margin: 10px 0 0;
	font-size: 8px;
}

.cc-fitsec h3.cc-last-title,
.cc-includes h3.cc-last-title,
.cc-about h3.cc-last-title {
	margin-top: 30px;
}

.cc-step-grid--stack {
	grid-template-columns: 1fr;
}

.cc-step-grid--light .cc-step {
	background: #fffefa;
	border-color: #ede6df;
	color: var(--cc-ink);
}

.cc-step-grid--light .cc-step p:not(.cc-step-number) {
	opacity: 0.8;
}

.cc-step .cc-learn-list li {
	--cc-icon-size: 11px;
	padding: 5px 0;
	font-size: 8px;
}

.cc-step-grid--light .cc-learn-list li {
	border-bottom-color: #0000000d;
}

.cc-about-photo {
	width: 190px;
	margin: 0 auto 28px;
}

.cc-about-photo img {
	display: block;
	width: 100%;
	height: 250px;
	object-fit: cover;
	object-position: center 20%;
	border-radius: 95px 95px 12px 12px;
}

.cc-about p,
.cc-closing p,
.cc-problem p {
	font-size: 10px;
}

.cc-about .cc-quote,
.cc-closing .cc-quote,
.cc-problem .cc-quote {
	font-size: 15px;
}

/* --- Asesoría 1-1: testimonios --- */
.cc-testimonial {
	overflow: hidden;
	text-align: left;
	padding: 18px;
	background: linear-gradient(120deg, #fffdf8, #f5eeee);
	border: 1px solid #ede6df;
	border-radius: 12px;
}

.cc-testimonial .cc-testimonial-name {
	margin: 0;
	font-family: var(--cc-display);
	font-size: 17px;
	line-height: 1.1;
}

.cc-testimonial .cc-testimonial-role {
	margin: 4px 0 0;
	font-size: 6px;
	letter-spacing: 0.8px;
	color: #8d797f;
}

.cc-testimonial .cc-testimonial-quote {
	margin: 12px 0;
	font-family: var(--cc-display);
	font-size: 13px;
	font-style: italic;
	line-height: 1.35;
}

.cc-testimonial .cc-check-list {
	margin: 10px 0;
}

.cc-testimonial .cc-check-list li {
	margin: 6px 0;
	font-size: 8px;
}

/* --- Video, tabla comparativa, carrusel automático y precio con descuento --- */
.cc-video {
	max-width: 330px;
	margin: 0 auto;
}

.cc-video video {
	display: block;
	width: 100%;
	border-radius: 14px;
	background: var(--cc-ink);
	box-shadow: 0 10px 28px #3d2e2124;
	cursor: pointer;
}

.cc-testimonial .cc-video {
	max-width: none;
	margin: -18px -18px 14px;
}

.cc-testimonial .cc-video video {
	border-radius: 0;
	box-shadow: none;
}

/* En la web pública se oculta lo que aún no tiene video; en el editor siempre se ve. */
body:not(.editor-styles-wrapper) .cc-video:empty,
body:not(.editor-styles-wrapper) .cc-video-section:not(:has(video)) {
	display: none;
}

.cc-compare-title::after {
	content: "";
	display: block;
	width: 50px;
	height: 3px;
	margin: 12px auto 0;
	border-radius: 3px;
	background: var(--wp--preset--gradient--brand);
}

.cc-compare.wp-block-table {
	margin: 28px 0 24px;
	overflow: hidden;
	background: #fffefa;
	border: 1px solid #f0e9e3;
	border-radius: 14px;
	box-shadow: 0 10px 28px #3d2e2112;
}

.cc-compare.wp-block-table table {
	border-collapse: collapse;
	text-align: left;
}

.cc-compare.wp-block-table thead {
	border: 0;
}

.cc-compare.wp-block-table th,
.cc-compare.wp-block-table td {
	padding: 12px 14px;
	border: 0;
	border-bottom: 1px solid #f4efeb;
	vertical-align: middle;
}

.cc-compare.wp-block-table th {
	font-size: 6px;
	font-weight: 700;
	letter-spacing: 1.5px;
	line-height: 1.65;
	color: #8d797f;
}

.cc-compare.wp-block-table th:last-child {
	color: #e85d8a;
	background: #fdeef4;
}

.cc-compare.wp-block-table td {
	font-size: 8px;
	line-height: 1.5;
}

.cc-compare.wp-block-table td:first-child {
	--cc-icon: var(--cc-ico-x);
	color: #7a6b66;
}

.cc-compare.wp-block-table td:last-child {
	--cc-icon: var(--cc-ico-heart);
	font-weight: 700;
	background: #fdf2f6;
}

.cc-compare.wp-block-table tr:last-child td {
	border-bottom: 0;
}

.cc-compare td::before {
	--cc-icon-size: 11px;
	display: inline-block;
	margin-right: 8px;
	vertical-align: -2px;
	color: #c4b5ae;
}

.cc-compare td:last-child::before {
	color: #e85d8a;
}

.cc-gallery--cards {
	position: relative;
	max-width: none;
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.cc-gallery--cards::-webkit-scrollbar {
	display: none;
}

.cc-gallery--cards > .cc-testimonial {
	flex: 0 0 calc((100% - 12px) / 2);
	scroll-snap-align: start;
}

.cc-carousel--wide {
	max-width: none;
	margin: 26px 0;
}

.cc-dots {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 14px;
}

.cc-dots button {
	width: 6px;
	height: 6px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: #d9c9c0;
	cursor: pointer;
	transition: width 0.2s, background 0.2s;
}

.cc-dots button.is-active {
	width: 16px;
	background: var(--cc-pink);
}

.cc-access-price .cc-price-old {
	margin: 14px 0 0;
	font-size: 7px;
	line-height: 1.65;
	color: #8d797f;
}

.cc-price-old s {
	color: #e85d8a;
	text-decoration-thickness: 1.5px;
}

.cc-access-price .cc-price-old + .cc-price {
	margin-top: 2px;
}

.cc-access-price .cc-price-badge {
	display: inline-block;
	margin: 0 0 4px;
	padding: 3px 9px;
	border-radius: 12px;
	background: var(--wp--preset--gradient--brand-soft);
	font-size: 6px;
	font-weight: 700;
	letter-spacing: 0.5px;
	line-height: 1.65;
	color: var(--cc-ink);
}

/* --- Asesoría 1-1: precio individual --- */
.cc-access-panel--single {
	grid-template-columns: 1fr;
	max-width: 300px;
	margin: 28px auto;
	text-align: center;
}

/* ==========================================================================
   14. PLANTILLAS GENÉRICAS (CABECERA, ENTRADAS, 404)
   ========================================================================== */
.cc-site-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 500px;
	margin: auto;
	padding: 20px 24px;
}

.cc-site-title,
.cc-site-title a {
	font-family: var(--cc-display);
	font-size: 16px;
	line-height: 1;
}

.cc-site-header .wp-block-navigation {
	font-size: 9px;
}

.cc-content {
	padding: 40px 24px 60px;
}

.cc-content .wp-block-post-title {
	font-size: 27px;
}

.cc-content p,
.cc-content li {
	font-size: 12px;
}

.cc-content .wp-block-post-template {
	padding: 0;
	list-style: none;
}

.cc-content .wp-block-post-template > li {
	margin-bottom: 32px;
}

.cc-content .wp-block-post-date,
.cc-content .wp-block-post-excerpt {
	margin-top: 8px;
}

.cc-content .wp-block-post-date {
	font-size: 8px;
	color: #8d797f;
}

.cc-not-found {
	text-align: center;
}

.cc-not-found .cc-btns {
	justify-content: center;
}

/* ==========================================================================
   15. ESCALA EN ESCRITORIO
   El diseño original está pensado en 500px de ancho con textos de 7 a 12px.
   En pantallas anchas se amplía todo el sitio con un único valor (--cc-zoom).
   Para hacerlo más grande o más pequeño, cambia solo estos números.
   ========================================================================== */
:root {
	--cc-zoom: 1;
}

@media (min-width: 651px) {
	:root { --cc-zoom: 1.35; }
}

@media (min-width: 1024px) {
	:root { --cc-zoom: 1.65; }
}

@media (min-width: 1600px) {
	:root { --cc-zoom: 1.9; }
}

.wp-site-blocks {
	zoom: var(--cc-zoom);
}

/* ==========================================================================
   16. MÓVIL (HASTA 650PX)
   ========================================================================== */
@media (max-width: 650px) {
	body { font-size: 13px; }
	h2 { font-size: 27px; }
	p,
	:where(.cc-section) p { font-size: 11px; }

	.cc-desktop { display: none; }
	.cc-section { padding: 50px 22px; }

	.cc-cta .wp-block-button__link { min-height: 44px; padding: 11px 14px; font-size: 8px; }

	/* Portada */
	.cc-hero.wp-block-cover { min-height: 610px; }
	.cc-hero .wp-block-cover__image-background { object-position: 65% center; }
	.cc-hero .wp-block-cover__background.has-background-gradient {
		background: linear-gradient(90deg, #15110fec, #15110fab 48%, #15110f22) !important;
	}
	.cc-hero .wp-block-cover__inner-container { max-width: none; margin: 0 25px; padding-top: 28px; width: auto; }
	.cc-brand { font-size: 19px; margin-bottom: 30px; }
	h1.cc-hero-title { font-size: 37px; max-width: 270px; }
	.cc-hero-text { font-size: 11px; margin: 22px 0; }
	.cc-hero .cc-cta .wp-block-button__link { font-size: 9px; padding: 12px 16px; }
	.cc-brand-strip { height: 47px; font-size: 12px; padding: 0 20px; justify-content: flex-start; }

	/* Transformación */
	.cc-gallery { gap: 7px; }
	.cc-card { height: 160px; flex-basis: calc((100% - 14px) / 3); }
	.cc-gallery .cc-card p { left: 5px; font-size: 5px; }
	.cc-possibility-grid { grid-template-columns: 1fr 1fr; }
	.cc-possibility { min-height: 52px; }
	.cc-possibility p { font-size: 10px; }

	/* Método */
	.cc-step-grid { gap: 9px; }
	.cc-step { padding: 15px 12px; }
	h3.cc-step-title { font-size: 14px; }
	.cc-step p:not(.cc-step-number) { font-size: 10px; }
	.cc-method > .cc-section { padding-top: 55px; padding-bottom: 55px; }
	.cc-learn-inner { gap: 20px; }
	.cc-learn-inner h2 { font-size: 23px; }
	.cc-learn-list li { font-size: 9px; }
	.cc-learn-image img { width: 100%; height: 110px; }
	.cc-learn .cc-text-link a { font-size: 5px; }

	/* Recursos */
	.cc-toolkit-main { width: 100%; margin: 20px auto; }
	.cc-toolkit-main img { height: 210px; }
	.cc-resource-grid { gap: 8px; }
	.cc-resource { padding: 9px 5px; }
	.cc-resource-image { height: 100px; }
	.cc-resource p { font-size: 8px; }
	.cc-resource-image img { width: 140px; height: 110px; }

	/* Bonos */
	.cc-bonus-grid { gap: 10px; }
	.cc-bonus { padding: 13px 10px; }
	.cc-bonus .cc-bonus-name { font-size: 9px; }
	.cc-cover-2 { width: 135px; height: 100px; }
	.cc-bonus:last-child { width: 80%; }

	/* Mentora y comunidad */
	.cc-mentor.cc-section { padding: 30px 20px 0; }
	.cc-mentor-copy { width: 59%; }
	.cc-mentor h2 { font-size: 23px; }
	.cc-mentor-copy p:not(.cc-eyebrow):not(.cc-small-note) { font-size: 10px; }
	.cc-mentor-photo { width: 40%; }
	.cc-mentor .cc-cta .wp-block-button__link { font-size: 6px; padding: 8px 10px; }
	.cc-community h2 { font-size: 24px; }

	/* Preguntas frecuentes */
	.cc-faq-item summary { padding: 13px 12px; font-size: 10px; }
	.cc-faq-item p { font-size: 11px; }

	/* Acceso y pie */
	.cc-access-panel { gap: 15px; padding: 23px 16px; }
	.cc-check-list li { font-size: 8px; }
	.cc-access-price .cc-cta .wp-block-button__link { padding: 9px 8px; font-size: 6px; }
	.cc-price { font-size: 33px; }
	.cc-access-price .cc-price-text { font-size: 8px; }
	.cc-access .cc-last-note p { font-size: 10px; }
	.cc-hero--oferta h1.cc-hero-title { font-size: 26px; max-width: 300px; }
	.cc-hero--oferta .cc-hero-text,
	.cc-check-list--hero { max-width: 300px; }
	.cc-check-list--hero li { font-size: 10px; }
	.cc-hero-price { font-size: 8px; }
	.cc-pain-list li { font-size: 11px; }
	.cc-cross-list li { font-size: 10px; }
	.cc-check-list--wide li { font-size: 10px; }
	.cc-fit p,
	.cc-not-for p { font-size: 10px; }
	h3.cc-fit-title { font-size: 12px; }
	.cc-testimonial .cc-check-list li { font-size: 9px; }
	.cc-step .cc-learn-list li { font-size: 10px; }
	.cc-faq-item p { font-size: 11px; }
	.cc-gallery--cards > .cc-testimonial { flex-basis: 84%; }
	.cc-compare.wp-block-table th { font-size: 6px; padding: 11px 10px; }
	.cc-compare.wp-block-table td { padding: 11px 10px; font-size: 10px; }
	.cc-access-price .cc-price-old { font-size: 8px; }
	.cc-checkout { padding-top: 28px; }
	.cc-checkout-brand { margin-bottom: 30px; }
	.cc-footer { max-width: none; margin: 0 22px; padding: 20px 0; }
	.cc-footer p { font-size: 7px; }
}

/* ==========================================================================
   17. PÁGINAS DE DISEÑO — ESTRUCTURA COMÚN (Animaciones y Mentoría Premium)
   Estas páginas se diseñaron a tamaño de escritorio normal, por eso se
   desactiva la ampliación de la sección 15.
   ========================================================================== */
.wp-site-blocks:has(.cc-d) {
	zoom: 1;
}

.cc-d {
	overflow-x: clip;
}

.cc-d p {
	margin: 0 0 1em;
	font-size: 16px;
	line-height: 1.75;
}

.cc-d h1,
.cc-d h2,
.cc-d h3,
.cc-d h4 {
	margin: 0 0 10px;
	font-weight: 400;
	letter-spacing: normal;
}

.cc-d figure.wp-block-image {
	margin: 0 0 30px;
}

.cc-d figure.wp-block-image img {
	display: block;
	max-width: 100%;
	height: auto;
}

.cc-d .wp-block-cover {
	min-height: 0;
	padding: 0;
	align-items: stretch;
}

.cc-d .wp-block-cover__inner-container {
	width: 100%;
}

.cc-d-section {
	position: relative;
	padding: 54px 0;
}

.cc-d-row {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 80%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 27px 0;
}

.cc-d-row--wide { max-width: none; }
.cc-d-row--narrow { max-width: 800px; }
.cc-d-row--right { width: 90%; max-width: 1700px; margin-right: 0; }

.cc-d-c { position: relative; min-width: 0; }
.cc-d-c-1-1 { width: 100%; }
.cc-d-c-1-2 { width: 47.25%; }
.cc-d-c-1-3 { width: 29.667%; }
.cc-d-c-2-3 { width: 64.833%; }
.cc-d-c-1-4 { width: 20.875%; }
.cc-d-c-3-5 { width: 58%; }
.cc-d-c-2-5 { width: 37%; }
.cc-d-c-1-6 { width: 14.5%; }

.cc-a-pad-top { padding-top: 100px; }
.cc-a-pad-top-lg { padding-top: 20%; }
.cc-a-center { text-align: center; }
.cc-a-right { text-align: right; }

.cc-d-btns { margin: 0; }
.cc-d-btns--center { justify-content: center; }
.cc-d-btns--right { justify-content: flex-end; }

.cc-d-social {
	gap: 8px;
	margin: 0;
	padding: 0;
}

.cc-d-social--right { justify-content: flex-end; }

.cc-d-video {
	margin: 0 0 30px;
}

@media (max-width: 980px) {
	.cc-d-row { flex-direction: column; }
	.cc-d-c { width: 100% !important; }
	.cc-a-pad-top, .cc-a-pad-top-lg { padding-top: 0; }
	.cc-d-row--right { width: 80%; margin-right: auto; }
}

/* ==========================================================================
   18. PÁGINA "ANIMACIONES" (joyería) — movimiento al desplazarse en CSS puro
   ========================================================================== */
.cc-page-anim {
	--a-dark: var(--wp--preset--color--cafe-oscuro, #2f251f);
	--a-ivory: var(--wp--preset--color--marfil, #f7f1ec);
	--a-gold: var(--wp--preset--color--bronce, #ac8961);
	--a-sand: var(--wp--preset--color--arena, #ebe4d5);
	--a-ink: var(--wp--preset--color--verde-tinta, #2b3d38);
	--a-bodoni: var(--wp--preset--font-family--bodoni-moda);
	--a-mulish: var(--wp--preset--font-family--mulish, "Mulish", sans-serif);
	font-family: var(--a-mulish);
}

.cc-page-anim p { font-family: var(--a-mulish); }
.cc-page-anim h1, .cc-page-anim h2, .cc-page-anim h3, .cc-page-anim h4 { font-family: var(--a-bodoni); }

.cc-a-text { font-size: 16px; line-height: 1.75; }
.cc-a-text--light { color: #fff; }
.cc-a-text--dark { color: var(--a-dark); }
.cc-a-text--ink { color: var(--a-ink); }
.cc-a-text--loose { line-height: 1.85; }

.cc-a-btn .wp-block-button__link {
	padding: 16px 24px;
	border: 1px solid;
	border-radius: 0;
	font-family: var(--a-mulish);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
	transition: transform 0.2s, opacity 0.2s;
}

.cc-a-btn .wp-block-button__link:hover { transform: translateY(-2px); opacity: 0.9; }
.cc-a-btn--light .wp-block-button__link { background: #fff; border-color: #fff; color: #000; }
.cc-a-btn--dark .wp-block-button__link { background: var(--a-dark); border-color: var(--a-dark); color: #fff; }
.cc-a-btn--gold .wp-block-button__link { background: var(--a-gold); border-color: var(--a-gold); color: #fff; }

.cc-a-h2 {
	font-size: 60px;
	line-height: 1.2;
	color: var(--a-dark);
}

.cc-a-h2--left { max-width: 510px; }
.cc-a-h3 { font-size: 40px; line-height: 1.5; color: var(--a-dark); }

/* --- Cabecera --- */
.cc-a-header { background: var(--a-dark); padding: 0; }
.cc-a-header-row { padding: 6vw 0 0; }
.cc-a-header-row .cc-d-c { padding-bottom: 54px; }
.cc-a-hero-img { margin: -6vw 0 0 -15vw !important; opacity: 0.5; }
.cc-a-header-col { padding-top: 4vw; }

.cc-a-ornament {
	position: absolute;
	top: 0;
	right: -5vw;
	z-index: 0;
	width: 50%;
	margin: 0 !important;
}

.cc-a-title {
	position: relative;
	z-index: 1;
	max-width: 500px;
	margin: 0 0 10px -35%;
	font-size: 100px;
	line-height: 1.1;
	color: #fff;
}

.cc-a-sub {
	position: relative;
	z-index: 1;
	font-size: 24px;
	line-height: 1.5;
	color: #fff;
}

.cc-a-header-col .cc-a-text,
.cc-a-header-col .cc-d-btns { position: relative; z-index: 1; }

.cc-a-hero-img2 { width: 70%; margin: 40px 0 0 auto !important; }

/* --- Categorías --- */
.cc-a-cats { background: var(--a-ivory); }
.cc-a-cats .cc-a-center { text-align: center; }
.cc-a-cat { text-align: center; }

.cc-a-cat-icon {
	position: relative;
	box-sizing: border-box;
	width: 108px;
	height: 108px;
	margin: 0 auto 12px;
	border: 1px solid rgba(43, 61, 56, 0.12);
	border-radius: 110px;
	transition: background 0.3s, box-shadow 0.3s;
}

.cc-a-cat-icon .cc-a-icon {
	position: absolute;
	inset: 24px;
	margin: 0 !important;
	transition: opacity 0.3s;
}

.cc-a-cat-icon .cc-a-icon-light { opacity: 0; }
.cc-a-cat:hover .cc-a-cat-icon { background: var(--a-gold); box-shadow: 0 0 15px 5px rgba(43, 61, 56, 0.12); }
.cc-a-cat:hover .cc-a-icon { opacity: 0; }
.cc-a-cat:hover .cc-a-icon-light { opacity: 1; }

.cc-a-cat-title { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.75; color: var(--a-ink); }

/* --- Galería con parallax --- */
.cc-a-gallery {
	padding: 8% 0;
	background-color: var(--a-dark);
	background-image: radial-gradient(rgba(235, 228, 213, 0.19) 1px, transparent 1.5px);
	background-size: 10px 10px;
}

.cc-a-stage { min-height: 520px; padding: 6vw 0; }

.cc-a-bigtext {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: 15vw;
	font-style: italic;
	line-height: 1.2;
	text-align: center;
	color: var(--a-gold);
}

.cc-a-float { position: absolute; z-index: 0; margin: 0 !important; }
.cc-a-float--1 { top: -8%; right: 5%; width: 20%; }
.cc-a-float--2 { bottom: -15%; left: -4%; width: 27%; }
.cc-a-float--3 { top: -10%; left: 0; width: 8%; }
.cc-a-float--4 { top: -4%; left: 38%; z-index: 2; width: 25%; box-shadow: 0 64px 48px -16px rgba(0, 0, 0, 0.3); }
.cc-a-float--5 { position: relative; }
.cc-a-half { width: 50%; }

/* --- Accesorios --- */
.cc-a-gallery2 { background: var(--a-ivory); }
.cc-a-col-wide { padding: 0 5% 5% 0; }
.cc-a-img70 { width: 70%; margin: 0 0 0 auto !important; }
.cc-a-spin { top: auto; right: 0; bottom: 0; width: 24%; }

/* --- Texto e imagen --- */
.cc-a-textimg { background: var(--a-ivory); }
.cc-a-overlap { margin-right: -20vw !important; position: relative; z-index: 1; }

/* --- Testimonios --- */
.cc-a-testi { background-color: var(--a-sand); }
.cc-a-testi .wp-block-cover__image-background { object-fit: contain; }
.cc-a-testi-inner { padding: 10% 0; }
.cc-a-slider { position: relative; max-width: 800px; margin: 0 auto; padding: 0 60px; }

.cc-a-slides {
	max-width: none;
	gap: 0;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.cc-a-slides::-webkit-scrollbar { display: none; }
.cc-a-slide { flex: 0 0 100%; padding: 0 20px 40px; text-align: center; scroll-snap-align: start; }

.cc-a-quote-mark {
	margin: 0 !important;
	font-size: 120px;
	font-weight: 900 !important;
	line-height: 0.8;
	color: var(--a-dark);
}

.cc-a-slider .cc-arrow-prev { left: -4px; }
.cc-a-slider .cc-arrow-next { right: -4px; }
.cc-a-slider .cc-arrow .wp-block-button__link { background: transparent; border-color: var(--a-dark); color: var(--a-dark); }
.cc-a-slider .cc-dots button { background: rgba(47, 37, 31, 0.3); }
.cc-a-slider .cc-dots button.is-active { background: var(--a-dark); }

/* --- Llamada a la acción --- */
.cc-a-cta { background-color: var(--a-ivory); }
.cc-a-cta .wp-block-cover__image-background { height: 80%; object-fit: fill; }
.cc-a-cta-inner { padding: 6vw 0; }
.cc-a-cta-img { max-width: 500px; }
.cc-a-cta-img--right { margin-left: auto !important; }

/* --- Pie --- */
.cc-a-footer {
	background-color: var(--a-dark);
	background-image: radial-gradient(rgba(235, 228, 213, 0.35) 1px, transparent 1.5px);
	background-size: 6px 6px;
}

.cc-a-footer .wp-block-cover__image-background {
	inset: auto 0 0 auto;
	width: 10vw;
	height: auto;
	object-fit: contain;
}

.cc-a-sub--spaced { margin-bottom: 30px; }
.cc-a-ornament--small { top: 0; right: -10%; width: 10%; margin-top: -15% !important; }

.cc-a-contact { margin: 0 0 10px; font-size: 18px; line-height: 1.8; text-align: right; color: rgba(255, 255, 255, 0.7); }
.cc-a-contact a { color: var(--a-gold); }
.cc-a-footer .cc-d-social .wp-social-link { color: #fff; }

/* --- Movimiento al desplazarse (si el navegador lo admite) --- */
@supports (animation-timeline: view()) {
	.cc-a-float--1, .cc-a-float--2, .cc-a-float--3, .cc-a-float--4, .cc-a-float--5, .cc-a-spin {
		animation-timing-function: linear;
		animation-fill-mode: both;
		animation-timeline: view();
		animation-range: cover 0% cover 100%;
	}
	.cc-a-float--1 { animation-name: cc-a-move-down; }
	.cc-a-float--2 { animation-name: cc-a-move-up-lg; }
	.cc-a-float--3 { animation-name: cc-a-move-up-sm; }
	.cc-a-float--4 { animation-name: cc-a-move-up-xl; }
	.cc-a-float--5 { animation-name: cc-a-move-up; }
	.cc-a-spin { animation-name: cc-a-spin; }
}

@keyframes cc-a-move-down { from { transform: translateY(-40px); } to { transform: translateY(40px); } }
@keyframes cc-a-move-up { from { transform: translateY(50px); } to { transform: translateY(-50px); } }
@keyframes cc-a-move-up-sm { from { transform: translateY(20px); } to { transform: translateY(-20px); } }
@keyframes cc-a-move-up-lg { from { transform: translateY(60px); } to { transform: translateY(-60px); } }
@keyframes cc-a-move-up-xl { from { transform: translateY(80px); } to { transform: translateY(-80px); } }
@keyframes cc-a-spin { from { transform: rotate(40deg); } to { transform: rotate(-40deg); } }

@media (prefers-reduced-motion: reduce) {
	.cc-a-float, .cc-a-spin { animation: none !important; }
}

@media (max-width: 980px) {
	.cc-a-title { margin-left: 0; font-size: 60px; }
	.cc-a-hero-img { margin: 0 !important; }
	.cc-a-ornament { right: 0; }
	.cc-a-h2 { font-size: 32px; }
	.cc-a-h3 { font-size: 20px; }
	.cc-a-text { font-size: 15px; }
	.cc-a-sub { font-size: 16px; }
	.cc-a-overlap { margin-right: 0 !important; }
	.cc-a-cat { margin-bottom: 20px; }
	.cc-a-stage { min-height: 360px; }
	.cc-a-slider { padding: 0 20px; }
	.cc-a-ornament--small { position: static; width: 20%; margin: 0 0 20px auto !important; }
	.cc-a-cta-img { max-height: 400px; object-fit: cover; }
}

@media (max-width: 600px) {
	.cc-a-title { font-size: 24px; }
	.cc-a-h2 { font-size: 20px; }
	.cc-a-text { font-size: 14px; }
	.cc-a-quote-mark { font-size: 80px; }
}

/* ==========================================================================
   19. PÁGINA "MENTORÍA PREMIUM" (flores)
   ========================================================================== */
.cc-page-ment {
	--m-black: #000;
	--m-ivory: var(--wp--preset--color--crema-floral, #f5f3ef);
	--m-sage: var(--wp--preset--color--salvia, #b5a68f);
	--m-terra: var(--wp--preset--color--terracota, #aa6a3c);
	--m-serif: var(--wp--preset--font-family--italiana, "Italiana", serif);
	--m-roboto: var(--wp--preset--font-family--roboto, "Roboto", sans-serif);
	--m-open: var(--wp--preset--font-family--open-sans, "Open Sans", sans-serif);
	font-family: var(--m-roboto);
}

.cc-page-ment h1, .cc-page-ment h2, .cc-page-ment h3 { font-family: var(--m-serif); }
.cc-page-ment h4 { font-family: var(--m-roboto); }

.cc-m-text { font-family: var(--m-open); font-size: 16px; line-height: 1.8; color: #000; }
.cc-m-text--roboto { font-family: var(--m-roboto); }
.cc-m-text--open { font-family: var(--m-open); }
.cc-m-text--light { color: #fff; }
.cc-m-text--ink { color: #242424; }
.cc-m-text--grey { color: #666; }
.cc-m-text--small { font-size: 13px; line-height: 1.7; }
.cc-m-text--lead { font-family: var(--m-roboto); font-size: 18px; line-height: 1.6; }
.cc-m-hero .cc-m-text--lead { color: #fff; }
.cc-m-half { width: 50%; margin-left: auto; }
.cc-m-w60t { width: 60%; }

.cc-m-label,
.cc-m-blurb-title {
	margin: 0;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.7;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--m-sage);
}

.cc-m-label--terra { color: var(--m-terra); }

.cc-m-h1 { font-size: 80px; line-height: 1.2; color: #fff; }
.cc-m-h2 { font-size: 55px; line-height: 1.2; color: #000; }
.cc-m-h2--light { color: #fff; }
.cc-m-h3 { font-family: var(--m-roboto) !important; font-size: 14px; font-weight: 700; line-height: 1.6; color: #fff; }
.cc-m-h3--dark { color: #000; }
.cc-page-ment h3.cc-m-h3--sage { font-family: var(--m-serif) !important; font-size: 25px; font-weight: 400; color: var(--m-sage); }

.cc-m-blurb { margin-bottom: 20px; }
.cc-m-blurb-title { font-weight: 700; letter-spacing: normal; text-transform: none; font-size: 14px; color: #fff; }
.cc-m-blurb-title--terra { letter-spacing: normal; text-transform: uppercase; color: var(--m-terra); }
.cc-m-blurb-title--light { color: #fff; }

.cc-m-btn .wp-block-button__link {
	padding: 20px 30px;
	background: var(--m-ivory);
	border: 2px solid var(--m-terra);
	border-radius: 0;
	font-family: var(--m-roboto);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 1.7;
	text-transform: uppercase;
	color: var(--m-terra);
	transition: background 0.2s, color 0.2s;
}

.cc-m-btn .wp-block-button__link:hover { background: var(--m-terra); color: #fff; }
.cc-m-btn--ghost .wp-block-button__link { background: transparent; border-color: #fff; color: #fff; }
.cc-m-btn--ghost .wp-block-button__link:hover { background: #fff; color: #000; }

.cc-m-divider {
	width: 50%;
	height: 0;
	margin: 0 0 20px;
	border: 0;
	border-top: 2px solid #fff;
	background: none;
	opacity: 1;
}

.cc-m-divider--terra { border-top-color: var(--m-terra); }
.cc-m-divider--right { margin-left: auto; }

.cc-m-arch,
.cc-m-pill { box-sizing: border-box; }
.cc-m-arch img { border: 2px solid #fff; }
.cc-m-arch--top img { border-radius: 400px 400px 0 0; }
.cc-m-arch--bottom img { border-radius: 0 0 400px 400px; }
.cc-m-pill img { border-radius: 400px; }
.cc-m-shadow img { box-shadow: 0 40px 100px -20px rgba(181, 166, 143, 0.4); }
.cc-m-w70 { width: 70%; }
.cc-m-w60 { width: 60%; }
.cc-m-right { margin-left: auto !important; }

.cc-m-row-eq { align-items: stretch; }
.cc-m-logo { margin-bottom: 20px; }

.cc-m-deco { position: absolute; z-index: 1; margin: 0 !important; }
.cc-m-deco--right { top: 50%; right: -10%; width: 42%; transform: translateY(-50%); }
.cc-m-deco--bl { bottom: -7%; left: -20%; width: 42%; }

/* --- Secciones con imagen de fondo --- */
.cc-m-hero { background-color: #000; }
.cc-m-hero .wp-block-cover__image-background { object-position: left center; }
.cc-m-farm,
.cc-m-features { background-color: #000; }

.cc-m-spring,
.cc-m-how,
.cc-m-about,
.cc-m-summer,
.cc-m-gallery,
.cc-m-end { background-color: var(--m-ivory); }

.cc-m-spring .wp-block-cover__image-background { object-fit: none; object-position: left top; }
.cc-m-summer .wp-block-cover__image-background { object-fit: none; object-position: left top; }
.cc-m-about .wp-block-cover__image-background,
.cc-m-gallery .wp-block-cover__image-background { object-fit: none; object-position: right bottom; }

.cc-m-how-img img { max-height: 400px; width: auto; }
.cc-m-steps { border-top: 2px solid var(--m-terra); }

.cc-m-card {
	margin-bottom: 20px;
	padding: 30px;
	background: #fff;
	border: 2px solid var(--m-terra);
}

.cc-m-iconblurb { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 20px; }
.cc-m-icon { flex: 0 0 64px; width: 64px; margin: 0 !important; }
.cc-m-blurb-body { flex: 1; }
.cc-m-iconblurb .cc-m-text { margin: 0; font-family: var(--m-roboto); font-size: 16px; color: var(--m-ivory); }

.cc-m-footer { background: #000; }
.cc-m-end { padding: 54px 0; background: transparent; }

@media (max-width: 980px) {
	.cc-m-h1 { font-size: 40px; }
	.cc-m-h2 { font-size: 28px; }
	.cc-m-text { font-size: 15px; }
	.cc-m-half, .cc-m-w60t { width: 100%; }
	.cc-m-deco--right { right: 0; width: 40vw; }
	.cc-m-deco--bl { right: 0; bottom: 0; left: auto; width: 40vw; }
	.cc-m-w70, .cc-m-w60 { width: 100%; }
	.cc-m-arch img { max-height: 600px; object-fit: cover; }
	.cc-d-btns--right { justify-content: flex-start; }
}

@media (max-width: 600px) {
	.cc-m-h1 { font-size: 32px; }
	.cc-m-h2 { font-size: 22px; }
	.cc-m-text { font-size: 14px; }
	.cc-m-text--lead { font-size: 14px; }
}

/* ==========================================================================
   20. MOVIMIENTO REDUCIDO
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; }
	.cc-brand-track,
	.cc-trust-track { animation: none; }
}
