/*
Theme Name: Sarnia Lighthouse Community Church
Author: Storyboard Solutions
Author URI: https://storyboardsolutions.com
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sarnia-lighthouse-community-church
Template: astra
*/

/* ==========================================================================
   About Page — Block Pattern Styles
   ========================================================================== */

/* Transparent header spacer — hidden when Astra transparent header is inactive */
.about-header-spacer {
	display: block;
}

body:not(.ast-theme-transparent-header) .about-header-spacer {
	display: none !important;
}

/* Affirmation cards — flex grid via wp:group wrapper */
.affirm-grid > .affirmation-card {
	flex: 0 0 calc(33.33% - 0.8rem);
}

.affirmation-card {
	transition: box-shadow 0.2s ease;
}

.affirmation-card:hover {
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

/* Team cards — hover effect and image handling */
.team-card {
	overflow: hidden;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.team-card:hover {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	transform: translateY(-2px);
}

.team-card .team-card-image {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #e8e8e8;
}

.team-card .team-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Covenant list — custom bullet styling */
.covenant-list {
	list-style: none;
	padding-left: 0;
}

.covenant-list li {
	padding: 0.5rem 0 0.5rem 1.5rem;
	position: relative;
	font-size: 1.05rem;
	line-height: 1.6;
}

.covenant-list li::before {
	content: "\2022";
	color: #0073aa;
	font-size: 1.4em;
	position: absolute;
	left: 0;
	top: 0.35rem;
}

/* ==========================================================================
   Hero Header — Text Drop Shadow for Readability
   ========================================================================== */

.hero-header .uagb-heading-text,
.hero-header > .uagb-container-inner-blocks-wrap > .wp-block-heading {
	text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.8), 0 0 20px rgba(0, 0, 0, 0.5);
}

.hero-header .uagb-desc-text,
.hero-header > .uagb-container-inner-blocks-wrap > p {
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.8), 0 0 12px rgba(0, 0, 0, 0.4);
}

/* ==========================================================================
   Header Social Icons — Larger Size & Better Contrast
   ========================================================================== */

.ast-header-social-1-wrap .ast-builder-social-element svg {
	width: 28px !important;
	height: 28px !important;
}

/* Desktop: white icons on transparent header */
.ast-header-social-1-wrap .ast-social-color-type-official .ast-builder-social-element svg {
	fill: #ffffff !important;
}

.ast-header-social-1-wrap .ast-social-color-type-official .ast-builder-social-element:hover svg {
	fill: var(--ast-global-color-0) !important;
}

/* Mobile hamburger menu: dark icons on white background */
@media (max-width: 921px) {
	.ast-header-social-1-wrap .ast-social-color-type-official .ast-builder-social-element svg {
		fill: var(--ast-global-color-2) !important;
	}
}

/* ==========================================================================
   Our Services Page — Card Styles
   ========================================================================== */

.svc-card {
	border-top: 4px solid var(--ast-global-color-0) !important;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.svc-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

/* ==========================================================================
   Home Page — Our Values Card Styles
   ========================================================================== */

.value-card {
	border-top: 4px solid var(--ast-global-color-0) !important;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.value-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

/* ==========================================================================
   Kids Page — Step Cards (Check-In / Check-Out)
   ========================================================================== */

.step-card {
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 782px) {
	/* Reduce header spacer on mobile */
	.about-header-spacer {
		height: 140px !important;
	}

	/* Stack affirmation cards single-column on mobile */
	.affirm-grid > .affirmation-card {
		flex: 0 0 100%;
	}

	/* Disable hover lift on touch devices */
	.svc-card:hover,
	.value-card:hover {
		transform: none;
	}

	/* Step cards: horizontal stepper layout on mobile */
	.step-card {
		display: grid !important;
		grid-template-columns: 48px 1fr;
		grid-template-rows: auto auto;
		gap: 0 1.25rem;
		column-gap: 1.25rem !important;
		border-top: none !important;
		border-left: 4px solid var(--ast-global-color-0) !important;
	}

	.step-card .wp-block-heading:first-child {
		grid-row: 1 / 3;
		align-self: center;
		width: 48px;
		height: 48px;
		border-radius: 50%;
		background: var(--ast-global-color-0);
		color: #fff !important;
		display: flex !important;
		align-items: center;
		justify-content: center;
		font-size: 1.4rem !important;
		margin: 0 !important;
		padding: 0;
		line-height: 1;
	}

	.step-card .wp-block-heading:nth-child(2) {
		text-align: left !important;
		margin-bottom: 0.3rem !important;
		font-size: 1rem !important;
	}

	.step-card p {
		text-align: left !important;
		grid-column: 2;
		margin: 0;
	}

	/* Programs Overview: 2x2 grid instead of stacked columns */
	.programs-overview .wp-block-columns {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 1rem;
	}

	.programs-overview .wp-block-columns .wp-block-column {
		flex-basis: auto !important;
		width: auto !important;
	}

	.programs-overview .wp-block-uagb-image img {
		max-height: 140px;
		object-fit: cover;
		border-radius: 8px;
	}

	/* Blockquote: remove left border and center margins on mobile */
	.wp-block-quote.is-style-large {
		border-left: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

}

@media (max-width: 1024px) and (min-width: 783px) {
	/* Affirmation cards: 2 per row on tablet */
	.affirm-grid > .affirmation-card {
		flex: 0 0 calc(50% - 0.6rem);
	}

	/* Team grid: 2 columns at tablet */
	.team-card {
		min-width: 0;
	}
}
