/* StoneCraftUS – Global Brand Stylesheet
 * Enqueued via functions.php: stonecraft-global
 * Google Fonts: Inter loaded via @import below
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap');

/* ── Brand CSS Variables ──────────────────────────────────────────────────── */
:root {
	--sc-blue:        #1B6FAB;
	--sc-deep-blue:   #155A8A;
	--sc-navy:        #0D2E4A;
	--sc-charcoal:    #1E2B38;
	--sc-light-blue:  #E8F0F7;
	--sc-off-white:   #F5F8FA;
	--sc-white:       #FFFFFF;
	--sc-link-blue:   #B8D4E8;
}

/* ── Base Typography ──────────────────────────────────────────────────────── */
body {
	font-family: 'Inter', Arial, Helvetica, sans-serif;
}

/* ── Performance: lazy-load all images by default ────────────────────────── */
img {
	loading: lazy;
}

/* ── Performance: disable parallax on mobile (avoids repaints) ───────────── */
.sc-hero-bg {
	background-attachment: scroll !important;
}

/* ── Header Logo — white-inverted on navy background ─────────────────────── */
.site-header .custom-logo,
.main-header-bar .custom-logo,
.ast-site-title-wrap .custom-logo-link img {
	filter: brightness(0) invert(1) !important;
	max-height: 52px !important;
	width: auto !important;
	height: auto !important;
}

/* StoneCraftUS bold white text alongside logo */
.main-header-bar .site-title {
	display: block !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	color: #FFFFFF !important;
	margin: 0 !important;
	white-space: nowrap !important;
	line-height: 1 !important;
}
.main-header-bar .site-title a {
	color: #FFFFFF !important;
	text-decoration: none !important;
	font-weight: 700 !important;
}
.main-header-bar .site-title a:hover {
	color: #B8D4E8 !important;
}

/* Logo image and site title side-by-side */
.main-header-bar .site-branding {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}

/* Hide tagline everywhere */
.site-description,
.main-header-bar .site-description {
	display: none !important;
}

/* Hide site-title on non-header areas */
.site-title {
	display: none !important;
}

/* ── Header Padding — consistent on all pages ────────────────────────────── */
.main-header-bar,
.main-header-bar .ast-container,
.site-header .ast-container,
.ast-header-break-point .main-header-bar {
	padding-left: 32px !important;
	padding-right: 32px !important;
}

/* Nav links — consistent spacing */
.main-header-menu .menu-item a {
	padding-left: 16px !important;
	padding-right: 16px !important;
}

/* Match homepage header height on all pages */
.main-header-bar {
	min-height: 70px !important;
	display: flex !important;
	align-items: center !important;
}

/* ── Global Navigation ────────────────────────────────────────────────────── */
#masthead,
.site-header,
.ast-site-header-wrap,
.main-header-bar,
#ast-hf-header-1 {
	background: var(--sc-navy) !important;
	background-color: var(--sc-navy) !important;
}

/* Nav links */
.main-header-bar .ast-builder-grid-row a,
.main-header-bar nav a,
.main-header-bar .menu-item a,
#ast-desktop-header .ast-primary-header-bar a,
.ast-primary-header-bar .main-header-menu a {
	color: var(--sc-white) !important;
}

.main-header-bar .menu-item a:hover,
.main-header-bar .current-menu-item > a {
	color: var(--sc-link-blue) !important;
}

/* Sub-menus */
.main-header-bar .sub-menu {
	background: var(--sc-deep-blue) !important;
}
.main-header-bar .sub-menu a {
	color: var(--sc-white) !important;
}
.main-header-bar .sub-menu a:hover {
	background: var(--sc-navy) !important;
	color: var(--sc-link-blue) !important;
}

/* Site title in header */
.ast-site-title-wrap .site-title a,
.ast-site-title-wrap .site-title,
.site-title a {
	color: var(--sc-white) !important;
}

/* ── Astra Footer – suppressed on homepage; custom sc-footer is used ──────── */
.sc-fullwidth-page #colophon,
.sc-fullwidth-page .site-footer,
.sc-fullwidth-page footer.site-footer {
	display: none !important;
}

