/*
Theme Name: FMAA
Theme URI: https://familymaa.com
Author: Brandenacity
Author URI: https://brandenacity.com
Description: Custom coded theme for Family Martial Arts Academy. Exact port of the approved Elementor design (header, footer, Home, Finish the Fight System, Our Story, Programs) with SEO + JSON-LD schema built in. Works alongside Paid Memberships Pro and BuddyPress. Replaces Storefront + Elementor.
Version: 1.1.4
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: fmaa
*/

/* ------- brand tokens ------- */
:root {
	--fmaa-red:   #C31600;
	--fmaa-ink:   #1D1E21;
	--fmaa-accent:#B1211C;
	--fmaa-paper: #ffffff;
	--fmaa-muted: #676767;
	--fmaa-line:  #e6e8ec;
	--fmaa-radius:10px;
}

html, body { margin: 0; padding: 0; background: #fff; }
body { font-family: "Poppins", "Helvetica Neue", Arial, sans-serif; }
img { max-width: 100%; height: auto; }

/* icon-font classes from removed plugins (JetIcons) */
.jki { display: none !important; }

/* sticky site header (replaces Elementor Pro sticky JS) */
.elementor-location-header { position: sticky; top: 0; z-index: 200; }
body.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .elementor-location-header { top: 46px; } }

/* mobile nav (replaces Elementor nav JS) */
.elementor-widget-nav-menu .elementor-nav-menu--dropdown { display: none; }
.elementor-widget-nav-menu.fmaa-nav-open .elementor-nav-menu--dropdown { display: block !important; }

