:root {
	--light: #EEE;
	--dark: #252625;
	--darker: #070807;
	--pink: #EC4899;
	--purple: #885CF6;
	--lightyellow: #fbf7e4;
	--yellow: #edc447;
	--darkyellow: #fdb714;
	--light2: #faf865;
	--olive: #423E37;
	--neutral: #8349e9;

	--large: min(4.5vmax,400%);
	--medium: min(2.5vmax,220%);
	--medium2: min(3vmax,220%);
	--small: min(2vmax,135%);
	--small2: min(2.5vmax,135%);
}

/* General Styles */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: 'Georgia', serif;
	background-color: #f9f5f0;
	color: #4a4a4a;
	line-height: 1.8;
	overflow-x: hidden;
}

/* Header */
header {
	text-align: center;
	padding: 3rem 1rem;
	background-color: #faf9f6;
	border-bottom: 1px solid #ddd;
}

header h1 {
	font-size: 2.5rem;
	color: #6a5acd;
	letter-spacing: 0.1rem;
}

header p {
	margin-top: 0.5rem;
	font-size: 1.2rem;
	color: #7a7a7a;
	font-style: italic;
}

/* Gallery Section */
main {
	max-width: 1200px;
	margin: 2rem auto;
	padding: 1rem;
}

.gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2rem;
}

figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: #ffffff;
	border: 1px solid #ddd;
	border-radius: 8px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	transition: transform 0.3s ease;
}

figure:hover {
	transform: translateY(-5px);
}

figure img {
	width: 100%;
	height: auto;
	display: block;
}

figcaption {
	padding: 1rem;
	font-size: 1rem;
	color: #4a4a4a;
	font-style: italic;
}

/* Footer */
footer {
	text-align: center;
	padding: 1rem;
	background-color: #faf9f6;
	border-top: 1px solid #ddd;
	margin-top: 2rem;
}

footer p {
	font-size: 0.9rem;
	color: #7a7a7a;
}

/* Responsive Design */
@media (max-width: 768px) {
header h1 {
	font-size: 2rem;
}

figcaption {
	font-size: 0.9rem;
}
}

/* Modal Styles */
#image-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1000;
}

#image-modal .modal-content {
	max-width: 90%;
	max-height: 90%;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	background: transparent;
}

#image-modal img {
	display: block;
	max-width: 90%;
	max-height: 100%;
	width: auto; /* Preserve aspect ratio */
	height: auto; /* Preserve aspect ratio */
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Remove zoom effect in modal */
.gallery img:hover {
	transform: scale(1.05); /* Keep hover effect in the gallery */
}

#image-modal img:hover {
	transform: none; /* Disable zoom effect for modal images */
}