/*
 * Avisos de socia en la parte pública.
 *
 * Pensado para una usuaria con poca soltura digital y, en algunos casos, con
 * problemas de visión: cuerpo de 17 px, contraste alto sobre fondo arena y
 * botones grandes con área de pulsación amplia.
 *
 * Los colores salen de las variables de Divi si existen, con el hex de marca
 * como valor de respaldo.
 */

.cmcc-aviso-socia {
	background-color: var(--cmcc-arena, #EADCCD);
	border-left: 5px solid var(--cmcc-ciruela-oscuro, #3E2233);
	padding: 24px 28px;
	margin: 24px 0;
	border-radius: 4px;
}

.cmcc-aviso-socia p {
	margin: 0 0 16px;
	font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 17px;
	line-height: 1.6;
	color: var(--cmcc-ciruela-oscuro, #3E2233);
}

.cmcc-aviso-socia p:last-child {
	margin-bottom: 0;
}

.cmcc-aviso-socia .button.cmcc-boton-alta,
.cmcc-aviso-socia a.cmcc-boton-alta {
	display: inline-block;
	background-color: var(--cmcc-ciruela-oscuro, #3E2233);
	color: #ffffff;
	font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	padding: 14px 28px;
	border: 0;
	border-radius: 4px;
	text-decoration: none;
	min-height: 48px;
}

.cmcc-aviso-socia .button.cmcc-boton-alta:hover,
.cmcc-aviso-socia .button.cmcc-boton-alta:focus {
	background-color: var(--cmcc-ciruela, #5B3347);
	color: #ffffff;
}

.cmcc-aviso-socia .cmcc-enlace-acceso {
	display: inline-block;
	margin-left: 16px;
	font-size: 16px;
	color: var(--cmcc-ciruela, #5B3347);
	text-decoration: underline;
	padding: 12px 0;
}

.cmcc-aviso-categoria {
	margin-bottom: 32px;
}

/* Aviso de no devolución en el pago. */
.cmcc-aviso-devolucion {
	background-color: var(--cmcc-rosa-cuarzo, #D79AA0);
	padding: 20px 24px;
	margin: 0 0 28px;
	border-radius: 4px;
}

.cmcc-aviso-devolucion p {
	margin: 0;
	font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 17px;
	line-height: 1.6;
	color: var(--cmcc-ciruela-oscuro, #3E2233);
}

/* Campos del alta. */
.cmcc-campos-alta {
	margin-top: 32px;
}

.cmcc-campos-alta h3 {
	font-family: Cinzel, Georgia, serif;
	font-size: 21px;
	color: var(--cmcc-ciruela-oscuro, #3E2233);
	margin: 28px 0 10px;
}

.cmcc-campos-alta .cmcc-texto-legal {
	font-size: 16px;
	line-height: 1.6;
	color: var(--cmcc-ciruela, #5B3347);
	margin: 0 0 14px;
}

.cmcc-campos-alta .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 17px;
	line-height: 1.5;
	padding: 10px 0;
	cursor: pointer;
}

.cmcc-campos-alta input[type="checkbox"] {
	width: 24px;
	height: 24px;
	margin: 2px 0 0;
	flex-shrink: 0;
}

.cmcc-campos-alta .cmcc-obligatorio .woocommerce-form__label-for-checkbox {
	background-color: var(--cmcc-arena, #EADCCD);
	padding: 14px 16px;
	border-radius: 4px;
}

/* Botón de «Ver el taller» en el listado, para no socias. */
.woocommerce a.button.cmcc-ver-taller {
	background-color: transparent;
	color: var(--cmcc-ciruela-oscuro, #3E2233);
	border: 2px solid var(--cmcc-ciruela-oscuro, #3E2233);
	min-height: 48px;
	font-size: 16px;
}

@media (max-width: 600px) {
	.cmcc-aviso-socia {
		padding: 20px;
	}

	.cmcc-aviso-socia .button.cmcc-boton-alta {
		display: block;
		text-align: center;
	}

	.cmcc-aviso-socia .cmcc-enlace-acceso {
		display: block;
		margin: 12px 0 0;
	}
}

/* ---------------------------------------------------------------
   Selector de importe de la cuota (redondeo solidario).
   Ninguna opción viene marcada: la elección tiene que ser activa.
   --------------------------------------------------------------- */

.cmcc-importe-intro h2 {
	font-family: Cinzel, Georgia, serif;
	font-size: 24px;
	color: var(--cmcc-ciruela-oscuro, #3E2233);
	margin: 0 0 10px;
}

.cmcc-importe-intro p {
	font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 17px;
	line-height: 1.7;
	color: var(--cmcc-ciruela-oscuro, #3E2233);
	margin: 0 0 20px;
}

fieldset.cmcc-importe {
	border: 0;
	margin: 0 0 24px;
	padding: 0;
	display: grid;
	gap: 14px;
}

fieldset.cmcc-importe legend {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.cmcc-importe-opcion {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 20px 22px;
	background-color: #ffffff;
	border: 2px solid var(--cmcc-arena, #EADCCD);
	border-radius: 6px;
	cursor: pointer;
	min-height: 48px;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.cmcc-importe-opcion:hover {
	border-color: var(--cmcc-rosa-cuarzo, #D79AA0);
}

.cmcc-importe-opcion:focus-within {
	outline: 3px solid var(--cmcc-ciruela, #5B3347);
	outline-offset: 2px;
}

.cmcc-importe-opcion.cmcc-elegida {
	border-color: var(--cmcc-ciruela-oscuro, #3E2233);
	background-color: var(--cmcc-arena, #EADCCD);
}

.cmcc-importe-radio {
	width: 26px;
	height: 26px;
	margin: 2px 0 0;
	flex-shrink: 0;
	accent-color: var(--cmcc-ciruela-oscuro, #3E2233);
}

.cmcc-importe-cuerpo {
	display: block;
}

.cmcc-importe-titulo {
	display: block;
	font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--cmcc-ciruela-oscuro, #3E2233);
}

.cmcc-importe-desc {
	display: block;
	margin-top: 6px;
	font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: var(--cmcc-ciruela, #5B3347);
}

.cmcc-importe-desc p {
	margin: 0;
}

.cmcc-oculto-visualmente {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Acumulado solidario en la página de transparencia. */
.cmcc-acumulado {
	background-color: var(--cmcc-arena, #EADCCD);
	padding: 32px;
	border-radius: 6px;
	text-align: center;
}

.cmcc-acumulado-cifra {
	font-family: Cinzel, Georgia, serif;
	font-size: 42px;
	line-height: 1.2;
	font-weight: 600;
	color: var(--cmcc-ciruela-oscuro, #3E2233);
	margin: 0 0 10px;
}

.cmcc-acumulado-texto {
	font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 17px;
	line-height: 1.7;
	color: var(--cmcc-ciruela-oscuro, #3E2233);
	margin: 0;
}

.cmcc-importe-aviso {
	font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: var(--cmcc-ciruela, #5B3347);
	margin: -12px 0 20px;
}

.cmcc-importe-aviso.cmcc-aviso-resuelto {
	display: none;
}

/* Bloque del derecho de desistimiento, justo antes del botón de pagar. */
.cmcc-desistimiento {
	background-color: var(--cmcc-arena, #EADCCD);
	border-radius: 4px;
	padding: 24px 26px;
	margin: 0 0 24px;
}

.cmcc-desistimiento h3 {
	font-family: Cinzel, Georgia, serif;
	font-size: 21px;
	color: var(--cmcc-ciruela-oscuro, #3E2233);
	margin: 0 0 12px;
}

.cmcc-desistimiento p {
	font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 17px;
	line-height: 1.65;
	color: var(--cmcc-ciruela-oscuro, #3E2233);
	margin: 0 0 14px;
}

.cmcc-desistimiento .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	background: #fff;
	padding: 14px 16px;
	border-radius: 4px;
	font-size: 17px;
	line-height: 1.5;
	cursor: pointer;
}

.cmcc-desistimiento input[type="checkbox"] {
	width: 24px;
	height: 24px;
	margin: 2px 0 0;
	flex-shrink: 0;
}

.cmcc-modelo-desistimiento blockquote {
	background: var(--cmcc-arena, #EADCCD);
	border-left: 4px solid var(--cmcc-ciruela-oscuro, #3E2233);
	padding: 20px 24px;
	margin: 16px 0;
}

/* La descripción de la variación ya se lee dentro de su tarjeta: no hace falta
   que WooCommerce la repita debajo del selector. */
.variations_form.cmcc-con-tarjetas .woocommerce-variation-description {
	display: none;
}

/* Leyenda de privacidad del alta (RF-04). */
.cmcc-leyenda-datos {
	background-color: var(--cmcc-arena, #EADCCD);
	border-radius: 4px;
	padding: 18px 22px;
	margin: 0 0 24px;
}

.cmcc-leyenda-datos p {
	font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: var(--cmcc-ciruela-oscuro, #3E2233);
	margin: 0 0 10px;
}

.cmcc-leyenda-datos p:last-child {
	margin-bottom: 0;
}

/* Leyendas de asistencia en la ficha del taller (RF-12 y RF-13). */
.cmcc-leyendas-taller {
	border-left: 4px solid var(--cmcc-rosa-cuarzo, #D79AA0);
	padding: 14px 20px;
	margin: 20px 0 0;
}

.cmcc-leyendas-taller p {
	font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: var(--cmcc-ciruela, #5B3347);
	margin: 0 0 8px;
}

.cmcc-leyendas-taller p:last-child {
	margin-bottom: 0;
}

/* Verificador de socia en el catálogo de talleres (RF-11). */
.cmcc-verificador {
	border-radius: 4px;
	padding: 18px 24px;
	margin: 0 0 28px;
}

.cmcc-verificador-ok {
	background-color: var(--cmcc-salvia, #7F9A85);
}

.cmcc-verificador-ok p {
	font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 17px;
	line-height: 1.6;
	color: #ffffff;
	margin: 0;
}

.cmcc-verificador-ok strong {
	color: #ffffff;
}

.cmcc-campo-oculto {
	display: none !important;
}

.cmcc-aviso-sinjs {
	background-color: var(--cmcc-rosa-cuarzo, #D79AA0);
	padding: 16px 20px;
	border-radius: 4px;
	font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 17px;
	line-height: 1.6;
	color: var(--cmcc-ciruela-oscuro, #3E2233);
}

/* Lista de espera de un taller completo. */
.cmcc-espera {
	background-color: var(--cmcc-arena, #EADCCD);
	border-left: 5px solid var(--cmcc-ciruela-oscuro, #3E2233);
	border-radius: 4px;
	padding: 24px 28px;
	margin: 24px 0;
}

.cmcc-espera p {
	font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 17px;
	line-height: 1.6;
	color: var(--cmcc-ciruela-oscuro, #3E2233);
	margin: 0 0 14px;
}

.cmcc-espera-form {
	margin: 0;
}

.cmcc-espera .button.cmcc-espera-boton,
.cmcc-espera button.cmcc-espera-boton {
	display: inline-block;
	background-color: var(--cmcc-ciruela-oscuro, #3E2233);
	color: #ffffff;
	font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	padding: 14px 28px;
	border: 0;
	border-radius: 4px;
	cursor: pointer;
	min-height: 48px;
}

.cmcc-espera button.cmcc-espera-boton:hover,
.cmcc-espera button.cmcc-espera-boton:focus {
	background-color: var(--cmcc-ciruela, #5B3347);
}

.cmcc-espera button.cmcc-espera-quitar {
	background: none;
	border: 0;
	padding: 12px 0;
	font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 16px;
	color: var(--cmcc-ciruela, #5B3347);
	text-decoration: underline;
	cursor: pointer;
	min-height: 44px;
}

/* Saludo del aviso, cuando sabemos quién es. */
.cmcc-aviso-saludo {
	font-size: 19px !important;
	margin-bottom: 10px !important;
}

/* A la socia que vuelve no se le pone un muro: se le da la bienvenida.
   Borde salvia en lugar del ciruela del bloqueo genérico. */
.cmcc-aviso-socia.cmcc-aviso-renovar {
	border-left-color: var(--cmcc-salvia, #7F9A85);
}

/* Baja: sin botón de pago, la salida es hablar con el centro. */
.cmcc-aviso-socia.cmcc-aviso-baja {
	border-left-color: var(--cmcc-rosa-cuarzo, #D79AA0);
}

.cmcc-aviso-socia.cmcc-aviso-baja a {
	color: var(--cmcc-ciruela, #5B3347);
	text-decoration: underline;
}

.cmcc-aviso-texto p {
	margin: 0 0 14px;
}

.cmcc-aviso-texto p:last-child {
	margin-bottom: 0;
}
