/*
 * Shamser Custom Header & Footer
 * Version 2.0.0
 *
 * IMPORTANT:
 * This stylesheet is fully namespaced.
 * It does NOT define global h1, h2, p, body, or other typography.
 * Astra / WordPress remains in control of page typography.
 */

.scfh-header,
.scfh-footer {
	--scfh-plum: #4A285A;
	--scfh-dark-plum: #321A3D;
	--scfh-terracotta: #C87561;
	--scfh-gold: #D6A85F;
	--scfh-white: #FFFFFF;
	--scfh-text: #29252A;
	--scfh-shadow: 0 18px 45px rgba(50, 26, 61, 0.10);

	font-family: "DM Sans", Arial, sans-serif;
}

.scfh-header *,
.scfh-footer * {
	box-sizing: border-box;
}

.scfh-container {
	width: min(1180px, calc(100% - 40px));
	margin-inline: auto;
}

/* Buttons */
.scfh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 13px 24px;
	background: var(--scfh-plum);
	color: var(--scfh-white);
	border: 1px solid var(--scfh-plum);
	border-radius: 7px;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
	transition: all .25s ease;
}

.scfh-btn:hover,
.scfh-btn:focus {
	background: var(--scfh-dark-plum);
	color: var(--scfh-white);
	transform: translateY(-2px);
	box-shadow: var(--scfh-shadow);
}

.scfh-btn-terracotta {
	background: var(--scfh-terracotta);
	border-color: var(--scfh-terracotta);
}

/* Header */
.scfh-header {
	background: var(--scfh-plum);
	color: var(--scfh-white);
}

.scfh-navbar {
	min-height: 84px;
	display: flex;
	align-items: center;
	gap: 30px;
	position: relative;
}

.scfh-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--scfh-white);
	text-decoration: none;
}

.scfh-logo:hover,
.scfh-logo:focus {
	color: var(--scfh-white);
}

.scfh-logo-icon {
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	color: var(--scfh-gold);
	font-size: 25px;
}

.scfh-logo-name {
	display: block;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 25px;
	font-weight: 700;
	line-height: 1;
}

.scfh-logo-tagline {
	display: block;
	margin-top: 5px;
	font-size: 8px;
	line-height: 1.2;
	color: rgba(255,255,255,.75);
}

.scfh-nav {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 20px;
}

.scfh-nav a {
	color: rgba(255,255,255,.85);
	font-size: 12px;
	font-weight: 600;
	padding: 8px 0;
	border-bottom: 2px solid transparent;
	text-decoration: none;
	transition: .2s;
}

.scfh-nav a:hover,
.scfh-nav a:focus {
	color: var(--scfh-white);
	border-color: var(--scfh-gold);
}

.scfh-mobile-menu {
	display: none;
	width: 44px;
	height: 44px;
	margin-left: auto;
	background: transparent;
	border: 1px solid rgba(255,255,255,.3);
	border-radius: 6px;
	cursor: pointer;
	padding: 0;
}

.scfh-mobile-menu span {
	display: block;
	width: 22px;
	height: 2px;
	margin: 5px auto;
	background: var(--scfh-white);
}

/* Footer */
.scfh-footer {
	background: var(--scfh-dark-plum);
	color: var(--scfh-white);
	padding: 70px 0 25px;
}

.scfh-footer-grid {
	display: grid;
	grid-template-columns: 1.5fr repeat(3, 1fr);
	gap: 40px;
}

.scfh-footer h3 {
	color: var(--scfh-gold);
	font-size: 12px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin: 0 0 15px;
}

.scfh-footer a {
	color: rgba(255,255,255,.65);
	text-decoration: none;
}

.scfh-footer a:hover,
.scfh-footer a:focus {
	color: var(--scfh-white);
}

.scfh-footer-grid > div:not(:first-child) a {
	display: block;
	font-size: 12px;
	margin: 8px 0;
}

.scfh-footer-brand {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 35px;
	color: var(--scfh-white);
}

.scfh-footer-description {
	margin-top: 15px;
	color: rgba(255,255,255,.65);
	font-family: "DM Sans", Arial, sans-serif;
	font-size: 12px;
}

.scfh-footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin-top: 50px;
	padding-top: 22px;
	border-top: 1px solid rgba(255,255,255,.15);
	color: rgba(255,255,255,.45);
	font-size: 11px;
}

.scfh-footer-bottom a {
	color: rgba(255,255,255,.45);
}

/* Responsive */
@media (max-width: 1050px) {
	.scfh-nav {
		gap: 12px;
	}

	.scfh-nav a {
		font-size: 11px;
	}
}

@media (max-width: 800px) {
	.scfh-container {
		width: min(100% - 30px, 650px);
	}

	.scfh-mobile-menu {
		display: block;
	}

	.scfh-nav {
		display: none;
		position: absolute;
		z-index: 9999;
		top: 84px;
		left: 15px;
		right: 15px;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 10px;
		margin: 0;
		background: var(--scfh-dark-plum);
		border-radius: 0 0 10px 10px;
		box-shadow: var(--scfh-shadow);
	}

	.scfh-nav.scfh-open {
		display: flex;
	}

	.scfh-nav a {
		padding: 13px;
		border-bottom: 1px solid rgba(255,255,255,.1);
	}

	.scfh-header .scfh-btn {
		display: none;
	}

	.scfh-footer-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 480px) {
	.scfh-footer-grid {
		grid-template-columns: 1fr;
	}

	.scfh-footer-bottom {
		flex-direction: column;
	}
}
