/* ==========================================================================
   GKFC — PREMIUM SHARED VISUAL LAYER
   --------------------------------------------------------------------------
   Loaded only on pages flagged by gkfc_is_premium_page():
     /about-us/  /team/  /football-schools/  /news/  /contact-us/
     /matches/ (match archive)  /merchandise/ (shop)  /tickets/ (booking wizard)

   Direction: bold premium sports — deep stadium-night darks with maroon and
   orange energy, layered glows, glass depth and confident motion.

   Everything is scoped to body.gkfc-premium. Additive only: this layer never
   changes layout dimensions, so existing page builds stay intact.
   ========================================================================== */

/* ---- 1. Layer tokens + page ambience ------------------------------------ */
body.gkfc-premium {
	--pm-orange: #FF7B2B;
	--pm-maroon: #831D21;
	--pm-ink: #07080a;
	--pm-ring: rgba(255, 123, 43, 0.42);
	--pm-ease: cubic-bezier(0.16, 1, 0.3, 1);
	background-color: var(--pm-ink);
	background-image:
		radial-gradient(1100px 560px at 92% -6%, rgba(255, 123, 43, 0.10), transparent 62%),
		radial-gradient(900px 640px at -8% 22%, rgba(131, 29, 33, 0.16), transparent 62%);
	background-attachment: fixed;
}

/* ---- 2. Hero (page banner) ---------------------------------------------- */
body.gkfc-premium .gkfc-banner.gkfc-sec--dark {
	position: relative;
	background:
		radial-gradient(120% 95% at 50% -25%, rgba(255, 123, 43, 0.22), transparent 55%),
		radial-gradient(95% 85% at 106% 4%, rgba(131, 29, 33, 0.58), transparent 60%),
		radial-gradient(90% 90% at -6% 112%, rgba(131, 29, 33, 0.46), transparent 60%),
		linear-gradient(180deg, #0b0c10 0%, #07080a 100%);
	box-shadow: inset 0 -1px 0 0 var(--pm-ring);
}

/* Diagonal energy streaks — masked so they fade out toward the fold. */
body.gkfc-premium .gkfc-banner.gkfc-sec--dark::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image: repeating-linear-gradient(
		115deg,
		rgba(255, 255, 255, 0.05) 0 1px,
		transparent 1px 46px
	);
	-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.9), transparent 82%);
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.9), transparent 82%);
	opacity: 0.6;
}

body.gkfc-premium .gkfc-banner .elementor-container,
body.gkfc-premium .gkfc-banner .gkfc-container {
	position: relative;
	z-index: 1;
}

body.gkfc-premium .gkfc-banner__eyebrow {
	position: relative;
	background: rgba(255, 123, 43, 0.08);
	box-shadow: inset 0 0 0 1px rgba(255, 123, 43, 0.28), 0 12px 30px -16px rgba(255, 123, 43, 0.8);
}

body.gkfc-premium .gkfc-banner__eyebrow::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--pm-orange);
	box-shadow: 0 0 0 0 rgba(255, 123, 43, 0.55);
	animation: gkfc-pm-pulse 2.4s ease-out infinite;
}

@keyframes gkfc-pm-pulse {
	0% { box-shadow: 0 0 0 0 rgba(255, 123, 43, 0.55); }
	70% { box-shadow: 0 0 0 11px rgba(255, 123, 43, 0); }
	100% { box-shadow: 0 0 0 0 rgba(255, 123, 43, 0); }
}

body.gkfc-premium .gkfc-banner__title {
	text-shadow: 0 26px 60px rgba(0, 0, 0, 0.55);
}

body.gkfc-premium .gkfc-banner__title span {
	background: linear-gradient(104deg, #FFD9A8 0%, #FF7B2B 52%, #FF7B2B 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

body.gkfc-premium .gkfc-banner__sub {
	color: rgba(255, 255, 255, 0.82);
}

/* ---- Team hero: squad back-drop image -------------------------------- */
body.gkfc-premium .gkfc-team-hero.gkfc-banner.gkfc-sec--dark {
	background:
		linear-gradient(180deg, rgba(7, 8, 10, 0.78) 0%, rgba(7, 8, 10, 0.45) 38%, rgba(7, 8, 10, 0.68) 72%, rgba(7, 8, 10, 0.92) 100%),
		radial-gradient(95% 85% at 106% 4%, rgba(131, 29, 33, 0.40), transparent 60%),
		url("../images/team/squad-hero.webp") center 28% / cover no-repeat;
	background-attachment: scroll;
}

body.gkfc-premium .gkfc-team-hero .gkfc-banner__eyebrow {
	background: rgba(255, 123, 43, 0.14);
	box-shadow: inset 0 0 0 1px rgba(255, 123, 43, 0.36), 0 12px 30px -16px rgba(255, 123, 43, 0.9);
}

body.gkfc-premium .gkfc-team-hero .gkfc-banner__sub {
	color: rgba(255, 255, 255, 0.9);
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55);
}

body.gkfc-premium .gkfc-team-hero .gkfc-banner__cta .gkfc-btn--red {
	box-shadow: 0 16px 34px -14px rgba(255, 61, 61, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
}

/* ---- 3. Light sections + section headings ------------------------------- */
body.gkfc-premium .gkfc-sec--light {
	position: relative;
	background:
		radial-gradient(80% 60% at 100% 0%, rgba(255, 123, 43, 0.06), transparent 55%),
		radial-gradient(70% 55% at 0% 100%, rgba(131, 29, 33, 0.05), transparent 58%),
		linear-gradient(180deg, #faf9f6 0%, #f3f1ea 100%);
}

body.gkfc-premium .gkfc-sec--light::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 1px;
	pointer-events: none;
	background: linear-gradient(90deg, transparent, rgba(131, 29, 33, 0.30), transparent);
}

/* ---- About page: light-section canvas vs. dark-section wrappers ----
   The About sections echo their namespaced class on an inner <div>
   wrapper (e.g. <div class="gkfc-about-pillars">); .gkfc-sec appears
   only on the <section>, so `:not(.gkfc-sec)` catches the wrappers.

   The wrappers MUST stay transparent: painting #f7f7f7 on them put a
   solid light block inside the dark section. The <section> already
   supplies its own background, so `transparent` is correct in both
   light and dark modes. */
body.gkfc-premium .gkfc-about.gkfc-sec--light {
	background: #f7f7f7;
}
body.gkfc-premium .gkfc-about-story:not(.gkfc-sec),
body.gkfc-premium .gkfc-about-identity:not(.gkfc-sec),
body.gkfc-premium .gkfc-about-pillars:not(.gkfc-sec),
body.gkfc-premium .gkfc-about-partners:not(.gkfc-sec) {
	background: transparent;
}
body.gkfc-premium .gkfc-about.gkfc-sec--light::before { display: none; }

body.gkfc-premium .gkfc-demo-title,
body.gkfc-premium .gkfc-matches-heading {
	position: relative;
	letter-spacing: 0.01em;
}

body.gkfc-premium .gkfc-demo-title::after,
body.gkfc-premium .gkfc-matches-heading::after {
	content: "";
	display: block;
	width: 68px;
	height: 3px;
	margin: 14px auto 0;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--pm-maroon), var(--pm-orange));
}

/* ---- 4. Shared card depth + glow ---------------------------------------- */
body.gkfc-premium .gkfc-roster__card,
body.gkfc-premium .gkfc-person,
body.gkfc-premium .gkfc-pillar,
body.gkfc-premium .gkfc-step,
body.gkfc-premium .gkfc-about-fact,
body.gkfc-premium .gkfc-quote,
body.gkfc-premium .gkfc-news-feed__box,
body.gkfc-premium .gkfc-booking-card,
body.gkfc-premium .gkfc-contact .gkfc-form-wrap {
	transition: transform 0.45s var(--pm-ease), box-shadow 0.45s var(--pm-ease), border-color 0.45s var(--pm-ease);
}

body.gkfc-premium .gkfc-roster__card:hover,
body.gkfc-premium .gkfc-person:hover,
body.gkfc-premium .gkfc-pillar:hover,
body.gkfc-premium .gkfc-step:hover,
body.gkfc-premium .gkfc-about-fact:hover,
body.gkfc-premium .gkfc-news-feed__box:hover,
body.gkfc-premium .gkfc-booking-card:hover {
	transform: translateY(-6px);
	border-color: var(--pm-ring);
	box-shadow: 0 30px 62px -26px rgba(0, 0, 0, 0.62), 0 0 0 1px rgba(255, 123, 43, 0.16);
}

/* Player photo zoom on the roster cards. */
body.gkfc-premium .gkfc-roster__photo {
	transition: transform 0.6s var(--pm-ease), filter 0.6s var(--pm-ease);
}

body.gkfc-premium .gkfc-roster__card:hover .gkfc-roster__photo {
	transform: scale(1.06);
}

/* ---- 5. Buttons — shimmer sweep ----------------------------------------- */
body.gkfc-premium .gkfc-btn {
	position: relative;
	overflow: hidden;
}

