/*
Theme Name: Hannah Saltern Photography for KouryLab
Description: Photography-focused identity for HannahSalternPhotography.com, built on the KouryLab parent theme.
Author: KouryLab
Template: kourylab
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kourylab-hannahsaltern
*/

:root {
	--hsp-ink: #171717;
	--hsp-soft-ink: #4b4b47;
	--hsp-paper: #ffffff;
	--hsp-warm: #f3f0ea;
	--hsp-line: #d7d2c9;
	--hsp-accent: #8d7b69;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--hsp-paper); color: var(--hsp-ink); }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0 !important; }

.hsp-header {
	position: relative;
	z-index: 20;
	border-bottom: 1px solid rgba(23, 23, 23, 0.08);
	background: rgba(255, 255, 255, 0.97);
}
.hsp-header__inner {
	width: min(1180px, calc(100% - 40px));
	min-height: 74px;
	margin-inline: auto;
}
.hsp-brand a {
	color: var(--hsp-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(18px, 2vw, 25px);
	font-weight: 400;
	letter-spacing: 0.02em;
	text-decoration: none;
}
.hsp-nav { gap: clamp(18px, 3vw, 38px); }
.hsp-nav a {
	color: var(--hsp-ink);
	font-size: 13px;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}
.hsp-nav a:hover,
.hsp-nav a:focus-visible { color: var(--hsp-accent); }

.hsp-main { min-height: 65vh; }
.hsp-main > .wp-block-post-content { max-width: none; }
.hsp-main .elementor-section-wrap,
.hsp-main .elementor,
.hsp-main .elementor-section { max-width: none; }

.hsp-footer {
	padding: 54px 0;
	border-top: 1px solid var(--hsp-line);
	background: var(--hsp-warm);
	color: var(--hsp-soft-ink);
}
.hsp-footer__inner {
	width: min(1180px, calc(100% - 40px));
	margin-inline: auto;
}
.hsp-footer a { color: inherit; }
.hsp-footer__name {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 24px;
}
.hsp-footer__meta { margin: 8px 0 0; font-size: 13px; }

@media (max-width: 700px) {
	.hsp-header__inner { min-height: 66px; }
	.hsp-nav { gap: 16px; }
	.hsp-nav a:nth-child(2),
	.hsp-nav a:nth-child(3) { display: none; }
	.hsp-footer__inner { align-items: flex-start; flex-direction: column; gap: 18px; }
}
