/*
Theme Name: Golfex Child
Template:   golfex
Theme URI: https://1.envato.market/golfex-wp
Description: Golf Course & Sports Club WordPress Theme
Author: Awaiken
Author URI: https://awaikenthemes.com/
Version: 1.0.0
Text Domain: golfex-child
*/

/* =========================================================================
   WooCommerce Compatibility Styles
   ========================================================================= */

/* Ensure WooCommerce pages use full width within Golfex layout */
.woocommerce .page-single-post .container {
	max-width: 1200px;
}

/* My Account registration form styling */
.woocommerce-account .woocommerce-form-register .form-row {
	margin-bottom: 15px;
}

.woocommerce-account .woocommerce-form-register .form-row label {
	display: block;
	margin-bottom: 5px;
	font-weight: 600;
}

.woocommerce-account .woocommerce-form-register .form-row input {
	width: 100%;
	padding: 10px 15px;
	border: 1px solid #ddd;
	border-radius: 0;
}

/* WooCommerce notices */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
	border-radius: 0;
}

/* Button styles to match PerfectVision brand */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	border-radius: 100px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	background-color: #6ABF69;
	color: #fff;
	border: 2px solid #6ABF69;
	transition: all 0.3s ease-in-out;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background-color: #fff;
	color: #6ABF69;
	border-color: #6ABF69;
}

