/*
Theme Name:     GPS Hello Child
Theme URI:
Description:    Hello-elementor child theme.
Author:         TecGuru
Author URI:
Template:       hello-elementor
Version:        0.1.0
*/

/* ==========================================================================
   Global Prayer Storm — brand palette
   Navy (night watch) + gold (glory/light) site-wide; teal accent on Educate
   per the client wireframe's specified "Teal (#0d5c63)" color scheme.
   ========================================================================== */

:root {
	--gps-navy: #0b1f3a;
	--gps-navy-light: #16345e;
	--gps-gold: #c9a227;
	--gps-gold-light: #e6c65c;
	--gps-teal: #0d5c63;
	--gps-cream: #f7f3e8;
	--gps-text: #2c2c2c;
	--gps-muted: #6b7280;
	--gps-card-bg: #ffffff;
	--gps-card-shadow: 0 4px 16px rgba(11, 31, 58, 0.1);
	--gps-card-shadow-hover: 0 10px 28px rgba(11, 31, 58, 0.18);
	--gps-radius: 10px;
}

body {
	color: var(--gps-text);
}

h1, h2, h3, h4 {
	color: var(--gps-navy);
}

/* Section heading rhythm inside plain page content (About, Prayer Hub blurbs) */
.elementor-widget-text-editor h2 {
	font-size: 30px;
	margin-top: 48px;
	margin-bottom: 18px;
	padding-bottom: 10px;
	border-bottom: 3px solid var(--gps-gold);
	display: inline-block;
}

.elementor-widget-text-editor h1 + h2,
.elementor-widget-text-editor > .elementor-widget-container > h2:first-child {
	margin-top: 0;
}

.elementor-widget-text-editor h3 {
	color: var(--gps-teal);
	font-size: 20px;
	margin-top: 28px;
}

/* ==========================================================================
   Card grid — shared by every gps-core shortcode list
   ========================================================================== */

.gps-video-list,
.gps-guide-list,
.gps-structure-list,
.gps-partner-list,
.gps-crisis-alert-list,
.gps-initiative-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 28px;
	margin: 24px 0 40px;
}

.gps-video-item,
.gps-guide-item,
.gps-structure-item,
.gps-partner-item,
.gps-crisis-alert-item,
.gps-initiative-item {
	background: var(--gps-card-bg);
	border-radius: var(--gps-radius);
	box-shadow: var(--gps-card-shadow);
	padding: 22px 24px;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	display: flex;
	flex-direction: column;
}

.gps-video-item:hover,
.gps-guide-item:hover,
.gps-structure-item:hover,
.gps-partner-item:hover,
.gps-crisis-alert-item:hover,
.gps-initiative-item:hover {
	box-shadow: var(--gps-card-shadow-hover);
	transform: translateY(-3px);
}

.gps-video-item h4,
.gps-guide-item h4,
.gps-structure-item h4,
.gps-partner-item h4,
.gps-crisis-alert-item h4,
.gps-initiative-item h4 {
	color: var(--gps-navy);
	font-size: 18px;
	margin: 12px 0 8px;
}

/* Video cards */
.gps-video-item img {
	width: 100%;
	height: 160px;
	object-fit: cover;
	border-radius: calc(var(--gps-radius) - 4px);
	display: block;
}
.gps-video-runtime {
	display: inline-block;
	background: var(--gps-navy);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 20px;
	margin-bottom: 6px;
	width: fit-content;
}
.gps-video-summary {
	color: var(--gps-muted);
	font-size: 14px;
	line-height: 1.5;
}
.gps-video-summary p {
	margin: 0;
}

/* Prayer guide cards */
.gps-guide-item {
	border-top: 4px solid var(--gps-gold);
}
.gps-guide-summary {
	color: var(--gps-muted);
	font-size: 14px;
	flex-grow: 1;
}
.gps-guide-author {
	display: block;
	font-size: 12px;
	font-style: italic;
	color: var(--gps-muted);
	margin: 6px 0 12px;
}
.gps-guide-download {
	display: inline-block;
	align-self: flex-start;
	background: var(--gps-gold);
	color: var(--gps-navy) !important;
	font-weight: 700;
	font-size: 13px;
	text-decoration: none !important;
	padding: 8px 16px;
	border-radius: 20px;
	transition: background 0.2s ease;
}
.gps-guide-download:hover {
	background: var(--gps-gold-light);
}

/* Prayer structure cards (15/30/60 min) */
.gps-structure-item {
	border-top: 4px solid var(--gps-teal);
}
.gps-structure-item h4 {
	color: var(--gps-teal);
}
.gps-structure-text ul {
	padding-left: 20px;
	font-size: 14px;
	color: var(--gps-text);
}
.gps-structure-text li {
	margin-bottom: 6px;
}
.gps-structure-pdf {
	align-self: flex-start;
	margin-top: auto;
	color: var(--gps-teal) !important;
	font-weight: 700;
	font-size: 13px;
	text-decoration: none !important;
	border: 2px solid var(--gps-teal);
	padding: 6px 14px;
	border-radius: 20px;
}
.gps-structure-pdf:hover {
	background: var(--gps-teal);
	color: #fff !important;
}

/* Crisis alerts */
.gps-crisis-alert-item {
	border-top: 4px solid #b3261e;
}
.gps-crisis-alert-item time {
	font-size: 12px;
	color: var(--gps-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* Ministry partner + initiative cards */
.gps-partner-item img {
	border-radius: 50%;
	width: 72px;
	height: 72px;
	object-fit: cover;
	margin-bottom: 10px;
}
.gps-initiative-item {
	border-top: 4px solid var(--gps-navy-light);
}

/* Prayer focus list (About page) */
.gps-focus-list {
	list-style: none;
	margin: 24px 0 40px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 18px;
}
.gps-focus-list li {
	background: var(--gps-cream);
	border-left: 4px solid var(--gps-gold);
	border-radius: 6px;
	padding: 16px 20px;
	font-size: 14px;
	color: var(--gps-text);
}
.gps-focus-list li strong {
	display: block;
	color: var(--gps-navy);
	font-size: 16px;
	margin-bottom: 4px;
}

/* ==========================================================================
   Educate page — teal accent per client wireframe color spec
   ========================================================================== */

.page-id-58 .elementor-widget-text-editor h2 {
	border-bottom-color: var(--gps-teal);
}
.page-id-58 .gps-video-item h4 {
	color: var(--gps-teal);
}

/* ==========================================================================
   CF7 form styling (Enlist page)
   ========================================================================== */

.wpcf7-form {
	background: var(--gps-cream);
	border-radius: var(--gps-radius);
	padding: 32px;
	margin: 24px 0 40px;
	max-width: 640px;
}
.wpcf7-form p {
	margin-bottom: 16px;
	font-weight: 600;
	color: var(--gps-navy);
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form select {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid #d1d5db;
	border-radius: 6px;
	font-weight: 400;
	margin-top: 6px;
}
.wpcf7-form input[type="submit"] {
	background: var(--gps-gold);
	color: var(--gps-navy);
	font-weight: 700;
	border: none;
	padding: 12px 28px;
	border-radius: 24px;
	cursor: pointer;
	font-size: 15px;
}
.wpcf7-form input[type="submit"]:hover {
	background: var(--gps-gold-light);
}

@media (max-width: 600px) {
	.wpcf7-form {
		padding: 20px;
	}
}
