@import "reset.css";
@import "setup.css";
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

#app {
	--phone-color: #333;
	--selected-color: #FF6C0A;
	font-family: "Inter", sans-serif;

	width: 100%;
	max-width: 360px;
	height: 700px;
	border-block: 50px solid var(--phone-color);
	border-inline: 5px solid var(--phone-color);
	border-block-end: 80px solid var(--phone-color);
	border-radius: 20px;

	padding: 30px 16px;
	
	overflow: scroll;

	.calm-voice, p {
		font-size: 1rem;
	}

	.strong-voice {
		font-weight: 700;
	}

	.loud-voice {
		font-size: 2rem;
		font-weight: 900;
	}

	nav {
		max-width: 100%;
		display:flex;
		flex-wrap: wrap;
		gap: 8px;
		margin-bottom: 20px;

		button {
			border: 1px solid transparent;
		}

		.active {
			background-color: white;
			color: black;
			border: 1px solid black;
		}
	}

	button,
	select {
		font-family: inherit;
		border-radius: 5px;
		font-size: 1rem;
		min-width: 100px;
	}
	button {
		color: white;
		background-color: black;
		border: none;
		padding: 4px;
	}
	select {
		background-color: white;
		border: 1px solid black;
		color: black;
		padding: 8px;
	}

	h2 a {
		text-decoration: underline;
	}

	h2 a:hover{
		cursor: pointer;
	}

	

	.show-card {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;

	}
	.show-card + .show-card {
		margin-top: 60px;
	}

	.stage {
		border: 1px solid black;
		padding: 20px;
		text-align: center;
	}

	.seats-container {
		/*display: grid;
		grid-template-columns: repeat(8, 1fr);*/
		display: flex;
		flex-direction: column;
		gap: 15px;

		.seat-row {
			display: grid;
			grid-template-columns: repeat(8, 1fr);
			gap: 10px;
		}

		.seat-row:nth-of-type(2n + 1) {
			margin-top: 20px;
		}

		.seat {
			border: 1px solid black;
			padding: 12px;
			border-radius: 5px;
		}

		.seat.selected {
			background-color: var(--selected-color);
		}
	}

	.ticket {
		border: 1px solid black;
		border-radius: 5px;
		padding: 20px;
	}
	.ticket + .ticket {
		margin-top: 20px;
	}


	.landing-page {
		header + .splash {
			margin-top: 40px;
		}

		.splash + form {
			margin-top: 20px;
		}

		form {
			.field + .field {
				margin-top: 10px;
			}

			.field + .buttons {
				margin-top: 20px;
			}

			.field {
				display: grid;
				/*grid-template-columns: 1fr 1fr;*/

				label + input {
					margin-top: 5px;
				}

				input {
					max-width: 50%;
				}
			}

			.buttons {
				display: flex;
				flex-direction: column;
				gap: 10px;

				button {
					max-width: 50%;
				}
			}
		}
	}

	.list-page {
		.show-card {
			h3 {
				grid-column: span 2;
			}

			picture {
				/*max-width: 50%;*/
				grid-column: 1;
			}

			.showtimes-container {
				grid-column: span 2;
				h4 {
					align-self: center;
					justify-self: center;
				}

				ul {
					display: grid;
					margin-top: 20px;
					gap: 20px;

					li {
						display: grid;
						grid-template-columns: 1fr 1fr;
						/*display: flex;*/
						/*flex-direction: column;*/
						gap: 10px;

						.times {
							button + button {
								margin-top: 10px;
							}
						}
					}
				}
			}
		}
	}

	.detail-page {
		.show-card {
			h2,
			.detail-image,
			.description,
			.showtimes-container {
				grid-column: span 2;
			}

			.showtimes-container {
				h3 {
					align-self: center;
					justify-self: center;
				}

				ul {
					display: grid;
					margin-top: 20px;
					gap: 20px;

					li {
						display: grid;
						grid-template-columns: 1fr 1fr;
						gap: 10px;

						.times {
							button + button {
								margin-top: 10px;
							}
						}
					}
				}
			}
		}
	}

	.confirmation-page {
		h2 + p,
		ul + .buttons {
			margin-top: 10px;
		}

		p + ul {
			margin-top: 20px;
		}
	}

	.theatre-page {
		.theatre-title {
			h2 + h3 {
				margin-top: 10px;
			}

			margin-bottom: 20px;
		}

		.stage {
			margin-bottom: 40px;
		}

		.seating-legend {
			padding-block: 20px;
			display: flex;
			align-items: center;
			gap: 10px;
			.info {
				display:flex;
				align-items: center;
				gap: 5px;
			}

			.key {
				border: 1px solid black;
				padding: 10px;
				border-radius: 5px;
			}

			.reserved-info .key {
				background-color: grey;
			}

			.selected-info .key {
				background-color: var(--selected-color);
			}

		}

		.ticket-overview {
			margin-top: 40px;
			display: grid;
			gap: 20px;

			ul {
				margin-top: 10px;
				display: grid;
				gap: 10px;

				li {
					display: grid;
					gap: 10px;
				}
			}
		}
	}

	.cart-page {
		.empty-cart {

		}

		ul {
			margin-top: 10px;
			display: grid;
			gap: 10px;

			li {
				display: grid;
				gap: 10px;
			}
		}

		.cart-buttons{
			margin-top: 10px;
		}
	}

	.tickets-page {
		h2 + ul {
			margin-top: 20px;
		}

		li + li {
			margin-top: 10px;
		}
	}
}