/*
 * Yoganomada Clases — frontal.
 * Sigue la marca de yoganomada.com (kit de Elementor): fondo arena, títulos en Baskerville y Abel
 * en mayúsculas con mucho aire, texto en Inter, acento coral y radios de 4 px. Las fuentes ya las
 * carga la web; aquí no se añade ninguna.
 * El kit de Elementor aplica estilos enormes a h1-h3 y a los enlaces (`.elementor-kit-N a`), por eso
 * los selectores van con `body .ync` (un punto más de especificidad).
 */
.ync {
	--ync-tinta: #444343;
	--ync-texto: #676262;
	--ync-suave: #5e5858;
	--ync-arena: #f2e0be;
	--ync-arena-claro: #f8efdd;
	--ync-papel: #ffffff;
	--ync-linea: #e4d5b8;
	--ync-coral: #ffa897;
	--ync-coral-oscuro: #b5513f;
	--ync-ok: #4f6b4a;
	--ync-display: "BASKERVILLE", "Libre Baskerville", Georgia, serif;
	--ync-rotulo: "Abel", "Inter", sans-serif;
	--ync-cuerpo: "Inter", system-ui, sans-serif;
	--ync-radio: 4px;
	--ync-curva: cubic-bezier(.16, 1, .3, 1);
	color: var(--ync-texto);
	font-family: var(--ync-cuerpo);
	font-size: 1rem;
	line-height: 1.6;
	box-sizing: border-box;
}
.ync *, .ync *::before, .ync *::after { box-sizing: inherit; }
.ync ::selection { background: var(--ync-coral); color: var(--ync-tinta); }

body .ync a { font: inherit; letter-spacing: inherit; text-transform: none; color: var(--ync-tinta); text-decoration-color: var(--ync-coral); text-underline-offset: .22em; }
body .ync a:hover { color: var(--ync-coral-oscuro); }
body .ync h2, body .ync h3 {
	font-family: var(--ync-rotulo);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--ync-tinta);
	margin: 0 0 1em;
}
.ync :focus-visible { outline: 2px solid var(--ync-coral); outline-offset: 4px; border-radius: 2px; }

/* --- Páginas del plugin y fichas: hueco para la cabecera superpuesta del tema --------------- */
/* Sin foto de cabecera debajo, el menú blanco no se leería sobre la arena: fondo oscuro desde el principio. */
body.ync-pagina .elementor-location-header .elementor-motion-effects-layer { opacity: 1 !important; }
body.ync-pagina .site-main { padding-top: clamp(128px, 13vw, 176px); padding-bottom: clamp(64px, 8vw, 120px); }
body.ync-pagina .page-header { margin-bottom: clamp(32px, 5vw, 56px); }
body.ync-pagina .page-header .entry-title {
	font-family: var(--ync-display);
	font-size: clamp(2.1rem, 5.2vw, 4.25rem);
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #444343;
	margin: 0;
	text-wrap: balance;
}
body.ync-pagina .page-header .entry-title::after {
	content: "";
	display: block;
	width: 60px;
	height: 2px;
	margin-top: .55em;
	background: #ffa897;
}

/* --- Botones ------------------------------------------------------------------------------- */
body .ync .ync-boton,
body .ync button.ync-boton,
body .ync-mi-suscripcion #wp-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .6em;
	min-height: 52px;
	padding: 1em 2em .9em;
	border: 2px solid var(--ync-coral);
	border-radius: var(--ync-radio);
	background: transparent;
	color: var(--ync-tinta);
	font-family: var(--ync-rotulo);
	font-size: .95rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .22em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .35s var(--ync-curva), color .35s var(--ync-curva), transform .35s var(--ync-curva);
}
body .ync .ync-boton:hover,
body .ync-mi-suscripcion #wp-submit:hover { background: var(--ync-coral); color: var(--ync-tinta); }
body .ync .ync-boton:active { transform: translateY(1px); }
body .ync .ync-boton[disabled] { opacity: .55; cursor: progress; }
body .ync .ync-boton--sec { border-color: var(--ync-linea); }
body .ync .ync-boton--sec:hover { background: var(--ync-arena-claro); }
.ync .ync-form-pago { margin: 0; }

