/*
 * Lyles Station Child Theme — custom.css
 *
 * Reproduces the visual design of the original Elementor-built site.
 * Key palette:
 *   #7E0304  — Brand Red   (nav bar, separators, sub-menu bg)
 *   #34180B  — Brand Brown (footer band, copyright bar)
 *   #FFFFFF  — White       (all text/icons on dark backgrounds)
 *   #2C1760  — Deep Purple (page headings)
 *   #3F3F3F  — Dark Gray   (body copy)
 */

/* =====================================================================
   1. GLOBAL RESET / BODY
   ===================================================================== */

/* Full-page background (matches the original custom-background setting) */
body,
.wp-site-blocks,
.is-root-container {
	background-color: #ffffff;
	background-image: url('/wp-content/themes/lylesstation-child/assets/images/background.jpg');
	background-position: left top;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	max-width: 1920px;
	margin-left: auto;
	margin-right: auto;
}

/* Prevent TwentyTwentyFive from adding its own top padding around the header */
.wp-site-blocks {
	padding-top: 0 !important;
}

/* Keep block theme constraints but allow the header to break out full-width */
.wp-block-group.wp-site-blocks > * {
	max-width: none;
}

/* Remove the extra margin TwentyTwentyFive puts between the header block and main */
.wp-block-template-part + main,
.wp-block-template-part + .wp-block-group {
	margin-top: 0 !important;
}

/* Generic link style */
a {
	color: #7A7A7A;
	text-decoration: none;
}
a:hover {
	color: #7E0304;
}

/* Page-title hide (matches original :root { --page-title-display: none }) */
.wp-block-post-title,
h1.entry-title {
	display: none;
}

/* Content area light background so it reads over the body image */
main.wp-block-group,
.wp-block-post-content {
	background-color: #ffffff;
}

/* =====================================================================
   2. HEADER / NAVIGATION BAR
   ===================================================================== */

.ls-header {
	background-color: #7E0304;
	/* Slight negative vertical margin to collapse any gap from the block wrapper */
	margin: -1rem 0 -1rem;
	position: relative;
	z-index: 200;
}

.ls-header-inner {
	display: flex;
	align-items: center;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}

/* --- Nav wrapper column (≈78% of 1200px) --- */
.ls-nav-wrapper {
	flex: 0 0 78.328%;
	max-width: 78.328%;
	padding: 2% 1% 1% 1%;
	position: relative;
}

/* Hamburger toggle — hidden on desktop, visible on mobile */
.ls-nav-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	color: #ffffff;
	font-size: 1.5rem;
	line-height: 1;
	padding: 8px;
}

/* --- Horizontal nav list --- */
.ls-main-nav ul {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 0;
}

.ls-main-nav ul li {
	margin: 0;
}

/* Nav link */
.ls-main-nav ul li a {
	font-family: 'Balthazar', sans-serif;
	font-size: 1.3rem;
	font-weight: 600;
	color: #ffffff;
	text-decoration: none;
	padding: 15px;
	display: block;
	position: relative;
	white-space: nowrap;
}

/* Underline pointer animation (hfe-pointer__underline style) */
.ls-main-nav ul li a::after {
	content: '';
	position: absolute;
	bottom: 8px;
	left: 15px;
	right: 15px;
	height: 2px;
	background-color: #ffffff;
	transform: scaleX(0);
	transition: transform 0.3s ease, opacity 0.3s ease;
	opacity: 0;
}

.ls-main-nav ul li a:hover::after,
.ls-main-nav ul li.current-menu-item a::after,
.ls-main-nav ul li a:focus::after {
	transform: scaleX(1);
	opacity: 1;
}

.ls-main-nav ul li a:hover,
.ls-main-nav ul li.current-menu-item a,
.ls-main-nav ul li a:focus {
	color: #ffffff;
	outline: none;
}

/* --- Social icon columns --- */
.ls-social-col {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
}

.ls-social-fb {
	flex: 0 0 5.03%;
	max-width: 5.03%;
}

.ls-social-ig {
	flex: 0 0 16.251%;
	max-width: 16.251%;
}

.ls-social-col img {
	display: block;
}

/* =====================================================================
   3. MAIN CONTENT AREA
   ===================================================================== */

main.wp-block-group {
	padding: 1.5rem 1rem;
}

.wp-block-post-content {
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	color: #3F3F3F;
}

.wp-block-post-content h2 {
	font-family: 'Roboto Slab', serif;
	font-size: 1.5rem;
	font-weight: 600;
	color: #2C1760;
}

.wp-block-post-content h3 {
	font-family: 'Roboto', sans-serif;
	font-size: 1.1rem;
	font-weight: 400;
	color: #3F3F3F;
}

/* =====================================================================
   4. FOOTER
   ===================================================================== */

.ls-footer {
	background-color: #34180B;
	color: #ffffff;
	margin-top: 0;
}

/* --- Footer info band (5-column layout) --- */
.ls-footer-band {
	background-color: #34180B;
}

.ls-footer-inner {
	display: flex;
	align-items: flex-start;
	max-width: 1140px;
	margin: 0 auto;
	padding: 1rem 0;
	gap: 0;
}

/* Each footer column */
.ls-footer-col {
	flex: 1 1 0;
	padding: 0.5rem 1rem;
	min-width: 0; /* prevent flex overflow */
}