body.gkfc-premium .gkfc-btn::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -45%;
	width: 42%;
	pointer-events: none;
	background: linear-gradient(115deg, transparent, rgba(255, 255, 255, 0.38), transparent);
	transform: skewX(-18deg) translateX(-170%);
	transition: transform 0.75s var(--pm-ease);
}

body.gkfc-premium .gkfc-btn:hover::after {
	transform: skewX(-18deg) translateX(430%);
}

body.gkfc-premium .gkfc-btn--red,
body.gkfc-premium .gkfc-btn--accent {
	box-shadow: 0 14px 32px -16px rgba(255, 123, 43, 0.85);
}

body.gkfc-premium .gkfc-btn--red:hover,
body.gkfc-premium .gkfc-btn--accent:hover {
	box-shadow: 0 20px 44px -16px rgba(255, 123, 43, 1);
}

/* ---- 6. Matches — fixtures & results ------------------------------------ */
body.gkfc-premium .gkfc-fixtures__col {
	position: relative;
	box-shadow: 0 26px 60px -30px rgba(12, 12, 12, 0.35);
}

body.gkfc-premium .gkfc-fixtures__label {
	background: linear-gradient(100deg, var(--pm-maroon), var(--pm-orange));
	box-shadow: 0 12px 26px -14px rgba(255, 123, 43, 0.8);
}

body.gkfc-premium .gkfc-fixtures__row--fixture {
	border-left-color: var(--pm-orange);
}

body.gkfc-premium .gkfc-fixtures__row--result {
	border-left-color: var(--pm-maroon);
}

body.gkfc-premium .gkfc-fixtures__row:hover {
	border-color: var(--pm-ring);
	box-shadow: 0 18px 36px -18px rgba(255, 123, 43, 0.55);
}

body.gkfc-premium .gkfc-matches-cta {
	position: relative;
	background:
		radial-gradient(80% 120% at 50% 0%, rgba(255, 123, 43, 0.16), transparent 60%),
		linear-gradient(180deg, #0c0d11, #07080a);
}

/* ---- 7. Team ------------------------------------------------------------ */
body.gkfc-premium .gkfc-team-mission,
body.gkfc-premium .gkfc-team-staff {
	position: relative;
}

body.gkfc-premium .gkfc-person__role {
	letter-spacing: 0.12em;
}

/* ---- 8. Football Schools ------------------------------------------------ */
body.gkfc-premium .gkfc-schools-cta {
	position: relative;
	background:
		radial-gradient(90% 130% at 50% -10%, rgba(255, 123, 43, 0.20), transparent 62%),
		linear-gradient(180deg, #0c0d11, #07080a);
}

body.gkfc-premium .gkfc-pillar__title,
body.gkfc-premium .gkfc-step__title {
	letter-spacing: 0.01em;
}

/* ---- 9. About ----------------------------------------------------------- */
body.gkfc-premium .gkfc-about-crest__orb {
	animation: gkfc-pm-spin 26s linear infinite;
}

@keyframes gkfc-pm-spin {
	to { transform: rotate(360deg); }
}

body.gkfc-premium .gkfc-about-badge {
	box-shadow: 0 24px 50px -20px rgba(255, 123, 43, 0.75);
}

body.gkfc-premium .gkfc-about-marquee {
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

body.gkfc-premium .gkfc-about-partners__logo {
	display: inline-block;
	max-height: 56px;
	width: auto;
	opacity: 0.85;
}

/* ---- 10. News ----------------------------------------------------------- */
body.gkfc-premium .gkfc-news-feed__box {
	background:
		radial-gradient(90% 120% at 50% -20%, rgba(255, 123, 43, 0.14), transparent 60%),
		linear-gradient(180deg, #101116, #0a0b0e);
	border: 1px solid rgba(255, 123, 43, 0.22);
}

body.gkfc-premium .gkfc-news-feed__icon {
	filter: drop-shadow(0 12px 24px rgba(255, 123, 43, 0.55));
}

/* ---- 11. Contact -------------------------------------------------------- */
body.gkfc-premium .gkfc-contact .gkfc-form-wrap {
	box-shadow: 0 30px 66px -30px rgba(0, 0, 0, 0.55);
}

/* ---- 12. Merchandise (shop) --------------------------------------------- */
body.gkfc-premium.woocommerce ul.products li.product {
	transition: transform 0.45s var(--pm-ease), box-shadow 0.45s var(--pm-ease), border-color 0.45s var(--pm-ease);
}

body.gkfc-premium.woocommerce ul.products li.product:hover {
	transform: translateY(-6px);
	border-color: var(--pm-ring);
	box-shadow: 0 30px 62px -26px rgba(0, 0, 0, 0.62), 0 0 0 1px rgba(255, 123, 43, 0.16);
}

/* ---- 13. Tickets — booking wizard --------------------------------------- */
body.gkfc-premium .gkfc-booking-page {
	position: relative;
	padding-top: clamp(2.4rem, 6vw, 4.4rem);
	padding-bottom: clamp(2.6rem, 7vw, 5rem);
}

body.gkfc-premium .gkfc-booking-page::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -10%;
	height: 460px;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(60% 100% at 50% 0%, rgba(255, 123, 43, 0.20), transparent 62%),
		radial-gradient(50% 90% at 85% 10%, rgba(131, 29, 33, 0.30), transparent 60%);
}

body.gkfc-premium .gkfc-booking-page__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 8px 18px;
	border: 1px solid rgba(255, 123, 43, 0.4);
	border-radius: 999px;
	background: rgba(255, 123, 43, 0.08);
	color: var(--pm-orange);
	font-family: var(--gkfc-font-heading);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

body.gkfc-premium .gkfc-booking-page__title {
	font-family: var(--gkfc-font-heading);
	text-transform: uppercase;
	letter-spacing: 0.01em;
	text-shadow: 0 22px 50px rgba(0, 0, 0, 0.5);
}

body.gkfc-premium .gkfc-booking-page__sub {
	color: rgba(255, 255, 255, 0.82);
}

body.gkfc-premium .gkfc-booking-card {
	border: 1px solid rgba(255, 123, 43, 0.22);
	background:
		radial-gradient(90% 120% at 100% -10%, rgba(255, 123, 43, 0.10), transparent 58%),
		linear-gradient(180deg, #101116, #0a0b0e);
	box-shadow: 0 30px 66px -30px rgba(0, 0, 0, 0.6);
}

body.gkfc-premium .gkfc-wizard__step.is-current span {
	background: linear-gradient(135deg, var(--pm-orange), var(--pm-maroon));
	box-shadow: 0 0 0 4px rgba(255, 123, 43, 0.18), 0 10px 22px -10px rgba(255, 123, 43, 0.9);
}

/* ---- 14. Motion --------------------------------------------------------- */
body.gkfc-premium .gkfc-about-marquee__track {
	will-change: transform;
}

/* ---- 15. Responsive ----------------------------------------------------- */
@media (max-width: 782px) {
	body.gkfc-premium .gkfc-banner.gkfc-sec--dark::before {
		opacity: 0.4;
	}

body.gkfc-premium .gkfc-roster__card:hover,
	body.gkfc-premium .gkfc-person:hover,
	body.gkfc-premium .gkfc-pillar:hover,
	body.gkfc-premium .gkfc-step:hover,
	body.gkfc-premium .gkfc-about-fact:hover,
	body.gkfc-premium .gkfc-news-feed__box:hover,
	body.gkfc-premium .gkfc-roster__card:hover .gkfc-roster__photo,
	body.gkfc-premium.woocommerce ul.products li.product:hover {
		transform: none;
	}
}

/* ---- 17. About hero — static s1 photo backdrop --------------------------- */
body.gkfc-premium .gkfc-about-hero.gkfc-sec--dark {
	background: #0b0c10;
}

/* Keep the hero copy above the ::before artwork wash (z-index:0). */
body.gkfc-premium .gkfc-about-hero > .elementor-container,
body.gkfc-premium .gkfc-about-hero > .elementor-background-overlay {
	position: relative;
	z-index: 1;
}


body.gkfc-premium .gkfc-about-hero.gkfc-sec--dark::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 1;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 30%;
	background-image:
		linear-gradient(120deg, rgba(95, 18, 22, 0.72) 0%, rgba(131, 29, 33, 0.55) 45%, rgba(255, 123, 43, 0.28) 100%),
		url("../images/about/about-s1.webp");
}

/* ---- 18. About hero — captivating headline typography -------------------- */
body.gkfc-premium .gkfc-about-hero .gkfc-banner__eyebrow {
	background: linear-gradient(180deg, rgba(131, 29, 33, 0.6), rgba(95, 18, 22, 0.8));
	box-shadow: inset 0 0 0 1px rgba(255, 123, 43, 0.55), 0 12px 34px -14px rgba(0, 0, 0, 0.7);
	color: #ffd9a8;
	letter-spacing: 0.28em;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	padding: 9px 20px;
}

body.gkfc-premium .gkfc-about-hero .gkfc-banner__eyebrow::before {
	content: none;
	display: none;
}

body.gkfc-premium .gkfc-about-hero .gkfc-banner__title {
	font-size: clamp(2.6rem, 6.4vw, 4.9rem);
	font-weight: 900;
	line-height: 1.06;
	letter-spacing: 0.02em;
	color: #fff;
	background: linear-gradient(180deg, #ffffff 0%, #ffe4bd 120%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 10px 36px rgba(0, 0, 0, 0.55));
}

body.gkfc-premium .gkfc-about-hero .gkfc-banner__title .gkfc-about-hero__accent {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(0.9rem, 2vw, 1.4rem);
	margin-top: 0.55rem;
	font-size: clamp(1.05rem, 2.5vw, 1.65rem);
	font-weight: 800;
	letter-spacing: 0.34em;
	text-indent: 0.34em;
	text-transform: uppercase;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 12px 30px rgba(255, 123, 43, 0.35));
}

body.gkfc-premium .gkfc-about-hero .gkfc-banner__title .gkfc-about-hero__accent::before,
body.gkfc-premium .gkfc-about-hero .gkfc-banner__title .gkfc-about-hero__accent::after {
	content: "";
	width: clamp(2.2rem, 7vw, 4.6rem);
	height: 1px;
	flex: none;
	background: linear-gradient(90deg, transparent, rgba(255, 123, 43, 0.9));
}

body.gkfc-premium .gkfc-about-hero .gkfc-banner__title .gkfc-about-hero__accent::after {
	background: linear-gradient(90deg, rgba(255, 123, 43, 0.9), transparent);
}

body.gkfc-premium .gkfc-about-hero .gkfc-banner__sub {
	color: rgba(255, 244, 230, 0.92);
	font-size: 1.18rem;
	line-height: 1.65;
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.45);
}

/* ---- 16. Reduced motion ------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	body.gkfc-premium .gkfc-banner__eyebrow::before,
	body.gkfc-premium .gkfc-about-crest__orb {
		animation: none;
	}

	body.gkfc-premium .gkfc-btn::after {
		display: none;
	}

	body.gkfc-premium .gkfc-roster__card,
	body.gkfc-premium .gkfc-person,
	body.gkfc-premium .gkfc-pillar,
	body.gkfc-premium .gkfc-step,
	body.gkfc-premium .gkfc-about-fact,
	body.gkfc-premium .gkfc-news-feed__box,
	body.gkfc-premium .gkfc-booking-card,
	body.gkfc-premium .gkfc-roster__photo,
	body.gkfc-premium.woocommerce ul.products li.product {
		transition: none;
	}

	body.gkfc-premium .gkfc-roster__card:hover,
	body.gkfc-premium .gkfc-person:hover,
	body.gkfc-premium .gkfc-pillar:hover,
	body.gkfc-premium .gkfc-step:hover,
	body.gkfc-premium .gkfc-about-fact:hover,
	body.gkfc-premium .gkfc-news-feed__box:hover,
	body.gkfc-premium .gkfc-booking-card:hover,
	body.gkfc-premium .gkfc-roster__card:hover .gkfc-roster__photo,
	body.gkfc-premium.woocommerce ul.products li.product:hover {
		transform: none;
	}
}

/* ---- 19. About — Join the BATTALIA cinematic CTA ---- */
body.gkfc-premium .gkfc-sec.gkfc-about-cta-sec {
	overflow: hidden;
	background:
		radial-gradient(110% 150% at 50% -15%, rgba(255, 123, 43, 0.30), transparent 60%),
		radial-gradient(85% 120% at 50% 125%, rgba(245, 196, 83, 0.14), transparent 65%),
		linear-gradient(180deg, #0c0d11 0%, #3a0d10 48%, #0b0c10 100%);
}

body.gkfc-premium .gkfc-about-cta {
	position: relative;
}

body.gkfc-premium .gkfc-about-cta > :not(.gkfc-cta-emblem, .gkfc-cta-glow, .gkfc-cta-ember) {
	position: relative;
	z-index: 1;
}

/* Drowned-out "BATTALIA" watermark */
body.gkfc-premium .gkfc-cta-emblem {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 0;
	pointer-events: none;
	user-select: none;
	white-space: nowrap;
font-family: var(--gkfc-font-heading);
	font-size: clamp(3rem, 14vw, 21rem);
	font-weight: 900;
	letter-spacing: 0.06em;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.07);
	text-shadow: 0 0 80px rgba(255, 123, 43, 0.22);
	opacity: 0.9;
	animation: gkfc-cta-breathe 6s ease-in-out infinite;
}
@keyframes gkfc-cta-breathe {
	0%, 100% { opacity: 0.55; transform: translate(-50%, -50%) scale(1); }
	50%      { opacity: 0.95; transform: translate(-50%, -50%) scale(1.035); }
}

/* Soft gold halo behind the content */
body.gkfc-premium .gkfc-cta-glow {
	position: absolute;
	top: 50%;
	left: 50%;
	width: min(560px, 90vw);
	height: min(560px, 90vw);
	transform: translate(-50%, -50%);
	z-index: 0;
	pointer-events: none;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 123, 43, 0.22), rgba(255, 123, 43, 0.07) 45%, transparent 70%);
	filter: blur(6px);
	animation: gkfc-cta-pulse 7s ease-in-out infinite;
}
@keyframes gkfc-cta-pulse {
	0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.85; }
	50%      { transform: translate(-50%, -50%) scale(1.12); opacity: 1; }
}

