@import url('root.css');

/* LAMA booking calendar widget styles
   Colours defined as vars in root.css under "Booking calendar" */

.lama_booking_cal {
	display: inline-block;
	font-size: 0.9em;
	margin-top: 6px;
}
.lama_cal_nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 4px;
}
.lama_cal_nav_btn {
	background: none;
	border: 1px solid var(--cal_nav_border);
	border-radius: 3px;
	cursor: pointer;
	font-size: 1.2em;
	padding: 2px 8px;
	line-height: 1;
}
.lama_cal_nav_btn:hover { background: var(--cal_nav_hover); }
.lama_cal_heading { font-weight: bold; min-width: 140px; text-align: center; }
.lama_cal_table {
	border-collapse: collapse;
	width: auto;
	/* override mobile rule that sets display:block on all #form1 table elements */
	display: table !important;
}
.lama_cal_table thead { display: table-header-group !important; }
.lama_cal_table tbody { display: table-row-group !important; }
.lama_cal_table tr    { display: table-row !important; }
.lama_cal_table td,
.lama_cal_table th    { display: table-cell !important; }
.lama_cal_table th {
	background: var(--cal_header_bg);
	color: var(--cal_header_colour);
	font-size: 0.8em;
	padding: 4px 6px;
	text-align: center;
	width: 34px;
}
.lama_cal_table td {
	border: 1px solid var(--cal_border);
	cursor: pointer;
	height: 30px;
	text-align: center;
	vertical-align: middle;
	width: 34px !important;
	/* override generic form table rules that set width:50% / float:left */
	float: none !important;
}
.lama_cal_table td.lama_empty {
	background: var(--cal_empty_bg);
	cursor: default;
}
.lama_cal_table td.lama_past {
	background: var(--cal_past_bg);
	color: var(--cal_past_colour);
	cursor: not-allowed;
}
.lama_cal_table td.lama_booked {
	background: var(--cal_booked_bg);
	color: var(--cal_booked_colour);
	cursor: not-allowed;
	text-decoration: line-through;
}
.lama_cal_table td.lama_today {
	font-weight: bold;
	outline: 2px solid var(--cal_today_outline);
	outline-offset: -2px;
}
.lama_cal_table td.lama_existing {
	background: var(--cal_existing_bg);
}
.lama_cal_table td.lama_in_range {
	background: var(--cal_range_bg);
}
.lama_cal_table td.lama_start,
.lama_cal_table td.lama_end {
	background: var(--cal_selected_bg);
	color: var(--cal_selected_colour);
	font-weight: bold;
}
.lama_cal_table td.lama_hover_range {
	background: var(--cal_hover_bg);
}
.lama_cal_table td:not(.lama_booked):not(.lama_past):not(.lama_empty):hover {
	outline: 2px solid var(--cal_focus_outline);
	outline-offset: -2px;
}
.lama_date_summary {
	margin-bottom: 6px;
	min-height: 1.4em;
	color: var(--cal_summary_colour);
}
.lama_date_summary.lama_error {
	color: var(--cal_error_colour);
	font-weight: bold;
}
.lama_cal_legend {
	font-size: 0.8em;
	margin-top: 6px;
	color: var(--cal_legend_colour);
	display: flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
}
.lama_leg {
	display: inline-block;
	width: 14px;
	height: 14px;
	border: 1px solid var(--cal_leg_border);
	vertical-align: middle;
}
.lama_leg_booked      { background: var(--cal_booked_bg); }
.lama_leg_selected    { background: var(--cal_selected_bg); }
.lama_leg_existing    { background: var(--cal_existing_bg); }
.lama_leg_set_journey { background: var(--cal_set_journey_bg); border-color: var(--cal_set_journey_colour); }

/* Set journey dates — regular recurring LAMA trips */
.lama_cal_table td.lama_set_journey {
	background: var(--cal_set_journey_bg);
	color: var(--cal_set_journey_colour);
}
/* Selected state takes priority over set journey colour */
.lama_cal_table td.lama_set_journey.lama_start,
.lama_cal_table td.lama_set_journey.lama_in_range {
	background: var(--cal_selected_bg);
	color: var(--cal_selected_colour);
}
/* When blockSetJourneys=true the wrapper gets lama_cal_set_blocked */
.lama_cal_set_blocked .lama_cal_table td.lama_set_journey {
	cursor: not-allowed;
}
