﻿.ez-calendar {
	display: grid;
	height: 100%;
	background-color: rgb(230,230,230);
	box-sizing: border-box;
	border-left: 1px solid lightgray;
	border-top: 1px solid lightgray;
	font-size: clamp(0.6rem, 2vw, 1rem);
	aspect-ratio: 16/9;
}

	.ez-calendar.month-view {
		grid-template-columns: repeat(7, 1fr);
		grid-template-rows: repeat(2, clamp(1.1rem, 4vw, 2.2rem));
		grid-auto-rows: minmax(3rem, auto);
	}

	.ez-calendar > div {
		border-right: 1px solid lightgray;
		border-bottom: 1px solid lightgray;
	}

	.ez-calendar .month-selector-container {
		grid-column: span 7;
		background-color: white;
		display: flex;
		justify-content: space-between;
	}

	.ez-calendar .month-selector-container .label {
		font-size: clamp(0.8rem, 3vw, 1.5rem);
		display: grid;
		place-content: center;
	}

	.ez-calendar .month-selector-container .label-container {
		font-size: clamp(0.8rem, 3vw, 1.5rem);
		display: flex;
		gap: 0.5em;
		padding: 0.1em;
	}

	.ez-calendar .month-selector-container > .month-selector-button {
		border: 0;
		aspect-ratio: 2/1;
		background-color: white;
	}

	.ez-calendar .month-selector-container .currentday-selector-button {
		border: 0;
		display: grid;
		place-content: center;
		aspect-ratio: 1/1;
		background-color: white;
		border-radius: 0.2rem;
	}
	.ez-calendar .month-selector-container .currentday-selector-button:hover {
		background-color: lightblue;
	}

	.ez-calendar .month-selector-container > button:hover {
		background-color: lightblue;
	}

	.ez-calendar .calendar-header {
		background-color: white;
		text-align: center;
		overflow: hidden;
		display: grid;
		justify-content: center;
		place-content: center;
	}


	.ez-calendar .calendar-cell {
		text-align: right;
		padding: 0.2em;
		overflow: hidden;
		display: grid;
		grid-template-rows: 1.6rem;
		grid-auto-rows: 1fr;
		gap: 1px;
		background-color: rgb(255,255,255,0.6);
		color: gray;
		overflow: hidden;
	}

	.ez-calendar .calendar-cell.current {
		color: red !important;
	}

	.ez-calendar .calendar-cell:hover {
		background-color: rgb(255,255,255,0.8);
		color: black;
		box-shadow: 0px 0px 2px rgba(0,0,0,0.1);
	}

	.ez-calendar .calendar-cell.selected-month {
		background-color: rgb(255,255,255,0.9);
		color: rgb(80,80,80);
	}

	.ez-calendar .calendar-cell.selected-month:hover {
		background-color: rgb(255,255,255);
		color: black;
		box-shadow: 0px 0px 2px rgba(0,0,0,0.1);
	}

	.ez-calendar .calendar-cell .date-label-container {
		display: flex;
		justify-content: right;
	}

	.ez-calendar .calendar-cell .date-label {
		border-radius: 50%;
		aspect-ratio: 1/1;
		display: grid;
		place-content: center;
	}

	.ez-calendar .calendar-cell .date-label.current-date {
		border-radius: 50%;
		background-color: lightcoral;
		color: white;
	}

	.ez-calendar .calendar-cell .appointment {
		background-color: rgb(167, 193, 255);
		text-align: left;
		padding: 0.2em;
		border: none;
		border-radius: 5px;
		box-shadow: 2px 2px 2px rgba(0,0,255,0.1);
		display: grid;
		font-size: clamp(0.6rem, 2vw, 1rem);
		color: rgb(20,20,20);
		overflow-x: hidden;
		line-height: 1.2;
	}

	.ez-calendar .calendar-cell .appointment:hover {
		background-color: rgb(131, 168, 254);
	}