/* --- Avisos -------------------------------------------------------------------------------- */
.ync-aviso {
	margin: 0 0 2em;
	padding: 1em 1.25em;
	border: 1px solid var(--ync-linea);
	border-radius: var(--ync-radio);
	background: var(--ync-papel);
	color: var(--ync-tinta);
}
.ync-aviso--ok { border-color: #b8ccb1; background: #f3f7f1; }
.ync-aviso--error { border-color: #f0b8ab; background: #fff4f1; }
.ync-nota { margin: 1em 0 0; color: var(--ync-suave); font-size: .9rem; }

/* --- Biblioteca: filtros ------------------------------------------------------------------- */
.ync-filtros {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) auto;
	gap: 1.5em 2em;
	align-items: end;
	margin: 0 0 clamp(40px, 5vw, 64px);
}
.ync-filtro { display: flex; flex-direction: column; gap: .5em; min-width: 0; }
.ync-filtro > span {
	font-family: var(--ync-rotulo);
	font-size: .78rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--ync-suave);
}
/* El kit de Elementor estiliza `input:not([type=button]):not([type=submit])` (0,3,1). */
body .ync .ync-filtros .ync-filtro input,
body .ync .ync-filtros .ync-filtro select {
	width: 100%;
	box-shadow: none;
	min-height: 46px;
	padding: .55em 0;
	border: 0;
	border-bottom: 1px solid #8a7552;
	border-radius: 0;
	background-color: transparent;
	color: var(--ync-tinta);
	font: 400 1rem/1.3 var(--ync-cuerpo);
	appearance: none;
	transition: border-color .3s var(--ync-curva);
}
body .ync .ync-filtro select {
	padding-right: 1.8em;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23444343' stroke-width='1.4'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right .2em center;
	cursor: pointer;
}
body .ync .ync-filtro input::placeholder { color: var(--ync-suave); opacity: 1; }
body .ync .ync-filtros .ync-filtro input:focus,
body .ync .ync-filtros .ync-filtro select:focus { outline: none; border-bottom-color: var(--ync-tinta); box-shadow: 0 1px 0 0 var(--ync-tinta); }
.ync-filtros .ync-boton { min-height: 46px; padding-inline: 1.6em; }
.ync-limpiar { grid-column: 1 / -1; justify-self: start; display: inline-flex; align-items: center; min-height: 44px; padding-block: .75em; font-size: .9rem; margin-top: -.5em; }

