/*
Theme Name: Astra Child - REP Athletics
Theme URI: https://repathleticsco.com/
Description: Custom Astra child theme for REP Athletics (Larchmont, NY). Built by OrthoMarketing.com / Presentation Multimedia.
Author: Presentation Multimedia / OrthoMarketing.com
Author URI: https://orthomarketing.com
Template: astra
Version: 1.0.0
Text Domain: astra-child-rep-athletics
*/

/* =========================================================
   BRAND COLOR VARIABLES — PLACEHOLDER
   Swap these once brand colors are confirmed from a live
   screenshot / brand guide. Do not ship to production with
   placeholders still in place.
   ========================================================= */
:root {
	--rep-primary: #1A1A1A;    /* placeholder: near-black, matches athletic/performance tone */
	--rep-secondary: #D6321E;  /* placeholder: bold red accent - swap to real brand accent */
	--rep-dark: #0E0E0E;       /* placeholder: footer / deepest tone */
	--rep-light: #F4F4F4;      /* placeholder: light section background */
	--rep-white: #FFFFFF;
}

/* =========================================================
   HEADER
   ========================================================= */
.site-header {
	transition: box-shadow 0.25s ease, background-color 0.25s ease;
}

.site-header.rep-header-scrolled {
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.18);
	background-color: var(--rep-white);
}

/* =========================================================
   STICKY MOBILE CALL BAR
   ========================================================= */
.rep-mobile-call-bar {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	background-color: var(--rep-primary);
	padding: 10px 16px;
	box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2);
}

.rep-mobile-call-bar .rep-call-bar-inner {
	display: flex;
	gap: 10px;
}

.rep-mobile-call-bar a {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	color: var(--rep-white);
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	text-decoration: none;
	padding: 10px 8px;
	border-radius: 6px;
	border: 1px solid rgba(255, 255, 255, 0.3);
}

.rep-mobile-call-bar a.rep-call-new {
	background-color: var(--rep-secondary);
	border-color: var(--rep-secondary);
}

.rep-mobile-call-bar a svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

@media (max-width: 767px) {
	.rep-mobile-call-bar {
		display: block;
	}

	body {
		padding-bottom: 62px; /* keeps call bar from covering footer content */
	}
}

/* =========================================================
   GRAVITY FORMS — LIGHT BRAND STYLING
   ========================================================= */
.gform_wrapper .gfield_label {
	font-weight: 700;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: 0.03em;
	color: var(--rep-dark);
}

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper select,
.gform_wrapper textarea {
	border: 1px solid #d0d0d0;
	border-radius: 4px;
	padding: 10px 12px;
}

.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
	border-color: var(--rep-secondary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(214, 50, 30, 0.15);
}

.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button {
	background-color: var(--rep-secondary);
	color: var(--rep-white);
	border: none;
	border-radius: 4px;
	padding: 12px 28px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	transition: background-color 0.2s ease;
}

.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer button:hover {
	background-color: var(--rep-dark);
	cursor: pointer;
}

.gform_confirmation_message {
	border-left: 4px solid var(--rep-secondary);
	padding: 12px 16px;
	background-color: var(--rep-light);
}
