/*
Theme Name: Astra Child – Connected To God
Template: astra
Description: Child theme for CONNECTED TO GOD™ (language & currency switch, WhatsApp, SEO helpers, small design polish). Layouts are built in Elementor.
Version: 1.1.1
Text Domain: astra-child-ctg
*/

:root, body {
	/* follow Elementor Site Settings → Global Colors (fallbacks only) */
	--ctg-dark: var(--e-global-color-primary, #2B2824);
	--ctg-ink: var(--e-global-color-ctgink, #36322D);
	--ctg-bone: var(--e-global-color-secondary, #F4F1EA);
	--ctg-gold: var(--e-global-color-accent, #C8A45C);
	--ctg-gold-dark: var(--e-global-color-ctggolddk, #A9873F);
	--ctg-muted-light: var(--e-global-color-ctgmutedlt, #CFC8BC);
	--ctg-shadow: var(--e-global-color-ctgshadow, rgba(43,40,36,.14));
}

body { background: var(--ctg-bone); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { text-wrap: balance; }

/* Switches (language + currency) */
.ctg-switch { display: inline-flex; border: 1px solid rgba(244,241,234,.22); border-radius: 2px; overflow: hidden; vertical-align: middle; }
.ctg-switch a, .ctg-switch button {
	background: transparent; border: 0; color: var(--ctg-muted-light); cursor: pointer;
	font: 800 11px/1 "Manrope", sans-serif; letter-spacing: .12em; padding: 9px 11px; text-decoration: none;
}
.ctg-switch a:hover, .ctg-switch button:hover { color: var(--ctg-bone); background: transparent; }
.ctg-switch .is-active, .ctg-switch .is-active:hover { background: var(--ctg-bone); color: var(--ctg-dark); }
.ctg-tools { display: flex; gap: 10px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }

/* Prices */
.ctg-price { font: inherit; letter-spacing: inherit; color: inherit; margin: 0; }

/* Product cards: zoom image on hover */
.ctg-card { transition: box-shadow .25s ease; }
.ctg-card img { transition: transform .6s ease; }
.ctg-card:hover img { transform: scale(1.04); }
.ctg-card .elementor-widget-image { overflow: hidden; }

/* Category tiles */
.ctg-tile { overflow: hidden; }
.ctg-tile:hover { filter: brightness(1.06); }

/* Big outline step numbers */
.ctg-step-num .elementor-heading-title { color: var(--ctg-gold) !important; }

/* Floating WhatsApp */
.ctg-wa-float {
	position: fixed; right: 20px; bottom: 20px; z-index: 999;
	width: 60px; height: 60px; border-radius: 50%; background: #25D366; color: #fff;
	display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 30px rgba(0,0,0,.25); transition: transform .2s;
}
.ctg-wa-float:hover { transform: scale(1.06); color: #fff; }
.ctg-wa-float svg { width: 30px; height: 30px; }

/* Header menu (Xpro horizontal menu) */
.ctg-header { position: sticky; top: 0; z-index: 99; }
.admin-bar .ctg-header { top: 32px; }

/* Accordion polish */
.ctg-faq .elementor-tab-title { border-bottom: 1px solid rgba(43,40,36,.12); }

/* WPForms on brand */
.wpforms-container .wpforms-field input, .wpforms-container .wpforms-field textarea {
	border: 1px solid rgba(43,40,36,.15) !important; border-radius: 2px !important; padding: 14px 16px !important; font-family: "Manrope", sans-serif;
}
.wpforms-container .wpforms-field-label { font: 800 12px/1.4 "Manrope", sans-serif !important; letter-spacing: .14em; text-transform: uppercase; }
.wpforms-container button[type=submit] {
	background: var(--ctg-dark) !important; color: var(--ctg-bone) !important; border: 0 !important; border-radius: 2px !important;
	font: 800 13px/1 "Manrope", sans-serif !important; letter-spacing: .16em; text-transform: uppercase; padding: 18px 30px !important; height: auto !important;
}
.wpforms-container button[type=submit]:hover { background: var(--ctg-gold) !important; color: var(--ctg-dark) !important; }

/* Elementor full-width pages: remove Astra's container padding so sections run edge to edge */
.page-template-elementor_header_footer .site-content > .ast-container,
.page-template-elementor_header_footer .site-content .ast-container {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

/* Mobile/tablet slide-in menu (Xpro) in brand colours */
@media (max-width: 1024px) {
	.ctg-header .xpro-elementor-horizontal-navbar-wrapper { background: var(--ctg-dark) !important; }
	.ctg-header .xpro-elementor-horizontal-navbar-nav > li > a { color: var(--ctg-bone) !important; background: transparent !important; opacity: 1 !important; font-size: 15px !important; padding-left: 0 !important; }
	.ctg-header .xpro-elementor-horizontal-navbar-nav > li.current-menu-item > a,
	.ctg-header .xpro-elementor-horizontal-navbar-nav > li > a:hover { color: var(--ctg-gold) !important; }
	.ctg-header .xpro-elementor-horizontal-navbar-nav > li { border-color: rgba(244,241,234,.18) !important; }
	.ctg-header .xpro-elementor-horizontal-menu-close { background: var(--ctg-gold) !important; color: var(--ctg-dark) !important; }
	.ctg-header .xpro-elementor-horizontal-menu-toggler { background: transparent !important; color: var(--ctg-bone) !important; border: 1px solid rgba(244,241,234,.22) !important; }
}

@media (max-width: 767px) {
	.ctg-tools { justify-content: flex-start; gap: 6px; flex-wrap: nowrap; }
	.ctg-switch a, .ctg-switch button { padding: 7px 7px; font-size: 10px; letter-spacing: .06em; }
	.ctg-header .elementor-widget-image img { width: 118px !important; }
	.admin-bar .ctg-header { top: 0; }
}
@media (max-width: 360px) {
	.ctg-header .elementor-widget-image img { width: 96px !important; }
}


/* ===== v2 motion & hover (timings match the static HTML) ===== */
.ctg-gold { color: var(--ctg-gold); }
.ctg-card, .ctg-lift { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.ctg-card:hover, .ctg-lift:hover { transform: translateY(-4px); box-shadow: 0 18px 40px var(--ctg-shadow); border-color: var(--ctg-gold) !important; }
.ctg-zoom { overflow: hidden; }
.ctg-zoom img { transition: transform .6s ease; }
.ctg-zoom:hover img { transform: scale(1.05); }
.ctg-tile { transition: filter .3s ease; }
.ctg-faq .elementor-tab-title { transition: color .2s ease; }
.ctg-faq .elementor-tab-title:hover a, .ctg-faq .elementor-tab-title:hover { color: var(--ctg-gold) !important; }
.elementor-widget-text-editor a { color: var(--ctg-gold-dark); text-decoration: underline; text-underline-offset: 3px; transition: color .2s ease; }
.elementor-widget-text-editor a:hover { color: var(--ctg-gold); }
@media (prefers-reduced-motion: reduce) { .ctg-card, .ctg-lift, .ctg-zoom img { transition: none; } .ctg-card:hover, .ctg-lift:hover { transform: none; } }
