:root {
	--fem-morado: #927397;
	--fem-rosa: #d6809c;
	--fem-melocoton: #fddfd5;
	--fem-crema: #faf5ef;
	--fem-gris: #7f7f7f;
	--fem-texto: #443e45;
	--fem-morado-oscuro: #684f6c;
	--fem-blanco: #ffffff;
	--fem-radio: 22px;
	--fem-sombra: 0 14px 38px rgba(68, 62, 69, 0.09);
	--fem-ancho: 1180px;
}

.femesenz-section {
	box-sizing: border-box;
	color: var(--fem-texto);
	padding: clamp(3.75rem, 7vw, 7rem) clamp(1.25rem, 4vw, 2.5rem);
}

.femesenz-section > .wp-block-group__inner-container,
.femesenz-container {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--fem-ancho);
}

.femesenz-section h1,
.femesenz-section h2,
.femesenz-section h3,
.femesenz-section h4 {
	color: var(--fem-texto);
	letter-spacing: -0.025em;
	line-height: 1.12;
}

.femesenz-section h1 {
	font-size: clamp(2.65rem, 6vw, 5.25rem);
	margin-bottom: 1.25rem;
}

.femesenz-section h2 {
	font-size: clamp(2rem, 4vw, 3.45rem);
	margin-bottom: 1rem;
}

.femesenz-section h3 {
	font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.femesenz-section p,
.femesenz-section li {
	font-size: clamp(1rem, 1.4vw, 1.12rem);
	line-height: 1.72;
}

.femesenz-eyebrow {
	color: var(--fem-morado-oscuro);
	font-size: 0.82rem !important;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin-bottom: 0.75rem;
	text-transform: uppercase;
}

.femesenz-lead {
	font-size: clamp(1.18rem, 2vw, 1.48rem) !important;
	line-height: 1.55 !important;
}

.femesenz-muted { color: var(--fem-gris); }
.femesenz-bg-crema { background: var(--fem-crema); }
.femesenz-bg-melocoton { background: #fff4f0; }
.femesenz-bg-blanco { background: var(--fem-blanco); }
.femesenz-bg-morado { background: var(--fem-morado-oscuro); color: var(--fem-blanco); }
.femesenz-bg-morado h2,
.femesenz-bg-morado h3,
.femesenz-bg-morado p,
.femesenz-bg-morado li { color: var(--fem-blanco); }

.femesenz-hero { overflow: hidden; }
.femesenz-hero .wp-block-columns { align-items: center !important; gap: clamp(2rem, 6vw, 5rem); }
.femesenz-hero-media img,
.femesenz-card-media img,
.femesenz-profile-media img {
	border-radius: var(--fem-radio);
	display: block;
	height: auto;
	width: 100%;
}
.femesenz-hero-media img { box-shadow: var(--fem-sombra); }

.femesenz-actions { gap: 0.75rem; margin-top: 1.75rem; }
.femesenz-actions .wp-block-button__link,
.femesenz-button .wp-block-button__link {
	border: 2px solid var(--fem-morado-oscuro);
	border-radius: 999px;
	font-weight: 700;
	padding: 0.82rem 1.4rem;
	transition: transform 160ms ease, background-color 160ms ease, color 160ms ease;
}
.femesenz-button-primary .wp-block-button__link {
	background: var(--fem-morado-oscuro);
	color: var(--fem-blanco);
}
.femesenz-button-secondary .wp-block-button__link {
	background: transparent;
	color: var(--fem-morado-oscuro);
}
.femesenz-bg-morado .femesenz-button-primary .wp-block-button__link {
	background: var(--fem-blanco);
	border-color: var(--fem-blanco);
	color: var(--fem-morado-oscuro);
}
.femesenz-actions .wp-block-button__link:hover,
.femesenz-button .wp-block-button__link:hover { transform: translateY(-2px); }

.femesenz-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 1.5rem;
}
.femesenz-badge {
	background: var(--fem-blanco);
	border: 1px solid rgba(146, 115, 151, 0.28);
	border-radius: 999px;
	color: var(--fem-morado-oscuro);
	font-size: 0.88rem !important;
	font-weight: 650;
	margin: 0;
	padding: 0.42rem 0.78rem;
}

.femesenz-section-heading {
	margin: 0 auto clamp(2rem, 4vw, 3.5rem);
	max-width: 760px;
	text-align: center;
}

.femesenz-grid {
	display: grid !important;
	gap: clamp(1rem, 2vw, 1.5rem);
}
.femesenz-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.femesenz-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.femesenz-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.femesenz-card {
	background: var(--fem-blanco);
	border: 1px solid rgba(146, 115, 151, 0.14);
	border-radius: var(--fem-radio);
	box-shadow: var(--fem-sombra);
	box-sizing: border-box;
	height: 100%;
	padding: clamp(1.35rem, 2.5vw, 2rem);
}
.femesenz-card > *:first-child { margin-top: 0; }
.femesenz-card > *:last-child { margin-bottom: 0; }
.femesenz-card-accent { background: var(--fem-melocoton); }
.femesenz-icon {
	align-items: center;
	background: var(--fem-melocoton);
	border-radius: 50%;
	color: var(--fem-morado-oscuro);
	display: inline-flex;
	font-size: 1.25rem !important;
	font-weight: 800;
	height: 2.8rem;
	justify-content: center;
	margin-bottom: 1rem;
	width: 2.8rem;
}

.femesenz-highlight {
	background: var(--fem-melocoton);
	border-left: 5px solid var(--fem-rosa);
	border-radius: 0 var(--fem-radio) var(--fem-radio) 0;
	font-size: clamp(1.25rem, 2vw, 1.55rem) !important;
	font-weight: 700;
	padding: 1.5rem;
}

.femesenz-checklist { list-style: none; padding-left: 0; }
.femesenz-checklist li { margin-bottom: 0.65rem; padding-left: 1.75rem; position: relative; }
.femesenz-checklist li::before {
	color: var(--fem-morado-oscuro);
	content: "✓";
	font-weight: 800;
	left: 0;
	position: absolute;
}

.femesenz-price {
	color: var(--fem-morado-oscuro);
	font-size: clamp(2rem, 4vw, 3rem) !important;
	font-weight: 800;
	line-height: 1.1 !important;
}
.femesenz-plan-featured { border: 3px solid var(--fem-rosa); transform: translateY(-0.5rem); }
.femesenz-status {
	background: var(--fem-melocoton);
	border-radius: 999px;
	color: var(--fem-morado-oscuro);
	display: inline-block;
	font-size: 0.78rem !important;
	font-weight: 700;
	letter-spacing: 0.06em;
	padding: 0.35rem 0.65rem;
	text-transform: uppercase;
}

.femesenz-platform-card { border-top: 5px solid var(--fem-morado); }
.femesenz-testimonial blockquote { border: 0; margin: 0; padding: 0; }
.femesenz-testimonial blockquote p { font-size: 1.1rem; font-style: normal; }
.femesenz-testimonial cite { color: var(--fem-morado-oscuro); font-style: normal; font-weight: 700; }

.femesenz-query .wp-block-post-template { gap: 1.5rem; }
.femesenz-query .wp-block-post {
	background: var(--fem-blanco);
	border-radius: var(--fem-radio);
	box-shadow: var(--fem-sombra);
	overflow: hidden;
	padding-bottom: 1.5rem;
}
.femesenz-query .wp-block-post > :not(.wp-block-post-featured-image) { margin-left: 1.5rem; margin-right: 1.5rem; }
.femesenz-query .wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; }
.femesenz-query .wp-block-post-title a { color: var(--fem-texto); text-decoration: none; }

