/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&display=swap");

/* ======================== START OF GENERAL ======================== */

/* Move the AllAccessible widget from bottom-right to bottom-left */
.accessibility-trigger-button.bottom-right {
	left: 0;
	right: auto !important;
	width: fit-content;
}

/* Match the AllAccessible widget background with the site's Just Beige color */
:root {
	--accessibility-btn-bg: #9e8d81 !important;
}

/* Add vertical spacing between the main page content and the footer */
#main-content {
	padding-bottom: 128px;
}

/* ========================= END OF GENERAL ========================= */





/* ======================== START OF HEADER ======================== */

/* Homepage only: Make the header background transparent before WoodMart switches into sticky mode */
body.home header:not(.whb-sticked) .whb-general-header {
	background-color: transparent !important;
}

/* Style WoodMart header dropdown menus */
.whb-header .wd-dropdown-menu,
.whb-header .sub-sub-menu.wd-dropdown {
	border-radius: 8px;
}

/* Match dropdown link color with the site's Off White color */
.whb-header .wd-dropdown-menu .woodmart-nav-link,
.whb-header .sub-sub-menu.wd-dropdown .woodmart-nav-link {
	color: var(--e-global-color-accent);
}

/* Match dropdown item hover color with WoodMart's nav hover color */
.whb-header .wd-dropdown .menu-item:hover>.woodmart-nav-link {
	color: var(--nav-color-hover);
}

/* Match submenu chevrons with WoodMart's main menu dropdown chevrons */
.whb-header .wd-dropdown-menu.wd-design-default .menu-item-has-children>a::after {
	color: var(--nav-chevron-color);
}

/* Style dropdown items that visually behave as child links */
.whb-header .wd-dropdown-menu .ad-menu-visual-child>.woodmart-nav-link {
	padding-left: 24px;
	color: var(--e-global-color-text);
	font-weight: 400;
}

/* ========================= END OF HEADER ========================= */





/* ======================== START OF MOBILE MENU ======================== */

/* Make the WoodMart mobile drawer span the full viewport width and match the site's Dark Beige color */
.mobile-nav.wd-side-hidden-nav {
	display: flex !important;
	flex-direction: column !important;
	width: 100vw !important;
	background-color: var(--e-global-color-primary);
	z-index: 10000000 !important;
}

/* Remove WoodMart's default separator from the drawer heading */
.mobile-nav.wd-side-hidden-nav>.wd-heading {
	min-height: 96px;
	border: 0;
}

/* Position the close X in the top-right corner */
.mobile-nav .close-side-widget {
	position: absolute;
	top: 40px;
	right: 32px;
}

/* Hide WoodMart's Close text and keep only the X */
.mobile-nav .close-side-widget .wd-action-text {
	display: none;
}

/* Match the close X with the site's Off White color */
.mobile-nav .close-side-widget .wd-action-icon::before {
	color: var(--e-global-color-accent);
	font-size: 32px;
}

/* Keep the native search form hidden during the normal menu state */
.mobile-nav:not(.ad-mobile-search-panel-open)>.wd-search-form {
	display: none;
}

/* Hide WoodMart's native Account row during the normal menu state */
.mobile-nav:not(.ad-mobile-account-panel-open) #menu-main>.menu-item-account {
	display: none !important;
}

/* Position the main mobile navigation beside the utility rail */
.mobile-nav.wd-side-hidden-nav>#menu-main {
	margin-left: 74px;
}

/* Hide WoodMart's default borders on mobile navigation items */
.mobile-nav #menu-main li,
.mobile-nav #menu-main li>a,
.mobile-nav #menu-main .wd-nav-opener {
	border-color: transparent;
}

/* Style top-level mobile menu links */
.mobile-nav #menu-main>li>a {
	color: var(--e-global-color-accent);
	font-size: 18px;
	font-weight: 500;
	text-transform: none;
}

/* Match WoodMart submenu arrows with the menu text */
.mobile-nav #menu-main .wd-nav-opener::after {
	color: var(--e-global-color-accent);
}

/* Style first-level submenu links */
.mobile-nav #menu-main .item-level-1>a {
	padding-left: 48px;
	color: var(--e-global-color-accent);
	font-size: 17px;
	font-weight: 400;
}