/* Other pages: keep a styled Astra footer */
#colophon,
.site-footer,
.ast-site-footer,
footer.site-footer {
	background: var(--sc-charcoal) !important;
	background-color: var(--sc-charcoal) !important;
	color: var(--sc-white) !important;
}
#colophon *,
.site-footer *,
.ast-site-footer * {
	color: var(--sc-white);
}
.site-footer a,
#colophon a {
	color: var(--sc-link-blue) !important;
}
.site-footer a:hover,
#colophon a:hover {
	color: var(--sc-white) !important;
}

/* ── Custom Homepage Footer ───────────────────────────────────────────────── */
.sc-footer {
	width: 100vw;
	font-family: 'Inter', Arial, Helvetica, sans-serif;
}
.sc-footer__top {
	background: var(--sc-navy);
	padding: 64px 40px 48px;
}
.sc-footer__brand {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 40px;
}
.sc-footer__tagline {
	color: var(--sc-link-blue);
	font-size: 0.95rem;
	font-weight: 300;
	letter-spacing: 0.03em;
}
.sc-footer__cols {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 40px;
	max-width: 1200px;
}
.sc-footer__col-title {
	color: var(--sc-white);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	margin: 0 0 18px;
}
.sc-footer__col p {
	color: var(--sc-link-blue);
	font-size: 0.9rem;
	line-height: 1.7;
	margin: 0;
}
.sc-footer__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.sc-footer__col ul li {
	margin-bottom: 10px;
}
.sc-footer__col ul li a {
	color: var(--sc-link-blue) !important;
	font-size: 0.9rem;
	text-decoration: none;
	transition: color 0.2s;
}
.sc-footer__col ul li a:hover {
	color: var(--sc-white) !important;
}
.sc-footer__contact-line {
	color: var(--sc-link-blue);
	font-size: 0.9rem;
	line-height: 1.9;
	margin: 0;
}
.sc-footer__contact-line a {
	color: var(--sc-link-blue) !important;
	text-decoration: none;
	transition: color 0.2s;
}
.sc-footer__contact-line a:hover {
	color: var(--sc-white) !important;
}
.sc-footer__bar {
	background: var(--sc-charcoal);
	padding: 18px 40px;
	text-align: center;
}
.sc-footer__bar p {
	margin: 0;
	color: rgba(255,255,255,0.6);
	font-size: 0.82rem;
}
@media (max-width: 768px) {
	.sc-footer__top { padding: 48px 24px 36px; }
	.sc-footer__cols { grid-template-columns: 1fr; gap: 32px; }
	.sc-footer__bar { padding: 16px 24px; }
}

/* ── Global Button Styles ─────────────────────────────────────────────────── */
.sc-btn-primary {
	display: inline-block;
	background: var(--sc-blue);
	color: var(--sc-white) !important;
	border: 2px solid var(--sc-blue);
	border-radius: 3px;
	padding: 14px 36px;
	font-family: 'Inter', Arial, sans-serif;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.25s, border-color 0.25s;
}
.sc-btn-primary:hover {
	background: var(--sc-deep-blue);
	border-color: var(--sc-deep-blue);
	color: var(--sc-white) !important;
}

.sc-btn-outline {
	display: inline-block;
	background: transparent;
	color: var(--sc-white) !important;
	border: 2px solid var(--sc-white);
	border-radius: 3px;
	padding: 14px 36px;
	font-family: 'Inter', Arial, sans-serif;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.25s, color 0.25s;
}
.sc-btn-outline:hover {
	background: var(--sc-white);
	color: var(--sc-navy) !important;
}

/* ── WooCommerce Product Cards ────────────────────────────────────────────── */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: var(--sc-white) !important;
	border: 2px solid transparent;
	border-radius: 5px;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
	overflow: hidden;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	border-color: var(--sc-blue);
	box-shadow: 0 8px 28px rgba(27, 111, 171, 0.18);
}

