/*
Theme Name:        GTA Flatbed - Blocksy Child
Theme URI:         https://gtaflatbed.ca/
Description:       Official Child Theme for GTA Flatbed Towing & Float Services, extending the Blocksy theme with customized commercial transport styling, WCAG AA accessibility, and custom Gutenberg block components.
Author:            GTA Flatbed Towing & Float Services
Author URI:        https://gtaflatbed.ca/
Template:          blocksy
Version:           1.0.2
Text Domain:       gtaf
License:           GNU General Public License v2 or later
License URI:       http://www.gnu.org/licenses/gpl-2.0.html
*/

/* ==========================================================================
   1. BLOCKSY PALETTE OVERRIDE — LOGO COLORS (ORANGE & BLACK, NO BLUE)
   ========================================================================== */
:root,
html {
	/* 1. Blocksy Palette Variables (Forced to Brand Colors, Eliminating #1559ed blue) */
	--theme-palette-color-1: #EC6A2B !important; /* Primary Brand Orange (Logo) */
	--theme-palette-color-2: #FD7C47 !important; /* Secondary Brand Orange (Hover & Accents) — REPLACES BLUE #1559ed */
	--theme-palette-color-3: #687279 !important; /* Secondary Neutral Text */
	--theme-palette-color-4: #1E262E !important; /* Logo Black / Dark Ink — REPLACES NAVY BLUE #192a3d */
	--theme-palette-color-5: #FEEEDD !important; /* Warm Brand Peach — REPLACES ICE BLUE #e1e8ed */
	--theme-palette-color-6: #FFF7EF !important; /* Warm Brand Cream */
	--theme-palette-color-7: #FAFBFC !important; /* Light Surface */
	--theme-palette-color-8: #FFFFFF !important; /* Clean White */

	/* 2. GTA Flatbed Named Tokens (AGENT.md §5) */
	--gtaf-orange:        #EC6A2B;
	--gtaf-orange-logo:   #F36C21;
	--gtaf-orange-light:  #FD7C47;
	--gtaf-orange-dark:   #C24E0F; /* AA compliant on white/cream for text and links */
	--gtaf-orange-deep:   #8A3A10; /* High contrast on peach/light backgrounds */
	--gtaf-black:         #000000;
	--gtaf-ink:           #1E262E;
	--gtaf-body:          #4B5560;
	--gtaf-peach:         #FEEEDD;
	--gtaf-cream:         #FFF7EF;
	--gtaf-line:          #EFE3D6;
	--gtaf-radius:        20px;

	/* 3. Global Interactive & Button Elements */
	--theme-button-background-color: var(--theme-palette-color-1) !important;
	--theme-button-hover-background-color: var(--theme-palette-color-2) !important;
	--theme-button-text-color: #000000 !important;
	--theme-link-initial-color: var(--gtaf-orange-dark) !important;
	--theme-link-hover-color: var(--gtaf-orange-deep) !important;
}

/* Ensure links across the site use brand orange-dark (AA compliant) */
.entry-content a:not(.wp-element-button) {
	color: var(--gtaf-orange-dark);
	text-underline-offset: 3px;
	transition: color 0.15s ease-in-out;
}

.entry-content a:not(.wp-element-button):hover {
	color: var(--gtaf-orange-deep);
}

/* ==========================================================================
   2. GLOBAL FOOTER RESPONSIVE ARCHITECTURE & DESIGN REFINEMENT
   ========================================================================== */
.ct-footer {
	background-color: var(--gtaf-cream) !important;
	border-top: 4px solid var(--gtaf-orange) !important;
}

/* Middle Row: Balanced 2-Column Grid on Desktop */
.ct-footer [data-row="middle"] .ct-container {
	display: grid !important;
	grid-template-columns: 1.2fr 2fr !important;
	gap: 3.5rem !important;
	align-items: start !important;
	padding-top: 3.5rem !important;
	padding-bottom: 2.5rem !important;
}

/* Widget Area 2: Logo & Tagline */
.ct-footer [data-column="widget-area-2"] {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
}

.ct-footer [data-column="widget-area-2"] img {
	max-width: 280px !important;
	height: auto !important;
	display: block !important;
	margin-bottom: 0.5rem !important;
}

.ct-footer [data-column="widget-area-2"] .stk-block-text__text {
	text-align: left !important;
	color: var(--gtaf-body) !important;
	font-size: 0.9375rem !important;
	line-height: 1.6 !important;
	margin-top: 0.5rem !important;
	max-width: 340px !important;
}

/* Widget Area 3: Contact Details & Service Area Card */
.ct-footer [data-column="widget-area-3"] .wp-block-group {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 1.5rem !important;
	background: #FFFFFF !important;
	padding: 1.75rem !important;
	border-radius: 16px !important;
	border: 1px solid var(--gtaf-line) !important;
	box-shadow: 0 4px 15px -3px rgba(0, 0, 0, 0.04) !important;
}

.ct-footer [data-column="widget-area-3"] p {
	margin: 0 !important;
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
	color: var(--gtaf-ink) !important;
}

.ct-footer [data-column="widget-area-3"] p strong:first-child {
	display: block !important;
	font-size: 0.75rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	color: var(--gtaf-orange-dark) !important;
	margin-bottom: 0.35rem !important;
}

.ct-footer [data-column="widget-area-3"] a {
	color: var(--gtaf-ink) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	font-size: 1.05rem !important;
	transition: color 0.15s ease !important;
}

