/*
 * Caracool Eventos · listado y ficha.
 *
 * Hereda tipografía y color del contenedor. Los acentos salen de los colores
 * globales de Elementor si existen. El filtro son <button>: el Kit de
 * Elementor estiliza todos los botones de la web, así que sus reglas llevan la
 * clase de la raíz dos veces para ganar también en :hover y :focus.
 */

.ce-listado {
	--ce-linea: color-mix(in srgb, currentColor 18%, transparent);
	--ce-aire: 1.4em;
	--ce-filtro: var(--e-global-color-primary, currentColor);
	--ce-filtro-txt: #fff;
	--ce-suave: color-mix(in srgb, currentColor 62%, transparent);
}
.ce-listado [hidden] { display: none !important; }

/* Filtro */
.ce-listado.ce-listado .ce-filtro { display: flex; flex-wrap: wrap; gap: .5em; margin: 0 0 1.6em; padding: 0; }
.ce-listado.ce-listado .ce-filtro-btn {
	appearance: none; margin: 0; cursor: pointer; white-space: normal;
	font: inherit; font-size: .9em; line-height: 1.2; letter-spacing: normal; text-transform: none;
	padding: .55em 1.1em; border-radius: 999px;
	border: 1.5px solid currentColor; background: transparent; color: inherit;
	box-shadow: none; transition: background-color .2s, color .2s, border-color .2s;
}
.ce-listado.ce-listado .ce-filtro-btn:hover { background: color-mix(in srgb, currentColor 10%, transparent); color: inherit; }
.ce-listado.ce-listado .ce-filtro-btn:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; color: inherit; background: transparent; }
.ce-listado.ce-listado .ce-filtro-btn[aria-pressed="true"],
.ce-listado.ce-listado .ce-filtro-btn[aria-pressed="true"]:hover,
.ce-listado.ce-listado .ce-filtro-btn[aria-pressed="true"]:focus-visible {
	background: var(--ce-filtro); border-color: var(--ce-filtro); color: var(--ce-filtro-txt);
}

/* Lista */
.ce-lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ce-linea); }
.ce-evento {
	display: grid; grid-template-columns: var(--ce-col, 5.6em) minmax(0, 1fr) auto; gap: .4em 1.6em; align-items: center;
	padding: var(--ce-aire) 0; border-bottom: 1px solid var(--ce-linea); margin: 0;
}
.ce-evento[hidden] { display: none; }