/* Category name inside product cards */
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	color: var(--sc-charcoal) !important;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product:hover .woocommerce-loop-product__title {
	color: var(--sc-blue) !important;
}

/* Woo buttons – "Read More", "Add to Cart", etc. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .button.alt,
.woocommerce ul.products li.product a.button,
.woocommerce-page ul.products li.product a.button,
.woocommerce a.button.product_type_simple,
.woocommerce a.button.product_type_variable,
.woocommerce a.button.add_to_cart_button {
	background: var(--sc-blue) !important;
	background-color: var(--sc-blue) !important;
	color: var(--sc-white) !important;
	border: none !important;
	border-radius: 3px !important;
	font-family: 'Inter', Arial, sans-serif !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	transition: background 0.25s !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .button.alt:hover,
.woocommerce ul.products li.product a.button:hover,
.woocommerce-page ul.products li.product a.button:hover {
	background: var(--sc-deep-blue) !important;
	background-color: var(--sc-deep-blue) !important;
	color: var(--sc-white) !important;
}

/* ── Shop Page: Left Sidebar + Product Filters ────────────────────────────── */

/* Astra renders the sidebar BEFORE #primary — ensure sidebar is visible */
.woocommerce-page #secondary,
.ast-left-sidebar .secondary,
#astra-woo-shop-sidebar {
	display: block !important;
	width: 260px !important;
	flex-shrink: 0 !important;
	min-width: 240px !important;
}

/* Products column takes remaining space */
.woocommerce-page #primary.content-area,
.ast-left-sidebar #primary {
	flex: 1 !important;
	min-width: 0 !important;
}

/* Widget titles */
.woocommerce-page #secondary .widget-title,
.woocommerce-page #secondary h2,
#astra-woo-shop-sidebar .widget-title {
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: #1E2B38 !important;
	padding: 14px 0 10px !important;
	margin: 0 0 4px !important;
	border-bottom: 2px solid #1B6FAB !important;
}

/* Filter list items */
.woocommerce-page #secondary .product-categories li,
.woocommerce-page #secondary .woocommerce-widget-layered-nav-list li {
	font-size: 13px !important;
	color: #4A5568 !important;
	padding: 6px 0 !important;
	border-bottom: 0.5px solid #E8F0F7 !important;
	list-style: none !important;
}
.woocommerce-page #secondary .product-categories li a,
.woocommerce-page #secondary .woocommerce-widget-layered-nav-list li a {
	color: #4A5568 !important;
	text-decoration: none !important;
}
.woocommerce-page #secondary .product-categories li a:hover,
.woocommerce-page #secondary .woocommerce-widget-layered-nav-list li a:hover {
	color: #1B6FAB !important;
}

/* Active filter highlight */
.woocommerce-widget-layered-nav-list__item--chosen a {
	color: #1B6FAB !important;
	font-weight: 600 !important;
}

/* Count badges */
.woocommerce-page #secondary .count {
	background: #E8F0F7 !important;
	color: #1B6FAB !important;
	border-radius: 10px !important;
	padding: 1px 7px !important;
	font-size: 11px !important;
	float: right !important;
}

/* Widget spacing */
.woocommerce-page #secondary .widget,
.woocommerce-page #secondary .ast-woo-sidebar-widget {
	margin-bottom: 24px !important;
	padding-bottom: 8px !important;
}

/* Mobile — sidebar stacks above products */
@media (max-width: 768px) {
	.woocommerce-page #secondary,
	#astra-woo-shop-sidebar {
		width: 100% !important;
		min-width: unset !important;
	}
}

/* ── Hide Astra default footer elements below our custom footer ───────────── */
#colophon,
.ast-small-footer-wrap,
.ast-small-footer-section,
.ast-small-footer,
.ast-footer-copyright,
.footer-adv-overlay,
.footer-adv,
.footer-widget-area {
	display: none !important;
	height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

footer.site-footer {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}

.sc-gfooter,
.sc-footer-wrap {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

body {
	overflow-x: hidden !important;
}
