/*
 Theme Name:   Woodmart Child
 Theme URI:    https://bronxspecialkids.com
 Description:  Child theme for Woodmart theme (woodmart-2)
 Author:       Bronx Special Kids
 Author URI:   https://bronxspecialkids.com
 Template:     woodmart-2
 Version:      1.0.0
 Text Domain:  woodmart-child
 License:      GNU General Public License v3
 License URI:  https://www.gnu.org/licenses/gpl-3.0.html
*/

/* Custom CSS goes below this line */

/* Bronx Special Kids — nonprofit brand overrides (Option D cleanup) */
:root {
	/* Solar-punk palette */
	--wd-primary-color: #4a9e6b;
	--wd-primary-color-rgb: 74, 158, 107;
	--wd-link-color: #1a4a2e;
	--wd-link-color-hover: #4a9e6b;
	--btn-accented-bgcolor: #4a9e6b;
	--btn-accented-bgcolor-hover: #3d8a5c;
	--wd-alternative-color: #c4714a;

	/* BSK spacing system */
	--bsk-space-xs: 0.5rem;
	--bsk-space-sm: 1rem;
	--bsk-space-md: 1.5rem;
	--bsk-space-lg: 2rem;
	--bsk-space-xl: 3rem;
	--bsk-space-xxl: 4rem;
	--bsk-radius-sm: 0.375rem;
	--bsk-radius-md: 0.5rem;
	--bsk-radius-lg: 0.75rem;
	--bsk-shadow-sm: 0 1px 3px rgba(13, 43, 26, 0.08);
	--bsk-shadow-md: 0 4px 12px rgba(13, 43, 26, 0.1);
	--bsk-shadow-lg: 0 8px 24px rgba(13, 43, 26, 0.12);
}

/* Page title bar — hide toys demo background */
.wd-page-title {
	background-image: none !important;
	background-color: #0d2b1a !important;
}

.wd-page-title .entry-title,
.wd-page-title .wd-breadcrumbs {
	color: #f0f7e8;
}

/* Hide entire WoodMart retail header — Elementor global header only */
.whb-main-header,
.whb-header,
.whb-clone,
.wd-sticky-toolbar {
	display: none !important;
}

/* Remove extra margin/padding from Elementor header location */
.elementor-location-header {
	margin-bottom: 0 !important;
	padding: 0 !important;
}

/* Hide WooCommerce shop UI */
.wd-header-wishlist,
.wd-header-compare,
.wd-tools-element.wd-wishlist,
.wd-tools-element.wd-compare,
.woodmart-wishlist-btn,
.wd-compare-btn,
.wd-sticky-toolbar .wd-tools-element[class*="shop"],
.wd-sticky-toolbar .wd-tools-element[class*="wishlist"],
.wd-sticky-toolbar .wd-tools-element[class*="compare"] {
	display: none !important;
}

.widget_product_categories,
.widget_layered_nav,
.widget_price_filter {
	display: none !important;
}

.wd-products .add_to_cart_button,
.wd-products .added_to_cart {
	display: none !important;
}

/* Hide promo popup if re-enabled */
.wd-popup.wd-promo-popup {
	display: none !important;
}

/* Center image grids site-wide */
.elementor-widget-image img,
.elementor-widget-image-box img {
	display: block;
	margin-inline: auto;
}

.elementor-widget-image,
.elementor-widget-image-box {
	text-align: center;
}

.bsk-volunteer-opportunities .row {
	justify-content: center;
}

.bsk-page-content .bsk-album {
	margin-inline: auto;
}

/* Typography — align with homepage */
h1,
h2,
h3,
h4,
h5,
h6,
.wd-entities-title,
.entry-title,
.post-title {
	font-family: "Lora", Georgia, serif;
}

/* Skip link — visible on focus for keyboard users */
.skip-link {
	position: absolute;
	top: -40px;
	left: 0;
	background: #0d2b1a;
	color: #f0f7e8;
	padding: 8px 16px;
	z-index: 100000;
	text-decoration: none;
}

.skip-link:focus {
	top: 0;
}

/* ==========================================================================
   Modern spacing and layout — Bronx Special Kids
   ========================================================================== */

/* Base typography rhythm */
body {
	line-height: 1.65;
	letter-spacing: 0.01em;
}

p,
.wd-entry-content p,
.elementor-widget-text-editor p {
	margin-bottom: var(--bsk-space-md);
}

/* Global content containers */
.container,
.container-fluid,
.wd-content-layout,
.wd-main-page-wrapper > .container,
.wd-content-area {
	padding-inline: var(--bsk-space-md);
}

.wd-content-layout,
.wd-main-page-wrapper {
	padding-block: var(--bsk-space-lg);
}

/* Elementor sections and widgets */
.elementor-section.elementor-top-section > .elementor-container {
	padding-block: var(--bsk-space-md);
}

.elementor-section .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
	padding: var(--bsk-space-md);
}

.elementor-widget:not(:last-child) {
	margin-bottom: var(--bsk-space-md);
}

.elementor-widget-container {
	padding: var(--bsk-space-sm);
}

/* Page title bar spacing */
.wd-page-title {
	padding-block: var(--bsk-space-xl) !important;
	padding-inline: var(--bsk-space-md) !important;
}

.wd-page-title .entry-title {
	margin-bottom: var(--bsk-space-sm);
}

/* Header and footer */
.whb-header,
.wd-header,
.site-header {
	padding-block: var(--bsk-space-sm);
}

.whb-header .container,
.wd-header .container {
	padding-inline: var(--bsk-space-md);
}

footer,
.wd-footer,
.site-footer,
.elementor-location-footer {
	padding-block: var(--bsk-space-xl);
	padding-inline: var(--bsk-space-md);
}

