/** Variables and fonts **/
@font-face {
	font-family: 'Titling Gothic FB Narrow Medium';
	src: url('../fonts/Titling\ Gothic\ FB\ Narrow\ Medium.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Titling Gothic FB Narrow Standard';
	src: url('../fonts/Titling\ Gothic\ FB\ Narrow\ Standard.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

* {
	font-family: 'Titling Gothic FB Narrow Standard', sans-serif;
	/* Use your custom font with fallbacks */
	font-size: 1rem;
	box-sizing: border-box;
}

:root {
	--red: #E54F37;
	--yellow: #F7C53A;
	--green: #008663;
	--pink: #F093B8;
	--grey: #cccccc;
	--black: #000;
	--white: #fff;
}

.bg--red {
	--bg-color: var(--red);
}

.bg--yellow {
	--bg-color: var(--yellow);
}

.bg--green {
	--bg-color: var(--green);
}

.bg--pink {
	--bg-color: var(--pink);
}

/** Page styling **/

body {
	font-family: Arial, sans-serif;
	display: flex;
	justify-content: center;
	flex-direction: column;
	background-color: var(--white);
}

.reservation-form {
	display: flex;
	flex-flow: row wrap;
	gap: 1rem;
	align-items: flex-start;
}

.calendar,
.time-picker {
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	flex: 1 0 100%;
	width: 100%;
}

@media only screen and (min-width: 700px) {

	.calendar,
	.time-picker {
		flex: 1;
	}
}

h2 {
	margin-bottom: 0rem;
	font-size: 1rem;
}

/* General calendar container */
.calendar-container {
	padding: 20px;
	background-color: #ffffff;
	border: var(--black) solid .0625rem;
	border-radius: 0px 0px 6px 6px;
}

/* Month and Year display */
.calendar-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}

.month-selection {
	width: 70%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

button {
	background-color: var(--pink);
	color: rgb(0, 0, 0);
	border: none;
	border-radius: 6px;
	padding: 15px;
	font-size: 16px;
	cursor: pointer;
}

button.blockselection {
	border-radius: 0px !important;
}

button:disabled {
	background-color: var(--grey);
}

#disabled {
	pointer-events: none;
}

#month-year {
	font-size: 1rem;
	text-align: center;
}

/* Grid structure for the days */
.dates-grid {
	display: grid;
	grid-template-columns: repeat( 7, 1fr );
	grid-gap: .1rem;
	margin-top: 10px;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}


.days-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	margin-top: 20px;
	text-align: center;
}

/*
.day {
	width: 13.285%;
	text-align: center;
}*/

/* Each date (number) in the calendar */
.dates-grid .day {
	aspect-ratio: 1;
	display: flex;
	box-sizing: border-box;
	justify-content: center;
	align-items: center;
	border: 1px solid var(--grey);
	border-radius: 6px;
	font-size: 16px;
	font-weight: bold;
	padding: 10px;
	background: var( --bg-color );
}

/* Disabled dates for previous or next month */
.dates-grid .day[disabled="true"]:not(.bg--red) {
	color: var(--grey);
}

/* Highlight the current day */
.dates-grid .selected {

	border: .1875rem solid var(--black);
}

/* Colour the legenda */

.colour--meaning {
	display: flex;
	justify-content: space-between;
}

.colour--block {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: .625rem;
}

.colour {
	background: var(--bg-color);
	border-radius: 6px;
	width: 25px;
	height: 25px;
}

/* SIZING FOR DESKTOP */
/*@media only screen and (min-width: 1000px) {
	.calendar-container {
	width: 100%;
	margin-bottom: 0rem;
	}
	.topsection {
	flex-direction: row;
	gap: 20px;
	}
	.block {
	margin-top: 0px !important;
	width: 49vw;
	}

	.rightsection-desktop {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	}
}*/


/* START OF BACKBUTTON */
.backbutton {
	padding: 20px;
	border-radius: 6px;
	margin-bottom: 20px;
	display: flex;
	justify-content: center;
}

a {
	/* text-decoration: none; */
	color: var(--black);
	/* padding: 10px;
	border-radius: 6px;
	display: flex; */
	justify-content: center;
}


/* START OF MAKING THE TIME SELECTION */
#ableToPress {
	cursor: pointer;
}

.block {
	display: flex;
	justify-content: space-around;
	border: var(--black) .0625rem solid;
	background-color: var(--white);
}

#timeselection {
	height: 7.5rem;
	align-items: center;
}

#timeselection .blockselection.selected {
    border: .1875rem solid var(--black);
}

.blockselection{
	width: 33.333333%;
	padding: 10px;
	height: 100%;
	display: flex;
	background: white;
	flex-direction: column;
	justify-content: center;
	border: 1px solid var(--grey);
	align-items: center;
}

.blockselection:disabled, .seat_select.disabled{
	opacity: .4;
	background: white;
	pointer-events: none;
}



/* Add borders between morning, afternoon, and whole day */
.block p {
	text-align: center;
	margin: .3125rem 0 .3125rem 0;
}

/* Add vertical line between morning and afternoon */
.morning {
	border-right: 1px solid var(--black);
}

/* Add vertical line between afternoon and whole day */
.afternoon {
	border-right: 1px solid var(--black);
}


.daypart {
	color: var(--green);
}

.unavailable {
	color: var(--grey);
	pointer-events: none;
}

.clickableTime {
	cursor: pointer;
}

/* START OF PLACESELECTION */
#placeselection {
	height: 5rem;
	align-items: center;
}


.seat_select{
	height: 100%;
	flex: 1;
	border-right: 1px solid var(--black);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.seat_select:last-of-type {
	border-right: none;
  }

.seat_select p{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 100%;
}

.seat_select input {
	display: none;
}

.seat_select input:checked+p:first-of-type {
	font-weight: bold;
	border: .1875rem solid var(--black);
}


/* START OF TOTALS SECTION */
#totals {
	flex-direction: column;
	padding: 20px;
	width: 100%;
}

.totals-subblock {
	display: flex;
	gap: 10px;
	justify-content: space-between;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid var(--grey);
	margin: 1em 0;
	padding: 0;
}

#selected-date-text,
#selected-time-text {
	text-align: right;
}

.panel--header {
	margin: 0;
	border-radius: 6px 6px 0px 0px;
	padding: .625rem;
	border: 1px solid black;
	border-bottom: 0;
}


:where(.wp-site-blocks *:focus) {
    outline-width: 0px;
    outline-style: solid;
}


.gfield--type-total, .gfield--type-product{
	display: none !important;
}

#date_value, #time_value, #seat_value{
	display: none;
}