.femesenz-faq details {
	background: var(--fem-blanco);
	border: 1px solid rgba(146, 115, 151, 0.18);
	border-radius: 14px;
	margin-bottom: 0.8rem;
	padding: 1rem 1.2rem;
}
.femesenz-faq summary { color: var(--fem-texto); cursor: pointer; font-weight: 750; }
.femesenz-faq details p { margin-bottom: 0.25rem; }

.femesenz-cta { border-radius: 28px; margin: clamp(2rem, 5vw, 4rem) auto; max-width: var(--fem-ancho); }
.femesenz-center { text-align: center; }

@media (max-width: 900px) {
	.femesenz-grid-4,
	.femesenz-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.femesenz-plan-featured { transform: none; }
}

@media (max-width: 700px) {
	.femesenz-section { padding-left: 1.1rem; padding-right: 1.1rem; }
	.femesenz-grid-4,
	.femesenz-grid-3,
	.femesenz-grid-2 { grid-template-columns: 1fr; }
	.femesenz-hero .wp-block-columns { flex-direction: column; }
	.femesenz-actions { align-items: stretch; flex-direction: column; }
	.femesenz-actions .wp-block-button { width: 100%; }
	.femesenz-actions .wp-block-button__link { box-sizing: border-box; text-align: center; width: 100%; }
	.femesenz-cta { border-radius: 0; margin-bottom: 0; margin-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.femesenz-actions .wp-block-button__link,
	.femesenz-button .wp-block-button__link { transition: none; }
}