.ct-footer [data-column="widget-area-3"] a:hover {
	color: var(--gtaf-orange) !important;
	text-decoration: underline !important;
}

/* Bottom Row: Centered Copyright */
.ct-footer [data-row="bottom"] {
	border-top: 1px solid var(--gtaf-line) !important;
	padding-block: 1.25rem !important;
	background: transparent !important;
}

.ct-footer [data-column="copyright"] {
	text-align: center !important;
	color: #64748B !important;
	font-size: 0.8125rem !important;
}

.ct-footer [data-column="copyright"] p {
	text-align: center !important;
	margin: 0 !important;
}

/* Mobile & Tablet Responsiveness */
@media (max-width: 850px) {
	.ct-footer [data-row="middle"] .ct-container {
		grid-template-columns: 1fr !important;
		gap: 2rem !important;
		padding-top: 2rem !important;
		padding-bottom: 1.75rem !important;
	}
	.ct-footer [data-column="widget-area-2"] {
		align-items: center !important;
		text-align: center !important;
	}
	.ct-footer [data-column="widget-area-2"] .stk-block-text__text {
		text-align: center !important;
	}
	.ct-footer [data-column="widget-area-3"] .wp-block-group {
		grid-template-columns: 1fr !important;
		gap: 1.25rem !important;
		padding: 1.25rem !important;
	}
}

/* ==========================================================================
   Services Showcase Cards (/services/)
   ========================================================================== */
.gtaf-services-grid {
	display: grid !important;
	grid-template-columns: repeat(1, 1fr) !important;
	gap: 1.5rem !important;
	margin-top: 2rem !important;
	margin-bottom: 2.5rem !important;
}

@media (min-width: 640px) {
	.gtaf-services-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (min-width: 1024px) {
	.gtaf-services-grid {
		grid-template-columns: repeat(4, 1fr) !important;
	}
}

.gtaf-service-card {
	display: flex !important;
	flex-direction: column !important;
	background: #FFFFFF !important;
	border: 1px solid var(--gtaf-c-line, #E2E8F0) !important;
	border-radius: var(--gtaf-c-radius, 16px) !important;
	overflow: hidden !important;
	position: relative !important;
	box-shadow: 0 4px 16px -4px rgba(30, 38, 46, 0.08) !important;
	transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.22s ease, border-color 0.22s ease !important;
	height: 100% !important;
}

.gtaf-service-card:hover {
	transform: translateY(-5px) !important;
	box-shadow: 0 16px 32px -12px rgba(30, 38, 46, 0.18) !important;
	border-color: var(--gtaf-c-orange, #EC6A2B) !important;
}

/* Fallback: direct padding if .gtaf-service-card__content is omitted */
.gtaf-service-card:not(:has(.gtaf-service-card__content)) {
	padding: 1.5rem !important;
}

.gtaf-service-card__media {
	position: relative !important;
	aspect-ratio: 16 / 10 !important;
	overflow: hidden !important;
	background: #F1F5F9 !important;
	width: 100% !important;
}

.gtaf-service-card__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.4s ease !important;
}

.gtaf-service-card:hover .gtaf-service-card__media img {
	transform: scale(1.05) !important;
}

.gtaf-service-card__badge {
	position: absolute !important;
	top: 0.75rem !important;
	left: 0.75rem !important;
	z-index: 2 !important;
	background: rgba(30, 38, 46, 0.9) !important;
	backdrop-filter: blur(4px) !important;
	-webkit-backdrop-filter: blur(4px) !important;
	color: #FFFFFF !important;
	font-size: 0.6875rem !important;
	font-weight: 700 !important;
	padding: 0.25rem 0.625rem !important;
	border-radius: 6px !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
}

.gtaf-service-card__content {
	padding: 1.35rem 1.25rem !important;
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
}

.gtaf-service-card__title {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	margin-top: 0 !important;
	margin-bottom: 0.625rem !important;
	color: var(--gtaf-c-ink, #1E262E) !important;
}

.gtaf-service-card__title a {
	color: var(--gtaf-c-ink, #1E262E) !important;
	text-decoration: none !important;
	transition: color 0.15s ease !important;
}

.gtaf-service-card__title a:hover {
	color: var(--gtaf-c-orange, #EC6A2B) !important;
}

.gtaf-service-card__text {
	font-size: 0.875rem !important;
	line-height: 1.6 !important;
	color: var(--gtaf-c-body, #475569) !important;
	margin-top: 0 !important;
	margin-bottom: 1.25rem !important;
	flex-grow: 1 !important;
}

.gtaf-service-card__footer {
	padding-top: 1rem !important;
	border-top: 1px solid #F1F5F9 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.5rem !important;
	flex-wrap: wrap !important;
	margin-top: auto !important;
}

.gtaf-service-card__footer .gtaf-tag {
	display: inline-flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0.25rem 0.65rem !important;
	border-radius: 999px !important;
	background: #FFF2EB !important;
	color: #D85618 !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
	border: 1px solid rgba(236, 106, 43, 0.2) !important;
}

.gtaf-service-card__link {
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	color: var(--gtaf-c-orange-text, #EC6A2B) !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.375rem !important;
	text-decoration: none !important;
	transition: transform 0.15s ease, color 0.15s ease !important;
}

.gtaf-service-card__link:hover {
	color: var(--gtaf-c-orange-deep, #D85618) !important;
	transform: translateX(3px) !important;
}