/* Elementor button widgets — unified hover to match PerfectVision brand */
.elementor-button {
	border: 2px solid var(--e-global-color-accent, #6ABF69) !important;
	transition: all 0.3s ease-in-out !important;
}

/* Disable Golfex parent theme ::after hover overlay */
.elementor-widget-button .elementor-button::after {
	display: none !important;
}

.elementor-button:hover,
.elementor-button:focus {
	background-color: #fff !important;
	color: var(--e-global-color-accent, #6ABF69) !important;
	border-color: var(--e-global-color-accent, #6ABF69) !important;
}

.elementor-button:hover .elementor-button-icon svg,
.elementor-button:focus .elementor-button-icon svg {
	fill: var(--e-global-color-accent, #6ABF69) !important;
}

.elementor-button:hover .elementor-button-icon,
.elementor-button:focus .elementor-button-icon {
	color: var(--e-global-color-accent, #6ABF69) !important;
}

/* =========================================================================
   Homepage — About Us Section Images
   ========================================================================= */

/* Force About Us images to display — parent theme's "Reveal Style 1"
   sets clip-path: inset(0 100% 0 0) on img and waits for a JS scroll
   trigger that never fires. Override to show images immediately. */
.at-animation-image-style-1 img {
	clip-path: inset(0 0 0 0) !important;
}

/* Homepage sponsorship cards — constrain image height after 50/50 reflow */
.elementor-element-ed233df .elementor-widget-image img,
.elementor-element-75baccb .elementor-widget-image img {
	max-height: 480px;
	object-fit: cover;
	width: 100%;
}

/* Homepage sponsorship cards — white text on green accent background */
.elementor-element-2c748d8 .elementskit-infobox,
.elementor-element-0d72572 .elementskit-infobox,
.elementor-element-d7e869f .elementskit-infobox {
	color: #fff !important;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	background-color: #6ABF69 !important;
	border-radius: 12px;
}

.elementor-element-2c748d8 .elementskit-info-box-title,
.elementor-element-0d72572 .elementskit-info-box-title,
.elementor-element-d7e869f .elementskit-info-box-title {
	color: #fff !important;
}

.elementor-element-2c748d8 .elementskit-infobox p,
.elementor-element-0d72572 .elementskit-infobox p,
.elementor-element-d7e869f .elementskit-infobox p {
	color: rgba(255, 255, 255, 0.85) !important;
}

.elementor-element-2c748d8 .elementskit-info-box-icon,
.elementor-element-0d72572 .elementskit-info-box-icon,
.elementor-element-d7e869f .elementskit-info-box-icon {
	color: #fff !important;
}

.elementor-element-2c748d8 .elementskit-info-box-icon svg,
.elementor-element-0d72572 .elementskit-info-box-icon svg,
.elementor-element-d7e869f .elementskit-info-box-icon svg {
	fill: #fff !important;
}

.elementor-element-2c748d8 .ekit-badge,
.elementor-element-0d72572 .ekit-badge,
.elementor-element-d7e869f .ekit-badge {
	color: rgba(255, 255, 255, 0.3) !important;
}

/* WooCommerce single product price color */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: #6ABF69;
}

/* =========================================================================
   Header — Site Logo
   ========================================================================= */

/* Constrain the PVG logo in the navigation bar */
.navbar-brand img.logo,
.ata-site-logo-img {
	max-width: 380px;
	width: 380px;
	height: auto;
	object-fit: contain;
}

/* =========================================================================
   Header — Mini Cart & Account Link
   ========================================================================= */

/*
 * Header layout override — force the top-level header container
 * (logo | nav | actions) into a single horizontal row with
 * proper alignment regardless of Elementor grid/flex settings.
 */
.ekit-template-content-header .elementor-element-0c0b53d {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 20px;
	padding: 10px 30px;
}

/* Logo — fixed width, no extra stretch */
.ekit-template-content-header .elementor-element-44c60aa {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: 400px !important;
}

/* Nav menu — fill remaining center space */
.ekit-template-content-header .elementor-element-3865d40 {
	flex: 1 1 auto !important;
	width: auto !important;
	max-width: none !important;
}

/* Right-side actions container (Donate | Sign In | Cart) */
.ekit-template-content-header .elementor-element-3574d30 {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 15px !important;
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	flex-wrap: nowrap !important;
}

/* Ensure child widgets in actions container don't stretch */
.elementor-element-3574d30 > .elementor-element {
	width: auto !important;
	flex: 0 0 auto !important;
}

/* Mini cart icon in header — matches nav menu colors */
.pv-mini-cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	color: #000;
	text-decoration: none;
	padding: 5px;
}

.pv-mini-cart svg {
	width: 22px;
	height: 22px;
	stroke: #000;
}

.pv-mini-cart:hover {
	color: #707070;
}

.pv-mini-cart:hover svg {
	stroke: #707070;
}

.pv-cart-count {
	position: absolute;
	top: -4px;
	right: -8px;
	background: #3d8c3b;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	min-width: 16px;
	height: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
}

/* Hide badge when cart is empty */
.pv-cart-count:empty,
.pv-cart-count[data-count="0"] {
	display: none;
}

/* Account link in header — matches nav menu colors */
.pv-account-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 500;
	font-size: 14px;
	text-decoration: none;
	color: #000;
	padding: 5px;
	white-space: nowrap;
}

.pv-account-link:hover {
	color: #707070;
}

.pv-account-icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	stroke: #000;
}

.pv-account-link:hover .pv-account-icon {
	stroke: #707070;
}

/* =========================================================================
   Footer — Social Icons
   ========================================================================= */

/* Social icons — solid green circles with black icons */
.ekit-template-content-footer .ekit_social_media a {
	background-color: #6ABF69 !important;
	border-color: #6ABF69 !important;
	color: #000 !important;
	transition: all 0.3s ease-in-out !important;
}

.ekit-template-content-footer .ekit_social_media a svg,
.ekit-template-content-footer .ekit_social_media a i {
	color: #000 !important;
	fill: #000 !important;
}

.ekit-template-content-footer .ekit_social_media a:hover {
	background-color: transparent !important;
	border-color: #6ABF69 !important;
	color: #6ABF69 !important;
}

.ekit-template-content-footer .ekit_social_media a:hover svg,
.ekit-template-content-footer .ekit_social_media a:hover i {
	color: #6ABF69 !important;
	fill: #6ABF69 !important;
}

/* =========================================================================
   WooCommerce Block Cart — Font Size Normalization
   ========================================================================= */

.wc-block-cart .wc-block-components-product-name {
	font-size: 18px !important;
	font-weight: 600 !important;
}

.wc-block-cart .wc-block-components-product-price__value,
.wc-block-cart .wc-block-formatted-money-amount {
	font-size: 16px !important;
	font-weight: 600 !important;
}

.wc-block-cart .wc-block-components-product-details li,
.wc-block-cart .wc-block-components-product-metadata p {
	font-size: 14px !important;
	line-height: 1.5 !important;
}

.wc-block-cart .wc-block-cart-item__remove-link {
	font-size: 13px !important;
}

.wc-block-cart .wc-block-components-totals-item__value,
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
	font-size: 20px !important;
	font-weight: 700 !important;
}

.wc-block-cart .wc-block-components-totals-footer-item__label,
.wc-block-cart .wc-block-components-totals-item__label {
	font-size: 18px !important;
	font-weight: 700 !important;
}

.wc-block-cart th,
.wc-block-cart .wc-block-cart-items__header span {
	font-size: 14px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

/* =========================================================================
   Organization Selector — Registration Form
   ========================================================================= */

.pvg-org-selector {
	margin-top: 5px;
}

.pvg-radio-group {
	display: flex;
	gap: 20px;
	margin-top: 8px;
}

.pvg-radio-label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 400 !important;
	cursor: pointer;
}

.pvg-radio-label input[type="radio"] {
	width: 18px;
	height: 18px;
	accent-color: #3d8c3b;
	cursor: pointer;
}

/* =========================================================================
   WooCommerce Single Product — Hide Default Sidebar Widgets
   ========================================================================= */

.sidebar-widget {
	display: none;
}

/* =========================================================================
   Override Theme Heading Icon — Green instead of Yellow
   ========================================================================= */

.section-title .elementor-heading-title::before {
	background-image: url('assets/images/icon-sub-heading.svg') !important;
}