/* approved tweaks */
.fmaa-parent { padding-left: 44px !important; padding-right: 44px !important; }
.fmaa-tri-icon svg, .ftf-tri-icon svg { width: 44px; height: 44px; color: #e74c3c; display: inline-block; }

/* ------- generic interior pages (PMPro, BuddyPress, legal, misc) ------- */
.fmaa-page-container { max-width: 1100px; margin: 0 auto; padding: 56px 24px 72px; }
.fmaa-page-container h1.entry-title { font-size: 36px; font-weight: 800; color: #111; margin: 0 0 26px; }
.fmaa-page-container a { color: var(--fmaa-red); }

/* ------- blog ------- */
.fmaa-blog .hentry { border: 1px solid var(--fmaa-line); border-radius: var(--fmaa-radius); padding: 1.5rem; margin-bottom: 1.75rem; background: var(--fmaa-paper); }
.fmaa-blog .entry-title { margin: 0 0 8px; font-size: 24px; }
.fmaa-blog .entry-title a { color: #111; text-decoration: none; }
.fmaa-blog .entry-title a:hover { color: var(--fmaa-red); }
.fmaa-blog .posted-on, .fmaa-blog .byline { color: var(--fmaa-muted); font-size: .875rem; }
.fmaa-read-more { display: inline-block; margin-top: 10px; font-weight: 700; text-decoration: none; }

/* ------- PMPro / BuddyPress accents ------- */
#buddypress .activity-list li, #buddypress .item-list li { border-color: var(--fmaa-line); }
#buddypress a { color: var(--fmaa-red); }
.pmpro_btn, .pmpro_checkout .pmpro_btn-submit { background: var(--fmaa-red) !important; border-radius: 8px !important; }

/* ------- booking button helper ------- */
.fmaa-book-button.button, .fmaa-book-button { display: inline-block; background: var(--fmaa-red); color: #fff !important; padding: .85em 1.6em; border-radius: 8px; font-weight: 700; text-decoration: none; box-shadow: 0 0 10px rgba(0,0,0,.35); }
.fmaa-book-button:hover { filter: brightness(.9); }


/* ==========================================================
   v1.0.1 refinements (approved 2026-07-22)
   ========================================================== */

/* --- All pages: slight text shadow on white/light text for readability --- */
.fmaa-triangle h2, .fmaa-triangle .fmaa-label, .fmaa-triangle p.sub,
.fmaa-tri-card h3, .fmaa-tri-card p,
.fmaa-parent-left h2, .fmaa-parent-left p, .fmaa-mini-card h4, .fmaa-mini-card p,
.elementor-flip-box__layer__title, .elementor-flip-box__layer__description,
.elementor-counter-number, .elementor-counter-number-suffix,
.elementor-button .elementor-button-text,
.ftf-hero h1, .ftf-hero p, .ftf-hero-badge, .ftf-hero-proof span, .ftf-hero-proof span strong,
.ftf-what-right h3, .ftf-what-right p, .ftf-tri-card h3, .ftf-tri-card p,
.ftf-diff-item h4, .ftf-diff-item p, .ftf-cta h2, .ftf-cta p,
.ftf-track-btn, .ftf-hero-cta, .ftf-track-badge,
.os-hero h1, .os-hero p, .os-badge,
.os-dark-box h2, .os-dark-box p, .os-dark-box blockquote, .os-dark-box .os-label,
.os-tl-year, .os-cta-band h2, .os-cta-band p,
.pg-hero h1, .pg-hero p, .pg-badge, .pg-card-header h3, .pg-card-header p, .pg-card-age,
.pg-cta-band h2, .pg-cta-band p, .pg-cta-btn,
.elementor-location-header .elementor-nav-menu--main .elementor-item,
.elementor-location-footer .elementor-heading-title,
.elementor-location-footer .elementor-icon-list-text,
.elementor-location-footer .elementor-divider__text {
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

/* --- Training Triangle + Our Story values: icon chips (no emojis) --- */
span.fmaa-tri-icon, span.ftf-tri-icon {
	display: inline-flex !important;
	align-items: center; justify-content: center;
	width: 84px; height: 84px;
	margin: 0 auto 18px !important;
	border-radius: 50%;
	background: rgba(231, 76, 60, 0.12);
	border: 1px solid rgba(231, 76, 60, 0.4);
}
span.fmaa-tri-icon svg, span.ftf-tri-icon svg { width: 38px; height: 38px; color: #e74c3c; }
span.os-val-icon {
	display: inline-flex !important;
	align-items: center; justify-content: center;
	width: 72px; height: 72px;
	margin: 0 0 14px !important;
	border-radius: 50%;
	background: rgba(195, 22, 0, 0.08);
	border: 1px solid rgba(195, 22, 0, 0.25);
}
span.os-val-icon svg { width: 32px; height: 32px; color: #C31600; }

/* --- Home: Start the Parent Path hover = black bg, white text --- */
.fmaa-parent .fmaa-parent-btn:hover { background: #0C0C0E !important; color: #fff !important; }

/* --- Home: remove dashed outline boxes (flip-card columns + counter cards) --- */
.elementor-156 .elementor-element.elementor-element-2ea3bad0 > .elementor-element-populated,
.elementor-156 .elementor-element.elementor-element-49abc4a2 > .elementor-element-populated,
.elementor-156 .elementor-element.elementor-element-9623d1  > .elementor-element-populated,
.elementor-156 .elementor-element.elementor-element-4fa92e41 > .elementor-element-populated,
.elementor-156 .elementor-element.elementor-element-2830b109 > .elementor-element-populated,
.elementor-156 .elementor-element.elementor-element-a30b562  > .elementor-element-populated,
.elementor-156 .elementor-element.elementor-element-4e5ad342 > .elementor-element-populated {
	border: none !important;
}

/* --- Home: hide the empty white box behind the phoenix in Our Impact --- */
.elementor-156 .elementor-element-47525a39 { display: none !important; }

/* --- FTF: hero button readable + hover white/black --- */
.ftf-page .ftf-hero-cta {
	color: #fff !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important;
}
.ftf-page .ftf-hero-cta:hover { background: #fff !important; color: #0C0C0E !important; }

/* --- FTF: Our Philosophy highlight --- */
.ftf-what-right h3 .ftf-orange { color: #F35D1E; }

/* --- FTF: track buttons white text, hover black/white --- */
.ftf-page .ftf-track-btn { color: #fff !important; }
.ftf-page .ftf-track-btn:hover { background: #0C0C0E !important; color: #fff !important; }

/* --- FTF: Most Popular ribbon on the featured track --- */
.ftf-track-card { position: relative; overflow: visible; }
.ftf-ribbon {
	position: absolute; top: -16px; left: 50%;
	transform: translateX(-50%);
	background: #C31600; color: #fff;
	font-size: 11px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase;
	padding: 9px 24px;
	border-radius: 999px;
	box-shadow: 0 4px 14px rgba(195, 22, 0, 0.45);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
	white-space: nowrap;
	z-index: 2;
}

/* --- CTA bands before the red footer: branded charcoal instead of red --- */
.ftf-cta, .os-cta-band, .pg-cta-band { background: #1D1E21 !important; }

/* --- Our Story: Our Journey as a real timeline --- */
.os-timeline { position: relative; }
.os-timeline::before {
	content: '';
	position: absolute; left: 49px; top: 10px; bottom: 10px;
	width: 3px; border-radius: 3px;
	background: linear-gradient(180deg, #C31600 0%, #1D1E21 100%);
}
.os-tl-item { position: relative; }
.os-tl-year {
	position: relative; z-index: 1;
	width: 84px !important; height: 84px;
	margin: 0 auto;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50% !important;
	padding: 0 !important;
	border: 3px solid #fff;
	box-shadow: 0 4px 16px rgba(195, 22, 0, 0.35);
}
.os-tl-content, .os-tl-item > div:last-child { padding-top: 14px; }
@media (max-width: 768px) {
	.os-timeline::before { left: 39px; }
	.os-tl-year { width: 72px !important; height: 72px; }
}

/* --- FTF / Our Story / Programs: full-bleed sections like Home --- */
.elementor-229 .e-con-inner, .elementor-243 .e-con-inner, .elementor-244 .e-con-inner { max-width: 100% !important; }
.elementor-229 .e-con.e-parent, .elementor-243 .e-con.e-parent, .elementor-244 .e-con.e-parent { padding: 0 !important; }

/* --- Nav: active page = red highlight pill with black text --- */
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active {
	background: #C31600;
	color: #0C0C0E !important;
	border-radius: 6px;
	padding: 9px 16px !important;
	text-shadow: none;
}
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
	background: #C31600;
	color: #0C0C0E !important;
}


/* --- v1.0.3: remove leftover Elementor placeholder background behind the Our Impact phoenix --- */
.elementor-156 .elementor-element-33060638 { background-image: none !important; }
