:root {
	--tarifs-border-color: #828282;
}
/* PAGE TARIFS */
#tarifs h2 {
	margin: 0 0 2vmax;
}
#tarifs.page {
	display: block;
}
#tarifs p {
	margin: 2vmax 0 2vmax;
}
.resa_summary {
	display: flex;
	flex-direction: row;
	margin: 0;
	row-gap: 1rem;
	justify-content: center;
	column-gap: 1rem;
	flex-wrap: wrap;
}
.resa_summary a {
	text-decoration: none;
	border-radius: 8px;
	white-space: break-spaces;
	text-align: center;
}
#anchor_grille_tarifs,
#anchor_form_resa,
#anchor_dispo_gites {
	margin: 0 0 5vmax;
}
/* FORM RESA */
#form_resa {
	width: 100%;
	max-width: 1000px;
	margin: 4vmax auto 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 2em;
	grid-row-gap: 2em;
}
div.tree_cols {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: 2em;
	grid-row-gap: 2em;
	grid-column-start: 1;
	grid-column-end: 3;
	align-items: start;
}
#form_resa input#date_deb,
#form_resa input#date_fin,
#form_resa input#nb_persons {
	width: 200px;
}
.info_resa {
	font-size: 1.1rem;
	display: inline-block;
	margin: 0 0 1vmax;
	font-weight: 300;
}
/* TABLES TARIFS */
#table_tarifs {
	overflow-x: auto;
}
#table_tarifs table {
	border-spacing: 0;
	width: 100%;
	max-width: 900px;
	margin: 3vmax auto 0;
}
/* round corner top left */
#table_tarifs table tr:first-child th:first-of-type {
	border-top-left-radius: 6px;
}
/* round corner bottom left */
#table_tarifs table tr:last-child td:first-of-type {
	border-bottom-left-radius: 6px;
}
/* round corner top right */
#table_tarifs table tr:first-child th:last-of-type {
	border-top-right-radius: 6px;
}
/* round corner bottom right */
#table_tarifs table tr:last-child td:last-of-type {
	border-bottom-right-radius: 6px;
}
#table_tarifs table th {
	text-align: left;
	font-size: 1.25rem;
	padding: 0.6em 0.8em 0.5em;
	font-weight: 400;
	border: 1px solid var(--tarifs-border-color);
	border-right: none;
	line-height: 1em;
	background: var(--bkg_header_fixed);
	color: var(--text-white);
}
#table_tarifs table th:last-child {
	border-right: 1px solid var(--tarifs-border-color);
}
#table_tarifs table td {
	min-width: 180px;
	font-size: 1.2rem;
	padding: 0.6em 0.8em 0.5em;
	font-weight: 300;
	border: 1px solid var(--tarifs-border-color);
	border-right: none;
	border-top: none;
	background: var(--white);
}
#table_tarifs table td:last-child {
	border-right: 1px solid var(--tarifs-border-color);
}
/* CALENDARS */
#calendars {
	margin: 2vmax auto 0;
	display: flex;
	width: 100%;
	min-height: 100vh;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: flex-start;
	justify-content: center;
}
/* CSS CALENDARS */
#calendars table.style_calendar {
	width: auto;
	margin: 0.8rem;
	border: 1px solid #7c7c7c;
	border-collapse: collapse;
}
#calendars th.month_name {
	background: #707070;
	color: var(--white);
	border: 1px solid #858585;
	text-align: center;
	font-size: 1.25rem;
	font-weight: 400;
	padding: 0.5em 0;
}
#calendars td.days_names {
	background: #707070;
	color: var(--white);
	border: 1px solid #7c7c7c;
	text-align: center;
	padding: 0;
	width: 40px;
	height: 40px;
	font-size: 1.1rem;
}
#calendars td.day {
	background: lightgreen;
	color: #232323;
	border: 1px solid #7c7c7c;
	text-align: center;
	width: 40px;
	height: 40px;
	font-size: 1.05rem;
	padding: 0;
}
#calendars td.day_left {
	color: #2323234f;
}
#calendars td.booked {
	background: orange;
}
#calendars td.booked.start {
	background-image: linear-gradient(to left, orange 50%, lightgreen 50%);
}
#calendars td.booked.end {
	background-image: linear-gradient(to right, orange 50%, lightgreen 50%);
}