/* Fecha: día de la semana, número y mes, en una columna del ancho del número */
.ce-fecha { justify-self: stretch; min-width: 0; line-height: 1; }
.ce-fecha-caja { display: flex; flex-direction: column; align-items: center; width: max-content; text-align: center; }
.ce-semana { font-size: .72em; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin: 0 -.14em .4em 0; }
.ce-dia { font-size: 3em; font-weight: 600; letter-spacing: -.03em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ce-mes { font-size: 1.3em; font-weight: 600; text-transform: uppercase; white-space: nowrap; margin-top: .12em; line-height: .9; }
.ce-anio { font-size: .75em; margin-top: .45em; color: var(--ce-suave); }

/*
 * Diseños de la fecha. La raíz lleva ce-f-<diseño>. Cada valor es una variable
 * con su valor por defecto, para que el widget de Elementor la cambie desde la
 * pestaña Estilo (y por dispositivo) sin pelearse con estas reglas.
 */

/* Clásico: las variables solo existen si se ponen a mano desde el widget. */
.ce-f-clasico .ce-semana { color: var(--ce-cl-semana-color, inherit); }
.ce-f-clasico .ce-dia { color: var(--ce-cl-dia-color, inherit); }
.ce-f-clasico .ce-mes { color: var(--ce-cl-mes-color, inherit); }

/* Calendario: hoja con franja arriba para el día de la semana. */
.ce-f-calendario { --ce-col: var(--ce-cal-ancho, 5.4em); }
.ce-f-calendario .ce-fecha-caja {
	width: var(--ce-cal-ancho, 5.4em); max-width: 100%; box-sizing: border-box; overflow: hidden;
	background: var(--ce-cal-fondo, #fff); color: var(--ce-cal-tinta, #0a0a0a);
	border: var(--ce-cal-borde, .2em) solid var(--ce-cal-borde-color, #fff); border-radius: var(--ce-cal-radio, .7em);
}
.ce-f-calendario .ce-semana {
	display: block; align-self: stretch; margin: 0; padding: var(--ce-cal-franja-alto, .45em) .2em;
	background: var(--ce-cal-franja, #0a0a0a); color: var(--ce-cal-franja-txt, #fff);
	font-size: var(--ce-cal-semana-tam, .72em); font-weight: 800; letter-spacing: .02em; line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: clip;
}
.ce-f-calendario .ce-dia { font-size: var(--ce-cal-dia-tam, 2.7em); font-weight: 900; letter-spacing: -.04em; color: var(--ce-cal-dia-color, inherit); padding-top: .1em; }
.ce-f-calendario .ce-mes { font-size: var(--ce-cal-mes-tam, 1.45em); font-weight: 900; letter-spacing: -.02em; color: var(--ce-cal-mes-color, inherit); margin: .02em 0 0; padding-bottom: .3em; line-height: 1; }
.ce-f-calendario .ce-anio { color: inherit; opacity: .6; margin: -.1em 0 .5em; }

/* Bloque: cuadrado relleno. */
.ce-f-bloque { --ce-col: var(--ce-bl-tam, 5.2em); }
.ce-f-bloque .ce-fecha-caja {
	width: var(--ce-bl-tam, 5.2em); min-height: var(--ce-bl-tam, 5.2em); max-width: 100%; box-sizing: border-box; justify-content: center; padding: .4em .2em;
	background: var(--ce-bl-fondo, var(--e-global-color-primary, #222)); color: var(--ce-bl-tinta, #fff); border-radius: var(--ce-bl-radio, .5em);
}
.ce-f-bloque .ce-semana { font-size: var(--ce-bl-semana-tam, .66em); font-weight: 800; letter-spacing: .14em; margin: 0 -.14em .3em 0; opacity: .9; }
.ce-f-bloque .ce-dia { font-size: var(--ce-bl-dia-tam, 2.4em); font-weight: 900; }
.ce-f-bloque .ce-mes { font-size: var(--ce-bl-mes-tam, .95em); font-weight: 800; letter-spacing: .08em; margin-top: .1em; }
.ce-f-bloque .ce-anio { color: inherit; opacity: .75; margin-top: .3em; }

/* Contorno: la misma caja, solo con borde. */
.ce-f-contorno { --ce-col: var(--ce-co-tam, 5.2em); }
.ce-f-contorno .ce-fecha-caja {
	width: var(--ce-co-tam, 5.2em); max-width: 100%; box-sizing: border-box; padding: .55em .2em .6em;
	border: var(--ce-co-borde, 2px) solid var(--ce-co-borde-color, currentColor); border-radius: var(--ce-co-radio, .5em);
	color: var(--ce-co-tinta, inherit);
}
.ce-f-contorno .ce-semana { font-size: var(--ce-co-semana-tam, .66em); font-weight: 800; letter-spacing: .14em; margin: 0 -.14em .3em 0; color: var(--ce-co-semana-color, var(--ce-suave)); }
.ce-f-contorno .ce-dia { font-size: var(--ce-co-dia-tam, 2.4em); font-weight: 800; }
.ce-f-contorno .ce-mes { font-size: var(--ce-co-mes-tam, .95em); font-weight: 800; letter-spacing: .1em; margin-top: .1em; }

/* En línea: «6 NOV» y el día de la semana debajo, alineado a la izquierda. */
.ce-f-linea { --ce-col: var(--ce-li-col, 8em); }
.ce-f-linea .ce-fecha-caja { flex-direction: row; flex-wrap: wrap; align-items: baseline; justify-content: flex-start; text-align: left; width: auto; column-gap: .3em; }
.ce-f-linea .ce-dia, .ce-f-linea .ce-mes { order: 1; font-size: var(--ce-li-tam, 1.6em); font-weight: 800; letter-spacing: 0; margin: 0; line-height: 1.1; color: var(--ce-li-color, inherit); }
.ce-f-linea .ce-semana { order: 2; flex-basis: 100%; margin: .35em 0 0; font-size: var(--ce-li-semana-tam, .78em); color: var(--ce-li-semana-color, var(--ce-suave)); }
.ce-f-linea .ce-anio { order: 3; flex-basis: 100%; margin-top: .2em; }

.ce-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.ce-info { min-width: 0; }
.ce-titulo { margin: 0; font-size: 1.25em; line-height: 1.25; }
.ce-titulo a { color: inherit; text-decoration: none; }
.ce-titulo a { transition: color .2s; }
.ce-titulo a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 2px; }
.ce-meta { margin: .35em 0 0; font-size: .95em; color: var(--ce-suave); display: flex; flex-wrap: wrap; align-items: center; gap: .2em .7em; }
.ce-sep { width: 3px; height: 3px; border-radius: 50%; background: currentColor; display: inline-block; }
.ce-aviso-estado { margin: .45em 0 0; font-size: .85em; font-weight: 600; }

.ce-accion { justify-self: end; }
.ce-accion .ce-boton { white-space: nowrap; }
.ce-estado {
	display: inline-block; font-size: .85em; font-weight: 600; line-height: 1; padding: .6em 1em;
	border-radius: 999px; border: 1.5px solid currentColor; white-space: nowrap;
}
.ce-estado-cancelado .ce-titulo a { text-decoration: line-through; text-decoration-thickness: 1px; }
.ce-estado-cancelado .ce-fecha, .ce-estado-cancelado .ce-info { opacity: .6; }

.ce-pasados .ce-evento { opacity: .75; }
.ce-vacio { margin: 0; padding: 1.2em 0; color: var(--ce-suave, inherit); }

@media (max-width: 640px) {
	.ce-evento { grid-template-columns: var(--ce-col, 4.6em) minmax(0, 1fr); }
	.ce-f-clasico .ce-dia { font-size: 2.5em; }
	.ce-f-linea { --ce-col: var(--ce-li-col, 6.2em); }
	.ce-f-linea .ce-dia, .ce-f-linea .ce-mes { font-size: var(--ce-li-tam, 1.3em); }
	.ce-accion { grid-column: 2; justify-self: start; margin-top: .4em; }
}

/*
 * Ficha del evento. Tres diseños (ce-ficha-lista, -columnas, -entrada) y los
 * añadidos. Como en el listado, cada valor es una variable con su valor por
 * defecto; el widget de Elementor las pisa desde la pestaña Estilo.
 */
.ce-ficha {
	--ce-fi-linea: color-mix(in srgb, currentColor 16%, transparent);
	--ce-fi-suave: color-mix(in srgb, currentColor 62%, transparent);
	--ce-fi-acento: currentColor;
	--ce-cal-borde-color: currentColor;
	margin: 0 0 1.8em;
}
.ce-ficha .ce-ico { width: 1.15em; height: 1.15em; flex: none; color: var(--ce-fi-ico, currentColor); }
.ce-ficha .ce-cuenta { display: inline-block; font-weight: 700; color: var(--ce-fi-cuenta, var(--ce-fi-acento)); white-space: nowrap; }
.ce-chips { display: flex; flex-wrap: wrap; gap: .5em; margin: 0 0 1.2em; }
.ce-chip {
	display: inline-block; font-size: .78em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; line-height: 1;
	padding: .55em .9em; border-radius: 999px;
	background: var(--ce-fi-chip-fondo, color-mix(in srgb, var(--ce-fi-acento) 14%, transparent)); color: var(--ce-fi-chip-tinta, var(--ce-fi-acento));
}
.ce-chip-estado { background: color-mix(in srgb, currentColor 10%, transparent); color: inherit; }

/* Lista */
.ce-ficha dl { margin: 0; display: grid; gap: 0; border-top: 1px solid var(--ce-fi-linea); }
.ce-ficha-fila { display: grid; grid-template-columns: var(--ce-fi-etq, 8em) minmax(0, 1fr); gap: 1em; padding: var(--ce-fi-aire, .9em) 0; border-bottom: 1px solid var(--ce-fi-linea); }
.ce-ficha dt { font-weight: 600; margin: 0; display: flex; gap: .6em; align-items: flex-start; }
.ce-ficha dt .ce-ico { margin-top: .1em; }
.ce-ficha dd { margin: 0; }
.ce-ficha-lista .ce-cuenta { margin-left: .5em; }
.ce-ficha-accion { margin-top: 1.2em; }

/* Añadidos: calendario y compartir, mapa, más fechas */
.ce-ficha.ce-ficha .ce-ficha-acciones { display: flex; flex-wrap: wrap; gap: .6em 1.4em; margin-top: 1em; font-size: .92em; }
.ce-ficha.ce-ficha .ce-accion-enlace {
	appearance: none; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; box-shadow: none;
	font: inherit; letter-spacing: inherit; text-transform: none; line-height: 1.4;
	display: inline-flex; align-items: center; gap: .45em; text-decoration: none;
	color: var(--ce-fi-acciones, inherit);
}
.ce-ficha.ce-ficha .ce-accion-enlace:hover { background: none; text-decoration: none; }
.ce-ficha.ce-ficha .ce-accion-enlace:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; text-decoration: none; }
.ce-ficha .ce-accion-enlace .ce-ico { color: inherit; }
.ce-ficha .ce-accion-enlace[hidden] { display: none; }
.ce-copiado span::after { content: " ✓"; }

.ce-mapa { margin-top: 1em; border-radius: var(--ce-fi-mapa-radio, 8px); overflow: hidden; background: color-mix(in srgb, currentColor 6%, transparent); min-height: 3.2em; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .3em; padding: 1em; text-align: center; }
.ce-ficha.ce-ficha .ce-mapa-btn {
	appearance: none; cursor: pointer; font: inherit; font-weight: 600; text-transform: none; letter-spacing: inherit; line-height: 1.2; box-shadow: none;
	display: inline-flex; align-items: center; gap: .5em; padding: .6em 1.1em; border-radius: 999px;
	border: 1.5px solid currentColor; background: transparent; color: inherit;
}
.ce-ficha.ce-ficha .ce-mapa-btn:hover, .ce-ficha.ce-ficha .ce-mapa-btn:focus-visible { background: color-mix(in srgb, currentColor 10%, transparent); color: inherit; }
.ce-mapa-nota { font-size: .78em; color: var(--ce-fi-suave); }
.ce-mapa.ce-mapa-abierto { padding: 0; display: block; }
.ce-mapa iframe { display: block; width: 100%; height: var(--ce-fi-mapa-alto, 260px); border: 0; }

.ce-mas { margin-top: 2em; }
.ce-ficha .ce-mas-titulo { margin: 0 0 .6em; font-size: .82em; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ce-fi-mas-titulo, var(--ce-fi-suave)); }
.ce-mas-lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ce-fi-linea); }
.ce-mas-item { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3em 1em; padding: .8em 0; border-bottom: 1px solid var(--ce-fi-linea); margin: 0; }
.ce-mas-fecha { font-weight: 800; text-transform: uppercase; min-width: 4.6em; font-size: var(--ce-fi-mas-fecha, 1em); color: var(--ce-fi-mas-fecha-color, inherit); }
.ce-mas-donde { flex: 1 1 0; min-width: 0; }
.ce-ficha .ce-mas-ver { margin-left: auto; font-size: .9em; text-decoration: none; }
.ce-ficha .ce-mas-ver { transition: color .2s; }

/* Dos columnas */
.ce-columnas { display: grid; grid-template-columns: minmax(0, 1fr) var(--ce-ta-ancho, 340px); gap: var(--ce-ta-hueco, 2.5em); align-items: start; }
.ce-columnas-sola { grid-template-columns: minmax(0, var(--ce-ta-ancho-sola, 520px)); }
.ce-columnas-texto > :first-child { margin-top: 0; }
.ce-tarjeta {
	position: sticky; top: var(--ce-ta-arriba, 20px);
	padding: var(--ce-ta-relleno, 1.5em); border-radius: var(--ce-ta-radio, 12px);
	background: var(--ce-ta-fondo, transparent); color: var(--ce-ta-tinta, inherit);
	border: var(--ce-ta-borde, 1px) solid var(--ce-ta-borde-color, var(--ce-fi-linea));
	box-shadow: var(--ce-ta-sombra, 0 10px 30px rgba(0, 0, 0, .06));
}
.ce-tarjeta-top { display: flex; gap: 1em; align-items: center; margin-bottom: 1.1em; }
.ce-ficha-columnas .ce-ficha-hoja { --ce-cal-ancho: var(--ce-ta-hoja, 4.8em); flex: none; }
.ce-tarjeta-cuando { display: flex; flex-direction: column; gap: .25em; min-width: 0; }
.ce-tarjeta-hora { font-size: 1.15em; font-weight: 700; }
.ce-tarjeta-puertas { font-size: .9em; color: var(--ce-fi-suave); }
.ce-tarjeta-lin { display: flex; gap: .7em; padding: .8em 0; border-top: 1px solid var(--ce-fi-linea); line-height: 1.45; }
.ce-tarjeta .ce-ficha-accion { margin-top: 1em; }
.ce-tarjeta .ce-ficha-accion .ce-boton { display: flex; justify-content: center; width: 100%; }

/* Entrada: banda con la hoja, los datos con iconos y la zona de compra. */
.ce-ficha-entrada { --ce-cal-borde-color: var(--ce-en-tinta, #fff); --ce-fi-ico: var(--ce-en-acento, color-mix(in srgb, currentColor 70%, transparent)); }
.ce-entrada {
	display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(12em, var(--ce-en-compra-ancho, 15em)); align-items: stretch;
	background: var(--ce-en-fondo, #0f1416); color: var(--ce-en-tinta, #fff); border-radius: var(--ce-en-radio, 18px); overflow: hidden;
	box-shadow: var(--ce-en-sombra, 0 18px 40px rgba(7, 11, 32, .16));
}
.ce-entrada-fecha {
	padding: var(--ce-en-relleno, 1.75em) calc(var(--ce-en-relleno, 1.75em) * .9);
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6em;
	border-right: 2px dashed var(--ce-en-corte, color-mix(in srgb, currentColor 22%, transparent));
}
.ce-ficha-entrada .ce-ficha-hoja { --ce-cal-ancho: var(--ce-en-hoja, 6em); }
.ce-entrada-anio { font-size: .78em; letter-spacing: .2em; color: color-mix(in srgb, currentColor 55%, transparent); }
.ce-entrada-datos { padding: var(--ce-en-relleno, 1.75em) calc(var(--ce-en-relleno, 1.75em) * 1.15); min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 1em; }
.ce-entrada-sitio { display: flex; gap: .8em; align-items: flex-start; }
.ce-entrada-sitio > .ce-ico { width: 1.25em; height: 1.25em; margin-top: .25em; }
.ce-ficha .ce-entrada-eyebrow { margin: 0 0 .25em; font-size: .7em; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: color-mix(in srgb, currentColor 55%, transparent); }
.ce-ficha .ce-entrada-lugar { margin: 0; font-size: 1.4em; line-height: 1.2; font-weight: 600; color: inherit; }
.ce-ficha .ce-entrada-dir { margin: .3em 0 0; font-size: .93em; line-height: 1.5; color: color-mix(in srgb, currentColor 72%, transparent); }
.ce-ficha .ce-entrada a.ce-entrada-mapa {
	display: inline-flex; align-items: center; gap: .45em; margin-top: .6em; padding: .35em .85em;
	border: 1px solid color-mix(in srgb, currentColor 28%, transparent); border-radius: 999px;
	font-size: .85em; font-weight: 500; text-decoration: none; color: inherit; transition: background-color .2s, color .2s;
}
.ce-ficha .ce-entrada a.ce-entrada-mapa:hover { background: color-mix(in srgb, currentColor 8%, transparent); }
.ce-entrada-mapa .ce-ico { width: 1em; height: 1em; color: inherit; }
.ce-entrada-horas { display: flex; flex-wrap: wrap; gap: .6em; }
.ce-hora-chip { display: inline-flex; align-items: center; gap: .5em; padding: .5em .9em; border-radius: 10px; background: color-mix(in srgb, currentColor 8%, transparent); font-size: .93em; }
.ce-hora-chip .ce-ico { width: 1em; height: 1em; }
.ce-hora-chip small { font-size: .78em; letter-spacing: .06em; text-transform: uppercase; color: color-mix(in srgb, currentColor 60%, transparent); }
.ce-hora-chip b { font-weight: 600; }
.ce-entrada .ce-cuenta {
	align-self: flex-start; display: inline-flex; align-items: center; gap: .45em; padding: .4em .85em .4em .7em; border-radius: 999px;
	background: var(--ce-en-cuenta, var(--e-global-color-accent, #9e2045)); color: var(--ce-en-cuenta-txt, #fff); font-size: .85em; font-weight: 600;
}
.ce-entrada .ce-cuenta .ce-ico { width: 1em; height: 1em; color: inherit; }
.ce-entrada-compra { display: flex; flex-direction: column; justify-content: center; gap: .9em; padding: var(--ce-en-relleno, 1.75em) calc(var(--ce-en-relleno, 1.75em) * .9); background: var(--ce-en-compra-fondo, color-mix(in srgb, currentColor 4%, transparent)); }
.ce-entrada-precio small { display: block; font-size: .7em; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: color-mix(in srgb, currentColor 55%, transparent); }
.ce-entrada-precio .ce-precio-cifra { display: block; font-size: 1.9em; font-weight: 700; line-height: 1.1; margin-top: .1em; }
.ce-entrada-compra .ce-boton { display: flex; justify-content: center; width: 100%; box-sizing: border-box; }
.ce-entrada .ce-estado { color: inherit; align-self: flex-start; }
.ce-boton .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: .5em; }
.ce-boton-ico { display: inline-flex; }
.ce-boton-ico .ce-ico { width: 1.1em; height: 1.1em; color: inherit; }

/*
 * La entrada se adapta al ancho que le deja la página, no al de la pantalla:
 * en una columna estrecha la compra baja, y en muy estrecha todo se apila.
 */
.ce-ficha-entrada { container-type: inline-size; container-name: ce-entrada; }
@container ce-entrada (max-width: 720px) {
	.ce-entrada { grid-template-columns: auto minmax(0, 1fr); }
	.ce-entrada-compra { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; border-top: 2px dashed var(--ce-en-corte, color-mix(in srgb, currentColor 22%, transparent)); }
	.ce-entrada-compra .ce-boton { width: auto; flex: 0 1 auto; }
}
@container ce-entrada (max-width: 460px) {
	.ce-entrada { grid-template-columns: 1fr; }
	.ce-entrada-fecha { flex-direction: row; justify-content: flex-start; gap: 1em; border-right: 0; border-bottom: 2px dashed var(--ce-en-corte, color-mix(in srgb, currentColor 22%, transparent)); }
	.ce-ficha-entrada .ce-ficha-hoja { --ce-cal-ancho: var(--ce-en-hoja, 5em); }
	.ce-entrada-compra { flex-direction: column; align-items: stretch; }
	.ce-entrada-compra .ce-boton { width: 100%; }
}

/* Calendario y compartir en píldoras con menú (diseño entrada). */
.ce-ficha.ce-ficha .ce-acciones-pildoras { gap: .6em; margin-top: 1.2em; }
.ce-pildora-menu { position: relative; }
.ce-pildora-menu > summary { list-style: none; }
.ce-pildora-menu > summary::-webkit-details-marker { display: none; }
.ce-ficha.ce-ficha .ce-pildora {
	padding: .55em 1em; border: 1px solid var(--ce-fi-pildora-borde, color-mix(in srgb, currentColor 18%, transparent)); border-radius: 999px; cursor: pointer;
	transition: border-color .2s, color .2s, background-color .2s;
}
.ce-ficha.ce-ficha .ce-pildora:hover, .ce-ficha.ce-ficha .ce-pildora:focus-visible { text-decoration: none; border-color: currentColor; }
.ce-pildora-menu[open] > .ce-pildora .ce-ico:last-child { transform: rotate(180deg); }
.ce-pildora-opciones {
	position: absolute; z-index: 20; top: calc(100% + .4em); left: 0; min-width: 14em; padding: .4em;
	display: flex; flex-direction: column; border-radius: 12px; background: var(--ce-fi-menu-fondo, #fff); color: var(--ce-fi-menu-tinta, #111);
	box-shadow: 0 12px 32px rgba(0, 0, 0, .16);
}
.ce-ficha.ce-ficha .ce-pildora-opciones .ce-accion-enlace { color: inherit; padding: .6em .8em; border-radius: 8px; width: 100%; text-align: left; }
.ce-ficha.ce-ficha .ce-pildora-opciones .ce-accion-enlace:hover { text-decoration: none; background: color-mix(in srgb, currentColor 7%, transparent); }

@media (max-width: 760px) {
	.ce-columnas { grid-template-columns: 1fr; }
	.ce-tarjeta { position: static; }
}
@media (max-width: 520px) { .ce-ficha-fila { grid-template-columns: 1fr; gap: .2em; } }
