/* ------------------------------------------------------------------
   Calendario de talleres - Basylic Kitchen
   Los colores van forzados para que el calendario se vea igual
   aunque la web tenga un tema oscuro.
------------------------------------------------------------------ */

.bct-envoltorio {
	max-width: 100%;
	margin: 0 auto;
	font-family: inherit;
	background: #e7e1e7;
	padding: 24px;
	border-radius: 10px;
	color: #002340;
}

/* ---------- Filtro ---------- */

.bct-filtros {
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.bct-filtros label {
	font-weight: 700;
	font-size: 15px;
	color: #002340 !important;
}

.bct-filtros select {
	padding: 10px 14px;
	border: 1px solid #002340;
	border-radius: 6px;
	font-size: 15px;
	background: #fff;
	color: #002340;
	min-width: 260px;
	cursor: pointer;
}

/* ---------- Estructura general ---------- */

#bct-calendario {
	background: #fff;
	--fc-border-color: #d3ccd3;
	--fc-today-bg-color: #f6efdc;
	--fc-neutral-bg-color: #f7f7f7;
	--fc-page-bg-color: #ffffff;
}

/* ---------- Titulo del mes ---------- */

#bct-calendario .fc-toolbar-title {
	font-size: 1.6em !important;
	font-weight: 700 !important;
	color: #002340 !important;
	text-transform: capitalize;
	letter-spacing: -.3px;
}

#bct-calendario .fc-toolbar {
	margin-bottom: 18px !important;
}

/* ---------- Botones ---------- */

#bct-calendario .fc-button {
	background: #002340 !important;
	border-color: #002340 !important;
	color: #fff !important;
	text-transform: none;
	font-size: 14px;
	font-weight: 600;
	box-shadow: none !important;
}

#bct-calendario .fc-button:hover,
#bct-calendario .fc-button-active {
	background: #0a355e !important;
	border-color: #0a355e !important;
}

/* ---------- Cabecera de dias de la semana ---------- */

#bct-calendario .fc-col-header-cell {
	background: #002340 !important;
	padding: 10px 0 !important;
}

#bct-calendario .fc-col-header-cell-cushion {
	color: #ffffff !important;
	font-weight: 700 !important;
	font-size: 13.5px !important;
	text-transform: uppercase;
	letter-spacing: .8px;
	text-decoration: none !important;
	padding: 6px 4px !important;
}

/* ---------- Numeros de dia ---------- */

#bct-calendario .fc-daygrid-day-number {
	color: #002340 !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	opacity: 1 !important;
	text-decoration: none !important;
	padding: 6px 8px !important;
}

#bct-calendario .fc-day-other .fc-daygrid-day-number {
	color: #a9a3a9 !important;
	font-weight: 500 !important;
}

#bct-calendario .fc-day-today .fc-daygrid-day-number {
	background: #a9842a !important;
	color: #fff !important;
	border-radius: 50%;
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
	margin: 4px;
}

#bct-calendario .fc-daygrid-day {
	min-height: 90px;
}

/* ---------- Eventos ---------- */

#bct-calendario .fc-event {
	cursor: pointer;
	border-radius: 5px;
	padding: 4px 6px !important;
	font-size: 12px;
	line-height: 1.4;
	border: none !important;
	margin: 2px 3px !important;
	white-space: normal !important;
}

#bct-calendario .fc-event-title,
#bct-calendario .fc-event-title-container {
	white-space: normal !important;
	overflow: visible !important;
	font-weight: 600;
	color: #fff !important;
}

#bct-calendario .fc-event:hover {
	filter: brightness(1.12);
}

/* Ultimas plazas */
#bct-calendario .fc-event.bct-ev-ultimas {
	background: #B85C00 !important;
	font-weight: 700;
}

/* Sesiones completas */
#bct-calendario .fc-event.bct-ev-completo {
	background: #8a8a8a !important;
	cursor: default;
	opacity: .85;
}

#bct-calendario .fc-event.bct-ev-completo .fc-event-title {
	text-decoration: line-through;
	font-weight: 500;
}

/* ---------- Vista de lista ---------- */

#bct-calendario .fc-list-day-cushion {
	background: #e7e1e7 !important;
}

#bct-calendario .fc-list-day-text,
#bct-calendario .fc-list-day-side-text,
#bct-calendario .fc-list-event-title a,
#bct-calendario .fc-list-event-time {
	color: #002340 !important;
	font-weight: 600;
	text-decoration: none !important;
}

#bct-calendario .fc-list-empty {
	background: #fafafa !important;
	color: #666 !important;
}

/* ---------- Leyenda ---------- */

.bct-leyenda {
	margin-top: 18px;
	font-size: 13.5px;
	color: #002340 !important;
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.bct-punto {
	display: inline-block;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	margin-left: 16px;
}

.bct-punto:first-child { margin-left: 0; }
.bct-libre    { background: #0B3D6B; }
.bct-ultimas  { background: #B85C00; }
.bct-completo { background: #8a8a8a; }

/* ---------- Movil ---------- */

@media (max-width: 782px) {
	.bct-envoltorio { padding: 14px; }

	#bct-calendario .fc-toolbar {
		flex-direction: column;
		gap: 12px;
	}
	#bct-calendario .fc-toolbar-title { font-size: 1.3em !important; }
	#bct-calendario .fc-event { font-size: 10.5px; padding: 3px 4px !important; }
	#bct-calendario .fc-col-header-cell-cushion { font-size: 11px !important; }
	.bct-filtros select { width: 100%; min-width: 0; }
}