/* Vertical red separators between columns (right border on all but last) */
.ls-footer-col:not(:last-child) {
	border-right: 8px solid #7E0304;
}

/* Compass column is slightly narrower and right-aligns its image */
.ls-footer-compass {
	flex: 0 0 12%;
	max-width: 12%;
	text-align: right;
	padding-right: 0;
}

.ls-footer-compass img {
	margin-right: -2rem; /* bleed into the separator as in the original */
	max-width: 100%;
}

/* Directions text widths */
.ls-footer-directions {
	flex: 0 0 21.912%;
	max-width: 21.912%;
}

.ls-footer-links {
	flex: 0 0 20.088%;
	max-width: 20.088%;
}

.ls-footer-networks {
	flex: 0 0 24%;
	max-width: 24%;
}

.ls-footer-social {
	flex: 0 0 22%;
	max-width: 22%;
}

/* Footer headings */
.ls-footer-heading,
.ls-footer h2.ls-footer-heading {
	font-family: 'Balthazar', sans-serif;
	font-size: 1.5rem;
	font-weight: 600;
	color: #ffffff;
	margin: 0 0 0.25rem;
}

/* Footer body text */
.ls-footer p {
	font-family: 'Balthazar', sans-serif;
	font-size: 0.9rem;
	font-weight: 400;
	color: #ffffff;
	margin: 0;
	line-height: 1.6;
}

/* Footer links */
.ls-footer a,
.ls-footer-links a,
.ls-footer-networks a {
	font-family: 'Balthazar', sans-serif;
	font-size: 0.9rem;
	font-weight: 400;
	color: #ffffff;
	text-decoration: none;
	display: block;
	line-height: 1.8;
}

.ls-footer a:hover,
.ls-footer-links a:hover,
.ls-footer-networks a:hover {
	text-decoration: underline;
	color: #ffffff;
}

/* Quick Links sub-grid */
.ls-footer-links-grid {
	display: flex;
	gap: 1rem;
	margin-top: 0.25rem;
}

.ls-footer-links-grid > div {
	display: flex;
	flex-direction: column;
}

/* Social icons in footer */
.ls-footer-social-icons {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	margin-top: 0.25rem;
}

.ls-footer-social-icons img {
	display: block;
}

/* --- Copyright bar --- */
.ls-footer-copyright {
	background-color: #34180B;
	text-align: center;
	padding: 0.5rem 1rem;
	border-top: 1px solid rgba(126, 3, 4, 0.4);
}

.ls-footer-copyright p {
	font-family: 'Balthazar', sans-serif;
	font-size: 0.75rem;
	font-weight: 400;
	color: #ffffff;
	margin: 0;
}

/* =====================================================================
   5. RESPONSIVE — TABLET (≤ 1024px)
   ===================================================================== */

@media (max-width: 1024px) {
	.ls-main-nav ul li a {
		font-size: 1.1rem;
		padding: 12px 10px;
	}

	.ls-footer-inner {
		flex-wrap: wrap;
		padding: 1rem;
	}

	.ls-footer-col {
		flex: 0 0 48%;
		max-width: 48%;
		margin-bottom: 1rem;
	}

	.ls-footer-compass {
		flex: 0 0 48%;
		max-width: 48%;
		text-align: center;
	}

	.ls-footer-compass img {
		margin-right: 0;
	}

	.ls-footer-col:not(:last-child) {
		border-right: none;
		border-bottom: 4px solid #7E0304;
	}
}

/* =====================================================================
   6. RESPONSIVE — MOBILE (≤ 767px)
   ===================================================================== */

@media (max-width: 767px) {
	/* Show hamburger, hide desktop nav */
	.ls-nav-toggle {
		display: block;
	}

	.ls-main-nav ul {
		display: none;
		flex-direction: column;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background-color: #7E0304;
		z-index: 300;
		padding: 0.5rem 0;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
	}

	.ls-main-nav.is-open ul {
		display: flex;
	}

	.ls-main-nav ul li a {
		font-size: 1.1rem;
		padding: 12px 20px;
		white-space: normal;
	}

	.ls-main-nav ul li a::after {
		display: none; /* underline animation looks odd vertically */
	}

	/* Hide social icons on mobile (matches elementor-hidden-mobile) */
	.ls-social-col {
		display: none;
	}

	.ls-nav-wrapper {
		flex: 1;
		display: flex;
		align-items: center;
	}

	/* Footer stacks to single column */
	.ls-footer-col {
		flex: 0 0 100%;
		max-width: 100%;
		text-align: center;
		margin-bottom: 1rem;
	}

	.ls-footer-compass {
		flex: 0 0 100%;
		max-width: 100%;
		text-align: center;
	}

	.ls-footer-compass img {
		margin-right: 0;
	}

	.ls-footer-col:not(:last-child) {
		border-right: none;
		border-bottom: 4px solid #7E0304;
		padding-bottom: 1rem;
	}

	.ls-footer-directions,
	.ls-footer-links,
	.ls-footer-networks,
	.ls-footer-social {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.ls-footer-links-grid {
		justify-content: center;
	}

	.ls-footer-social-icons {
		justify-content: center;
	}

	.ls-footer-inner {
		padding: 1rem;
	}

	main.wp-block-group {
		padding: 1rem 0.75rem;
	}
}