/* Style second-level submenu links */
.mobile-nav #menu-main .item-level-2>a {
	padding-left: 96px;
	color: var(--e-global-color-accent);
	font-size: 16px;
	font-weight: 400;
}

/* Allow the Elementor mobile-menu extras to be positioned against the drawer itself */
.mobile-nav .widgetarea-mobile,
.mobile-nav .widgetarea-mobile .elementor,
.mobile-nav .widgetarea-mobile .e-con:not(.elementor-element-946296f),
.mobile-nav .widgetarea-mobile .e-con-inner {
	position: static !important;
}

/* Remove WoodMart's default widget-area padding */
.mobile-nav>.widgetarea-mobile {
	padding: 0 !important;
}

/* Position the custom mobile-menu logo in the top area of the drawer */
.mobile-nav .elementor-element-e898005 {
	position: absolute !important;
	top: 22px;
	left: 32px;
	z-index: 21;
}

/* Position the Elementor utility/social container as a bottom-anchored left rail */
.mobile-nav .elementor-element-946296f {
	position: absolute !important;
	right: auto;
	bottom: 0;
	left: 0;
	width: 74px;
	max-width: 74px !important;
}

/* Set the intended spacing between the utility icons */
.mobile-nav .elementor-element-64f329e .elementor-social-icons-wrapper {
	display: flex !important;
	flex-direction: column;
	gap: 32px !important;
}

/* Set the intended spacing between the social icons */
.mobile-nav .elementor-element-41e64ef .elementor-social-icons-wrapper {
	display: flex !important;
	flex-direction: column;
	gap: 24px !important;
}

/* Hide the custom logo and rail while either internal second page is open */
.mobile-nav.ad-mobile-panel-open>.widgetarea-mobile {
	display: none !important;
}

/* Hide the normal navigation while the Search second page is open */
.mobile-nav.ad-mobile-search-panel-open>#menu-main {
	display: none !important;
}

/* Add horizontal spacing to the native WoodMart search interface on its internal second page */
.mobile-nav.ad-mobile-search-panel-open>.wd-search-form {
	padding: 0 24px;
}

/* Style the native search input */
.mobile-nav.ad-mobile-search-panel-open>.wd-search-form input.s {
	height: 48px;
	border: 2px solid var(--e-global-color-secondary);
	border-radius: 100px;
	background-color: var(--e-global-color-accent);
	color: var(--e-global-color-primary);
}

/* Style the search placeholder */
.mobile-nav.ad-mobile-search-panel-open>.wd-search-form input.s::placeholder {
	color: var(--e-global-color-secondary);
}

/* Match the native search icon with the site's Dark Beige color */
.mobile-nav.ad-mobile-search-panel-open>.wd-search-form .searchsubmit {
	color: var(--e-global-color-primary);
}

/* Hide all normal top-level items while the Account second page is open */
.mobile-nav.ad-mobile-account-panel-open>#menu-main>li {
	display: none !important;
}

/* Keep only WoodMart's Account item because it owns the account submenu */
.mobile-nav.ad-mobile-account-panel-open>#menu-main>.menu-item-account {
	display: block !important;
}

/* Reset the main navigation offset and add horizontal spacing on the Account second page */
.mobile-nav.ad-mobile-account-panel-open>#menu-main {
	margin-left: 0;
	padding: 0 24px;
}

/* Hide WoodMart's normal Account label and opener on the second page */
.mobile-nav.ad-mobile-account-panel-open #menu-main>.menu-item-account>a,
.mobile-nav.ad-mobile-account-panel-open #menu-main>.menu-item-account>.wd-nav-opener {
	display: none !important;
}

/* Promote WoodMart's Account submenu into the visible second page */
.mobile-nav.ad-mobile-account-panel-open #menu-main>.menu-item-account>.wd-sub-menu {
	display: block !important;
}

/* Style Account second-page links */
.mobile-nav.ad-mobile-account-panel-open .menu-item-account>.wd-sub-menu>li>a {
	padding: 0;
	color: var(--e-global-color-accent);
	font-size: 18px;
	font-weight: 400;
}