/* Rising embers */
body.gkfc-premium .gkfc-cta-ember {
	position: absolute;
	bottom: 12%;
	z-index: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 35%, #ffd27a, #ff7b2b 60%, transparent 78%);
	opacity: 0;
	pointer-events: none;
	animation: gkfc-cta-ember-up 9s linear infinite;
}
body.gkfc-premium .gkfc-cta-ember--1 { left: 18%; animation-delay: 0s; }
body.gkfc-premium .gkfc-cta-ember--2 { left: 46%; width: 8px; height: 8px; animation-delay: 3s; }
body.gkfc-premium .gkfc-cta-ember--3 { left: 74%; width: 5px; height: 5px; animation-delay: 6s; }
@keyframes gkfc-cta-ember-up {
	0%   { transform: translateY(0) translateX(0) scale(0.6); opacity: 0; }
	12%  { opacity: 0.9; }
	100% { transform: translateY(-46vh) translateX(4vw) scale(0.3); opacity: 0; }
}

/* Gold-gradient accent word with a roaming sheen */
body.gkfc-premium .gkfc-about-cta__accent {
	background-image: linear-gradient(100deg, #ffffff 0%, #f5c453 48%, #ff7b2b 100%);
	background-size: 200% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	animation: gkfc-cta-sheen 6s ease-in-out infinite;
}
@keyframes gkfc-cta-sheen {
	0%, 100% { background-position: 0% 0; }
	50%      { background-position: 100% 0; }
}

/* Eyebrow: glowing amber pill */
body.gkfc-premium .gkfc-about-cta .gkfc-eyebrow {
	background: rgba(255, 123, 43, 0.12);
	border: 1px solid rgba(255, 123, 43, 0.55);
	color: #ffb26b;
}

/* Buttons: flame gradient + gold ghost */
body.gkfc-premium .gkfc-about-cta .gkfc-btn--red {
	display: inline-flex;
	align-items: center;
	padding: 15px 34px;
	border-radius: 999px;
	background: linear-gradient(135deg, #e0493f 0%, #c1272d 45%, #ff7b2b 130%);
	box-shadow: 0 14px 34px -8px rgba(255, 123, 43, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.25);
	transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}
body.gkfc-premium .gkfc-about-cta .gkfc-btn--red:hover,
body.gkfc-premium .gkfc-about-cta .gkfc-btn--red:focus {
	transform: translateY(-3px);
	filter: brightness(1.07);
	box-shadow: 0 22px 44px -8px rgba(255, 123, 43, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
body.gkfc-premium .gkfc-about-cta .gkfc-btn--ghost {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 30px;
	border-radius: 999px;
	color: #f5c453;
	border: 1.5px solid rgba(245, 196, 83, 0.7);
	background: rgba(245, 196, 83, 0.06);
	backdrop-filter: blur(4px);
	transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
body.gkfc-premium .gkfc-about-cta .gkfc-btn--ghost:hover,
body.gkfc-premium .gkfc-about-cta .gkfc-btn--ghost:focus {
	transform: translateY(-3px);
	border-color: #f5c453;
	background: rgba(245, 196, 83, 0.14);
	box-shadow: 0 0 30px -6px rgba(245, 196, 83, 0.45);
}

@media (prefers-reduced-motion: reduce) {
	body.gkfc-premium .gkfc-cta-emblem,
	body.gkfc-premium .gkfc-cta-glow,
	body.gkfc-premium .gkfc-cta-ember,
	body.gkfc-premium .gkfc-about-cta__accent {
		animation: none !important;
	}
	body.gkfc-premium .gkfc-about-cta .gkfc-btn--red,
	body.gkfc-premium .gkfc-about-cta .gkfc-btn--ghost {
		transition: none;
	}
}

/* ---- 20. About — Leadership (Guided by…) — premier ---------------------- */
body.gkfc-premium .gkfc-about.gkfc-about-lead {
	position: relative;
	width: auto;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	background: #6d151b;
	box-shadow: inset 0 1px 0 rgba(245, 196, 83, 0.16), inset 0 -1px 0 rgba(245, 196, 83, 0.16);
}
body.gkfc-premium .gkfc-about.gkfc-about-lead::before {
	content: none;
}
body.gkfc-premium .gkfc-about.gkfc-about-lead > .elementor-container {
	padding-inline: clamp(20px, 4vw, 64px);
}

/* Headline block */
body.gkfc-premium .gkfc-about-lead__eyebrow {
	display: inline-block;
	margin: 0 0 1.15rem;
	padding: 8px 24px;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: #f5c453;
	background: rgba(245, 196, 83, 0.07);
	border: 1px solid rgba(245, 196, 83, 0.36);
	box-shadow: 0 0 26px -10px rgba(245, 196, 83, 0.55);
}
body.gkfc-premium .gkfc-about-lead__text {
	text-shadow: 0 2px 26px rgba(0, 0, 0, 0.35);
}
body.gkfc-premium .gkfc-about-lead__name {
	background: linear-gradient(92deg, #f5c453, #fff3c4 42%, #e8a43a 78%, #f5c453 110%);
	background-size: 220% auto;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	white-space: nowrap;
}
body.gkfc-premium .gkfc-about-lead__rule {
	position: relative;
	width: 190px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(245, 196, 83, 0.75), transparent);
}
body.gkfc-premium .gkfc-about-lead__rule::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 9px;
	height: 9px;
	transform: translate(-50%, -50%) rotate(45deg);
	background: linear-gradient(135deg, #F5C453, #ff7b2b);
	box-shadow: 0 0 16px rgba(245, 196, 83, 0.9);
}

/* Leaders grid */
body.gkfc-premium .gkfc-person__grid--leaders {
	gap: clamp(22px, 3vw, 40px);
	width: 100%;
	max-width: min(760px, 100%);
	margin-left: auto;
	margin-right: auto;
	margin-top: 2rem;
}
body.gkfc-premium .gkfc-about-people .gkfc-person--lead {
	position: relative;
	overflow: hidden;
	padding: clamp(34px, 4vw, 54px) clamp(20px, 3vw, 36px) clamp(30px, 3.6vw, 46px);
	border: 1px solid rgba(245, 196, 83, 0.32);
	border-radius: 22px;
background:
		radial-gradient(circle at 50% -12%, rgba(255, 255, 255, 0.12), transparent 55%),
		linear-gradient(180deg, rgba(146, 40, 47, 0.78), rgba(118, 27, 33, 0.54) 55%, rgba(92, 19, 24, 0.76));
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.42);
	transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
body.gkfc-premium .gkfc-about-people .gkfc-person--lead::before {
	content: '';
	position: absolute;
	top: 0;
	left: 12%;
	right: 12%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(245, 196, 83, 0.95), transparent);
}
body.gkfc-premium .gkfc-about-people .gkfc-person--lead:hover {
	transform: translateY(-10px);
	border-color: rgba(245, 196, 83, 0.7);
	box-shadow: 0 40px 80px rgba(0, 0, 0, 0.5), 0 0 44px rgba(245, 196, 83, 0.16);
}
body.gkfc-premium .gkfc-person--lead .gkfc-person__veil {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 50% 0%, rgba(245, 196, 83, 0.10), transparent 60%);
	pointer-events: none;
}

/* Corner brackets */
body.gkfc-premium .gkfc-person--lead .gkfc-person__corner {
	position: absolute;
	width: 26px;
	height: 26px;
	opacity: 0.75;
	pointer-events: none;
	transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
}
body.gkfc-premium .gkfc-person--lead .gkfc-person__corner--tl {
	top: 12px;
	left: 12px;
	border-top: 2px solid #f5c453;
	border-left: 2px solid #f5c453;
	border-top-left-radius: 8px;
}
body.gkfc-premium .gkfc-person--lead .gkfc-person__corner--br {
	bottom: 12px;
	right: 12px;
	border-bottom: 2px solid #f5c453;
	border-right: 2px solid #f5c453;
	border-bottom-right-radius: 8px;
}
body.gkfc-premium .gkfc-about-people .gkfc-person--lead:hover .gkfc-person__corner--tl,
body.gkfc-premium .gkfc-about-people .gkfc-person--lead:hover .gkfc-person__corner--br {
	width: 36px;
	height: 36px;
	opacity: 1;
}

/* Medallion */
body.gkfc-premium .gkfc-person--lead .gkfc-person__photo {
	position: relative;
	width: 208px;
	height: 208px;
	aspect-ratio: auto;
	margin: 0 auto 28px;
	border-radius: 50%;
	overflow: visible;
	display: grid;
	place-items: center;
}
body.gkfc-premium .gkfc-person--lead .gkfc-person__halo {
	position: absolute;
	inset: -22px;
	border-radius: 50%;
background: radial-gradient(circle, rgba(245, 196, 83, 0.34), rgba(255, 123, 43, 0.12) 55%, transparent 72%);
	filter: blur(2px);
	pointer-events: none;
}
body.gkfc-premium .gkfc-person--lead .gkfc-person__mono {
	position: relative;
	z-index: 2;
	width: 132px;
	height: 132px;
	border-radius: 50%;
	font-size: 2.9rem;
	font-weight: 800;
	color: #f5c453;
	background: radial-gradient(circle at 30% 25%, #9c282d, #3d0c10 72%);
	border: 2px solid rgba(245, 196, 83, 0.85);
	box-shadow: 0 0 0 6px rgba(0, 0, 0, 0.25), 0 14px 30px rgba(0, 0, 0, 0.5), inset 0 0 24px rgba(255, 123, 43, 0.16);
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6);
}
body.gkfc-premium .gkfc-person--lead .gkfc-person__img {
	position: relative;
	z-index: 2;
	width: 172px;
	height: 172px;
	border-radius: 50%;
	object-fit: cover;
	object-position: center 20%;
	border: 2px solid rgba(245, 196, 83, 0.9);
	box-shadow: 0 0 0 6px rgba(0, 0, 0, 0.25), 0 14px 30px rgba(0, 0, 0, 0.5);
	filter: saturate(0.94);
}
body.gkfc-premium .gkfc-person--lead .gkfc-person__ring {
	position: absolute;
	inset: -10px;
	border-radius: 50%;
	z-index: 3;
	background: conic-gradient(
		from 0deg,
		transparent 0deg,
		transparent 205deg,
		rgba(245, 196, 83, 0.95) 240deg,
		rgba(255, 123, 43, 0.9) 252deg,
		transparent 266deg,
		rgba(255, 123, 43, 0.25) 296deg,
		transparent 322deg
	);
-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
	mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
	pointer-events: none;
	filter: drop-shadow(0 0 6px rgba(245, 196, 83, 0.55));
}

/* Name + role */
body.gkfc-premium .gkfc-person--lead .gkfc-person__name {
	position: relative;
	margin: 6px 8px 0;
	font-size: clamp(1.25rem, 2.2vw, 1.6rem);
	font-weight: 800;
	letter-spacing: 0.01em;
	color: #fff;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.4);
}
body.gkfc-premium .gkfc-person--lead .gkfc-person__role {
	position: relative;
	display: inline-block;
	margin: 14px auto 0;
	padding: 7px 20px;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: #f5c453;
	background: rgba(245, 196, 83, 0.08);
	border: 1px solid rgba(245, 196, 83, 0.36);
	box-shadow: 0 0 18px -8px rgba(245, 196, 83, 0.5);
}

@media (prefers-reduced-motion: reduce) {
	body.gkfc-premium .gkfc-about-people .gkfc-person--lead {
		transition: none;
	}
}

/* ---- 21. Team — hero dark overlay + bottom fade-to-black ----------------- */
body.gkfc-premium .gkfc-team-hero .elementor-background-overlay {
	background: linear-gradient(
		180deg,
		rgba(2, 5, 4, 0.62) 0%,
		rgba(2, 5, 4, 0.78) 45%,
		rgba(0, 0, 0, 0.97) 100%
	) !important;
	opacity: 1 !important;
}

/* ---- 22. Team hero — stunning CTA button --------------------------------- */
body.gkfc-premium .gkfc-team-hero .gkfc-banner__eyebrow::before {
	content: none;
}
body.gkfc-premium .gkfc-banner__cta .gkfc-btn--red {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: auto;
	padding: 16px 44px;
	border-radius: 999px;
	font-size: 0.92rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #fff;
	background: linear-gradient(135deg, #e0493f 0%, #c1272d 45%, #ff7b2b 130%);
	background-size: 220% auto;
	border: 1px solid rgba(245, 196, 83, 0.45);
	box-shadow:
		0 0 0 1px rgba(245, 196, 83, 0.22),
		0 18px 44px -12px rgba(255, 123, 43, 0.45),
		0 10px 24px -8px rgba(0, 0, 0, 0.6),
		inset 0 -3px 0 rgba(60, 8, 10, 0.35);
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
	transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease, background-position 0.6s ease;
	animation: gkfc-teambtn-sheen 4s ease-in-out infinite;
}
body.gkfc-premium .gkfc-banner__cta .gkfc-btn--red::before {
	content: '';
	position: absolute;
	top: 0;
	left: -75%;
	width: 55%;
	height: 100%;
	transform: skewX(-20deg);
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.45), transparent);
	animation: gkfc-teambtn-sweep 3.2s ease-in-out infinite;
}
body.gkfc-premium .gkfc-banner__cta .gkfc-btn--red:hover,
body.gkfc-premium .gkfc-banner__cta .gkfc-btn--red:focus {
	transform: translateY(-3px);
	filter: brightness(1.08);
	border-color: rgba(245, 196, 83, 0.65);
	box-shadow:
		0 0 0 1px rgba(245, 196, 83, 0.35),
		0 24px 56px -12px rgba(255, 123, 43, 0.6),
		0 14px 30px -8px rgba(0, 0, 0, 0.65),
		inset 0 -3px 0 rgba(60, 8, 10, 0.35);
}
body.gkfc-premium .gkfc-banner__cta .gkfc-btn--red:active {
	transform: translateY(-1px) scale(0.98);
}
@keyframes gkfc-teambtn-sweep {
	0%, 55% { left: -75%; }
	100%     { left: 125%; }
}
@keyframes gkfc-teambtn-sheen {
	0%, 100% { background-position: 0% 0%; }
	50%      { background-position: 100% 0%; }
}
@media (prefers-reduced-motion: reduce) {
	body.gkfc-premium .gkfc-banner__cta .gkfc-btn--red,
	body.gkfc-premium .gkfc-banner__cta .gkfc-btn--red::before {
		animation: none !important;
	}
	body.gkfc-premium .gkfc-banner__cta .gkfc-btn--red {
		transition: none;
	}
}

/* ---- 23. Team — Management & Staff, premier ------------------------------ */
body.gkfc-premium .gkfc-team-staff {
	text-align: center;
}
body.gkfc-premium .gkfc-team-staff .gkfc-team__h {
	background: linear-gradient(104deg, #ffd9a8 0%, #f5c453 42%, #e8a43a 78%, #f5c453 110%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
body.gkfc-premium .gkfc-team-staff .gkfc-team__h::after {
	content: '';
	display: block;
	width: 108px;
	height: 2px;
	margin: 14px auto 0;
	background: linear-gradient(90deg, transparent, rgba(245, 196, 83, 0.85), transparent);
	border-radius: 999px;
}
body.gkfc-premium .gkfc-team-staff .gkfc-team__staff-desc {
	color: rgba(255, 255, 255, 0.62);
}
body.gkfc-premium .gkfc-team-staff .gkfc-person__grid {
	max-width: 1180px;
	margin-inline: auto;
	gap: clamp(18px, 2vw, 26px);
}
@media (max-width: 768px) {
	body.gkfc-premium .gkfc-team-staff .gkfc-person__grid {
		grid-template-columns: 1fr;
		max-width: 420px;
		width: 100%;
		margin-inline: auto;
	}
}
body.gkfc-premium .gkfc-team-staff .gkfc-person {
	position: relative;
	background: linear-gradient(180deg, rgba(146, 40, 47, 0.16), rgba(84, 16, 20, 0.3) 55%, rgba(45, 8, 11, 0.48));
	border: 1px solid rgba(245, 196, 83, 0.26);
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 22px 50px -20px rgba(0, 0, 0, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.05);
	transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
body.gkfc-premium .gkfc-team-staff .gkfc-person__photo {
	position: relative;
	border-radius: 17px 17px 0 0;
}
body.gkfc-premium .gkfc-team-staff .gkfc-person__photo::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.04) 40%, rgba(14, 6, 8, 0.6) 100%);
	pointer-events: none;
	transition: opacity 0.3s ease;
}
body.gkfc-premium .gkfc-team-staff .gkfc-person:hover {
	transform: translateY(-8px);
	border-color: rgba(245, 196, 83, 0.6);
	box-shadow: 0 34px 60px -22px rgba(0, 0, 0, 0.8), 0 0 40px -10px rgba(245, 196, 83, 0.3);
}
body.gkfc-premium .gkfc-team-staff .gkfc-person:hover .gkfc-person__photo img {
	transform: scale(1.07);
	filter: saturate(1.06);
}
body.gkfc-premium .gkfc-team-staff .gkfc-person:hover .gkfc-person__photo::after {
	opacity: 0.7;
}
body.gkfc-premium .gkfc-team-staff .gkfc-person__name {
	margin-top: 18px;
	font-size: 1.02rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: #fff;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.5);
}
body.gkfc-premium .gkfc-team-staff .gkfc-person__role {
	display: inline-block;
	margin: 10px 0 18px;
	padding: 6px 16px;
	border-radius: 999px;
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #f5c453;
	background: rgba(245, 196, 83, 0.08);
	border: 1px solid rgba(245, 196, 83, 0.34);
}

/* ---- 24. Team — Mission pull-quote, premier ------------------------------ */
body.gkfc-premium .gkfc-team-mission .gkfc-mission__crest {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	width: 190px;
	height: 26px;
	margin: 0 auto 22px;
}
body.gkfc-premium .gkfc-team-mission .gkfc-mission__crest::before,
body.gkfc-premium .gkfc-team-mission .gkfc-mission__crest::after {
	content: '';
	height: 1px;
	flex: 1;
}
body.gkfc-premium .gkfc-team-mission .gkfc-mission__crest::before {
	background: linear-gradient(90deg, transparent, rgba(245, 196, 83, 0.7));
}
body.gkfc-premium .gkfc-team-mission .gkfc-mission__crest::after {
	background: linear-gradient(90deg, rgba(245, 196, 83, 0.7), transparent);
}
body.gkfc-premium .gkfc-team-mission .gkfc-mission__gem {
	width: 9px;
	height: 9px;
	transform: rotate(45deg);
	background: linear-gradient(135deg, #f5c453, #ff7b2b);
	box-shadow: 0 0 16px rgba(245, 196, 83, 0.9);
}
body.gkfc-premium .gkfc-team-mission .gkfc-quote {
	position: relative;
	max-width: 860px;
	padding: 2.1rem clamp(20px, 4vw, 60px);
	border: 0;
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(146, 40, 47, 0.14), rgba(61, 11, 15, 0.28) 60%, rgba(30, 5, 7, 0.42));
	box-shadow: 0 30px 70px -30px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(245, 196, 83, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.06);
	font-size: clamp(1.35rem, 2.6vw, 1.9rem);
	line-height: 1.58;
	font-weight: 600;
	text-align: center;
	color: rgba(255, 255, 255, 0.94);
}
body.gkfc-premium .gkfc-team-mission .gkfc-quote::before,
body.gkfc-premium .gkfc-team-mission .gkfc-quote::after {
	content: '';
	position: absolute;
	left: 16%;
	right: 16%;
	height: 2px;
	border-radius: 999px;
	background: linear-gradient(90deg, transparent, rgba(245, 196, 83, 0.85), transparent);
}
body.gkfc-premium .gkfc-team-mission .gkfc-quote::before {
	top: 0;
}
body.gkfc-premium .gkfc-team-mission .gkfc-quote::after {
	bottom: 0;
}
body.gkfc-premium .gkfc-team-mission .gkfc-quote .gkfc-mission__accent {
	background: linear-gradient(104deg, #ffd9a8 0%, #f5c453 42%, #e8a43a 78%, #f5c453 110%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	white-space: nowrap;
}

/* ---- 25. News hero (page 125) — dark scrim over the gallery back-drop ----- */
/* The Club News hero is the only premium banner that combines a background
   IMAGE with an Elementor overlay. Elementor's own `background-image` rule
   has a higher specificity than the premium gradient, so the gradient is
   dropped and the only remaining darkening is Elementor's default overlay at
   opacity 0.5 -- far too weak for white text over a bright photo.

   Keyed on the page-id body class rather than a section class so no Elementor
   edit or CSS regeneration is required. Mirrors the Football Schools hero
   below, which solves the identical problem. */
body.gkfc-premium.page-id-125 .gkfc-banner .elementor-background-overlay {
	background: linear-gradient(180deg, rgba(2, 5, 4, 0.62) 0%, rgba(2, 5, 4, 0.78) 45%, rgba(0, 0, 0, 0.97) 100%) !important;
	opacity: 1 !important;
}
body.gkfc-premium.page-id-125 .gkfc-banner .gkfc-banner__title {
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.6);
}
body.gkfc-premium.page-id-125 .gkfc-banner .gkfc-banner__sub {
	color: rgba(255, 255, 255, 0.9);
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55);
}

/* ---- 26. Football Schools page — all sections premier -------------------- */
/* Hero: dark overlay + buttons */
body.gkfc-premium .gkfc-schools-hero .elementor-background-overlay {
	background: linear-gradient(180deg, rgba(2, 5, 4, 0.52) 0%, rgba(2, 5, 4, 0.74) 45%, rgba(0, 0, 0, 0.93) 100%) !important;
	opacity: 1 !important;
}
body.gkfc-premium .gkfc-schools-hero .gkfc-banner__cta .gkfc-btn--red,
body.gkfc-premium .gkfc-schools-cta .gkfc-btn--red {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: auto;
	padding: 15px 38px;
	border-radius: 999px;
	background: linear-gradient(135deg, #e0493f 0%, #c1272d 45%, #ff7b2b 130%);
	border: 1px solid rgba(245, 196, 83, 0.45);
	box-shadow:
		0 0 0 1px rgba(245, 196, 83, 0.22),
		0 18px 44px -12px rgba(255, 123, 43, 0.45),
		0 10px 24px -8px rgba(0, 0, 0, 0.6),
		inset 0 -3px 0 rgba(60, 8, 10, 0.35);
	transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}
body.gkfc-premium .gkfc-schools-hero .gkfc-banner__cta .gkfc-btn--red:hover,
body.gkfc-premium .gkfc-schools-hero .gkfc-banner__cta .gkfc-btn--red:focus,
body.gkfc-premium .gkfc-schools-cta .gkfc-btn--red:hover,
body.gkfc-premium .gkfc-schools-cta .gkfc-btn--red:focus {
	transform: translateY(-3px);
	filter: brightness(1.08);
	box-shadow:
		0 0 0 1px rgba(245, 196, 83, 0.35),
		0 24px 56px -12px rgba(255, 123, 43, 0.6),
		0 14px 30px -8px rgba(0, 0, 0, 0.65),
		inset 0 -3px 0 rgba(60, 8, 10, 0.35);
}
body.gkfc-premium .gkfc-schools-hero .gkfc-banner__cta .gkfc-btn--ghost {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 30px;
	border-radius: 999px;
	color: #f5c453;
	border: 1.5px solid rgba(245, 196, 83, 0.7);
	background: rgba(245, 196, 83, 0.06);
	backdrop-filter: blur(4px);
	transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
body.gkfc-premium .gkfc-schools-hero .gkfc-banner__cta .gkfc-btn--ghost:hover,
body.gkfc-premium .gkfc-schools-hero .gkfc-banner__cta .gkfc-btn--ghost:focus {
	transform: translateY(-3px);
	border-color: #f5c453;
	background: rgba(245, 196, 83, 0.14);
	box-shadow: 0 0 30px -6px rgba(245, 196, 83, 0.45);
}

/* Shared premium headings (gold gradient) */
body.gkfc-premium .gkfc-schools .gkfc-schools__h {
	background: linear-gradient(104deg, #ffd9a8 0%, #f5c453 42%, #e8a43a 78%, #f5c453 110%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
body.gkfc-premium .gkfc-schools .gkfc-schools__h::after {
	width: 96px;
	height: 3px;
	background: linear-gradient(90deg, #f5c453, #ff7b2b, transparent);
	box-shadow: 0 4px 14px -4px rgba(245, 196, 83, 0.8);
}
body.gkfc-premium .gkfc-schools-mission .gkfc-schools__h,
body.gkfc-premium .gkfc-schools-focus .gkfc-schools__h,
body.gkfc-premium .gkfc-schools-quote .gkfc-schools__h {
	text-align: center;
}
body.gkfc-premium .gkfc-schools-mission .gkfc-schools__h::after,
body.gkfc-premium .gkfc-schools-focus .gkfc-schools__h::after,
body.gkfc-premium .gkfc-schools-quote .gkfc-schools__h::after {
	left: 50%;
	transform: translateX(-50%);
}

/* Mission & Vision */
body.gkfc-premium .gkfc-schools-mission {
	background: #1a1013;
	padding-top: clamp(60px, 5vw, 78px);
}
body.gkfc-premium .gkfc-schools-mission .gkfc-schools__shot {
	max-width: 68%;
	margin-left: auto;
	margin-right: auto;
	border: 2px solid rgba(245, 196, 83, 0.35);
	border-radius: 18px;
	box-shadow: 0 30px 70px -24px rgba(0, 0, 0, 0.5), 0 0 0 9px rgba(255, 123, 43, 0.06);
	transform: rotate(1deg);
}
body.gkfc-premium .gkfc-schools-mission .gkfc-schools__prose p {
	color: rgba(255, 255, 255, 0.78);
}
body.gkfc-premium .gkfc-schools-mission .gkfc-schools__prose p strong {
	background: linear-gradient(104deg, #ffd9a8 0%, #f5c453 42%, #e8a43a 78%, #f5c453 110%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
body.gkfc-premium .gkfc-schools-mission .gkfc-list li {
	color: rgba(255, 255, 255, 0.8);
}
body.gkfc-premium .gkfc-schools-mission .gkfc-list li::before {
	box-shadow: 0 0 10px rgba(245, 196, 83, 0.65);
}

/* Why Train With Us (dark pillars) */
body.gkfc-premium .gkfc-sec--dark .gkfc-schools .gkfc-pillar {
	border-radius: 18px;
	border: 1px solid rgba(245, 196, 83, 0.24);
	background: linear-gradient(180deg, rgba(146, 40, 47, 0.16), rgba(61, 11, 15, 0.32) 55%, rgba(30, 5, 7, 0.44));
	box-shadow: 0 24px 54px -22px rgba(0, 0, 0, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.05);
	padding: 30px 26px;
}
body.gkfc-premium .gkfc-sec--dark .gkfc-schools .gkfc-pillar::before {
	border: 1px solid rgba(245, 196, 83, 0.55);
	border-radius: 50%;
	background: rgba(245, 196, 83, 0.08);
	color: #f5c453;
	box-shadow: 0 0 0 4px rgba(245, 196, 83, 0.12), 0 8px 20px -6px rgba(245, 196, 83, 0.4);
}
body.gkfc-premium .gkfc-sec--dark .gkfc-schools .gkfc-pillar:hover {
	transform: translateY(-8px);
	border-color: rgba(245, 196, 83, 0.6);
	box-shadow: 0 34px 64px -26px rgba(0, 0, 0, 0.8), 0 0 44px -12px rgba(245, 196, 83, 0.32);
}
body.gkfc-premium .gkfc-sec--dark .gkfc-schools .gkfc-pillar:hover::before {
	background: linear-gradient(135deg, #f5c453, #ff7b2b);
	color: #2c0a0d;
}

/* Focus Areas (light cards) */
body.gkfc-premium .gkfc-schools-focus {
	background: #1a1013;
}
body.gkfc-premium .gkfc-schools .gkfc-focus {
	border-radius: 18px;
	border: 1px solid rgba(245, 196, 83, 0.24);
	border-top: 3px solid #f5c453;
	background: linear-gradient(180deg, rgba(146, 40, 47, 0.16), rgba(61, 11, 15, 0.32) 55%, rgba(30, 5, 7, 0.44));
	box-shadow: 0 24px 54px -22px rgba(0, 0, 0, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.05);
	padding: 28px 24px;
}
body.gkfc-premium .gkfc-schools .gkfc-focus::before {
	box-shadow: 0 0 0 4px rgba(245, 196, 83, 0.16), 0 8px 18px rgba(255, 123, 43, 0.3);
}
body.gkfc-premium .gkfc-schools .gkfc-focus:hover {
	transform: translateY(-6px);
	border-top-color: #f5c453;
	border-color: rgba(245, 196, 83, 0.55);
	box-shadow: 0 30px 60px -24px rgba(0, 0, 0, 0.82), 0 0 42px -12px rgba(245, 196, 83, 0.3);
}
body.gkfc-premium .gkfc-schools .gkfc-focus__title {
	color: #fff;
}
body.gkfc-premium .gkfc-schools .gkfc-focus__text {
	color: rgba(255, 255, 255, 0.72);
}

/* How to Register (dark steps) */
body.gkfc-premium .gkfc-sec--dark .gkfc-schools .gkfc-step {
	border-radius: 18px;
	border: 1px solid rgba(245, 196, 83, 0.24);
	background: linear-gradient(180deg, rgba(146, 40, 47, 0.14), rgba(61, 11, 15, 0.3) 55%, rgba(30, 5, 7, 0.42));
	box-shadow: 0 22px 50px -22px rgba(0, 0, 0, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.05);
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
body.gkfc-premium .gkfc-sec--dark .gkfc-schools .gkfc-step:hover {
	transform: translateY(-6px);
	border-color: rgba(245, 196, 83, 0.6);
	box-shadow: 0 30px 60px -24px rgba(0, 0, 0, 0.8), 0 0 42px -12px rgba(245, 196, 83, 0.3);
}
body.gkfc-premium .gkfc-sec--dark .gkfc-schools .gkfc-step__num {
	border: 1px solid rgba(245, 196, 83, 0.55);
	background: linear-gradient(135deg, #e0493f 0%, #c1272d 45%, #ff7b2b 130%);
	box-shadow: 0 0 0 4px rgba(245, 196, 83, 0.12), 0 8px 20px -6px rgba(255, 123, 43, 0.5);
	color: #fff;
}

/* Testimonial (light) */
body.gkfc-premium .gkfc-schools-quote .gkfc-schools__coach {
	border: 2px solid rgba(245, 196, 83, 0.4);
	border-radius: 18px;
	box-shadow: 0 30px 70px -24px rgba(0, 0, 0, 0.45), 0 0 0 8px rgba(255, 123, 43, 0.07);
}
body.gkfc-premium .gkfc-schools-quote .gkfc-schools__coach:hover {
	border-color: #f5c453;
	box-shadow: 0 34px 80px -26px rgba(255, 123, 43, 0.4), 0 0 0 8px rgba(255, 123, 43, 0.08);
}
body.gkfc-premium .gkfc-schools-quote .gkfc-schools__testimonial::before {
	color: rgba(245, 196, 83, 0.5);
}
body.gkfc-premium .gkfc-schools-quote .gkfc-schools__testimonial .gkfc-quote {
	border-left: 4px solid #f5c453;
	color: #2b2b33;
	font-size: 1.6rem;
	font-weight: 600;
}
body.gkfc-premium .gkfc-schools-quote .gkfc-schools__coach-name {
	background: linear-gradient(104deg, #c1272d 0%, #e0493f 50%, #ff7b2b);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

/* Final CTA */
body.gkfc-premium .gkfc-schools-cta {
	background: #241015;
}
body.gkfc-premium .gkfc-schools-cta::before {
	content: none;
}
body.gkfc-premium .gkfc-schools-cta__text {
	color: rgba(255, 255, 255, 0.8);
}
body.gkfc-premium .gkfc-schools-cta .gkfc-btn--red {
	padding: 17px 46px;
	font-size: 0.95rem;
}
@media (prefers-reduced-motion: reduce) {
	body.gkfc-premium .gkfc-schools .gkfc-focus,
	body.gkfc-premium .gkfc-sec--dark .gkfc-schools .gkfc-pillar,
	body.gkfc-premium .gkfc-sec--dark .gkfc-schools .gkfc-step,
	body.gkfc-premium .gkfc-schools__coach {
		transition: none;
	}
}

/* ---- Contact — force the two light sections dark ------------------------ */
body.gkfc-premium .gkfc-contact.gkfc-sec--light.gkfc-contact-cards,
body.gkfc-premium .gkfc-contact.gkfc-sec--light.gkfc-contact-form {
	background:
		radial-gradient(80% 120% at 50% -10%, rgba(255, 123, 43, 0.10), transparent 60%),
		linear-gradient(180deg, #0c0d11 0%, #07080a 100%);
}

body.gkfc-premium .gkfc-contact-cards .gkfc-contact__card {
	background:
		radial-gradient(90% 120% at 100% -10%, rgba(255, 123, 43, 0.10), transparent 58%),
		linear-gradient(180deg, #101116 0%, #0a0b0e 100%);
	border: 1px solid rgba(255, 123, 43, 0.22);
}
body.gkfc-premium .gkfc-contact-cards .gkfc-contact__card:hover {
	transform: translateY(-5px);
	border-color: var(--pm-ring);
	box-shadow: 0 30px 62px -26px rgba(0, 0, 0, 0.62), 0 0 0 1px rgba(255, 123, 43, 0.16);
}
body.gkfc-premium .gkfc-contact-cards .gkfc-contact__title { color: #fff; }
body.gkfc-premium .gkfc-contact-cards .gkfc-contact__body,
body.gkfc-premium .gkfc-contact-cards .gkfc-contact__list li { color: rgba(255, 255, 255, 0.72); }

/* Get in touch + form column */
body.gkfc-premium .gkfc-contact-form .gkfc-contact__h { color: #fff; }
body.gkfc-premium .gkfc-contact-form .gkfc-contact__prose p,
body.gkfc-premium .gkfc-contact-form .gkfc-contact__prose .gkfc-contact__list li {
	color: rgba(255, 255, 255, 0.72);
	border-color: rgba(255, 255, 255, 0.1);
}
body.gkfc-premium .gkfc-contact-form .gkfc-contact__prose .gkfc-contact__list li::before {
	background: linear-gradient(135deg, var(--pm-orange), var(--pm-maroon));
}

/* Eyebrow kicker above the "Get in Touch" heading. */
body.gkfc-premium .gkfc-contact-form .gkfc-contact__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--pm-orange);
}
body.gkfc-premium .gkfc-contact-form .gkfc-contact__eyebrow::before {
	content: '';
	flex: 0 0 auto;
	width: 26px;
	height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--pm-orange), rgba(255, 123, 43, 0));
}

/* Response-time callout pinned to the bottom of the column. */
body.gkfc-premium .gkfc-contact-form .gkfc-contact__note {
	margin: 0;
	padding: 15px 18px;
	border: 1px solid rgba(255, 123, 43, 0.24);
	border-radius: var(--gkfc-radius-md, 14px);
	background:
		radial-gradient(120% 140% at 0% 0%, rgba(255, 123, 43, 0.1), transparent 62%),
		rgba(255, 123, 43, 0.05);
	color: rgba(255, 255, 255, 0.74);
	font-size: 0.92rem;
	line-height: 1.62;
}
body.gkfc-premium .gkfc-contact-form .gkfc-contact__note strong {
	display: block;
	margin-bottom: 3px;
	color: #fff;
	font-weight: 800;
	letter-spacing: 0.01em;
}

/* Match the left column's height to the contact form.
   The row is already a flex container, so both columns stretch to the height of
   the tallest one (the form). This makes the left content actually fill that
   height instead of being centred in it, and pins the callout to the bottom
   edge so the two columns read as equal-height panels.

   This mirrors the `.gkfc-contact-cards` chain below, which is known to work.
   The previous version of this rule set `justify-content` on a block-level
   column (a no-op, since justify-content needs a flex/grid container) and then
   `height: 100%` on a wrapper whose parent had no definite height, so neither
   declaration had any effect. Every level in the chain now declares
   `display: flex` before the children are asked to grow.

   No fixed/min heights are used, so this keeps working as the form grows
   (validation messages) or the copy is edited. Desktop only: below 783px the
   columns stack full-width and there is nothing to match. */
@media (min-width: 783px) {
	body.gkfc-premium .gkfc-contact-form > .elementor-container > .elementor-column.elementor-col-42,
	body.gkfc-premium .gkfc-contact-form .elementor-column.elementor-col-42 .elementor-widget-wrap {
		display: flex;
		flex-direction: column;
	}
	body.gkfc-premium .gkfc-contact-form > .elementor-container > .elementor-column.elementor-col-42 > .elementor-widget-wrap {
		height: 100%;
	}
	body.gkfc-premium .gkfc-contact-form .elementor-column.elementor-col-42 .elementor-widget-wrap > .elementor-widget {
		flex: 1 1 auto;
		display: flex;
		flex-direction: column;
	}
	body.gkfc-premium .gkfc-contact-form .elementor-column.elementor-col-42 .elementor-widget-wrap > .elementor-widget > .elementor-widget-container,
	body.gkfc-premium .gkfc-contact-form .elementor-column.elementor-col-42 .gkfc-contact__info {
		flex: 1 1 auto;
		width: 100%;
	}
	/* Column flex-start (not centre) so the heading sits at the top, then the
	   note is pushed to the bottom edge by the auto margin. */
	body.gkfc-premium .gkfc-contact-form .elementor-column.elementor-col-42 .gkfc-contact__info {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
	}
	body.gkfc-premium .gkfc-contact-form .elementor-column.elementor-col-42 .gkfc-contact__note {
		margin-top: auto;
	}
}

/* ---- Contact — equal-height form card -------------------------------------
   The form card has to match the info panel beside it. Two things stood in the
   way, both confirmed by measuring the live box chain:

   1. The in-form "Let's Chat" banner has been removed, so
      .elementor-widget-container now holds a single child: the form card. The
      card is no longer sharing the column with an absolutely positioned banner
      and no longer reserves bottom padding to keep the submit button clear of
      one, so it fills the column outright.

   2. The widget element carries 32px of vertical padding, so flex-grow stops
      64px short of the column until that padding is released.

   flex-basis 0 on the card is deliberate: it makes the card take the full column
   height regardless of its own content. No fixed heights are used, so the row
   always resolves to whichever side is taller. Desktop only, matching the
   info-column rules above; below 783px the columns stack and need none of it. */
@media (min-width: 783px) {
	body.gkfc-premium .gkfc-contact-form > .elementor-container > .elementor-column.elementor-col-58,
	body.gkfc-premium .gkfc-contact-form .elementor-col-58 .elementor-widget-wrap,
	body.gkfc-premium .gkfc-contact-form .elementor-col-58 .elementor-element.gkfc-contact__form,
	body.gkfc-premium .gkfc-contact-form .elementor-col-58 .elementor-widget-container,
	body.gkfc-premium .gkfc-contact-form .elementor-col-58 .gkfc-form-wrap {
		display: flex;
		flex-direction: column;
	}
	/* Every level of the wrapper chain needs to grow, not just the card: each box
	   is a flex child of the one above it, so a single non-growing link in the
	   chain collapses the whole column. basis 0 makes each level take the space
	   it is given instead of its own content height. */
	body.gkfc-premium .gkfc-contact-form .elementor-col-58 .elementor-widget-wrap,
	body.gkfc-premium .gkfc-contact-form .elementor-col-58 .elementor-element.gkfc-contact__form,
	body.gkfc-premium .gkfc-contact-form .elementor-col-58 .elementor-widget-container,
	body.gkfc-premium .gkfc-contact-form .elementor-col-58 .gkfc-form-wrap {
		flex: 1 1 0;
		min-height: 0;
	}
	body.gkfc-premium .gkfc-contact-form .elementor-col-58 .elementor-widget-container {
		position: relative;
	}
	body.gkfc-premium .gkfc-contact-form .elementor-col-58 .elementor-element.gkfc-contact__form {
		padding-top: 0;
		padding-bottom: 0;
	}
	body.gkfc-premium .gkfc-contact-form .elementor-col-58 form.gkfc-form {
		flex: 1 1 auto;
		padding-bottom: 0;
	}
}

/* ---- Contact — topic chips ----------------------------------------------
   These are buttons that seed the Subject field on click (forms.js). They live
   outside the <form>, in the "Get in Touch" column, so they are restyled here
   to sit inside the dark panel. */
body.gkfc-premium .gkfc-contact-form .gkfc-contact__topics {
	display: grid;
	gap: 9px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}
body.gkfc-premium .gkfc-contact-form .gkfc-contact__topics-item { margin: 0; }
body.gkfc-premium .gkfc-contact-form .gkfc-topic-chip {
	display: block;
	width: 100%;
	margin: 0;
	padding: 12px 16px;
	text-align: left;
	font: inherit;
	color: rgba(255, 255, 255, 0.82);
	background:
		radial-gradient(120% 140% at 0% 0%, rgba(255, 123, 43, 0.08), transparent 62%),
		var(--gkfc-surface-2);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--gkfc-radius-md, 14px);
	cursor: pointer;
	transition: border-color .2s ease, transform .2s ease;
}
body.gkfc-premium .gkfc-contact-form .gkfc-topic-chip:hover {
	border-color: rgba(255, 123, 43, 0.5);
	transform: translateX(3px);
}
body.gkfc-premium .gkfc-contact-form .gkfc-topic-chip:focus-visible {
	outline: 2px solid var(--pm-orange);
	outline-offset: 2px;
}
body.gkfc-premium .gkfc-contact-form .gkfc-topic-chip.is-active {
	border-color: var(--pm-orange);
	background:
		radial-gradient(120% 140% at 0% 0%, rgba(255, 123, 43, 0.16), transparent 62%),
		var(--gkfc-surface-2);
}
body.gkfc-premium .gkfc-contact-form .gkfc-topic-chip__label {
	display: block;
	font-size: 0.95rem;
	font-weight: 800;
	line-height: 1.35;
	color: #fff;
}
body.gkfc-premium .gkfc-contact-form .gkfc-topic-chip__hint {
	display: block;
	margin-top: 2px;
	font-size: 0.82rem;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.62);
}
/* Selector shape matches the .gkfc-contact__prose p rule above so these win on
   specificity alone — no !important needed. */
body.gkfc-premium .gkfc-contact-form .gkfc-contact__prose .gkfc-contact__prompt {
	margin: 0 0 12px;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.88);
}
body.gkfc-premium .gkfc-contact-form .gkfc-contact__prose .gkfc-contact__offices {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.62;
	color: rgba(255, 255, 255, 0.66);
}

body.gkfc-premium .gkfc-contact-form .elementor-widget-gkfc_form,
body.gkfc-premium .gkfc-contact-form .gkfc-contact__form {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
}
body.gkfc-premium .gkfc-contact .gkfc-form-wrap form.gkfc-form {
	background:
		radial-gradient(90% 120% at 100% -10%, rgba(255, 123, 43, 0.10), transparent 58%),
		linear-gradient(180deg, #101116 0%, #0a0b0e 100%);
	border: 1px solid rgba(255, 123, 43, 0.22);
	border-radius: var(--gkfc-radius-lg);
	padding: clamp(22px, 4vw, 46px);
	box-shadow: 0 30px 66px -30px rgba(0, 0, 0, 0.6);
}
body.gkfc-premium .gkfc-contact .gkfc-form-wrap .gkfc-form__label { color: rgba(255, 255, 255, 0.85); }
body.gkfc-premium .gkfc-contact .gkfc-form-wrap .gkfc-form__required { color: var(--gkfc-accent); }
body.gkfc-premium .gkfc-contact .gkfc-form-wrap .gkfc-form__control {
	background: var(--gkfc-surface);
	border-color: rgba(255, 255, 255, 0.12);
	color: #fff;
}
body.gkfc-premium .gkfc-contact .gkfc-form-wrap .gkfc-form__control:focus {
	background: var(--gkfc-surface);
	border-color: var(--pm-orange);
	box-shadow: 0 0 0 3px rgba(255, 123, 43, 0.14);
}
body.gkfc-premium .gkfc-contact .gkfc-form-wrap .gkfc-form__control::placeholder { color: rgba(255, 255, 255, 0.4); }
body.gkfc-premium .gkfc-contact .gkfc-form-wrap select {
	background-color: var(--gkfc-surface);
	color: var(--gkfc-text);
}
body.gkfc-premium .gkfc-contact .gkfc-form-wrap select option { background: var(--gkfc-surface-2); color: #fff; }
body.gkfc-premium .gkfc-contact .gkfc-form-wrap .gkfc-form__choice {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	text-align: left;
	min-width: 0;
	background: var(--gkfc-surface-2);
	border-color: rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.85);
}
body.gkfc-premium .gkfc-contact .gkfc-form-wrap .gkfc-form__choice:hover { border-color: rgba(255, 123, 43, 0.45); }
body.gkfc-premium .gkfc-contact .gkfc-form-wrap .gkfc-form__choice input[type="checkbox"] {
	display: inline-block;
	width: auto;
	height: auto;
	flex: 0 0 auto;
	margin-top: 3px;
}
body.gkfc-premium .gkfc-contact .gkfc-form-wrap .gkfc-form__choice > span {
	flex: 1 1 auto;
	min-width: 0;
}
body.gkfc-premium .gkfc-contact .gkfc-form-wrap .gkfc-form__grid > .gkfc-form__field { min-width: 0; }
body.gkfc-premium .gkfc-contact .gkfc-form-wrap .gkfc-form__error-summary {
	background: rgba(127, 29, 29, 0.35);
	border-color: rgba(220, 38, 38, 0.4);
	color: #fca5a5;
}

/* Contact stadium callout text on dark */
body.gkfc-premium .gkfc-contact .gkfc-stadium .elementor-widget-text-editor,
body.gkfc-premium .gkfc-contact .gkfc-stadium .elementor-widget-text-editor p { color: rgba(255, 255, 255, 0.72); }

/* Contact — remove the "Our Home Ground" stadium section */
body.gkfc-premium .gkfc-contact.gkfc-contact-stadium,
body.gkfc-premium .gkfc-contact .gkfc-contact-stadium { display: none; }

/* ---- Contact — equal-height info cards ---------------------------------- */
body.gkfc-premium .gkfc-contact-cards .elementor-column,
body.gkfc-premium .gkfc-contact-cards .elementor-widget-wrap {
	display: flex;
	flex-direction: column;
}
body.gkfc-premium .gkfc-contact-cards .elementor-widget-wrap { height: 100%; }
body.gkfc-premium .gkfc-contact-cards .elementor-widget-wrap > .elementor-widget {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}
body.gkfc-premium .gkfc-contact-cards .elementor-widget-wrap > .elementor-widget > .elementor-widget-container,
body.gkfc-premium .gkfc-contact-cards .elementor-widget-wrap > .elementor-widget > .gkfc-contact__card {
	flex: 1 1 auto;
	width: 100%;
}
body.gkfc-premium .gkfc-contact-cards .gkfc-contact__card { height: auto; min-height: 100%; }

/* ---- Contact — form column sizing --------------------------------------- */
body.gkfc-premium .gkfc-contact-form > .elementor-container > .elementor-column.elementor-col-42 { width: 40%; }
body.gkfc-premium .gkfc-contact-form > .elementor-container > .elementor-column.elementor-col-58 { width: 55%; }

@media (max-width: 782px) {
	body.gkfc-premium .gkfc-contact-form > .elementor-container > .elementor-column.elementor-col-42,
	body.gkfc-premium .gkfc-contact-form > .elementor-container > .elementor-column.elementor-col-58 { width: 100%; }
}