footer .widget,
.wd-footer .widget {
	padding: var(--bsk-space-md);
	margin-bottom: var(--bsk-space-md);
}

/* Cards, boxes, and info blocks */
.elementor-widget-icon-box .elementor-icon-box-wrapper,
.elementor-widget-image-box .elementor-image-box-wrapper,
.wd-info-box,
.wd-banner,
.wd-product,
.wd-post,
.wd-team-member,
.wd-testimonial {
	padding: var(--bsk-space-md);
	border-radius: var(--bsk-radius-md);
}

.elementor-widget-icon-box .elementor-icon-box-wrapper,
.elementor-widget-image-box .elementor-image-box-wrapper,
.wd-info-box,
.wd-banner {
	background-color: #fff;
	box-shadow: var(--bsk-shadow-sm);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.elementor-widget-icon-box .elementor-icon-box-wrapper:hover,
.elementor-widget-image-box .elementor-image-box-wrapper:hover,
.wd-info-box:hover,
.wd-banner:hover {
	box-shadow: var(--bsk-shadow-md);
	transform: translateY(-2px);
}

/* Buttons */
.btn,
.button,
.wd-btn,
.elementor-button,
input[type="submit"],
button[type="submit"],
.woocommerce button.button {
	padding: 0.75rem 1.5rem !important;
	border-radius: var(--bsk-radius-md) !important;
	font-weight: 600;
	letter-spacing: 0.02em;
	transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.btn:hover,
.button:hover,
.wd-btn:hover,
.elementor-button:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
	box-shadow: var(--bsk-shadow-sm);
	transform: translateY(-1px);
}

/* Forms */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
select,
textarea,
.wpcf7-form-control,
.wpforms-field input,
.wpforms-field textarea,
.wpforms-field select {
	padding: 0.75rem 1rem !important;
	border-radius: var(--bsk-radius-sm) !important;
	margin-bottom: var(--bsk-space-sm);
}

.wpcf7-form p,
.wpforms-field {
	margin-bottom: var(--bsk-space-md);
	padding: var(--bsk-space-xs) 0;
}

/* Lists and navigation */
.wd-nav > li > a,
.main-nav > li > a,
.menu > li > a {
	padding: var(--bsk-space-sm) var(--bsk-space-md);
}

/* WoodMart widgets */
.wd-widget,
.widget {
	padding: var(--bsk-space-md);
	margin-bottom: var(--bsk-space-lg);
}

.wd-widget-title,
.widget-title {
	margin-bottom: var(--bsk-space-md);
	padding-bottom: var(--bsk-space-sm);
}

/* Content blocks and articles */
article,
.entry-content,
.wd-entry-content {
	padding-block: var(--bsk-space-md);
}

.entry-content > * + *,
.wd-entry-content > * + * {
	margin-top: var(--bsk-space-md);
}

/* Rounded utility helpers (complement Bootstrap) */
.bsk-rounded {
	border-radius: var(--bsk-radius-md);
}

.bsk-shadow {
	box-shadow: var(--bsk-shadow-md);
}

/* ==========================================================================
   Responsive spacing adjustments
   ========================================================================== */

@media (max-width: 1024px) {
	.elementor-section.elementor-top-section > .elementor-container {
		padding-block: var(--bsk-space-sm);
	}

	.wd-content-layout,
	.wd-main-page-wrapper {
		padding-block: var(--bsk-space-md);
	}

	.wd-page-title {
		padding-block: var(--bsk-space-lg) !important;
	}
}

@media (max-width: 767px) {
	:root {
		--bsk-space-lg: 1.5rem;
		--bsk-space-xl: 2rem;
		--bsk-space-xxl: 2.5rem;
	}

	.container,
	.container-fluid,
	.wd-content-layout,
	.wd-main-page-wrapper > .container {
		padding-inline: var(--bsk-space-sm);
	}

	.elementor-section .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
		padding: var(--bsk-space-sm);
	}

	.elementor-widget-container {
		padding: var(--bsk-space-xs);
	}

	.wd-page-title {
		padding-block: var(--bsk-space-md) !important;
		padding-inline: var(--bsk-space-sm) !important;
	}

	footer,
	.wd-footer,
	.site-footer {
		padding-block: var(--bsk-space-lg);
		padding-inline: var(--bsk-space-sm);
	}

	.elementor-widget-icon-box .elementor-icon-box-wrapper,
	.elementor-widget-image-box .elementor-image-box-wrapper,
	.wd-info-box,
	.wd-banner {
		padding: var(--bsk-space-sm);
	}

	.btn,
	.button,
	.wd-btn,
	.elementor-button {
		padding: 0.625rem 1.25rem !important;
		width: 100%;
		max-width: 100%;
	}
}

@media (min-width: 1200px) {
	.container,
	.wd-content-layout,
	.wd-main-page-wrapper > .container {
		padding-inline: var(--bsk-space-lg);
	}

	.elementor-section.elementor-top-section > .elementor-container {
		padding-block: var(--bsk-space-lg);
	}
}

/* Phase 2: hide WoodMart title bar on Elementor pages */
.page-template-elementor_header_footer .wd-page-title,
.elementor-page .wd-page-title {
	display: none !important;
}

/* Override lingering demo gold accent */
a[style*="rgb(203, 149, 0)"],
.elementor-button[style*="203, 149, 0"] {
	color: #4a9e6b !important;
}

/* Brand-consistent Elementor CTA buttons */
.elementor-button.elementor-size-sm,
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-lg {
	background-color: #4a9e6b !important;
	border-color: #4a9e6b !important;
}