/* Style the Back button shared by both internal second pages */
.ad-mobile-panel-back {
	padding: 0 !important;
	margin: 0 0 24px 0 !important;
	background: transparent !important;
	border: 0 !important;
	color: var(--e-global-color-accent) !important;
	font-size: 34px !important;
	font-weight: 400 !important;
	cursor: pointer !important;
}

/* Use a full-height two-column icon rail on phone/tablet landscape */
@media (orientation: landscape) and (max-width: 1024px) {

	/* Move the logo beside the wider landscape rail */
	.mobile-nav .elementor-element-e898005 {
		left: 156px;
	}

	/* Make the landscape rail fill the visible viewport */
	.mobile-nav .elementor-element-946296f {
		top: 0;
		width: 148px;
		max-width: 148px !important;
		z-index: 22;
	}

	/* Place the two icon groups side by side and center them vertically */
	.mobile-nav .elementor-element-946296f>.e-con-inner {
		flex-direction: row !important;
		align-items: flex-end;
		margin: 0 !important;
		padding: 16px !important;
	}

	/* Use compact vertical spacing inside both icon groups */
	.mobile-nav .elementor-element-64f329e .elementor-social-icons-wrapper,
	.mobile-nav .elementor-element-41e64ef .elementor-social-icons-wrapper {
		gap: 16px !important;
	}

	/* Position the navigation beside the wider landscape rail */
	.mobile-nav.wd-side-hidden-nav>#menu-main {
		margin-left: 148px;
	}
}

/* ========================= END OF MOBILE MENU ========================= */





/* ======================== START OF TYPOGRAPHY ======================== */

/* Make semantic H2 headings visually match the site's H1 typography */
.ad-faux-h1 h2.elementor-heading-title {
	font-size: 72px;
	font-weight: 600;
	line-height: 1.111111;
}

/* ========================= END OF TYPOGRAPHY ========================= */





/* ======================== START OF BUTTONS ======================== */

/* Normal Button */
.ad-btn-normal .elementor-button,
.single_add_to_cart_button {
	background-color: var(--e-global-color-accent);
	border-color: var(--e-global-color-secondary);
	color: var(--e-global-color-primary);
}

.ad-btn-normal .elementor-button:hover,
.ad-btn-normal .elementor-button:focus,
.single_add_to_cart_button:hover,
.single_add_to_cart_button:focus {
	background-color: var(--e-global-color-accent);
	border-color: var(--e-global-color-accent);
	color: var(--e-global-color-primary);
}

.ad-btn-normal .elementor-button:active,
.single_add_to_cart_button:active {
	background-color: var(--e-global-color-secondary);
	border-color: var(--e-global-color-secondary);
	color: var(--e-global-color-accent);
}

/* Ghost Button */
.ad-btn-ghost .elementor-button,
.ad-product-calculator-btn {
	background-color: var(--e-global-color-primary);
	border-color: var(--e-global-color-secondary);
	color: var(--e-global-color-accent);
}

.ad-btn-ghost .elementor-button:hover,
.ad-btn-ghost .elementor-button:focus,
.ad-product-calculator-btn:hover,
.ad-product-calculator-btn:focus {
	background-color: var(--e-global-color-primary);
	border-color: var(--e-global-color-primary);
	color: var(--e-global-color-accent);
}

.ad-btn-ghost .elementor-button:active,
.ad-product-calculator-btn:active {
	background-color: var(--e-global-color-secondary);
	border-color: var(--e-global-color-secondary);
	color: var(--e-global-color-accent);
}

/* ========================= END OF BUTTONS ========================= */





/* ======================== START OF FEATURE MARQUEE STRIPS ======================== */

/* Keep fade edges positioned relative to the marquee wrapper */
.ad-features-marquee {
	position: relative;
}

/* Fade edges */
.ad-features-marquee::before,
.ad-features-marquee::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 120px;
	z-index: 10;
	pointer-events: none;
}

.ad-features-marquee::before {
	left: 0;
	background: linear-gradient(to right, var(--e-global-color-16cde37) 0%, rgb(from var(--e-global-color-16cde37) r g b / 0) 100%);
}

.ad-features-marquee::after {
	right: 0;
	background: linear-gradient(to left, var(--e-global-color-16cde37) 0%, rgb(from var(--e-global-color-16cde37) r g b / 0) 100%);
}

.ad-features-row {
	width: 100%;
	overflow: hidden;
}

