@import url('https://fonts.googleapis.com/css2?family=Allura&family=Montserrat:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');

:root {
	--font-heading: "Playfair Display";    /* serif 500 */
	--font-body: "Montserrat";             /* sans-serif 400/500(navigation)/600(button/labels) */
	--font-brand: "Allura";                /* cursive 400 */
	--color-background-main: #FFFFFF;      /* White */
	--color-background-secondary: #24231F; /* Warm white */
	--color-background-card: #F7F6F2;      /* Soft white */
	--color-text-primary : #1C1C1A;        /* Charcoal */
	--color-text-secondary: #6F6D67;       /* Warm gray */
	--color-accent-primary: #C96A3D;       /* Warm terracotta */
	--color-accent-secondary: #7A8065;     /* Muted olive */
	--color-borders: #E8E6E1;              /* Light gray */
	--color-highlight: #C9A45C;            /* Soft gold */
}

/* setting default styles */
body {
	margin: 0;
	padding: 0;
	background: var(--color-background-main);
	font-family: var(--font-body), sans-serif;
	overflow-x: hidden;
}
a {
	color: inherit;
	text-decoration: none;
}

/* setting navigation bar styles */
#nav-bar {
	height: 60px;
	top: 0;
	z-index: 100;
	display: flex;
	position: sticky;
	justify-content: space-between;
	align-items: center;
	color: var(--color-text-primary)
}
#nav-brand {
	height: 100%;
	display: flex;
	align-items: center;
	font-family: var(--font-brand), cursive;
	font-size: clamp(1rem, 1.7rem, 4rem);
	font-weight: 700;
}
#nav-brand-logo {
    height: 50px;
    width: auto;
	padding: 0 16px;
}
#nav-menu {
	height: 100%;
	display: flex;
	align-items: center;
}
#nav-menu-links-container {
	height: 100%;
	display: flex;
	flex-direction: row;
	position: static;
}
#nav-menu-links-container.open {
	display: flex;
}
.nav-menu-link-item {
	font-size: 1rem;
	font-weight: 500;
	padding: 0 24px;
	align-content: center;
	border: 10px solid var(--color-background-main);
}
.nav-menu-link-item:hover {
	color: var(--color-accent-primary);
	border-bottom: 10px solid var(--color-accent-primary);
}
#nav-menu-toggle {
	display: none;
}
 /* Mobile view */
@media (max-width: 768px) {
	#nav-menu-links-container {
		width: 100%;
		display: none;
		flex-direction: column;
		position: absolute;
		top: 60px;
		left: 0;
		z-index: 99;
	}
	.nav-menu-link-item {
		background: var(--color-background-main);
		width: auto;
	}
	#nav-menu-toggle {
		display: block;
		background: none;
		border: none;
		color: var(--color-accent-primary);
		font-size: 22px;
		cursor: pointer;
		padding: 0 24px;
	}
}

/* setting footer styles */
#footer {
	padding: 30px 10vw;
	color: var(--color-text-secondary);
	background: var(--color-background-secondary);
}
#footer-top {
	display: grid;
	grid-template-columns: 3fr 1fr 1fr;
}
#footer-brand-name {
	font-family: var(--font-brand), cursive;
	font-size: clamp(28px, 8vw, 40px);
	font-weight: 700;
}
#footer-brand-tag {
	margin: 16px 0;
	font-size: 13px;
}
#footer-quick-links-header {
	font-family: var(--font-heading), serif;
	font-weight: 500;
}
#footer-social-links-container {
	margin: 16px 0;
	display: flex;
	flex-direction: row;
	gap: 16px;
}
#footer-quick-links-container {
	padding: 0;
	list-style: none;
}
#footer-quick-links-container li {
	padding: 8px 0;
	font-weight: 500;
}
#footer-contact-header {
	font-family: var(--font-heading), serif;
	font-weight: 500;
}
.footer-contact-details {
	padding: 8px 0;
	display: flex;
    align-items: center;
    gap: 8px;
	font-weight: 500;
}
.footer-icon {
	width: 24px;
	height: 24px;
}
#footer-bottom {
	margin: 16px 0;
	padding-top: 16px;
	position: relative;
	border-top: 1px solid color-mix(in srgb, var(--color-borders) 50%, transparent);
	font-size: 11px;
}
#footer-disclaimer {
	position: absolute;
	left: 0;
}
#footer-made-with-love {
	position: absolute;
	right: 0;
}
@media (max-width: 768px) {
	#footer-top {
		grid-template-columns: 1fr;
	}
}