/* --- Biblioteca: galería ------------------------------------------------------------------- */
.ync-rejilla {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(40px, 4.5vw, 64px) clamp(20px, 2.6vw, 36px);
}
.ync-tarjeta { min-width: 0; }
body .ync .ync-tarjeta__enlace { display: block; color: inherit; text-decoration: none; }
.ync-tarjeta__imagen {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: var(--ync-radio);
	background: var(--ync-arena-claro);
}
.ync-tarjeta__imagen img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.001);
	transition: transform 1.1s var(--ync-curva), filter .6s var(--ync-curva);
}
.ync-tarjeta__enlace:hover .ync-tarjeta__imagen img,
.ync-tarjeta__enlace:focus-visible .ync-tarjeta__imagen img { transform: scale(1.045); }
.ync-tarjeta--bloqueada .ync-tarjeta__imagen img { filter: saturate(.72) brightness(.96); }
.ync-tarjeta--bloqueada .ync-tarjeta__enlace:hover .ync-tarjeta__imagen img { filter: saturate(.95) brightness(1); }
.ync-tarjeta__sin-imagen { position: absolute; inset: 0; background: linear-gradient(160deg, #f8efdd, #ecd9b6); }
.ync-insignia,
.ync-candado {
	position: absolute;
	top: 14px;
	left: 14px;
	display: inline-flex;
	align-items: center;
	gap: .5em;
	padding: .6em 1em .55em;
	border-radius: 999px;
	font-family: var(--ync-rotulo);
	font-size: .8rem;
	line-height: 1;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--ync-tinta);
	box-shadow: 0 6px 18px -8px rgba(40, 30, 20, .45);
}
.ync-insignia { background: var(--ync-coral); }
.ync-candado { background: rgba(255, 255, 255, .94); }
.ync-candado svg { width: 13px; height: 13px; flex: none; margin-top: -1px; }
.ync-tarjeta__cuerpo { padding: 1.1em 0 0; }
body .ync .ync-tarjeta__titulo {
	margin: 0 0 .45em;
	font-family: var(--ync-cuerpo);
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ync-tinta);
	text-wrap: balance;
	transition: color .3s var(--ync-curva);
}
.ync-tarjeta__enlace:hover .ync-tarjeta__titulo { color: var(--ync-coral-oscuro); }
.ync-tarjeta__meta {
	margin: 0;
	font-family: var(--ync-rotulo);
	font-size: .875rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ync-suave);
}
.ync-vacio { padding: 3em 0; text-align: center; color: var(--ync-suave); }
.ync-paginacion { display: flex; flex-wrap: wrap; justify-content: center; gap: .5em; margin-top: clamp(48px, 6vw, 80px); }
body .ync .ync-paginacion .page-numbers {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ync-linea);
	border-radius: var(--ync-radio);
	font-family: var(--ync-rotulo);
	letter-spacing: .1em;
	text-decoration: none;
	color: var(--ync-tinta);
}
body .ync .ync-paginacion .current { background: var(--ync-tinta); border-color: var(--ync-tinta); color: #fff; }

/* --- Planes -------------------------------------------------------------------------------- */
.ync-planes__rejilla {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 40px);
	max-width: 920px;
	align-items: stretch;
}
.ync-plan {
	display: flex;
	flex-direction: column;
	padding: clamp(32px, 4vw, 48px) clamp(24px, 3.5vw, 44px);
	border: 1px solid var(--ync-linea);
	border-radius: var(--ync-radio);
	background: rgba(255, 255, 255, .45);
}
.ync-plan { position: relative; }
.ync-plan__sello {
	position: absolute;
	top: -13px;
	left: clamp(24px, 3.5vw, 44px);
	padding: .55em .95em .5em;
	border-radius: 999px;
	background: var(--ync-coral);
	color: var(--ync-tinta);
	font: 400 .78rem/1 var(--ync-rotulo);
	letter-spacing: .2em;
	text-transform: uppercase;
}
.ync-plan--anual {
	border-color: var(--ync-coral);
	background: var(--ync-papel);
	box-shadow: 0 30px 60px -36px rgba(68, 67, 67, .45);
}
body .ync .ync-plan__titulo {
	margin: 0 0 1.6em;
	font-family: var(--ync-rotulo);
	font-size: .95rem;
	font-weight: 400;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--ync-tinta);
}
.ync-plan__precio { display: flex; align-items: baseline; gap: .35em; margin: 0; color: var(--ync-tinta); }
.ync-plan__importe { font-family: var(--ync-rotulo); font-size: clamp(3rem, 5.4vw, 4rem); line-height: 1; letter-spacing: .04em; font-variant-numeric: lining-nums; }
.ync-plan__periodo { font-family: var(--ync-rotulo); font-size: 1rem; letter-spacing: .18em; text-transform: uppercase; color: var(--ync-suave); }
.ync-plan__extra {
	align-self: flex-start;
	margin: 1.1em 0 0;
	padding: .45em .8em .4em;
	border-radius: 999px;
	background: #ffe6df;
	color: #8a3a2c;
	font-size: .85rem;
	font-weight: 500;
}
.ync-plan__desc { flex-grow: 1; margin: 1.4em 0 2em; color: var(--ync-texto); }
.ync-plan .ync-form-pago, .ync-plan .ync-boton { width: 100%; }
body .ync .ync-plan--anual .ync-boton { background: var(--ync-coral); }
body .ync .ync-plan--anual .ync-boton:hover { background: #ff9580; border-color: #ff9580; }
.ync-planes > .ync-nota { max-width: 920px; }

/* Casilla de condiciones (obligatoria antes de pagar) */
.ync-acepto {
	max-width: 920px;
	margin: 0 0 clamp(28px, 3.5vw, 40px);
	padding: 1.1em 1.3em;
	border: 1px solid var(--ync-linea);
	border-radius: var(--ync-radio);
	background: rgba(255, 255, 255, .55);
	transition: border-color .3s var(--ync-curva), background-color .3s var(--ync-curva);
}
.ync-acepto--falta { border-color: #e0806d; background: #fff4f1; }
.ync-acepto__label { display: flex; gap: .85em; align-items: flex-start; min-height: 44px; cursor: pointer; color: var(--ync-tinta); font-size: .95rem; line-height: 1.55; }
body .ync .ync-acepto__label > span {
	font: 400 .95rem/1.55 var(--ync-cuerpo);
	letter-spacing: 0;
	text-transform: none;
	color: var(--ync-tinta);
}
.ync-acepto__label input { flex: none; width: 20px; height: 20px; margin: .15em 0 0; accent-color: #444343; cursor: pointer; }
.ync-acepto__error { margin: .6em 0 0 calc(20px + .85em); color: #8a3a2c; font-size: .9rem; font-weight: 500; }
.ync-acepto__error[hidden] { display: none; }

/* --- Ficha de clase ------------------------------------------------------------------------ */
.ync-clase { margin: 0 0 clamp(40px, 5vw, 64px); }
.ync-video {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--ync-radio);
	background: #1f1c1a;
	box-shadow: 0 40px 80px -50px rgba(40, 30, 20, .6);
}
.ync-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ync-clase__meta {
	margin: 1.4em 0 0;
	font-family: var(--ync-rotulo);
	font-size: .85rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--ync-suave);
}
.ync-bloqueo {
	display: grid;
	justify-items: center;
	gap: .9em;
	margin: 0 0 clamp(32px, 4vw, 48px);
	padding: clamp(40px, 6vw, 72px) clamp(20px, 4vw, 48px);
	border-radius: var(--ync-radio);
	background: var(--ync-papel);
	text-align: center;
}
.ync-bloqueo__icono {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #ffe6df;
	color: #8a3a2c;
}
.ync-bloqueo__icono svg { width: 22px; height: 22px; }
.ync-bloqueo__texto { max-width: 30em; margin: 0; font-size: 1.1rem; color: var(--ync-tinta); text-wrap: balance; }
.ync-bloqueo--foto {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	align-content: center;
	background: #2a2624;
	color: #fff;
}
.ync-bloqueo--foto::before,
.ync-bloqueo--foto::after { content: ""; position: absolute; inset: 0; z-index: -1; }
.ync-bloqueo--foto::before { background: var(--ync-foto) center / cover no-repeat; filter: saturate(.7); transform: scale(1.02); }
.ync-bloqueo--foto::after { background: linear-gradient(180deg, rgba(35, 32, 35, .5), rgba(35, 32, 35, .68)); }
.ync-bloqueo--foto .ync-bloqueo__icono { background: rgba(255, 255, 255, .92); color: var(--ync-tinta); }
.ync-bloqueo--foto .ync-bloqueo__texto { color: #fff; font-size: clamp(1.1rem, 2vw, 1.35rem); }
.ync-bloqueo--foto .ync-nota { color: rgba(255, 255, 255, .88); }
body .ync .ync-bloqueo--foto .ync-nota a { color: #fff; text-decoration-color: var(--ync-coral); }
.ync-bloqueo + .ync-clase__meta { margin: 0 0 clamp(28px, 4vw, 44px); }
.ync-clase .ync-planes { margin-top: 0; }

/* --- Mi suscripción ------------------------------------------------------------------------ */
.ync-mi-suscripcion { max-width: 640px; }
.ync-datos {
	display: grid;
	grid-template-columns: max-content 1fr;
	margin: 0 0 2em;
	padding: .4em clamp(20px, 3vw, 36px);
	border-radius: var(--ync-radio);
	background: var(--ync-papel);
}
.ync-datos dt, .ync-datos dd { padding: 1.05em 0; border-bottom: 1px solid #f0e6d4; }
.ync-datos dt:last-of-type, .ync-datos dd:last-of-type { border-bottom: 0; }
.ync-datos dt {
	padding-right: 2em;
	font-family: var(--ync-rotulo);
	font-size: .8rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--ync-suave);
}
.ync-datos dd { margin: 0; color: var(--ync-tinta); font-weight: 500; font-variant-numeric: tabular-nums; }
.ync-estado { display: inline-block; padding: .3em .8em .25em; border-radius: 999px; background: var(--ync-arena-claro); font-size: .85rem; }
.ync-estado--active, .ync-estado--trialing { background: #e7efe3; color: var(--ync-ok); }
.ync-estado--past_due { background: #fdebd9; color: #87521a; }
.ync-estado--canceled, .ync-estado--unpaid, .ync-estado--incomplete_expired { background: #f6e6e2; color: #7d4d44; }
.ync-mi-suscripcion .ync-form-pago { margin-top: .5em; }
.ync-mi-suscripcion #loginform { margin: 0; padding: clamp(24px, 4vw, 40px); border-radius: var(--ync-radio); background: var(--ync-papel); }
.ync-mi-suscripcion #loginform p { margin: 0 0 1.4em; }
.ync-mi-suscripcion #loginform label {
	display: block;
	margin-bottom: .4em;
	font-family: var(--ync-rotulo);
	font-size: .78rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--ync-suave);
}
.ync-mi-suscripcion #loginform .login-remember label { display: inline-flex; align-items: center; gap: .6em; min-height: 44px; letter-spacing: .12em; cursor: pointer; }
body .ync.ync-mi-suscripcion #loginform input[type="text"],
body .ync.ync-mi-suscripcion #loginform input[type="password"] {
	box-shadow: none;
	width: 100%;
	min-height: 48px;
	padding: .6em 0;
	border: 0;
	border-bottom: 1px solid #8a7552;
	border-radius: 0;
	background: transparent;
	color: var(--ync-tinta);
	font: 400 1rem/1.3 var(--ync-cuerpo);
}
body .ync.ync-mi-suscripcion #loginform input:focus { outline: none; border-bottom-color: var(--ync-tinta); box-shadow: 0 1px 0 0 var(--ync-tinta); }
.ync-mi-suscripcion #loginform input[type="checkbox"] { accent-color: #ffa897; width: 18px; height: 18px; }
.ync-mi-suscripcion #loginform .login-submit { margin-bottom: 0; }
body .ync-mi-suscripcion #wp-submit { width: 100%; background: var(--ync-coral); }

/* --- Página de condiciones (texto legal con la tipografía del plugin) ----------------------- */
body.ync-pagina--legal .page-content { max-width: 72ch; color: #4f4a4a; font: 400 1.0625rem/1.7 "Inter", system-ui, sans-serif; }
body.ync-pagina--legal .page-content h2 {
	margin: 2.4em 0 .7em;
	font: 400 1.05rem/1.35 "Abel", "Inter", sans-serif;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #444343;
}
body.ync-pagina--legal .page-content p,
body.ync-pagina--legal .page-content li { color: #4f4a4a; font-size: inherit; line-height: inherit; letter-spacing: 0; }
body.ync-pagina--legal .page-content ul,
body.ync-pagina--legal .page-content ol { padding-left: 1.3em; margin: 0 0 1.2em; }
body.ync-pagina--legal .page-content li { margin-bottom: .45em; }
body.ync-pagina--legal .page-content strong { color: #444343; font-weight: 600; }
body.ync-pagina--legal .page-content em { color: #676262; }

/* --- Tablet y móvil ------------------------------------------------------------------------ */
@media (max-width: 1024px) {
	.ync-rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ync-filtros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ync-filtros .ync-filtro:first-child { grid-column: 1 / -1; }
	.ync-filtros .ync-boton { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 640px) {
	.ync { font-size: .98rem; }
	.ync-rejilla { grid-template-columns: 1fr; gap: 44px; }
	.ync-filtros { gap: 1.2em 1.25em; }
	.ync-filtros .ync-boton { justify-self: stretch; }
	.ync-planes__rejilla { grid-template-columns: 1fr; }
	.ync-plan--anual { order: -1; }
	.ync-planes__rejilla { row-gap: 32px; }
	.ync-bloqueo--foto { aspect-ratio: auto; min-height: 340px; }
	.ync-datos { grid-template-columns: 1fr; }
	.ync-datos dt { padding: 1em 0 .2em; border-bottom: 0; }
	.ync-datos dd { padding: 0 0 1em; }
	body.ync-pagina .page-header .entry-title { letter-spacing: .1em; }
	body.ync-pagina .site-main { padding-inline: 24px; }
	body.ync-pagina .site-main .page-header,
	body.ync-pagina .site-main .page-content { padding-inline: 0; margin-inline: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.ync *, .ync *::before, .ync *::after { transition-duration: .01ms !important; }
	.ync-tarjeta__enlace:hover .ync-tarjeta__imagen img { transform: none; }
}