.ad-features-row+.ad-features-row {
	margin-top: 40px;
}

.ad-features-track {
	display: flex;
	width: max-content;
	will-change: transform;
}

.ad-features-left .ad-features-track {
	animation: ad-scroll-left 90s linear infinite;
}

.ad-features-right .ad-features-track {
	animation: ad-scroll-right 90s linear infinite;
}

@keyframes ad-scroll-left {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

@keyframes ad-scroll-right {
	from {
		transform: translateX(-50%);
	}

	to {
		transform: translateX(0);
	}
}

/* ========================= END OF FEATURE MARQUEE STRIPS ========================= */





/* ======================== START OF WOOCOMMERCE ======================== */

/* Hide the Add to Cart / Select Options action from WoodMart product cards */
.product-grid-item .wd-buttons.wd-pos-r-t>.wd-add-btn {
	display: none;
}

/* Reset WooCommerce / WoodMart shop UI typography so it does not inherit the large site body size */
body.woocommerce-page {
	font-size: 18px;
	line-height: 1.4;
}

/* Keep the WoodMart mini-cart typography controlled and above third-party floating widgets */
.cart-widget-side {
	font-size: 18px;
	line-height: 1.4;
	z-index: 9999999 !important;
}

/* Style WooCommerce quantity controls as a rounded beige stepper */
body.woocommerce-page div.quantity,
.cart-widget-side div.quantity {
	align-items: center;
	height: 52px;
	border-radius: 100px;
	background-color: var(--e-global-color-secondary);
}

/* Add spacing after quantity controls on WooCommerce pages */
body.woocommerce-page div.quantity {
	margin-right: 22px;
}

/* Style quantity minus/plus buttons */
body.woocommerce-page div.quantity .minus,
body.woocommerce-page div.quantity .plus,
.cart-widget-side div.quantity .minus,
.cart-widget-side div.quantity .plus {
	width: 34px;
	height: 100%;
	padding: 0 0 2px 0 !important;
	border: 0;
	color: white;
	font-size: 28px;
	font-weight: 400;
	transition: none !important;
}

body.woocommerce-page div.quantity .minus,
.cart-widget-side div.quantity .minus {
	border-radius: 100px 0 0 100px;
}

body.woocommerce-page div.quantity .plus,
.cart-widget-side div.quantity .plus {
	border-radius: 0 100px 100px 0;
}

/* Keep the quantity minus/plus hover state consistent with the outer stepper shape */
body.woocommerce-page div.quantity .minus:hover,
.cart-widget-side div.quantity .minus:hover {
	background-color: var(--e-global-color-primary);
	box-shadow: inset -4px 0 var(--e-global-color-secondary);
}

body.woocommerce-page div.quantity .plus:hover,
.cart-widget-side div.quantity .plus:hover {
	background-color: var(--e-global-color-primary);
	box-shadow: inset 4px 0 var(--e-global-color-secondary);
}

/* Style the quantity number field */
body.woocommerce-page div.quantity .qty,
.cart-widget-side div.quantity .qty {
	width: 60px;
	height: 32px;
	min-height: 32px;
	border: 0;
	border-radius: 100px;
	background-color: white;
	color: var(--e-global-color-primary);
	font-size: 26px;
	font-weight: 500;
}

/* Hide native number input arrows because the quantity control uses custom minus/plus buttons */
body.woocommerce-page div.quantity .qty::-webkit-outer-spin-button,
body.woocommerce-page div.quantity .qty::-webkit-inner-spin-button,
.cart-widget-side div.quantity .qty::-webkit-outer-spin-button,
.cart-widget-side div.quantity .qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

body.woocommerce-page div.quantity .qty[type="number"],
.cart-widget-side div.quantity .qty[type="number"] {
	-moz-appearance: textfield;
}

/* Style the Calculate My Project CTA on single product pages */
.ad-product-calculator-btn {
	display: inline-flex;
	flex: 0 0 auto !important;
	align-items: center;
	justify-content: center;
	width: auto;
	height: 52px;
	margin-right: 22px;
	padding: 0 24px;
	border: 2px solid var(--e-global-color-secondary);
	border-radius: 100px;
	color: white !important;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

/* Remove WoodMart's native 3D effect from the Add to Cart button */
.single_add_to_cart_button,
.single_add_to_cart_button:hover,
.single_add_to_cart_button:focus,
.single_add_to_cart_button:active {
	box-shadow: none;
	transform: none;
}

/* Match the Add to Cart button shape with the site's normal buttons */
.single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: 52px;
	border: 2px solid var(--e-global-color-secondary);
	border-radius: 100px;
}

/* Add spacing above the reviews block below the product gallery */
.ad-reviews-below-gallery {
	margin-top: 80px;
}

/* ========================= END OF WOOCOMMERCE ========================= */





/* ======================== START OF SINGLE BLOG POSTS ======================== */

/* Hide the WoodMart page title banner */
body.single-post .wd-page-title {
	display: none;
}

/* Restore spacing below the overlapping header */
body.single-post #main-content {
	margin-top: 166px;
}

/* Hide the category badge above the post title */
body.single-post .wd-post-cat {
	display: none;
}

/* ========================= END OF SINGLE BLOG POSTS ========================= */





/* ======================== START OF WPFORMS ======================== */

/* Match WPForms divider headings with the form button color */
.wpforms-field-divider h3 {
	color: var(--wpforms-button-background-color) !important;
}

/* Make WPForms submit buttons fully rounded */
.wpforms-submit {
	border-radius: 100px !important;
}

/* ========================= END OF WPFORMS ========================= */





/* ======================== START OF FOOTER ======================== */

/* Remove WoodMart's default scroll-to-top button styling and position the custom arrow graphic */
.scrollToTop {
	background: transparent !important;
	box-shadow: none !important;
	width: 72px !important;
	height: 72px !important;
	bottom: 0 !important;
	right: 0 !important;
}

/* Replace the default scroll-to-top icon with the custom SVG artwork */
.scrollToTop::after {
	content: "" !important;
	display: block;
	width: 72px !important;
	height: 72px !important;
	background: url("/wp-content/uploads/2026/06/back-to-top.svg") center center no-repeat !important;
	background-size: 72px 72px !important;
}

/* ========================= END OF FOOTER ========================= */





/* ======================== START OF RESPONSIVE ======================== */

@media (max-width: 1366px) {

	/* Add horizontal breathing room to the direct content container inside stretched sections on laptop and below */
	.wd-section-stretch>.e-child {
		--padding-left: 16px !important;
		--padding-right: 16px !important;
	}
}

@media (max-width: 1200px) {

	/* Match semantic faux-H1 headings with the mobile H1 typography */
	.ad-faux-h1 h2.elementor-heading-title {
		font-size: 42px;
		font-weight: 600;
		line-height: 1.111111;
	}
}

@media (max-width: 1024px) {

	/* Mobile menu burger icon size and placement */
	.whb-header .wd-header-mobile-nav .wd-tools-icon::before {
		font-size: 38px;
		line-height: 38px;
		padding-top: 4px;
		padding-right: 12px;
	}
}

@media (max-width: 767px) {

	/* Mobile portrait logo size and placement */
	.whb-header .site-logo {
		margin-top: 4px;
	}

	.whb-header .site-logo img {
		width: 280px !important;
		height: auto;
		max-height: none;
	}

	/* Match semantic faux-H1 headings with the mobile H1 typography */
	.ad-faux-h1 h2.elementor-heading-title {
		font-size: 44px;
		font-weight: 600;
		line-height: 1.111111;
	}

	/* Reduce selected H2 headings on mobile */
	.ad-smaller-h2 h2.elementor-heading-title {
		font-size: 18px;
		font-weight: 500;
	}

	/* Mobile feature marquee animation speed */
	.ad-features-track {
		animation-duration: 28.5s !important;
	}

	/* Mobile feature marquee fade edges */
	.ad-features-marquee::before,
	.ad-features-marquee::after {
		width: 48px;
	}

	/* Add mobile header clearance to product archive navigation links */
	.ad-parent-product-category-link,
	.ad-shop-all-products-link {
		margin-top: 152px;
	}
}

/* ========================= END OF RESPONSIVE ========================= */

/* Mobile + tablet landscape: don't show sticky header */
@media (max-width: 1024px) and (orientation: landscape) {
	.whb-header.whb-sticked {
		position: absolute !important;
		transform: translateY(-100%) !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
}