/*
Theme Name:   Woodmart Child
Description:  Woodmart Child Theme for IndoGenMed
Author:       IndoGenMed Development Team
Author URI:   https://indogenmed.in
Template:     woodmart
Version:      1.3.0
Text Domain:  woodmart
*/

/* 
 * Parent theme styles are enqueued via functions.php
 * Do not use @import as it's deprecated and slows page load
 * 
 * Add your custom CSS below this comment
 */

/* Remove gap above footer to align flush with content like header */
.site-content {
	margin-bottom: 0;
}

/* Optional: tighten footer inner padding to match header compact spacing */
.footer-sidebar {
	padding-block: 20px 20px;
}

/* Remove side padding in footer containers to align with header full-width layout */
.footer-sidebar .container,
.copyrights-wrapper .container,
.wd-prefooter .container {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

/* ===== WooCommerce My Account (Login/Register) Button Colors ===== */
.woocommerce-account form.woocommerce-form-login .woocommerce-button,
.woocommerce-account form.woocommerce-form-login button.woocommerce-button,
.woocommerce-account form.woocommerce-form-register .woocommerce-Button,
.woocommerce-account form.woocommerce-form-register button.woocommerce-Button {
	background-color: var(--e-global-color-primary, #00305E);
	border-color: var(--e-global-color-primary, #00305E);
	color: #fff;
}

.woocommerce-account form.woocommerce-form-login .woocommerce-button:hover,
.woocommerce-account form.woocommerce-form-login button.woocommerce-button:hover,
.woocommerce-account form.woocommerce-form-register .woocommerce-Button:hover,
.woocommerce-account form.woocommerce-form-register button.woocommerce-Button:hover {
	filter: brightness(0.92);
	color: #fff;
}

/* Woodmart login/register toggle button ("Register" / "Login") on My Account page */
.woocommerce-account a.btn.wd-switch-to-register,
.woocommerce-account a.btn.wd-switch-to-login,
.woocommerce-account .wd-switch-to-register,
.woocommerce-account .wd-switch-to-login {
	color: #fff !important;
}

.woocommerce-account a.btn.wd-switch-to-register:hover,
.woocommerce-account a.btn.wd-switch-to-login:hover,
.woocommerce-account .wd-switch-to-register:hover,
.woocommerce-account .wd-switch-to-login:hover,
.woocommerce-account a.btn.wd-switch-to-register:focus,
.woocommerce-account a.btn.wd-switch-to-login:focus,
.woocommerce-account .wd-switch-to-register:focus,
.woocommerce-account .wd-switch-to-login:focus {
	color: #fff !important;
}

/* Ensure all WooCommerce account page buttons keep white text (e.g., Save changes, address buttons, etc.) */
.woocommerce-account .woocommerce a.button,
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce input.button,
.woocommerce-account .woocommerce button.woocommerce-button,
.woocommerce-account .woocommerce input.woocommerce-button,
.woocommerce-account .woocommerce .woocommerce-Button,
.woocommerce-account .wd-social-login a,
.woocommerce-account .wd-social-login button {
	color: #fff !important;
}

.woocommerce-account .woocommerce a.button:hover,
.woocommerce-account .woocommerce button.button:hover,
.woocommerce-account .woocommerce input.button:hover,
.woocommerce-account .woocommerce button.woocommerce-button:hover,
.woocommerce-account .woocommerce input.woocommerce-button:hover,
.woocommerce-account .woocommerce .woocommerce-Button:hover,
.woocommerce-account .wd-social-login a:hover,
.woocommerce-account .wd-social-login button:hover,
.woocommerce-account .woocommerce a.button:focus,
.woocommerce-account .woocommerce button.button:focus,
.woocommerce-account .woocommerce input.button:focus,
.woocommerce-account .woocommerce button.woocommerce-button:focus,
.woocommerce-account .woocommerce input.woocommerce-button:focus,
.woocommerce-account .woocommerce .woocommerce-Button:focus,
.woocommerce-account .wd-social-login a:focus,
.woocommerce-account .wd-social-login button:focus {
	color: #fff !important;
}

/* ===== Google Business Reviews Shortcode Styling ===== */

/* Main container link */
.google-business-reviews {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 12px;
	text-decoration: none;
	color: #333;
	background: transparent;
	border-radius: 4px;
	transition: all 0.3s ease;
}

.google-business-reviews:hover {
	color: #00305E;
	opacity: 0.9;
}

/* Star rating container */
.google-stars {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 2px;
	font-size: 16px;
	line-height: 1;
}

/* Star icons - base (empty stars background) */
.google-stars-base {
	position: relative;
	z-index: 1;
	color: #ddd;
	display: flex;
	gap: 2px;
}

/* Star icons - fill (colored stars overlay) */
.google-stars-fill {
	position: absolute;
	left: 0;
	top: 0;
	overflow: hidden;
	width: var(--percent, 100%);
	color: #ffc107;
	display: flex;
	gap: 2px;
	z-index: 2;
}

/* Individual star icons (Font Awesome) */
.google-stars .uael-star-full,
.google-stars .uael-star-empty {
	width: 16px;
	height: 16px;
	display: inline-block;
}

.google-stars .uael-star-custom {
	font-size: 16px;
	line-height: 1;
}

/* Rating text styling */
.google-rating {
	display: inline-block;
	font-size: 14px;
	color: #666;
	white-space: nowrap;
}

.google-rating strong {
	color: #00305E;
	font-weight: 600;
	margin: 0 2px;
}

/* Reviews count styling */
.google-reviews {
	display: inline-block;
	font-size: 14px;
	color: #666;
	white-space: nowrap;
}

.google-reviews strong {
	color: #00305E;
	font-weight: 600;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.google-business-reviews {
		gap: 8px;
		padding: 6px 10px;
	}

	.google-stars {
		font-size: 14px;
	}

	.google-stars .uael-star-full,
	.google-stars .uael-star-empty {
		width: 14px;
		height: 14px;
	}

	.google-rating,
	.google-reviews {
		font-size: 12px;
	}
}

/* ===== Molecule Substitutes Section (Carousel Style) ===== */

.molecule-substitutes-section {
	background: #fff;
	padding: 30px 0;
	margin-top: 40px;
	border-top: 1px solid #e5e7eb;
}

.molecule-substitutes-section .substitutes-title {
	font-size: 22px;
	font-weight: 700;
	color: #374151;
	margin: 0 0 10px 0;
	line-height: 1.3;
}

.molecule-substitutes-section .substitutes-disclaimer {
	font-size: 14px;
	color: #6b7280;
	margin: 0 0 25px 0;
	line-height: 1.5;
}

.substitutes-carousel-wrapper {
	position: relative;
	margin: 0 -15px;
}

.substitutes-carousel {
	padding: 0 10px;
}

.substitute-item {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	padding: 20px;
	margin: 10px 5px;
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
	gap: 15px;
	min-height: 180px;
}

.substitute-item:hover {
	border-color: #ff6b6b;
	box-shadow: 0 4px 12px rgba(255, 107, 107, 0.15);
	transform: translateY(-3px);
}

.substitute-info {
	flex: 1;
}

.substitute-name {
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 8px 0;
	line-height: 1.4;
	min-height: 44px;
}

.substitute-name a {
	color: #ff6b6b;
	text-decoration: none;
	transition: color 0.2s ease;
	display: block;
}

.substitute-name a:hover {
	color: #ff5252;
	text-decoration: underline;
}

.substitute-manufacturer {
	font-size: 14px;
	color: #6b7280;
	margin: 0;
	line-height: 1.4;
}

.substitute-price {
	display: flex !important;
	flex-direction: column;
	gap: 6px;
	border-top: 1px solid #f3f4f6;
	padding-top: 15px;
	margin-top: auto;
}

.substitute-price .price-amount,
.substitute-price .price {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #111827 !important;
	display: block !important;
	margin: 0 !important;
}

.substitute-price ins {
	text-decoration: none !important;
	font-weight: 700 !important;
}

.substitute-price del {
	opacity: 0.6;
	margin-right: 5px;
}

.price-comparison {
	font-size: 13px;
	font-weight: 600;
	display: inline-block;
}

.price-comparison.cheaper {
	color: #10b981;
}

.price-comparison.costlier {
	color: #ef4444;
}

.substitutes-carousel .owl-nav button {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: #fff !important;
	border: 2px solid #e5e7eb !important;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	margin: 0 !important;
	z-index: 10;
}

.substitutes-carousel .owl-nav button:hover {
	background: #ff6b6b !important;
	border-color: #ff6b6b !important;
}

.substitutes-carousel .owl-nav button svg {
	width: 24px;
	height: 24px;
	stroke: #374151;
	transition: stroke 0.3s ease;
}

.substitutes-carousel .owl-nav button:hover svg {
	stroke: #fff;
}

.substitutes-carousel .owl-nav .owl-prev {
	left: -20px;
}

.substitutes-carousel .owl-nav .owl-next {
	right: -20px;
}

.substitutes-carousel .owl-nav button.disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

.substitutes-carousel .owl-dots {
	text-align: center;
	margin-top: 20px;
}

.substitutes-carousel .owl-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	background: #d1d5db;
	border-radius: 50%;
	margin: 0 5px;
	transition: all 0.3s ease;
	border: none;
	padding: 0;
}

.substitutes-carousel .owl-dot.active {
	background: #ff6b6b;
	width: 24px;
	border-radius: 5px;
}

.substitutes-footer {
	margin-top: 30px;
	text-align: center;
}

.view-all-substitutes {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: linear-gradient(135deg, #ff7a7a 0%, #ff6b6b 100%);
	color: #fff;
	padding: 15px 40px;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	border-radius: 50px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: all 0.3s ease;
	box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
}

.view-all-substitutes:hover {
	background: linear-gradient(135deg, #ff6b6b 0%, #ff5252 100%);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);
	color: #fff;
}

.view-all-substitutes svg {
	width: 20px;
	height: 20px;
	transition: transform 0.3s ease;
}

.view-all-substitutes:hover svg {
	transform: translateX(4px);
}

@media (max-width: 1024px) {
	.substitutes-carousel .owl-nav .owl-prev {
		left: -10px;
	}
	.substitutes-carousel .owl-nav .owl-next {
		right: -10px;
	}
}

@media (max-width: 768px) {
	.molecule-substitutes-section {
		padding: 20px 0;
		margin-top: 30px;
	}
	.molecule-substitutes-section .substitutes-title {
		font-size: 18px;
	}
	.molecule-substitutes-section .substitutes-disclaimer {
		font-size: 13px;
	}
	.substitute-item {
		padding: 16px;
		min-height: 160px;
	}
	.substitutes-carousel .owl-nav button {
		width: 40px;
		height: 40px;
	}
	.substitutes-carousel .owl-nav button svg {
		width: 20px;
		height: 20px;
	}
	.substitutes-carousel .owl-nav .owl-prev {
		left: 0;
	}
	.substitutes-carousel .owl-nav .owl-next {
		right: 0;
	}
	.view-all-substitutes {
		width: 100%;
		padding: 14px 30px;
		font-size: 14px;
	}
}

@media (max-width: 480px) {
	.substitute-name {
		font-size: 15px;
		min-height: auto;
	}
	.substitute-manufacturer {
		font-size: 13px;
	}
	.substitute-price .price-amount,
	.substitute-price .price {
		font-size: 16px !important;
	}
	.price-comparison {
		font-size: 12px;
	}
	.substitute-item {
		min-height: auto;
	}
}

/* ===== Archive Product Taxonomies (Brand/Manufacturer) ===== */

/* Container for all taxonomy info on archive pages */
.archive-product-taxonomies {
	margin: 8px 0 12px 0;
	padding: 0;
	font-size: 13px;
	line-height: 1.6;
}

/* Individual taxonomy row (brand) */
.archive-product-brand {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin-bottom: 5px;
}

.archive-product-brand:last-child {
	margin-bottom: 0;
}

/* Label styling (Manufacturer:) */
.archive-tax-label {
	font-weight: 600;
	color: #555;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	flex-shrink: 0;
}

/* Value container */
.archive-tax-value {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px;
	align-items: center;
}

/* Brand links - using primary color */
.archive-brand-link {
	color: var(--wd-primary-color, #446084);
	text-decoration: none;
	padding: 2px 8px;
	background-color: rgba(68, 96, 132, 0.08);
	border-radius: 3px;
	transition: all 0.3s ease;
	font-size: 12px;
	font-weight: 500;
	border: 1px solid rgba(68, 96, 132, 0.15);
}

.archive-brand-link:hover {
	color: #fff;
	background-color: var(--wd-primary-color, #446084);
	border-color: var(--wd-primary-color, #446084);
	text-decoration: none;
	transform: translateY(-1px);
}

/* Plain text fallback (if no link) */
.archive-brand-name {
	font-size: 12px;
	color: #666;
	font-weight: 500;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.archive-product-taxonomies {
		font-size: 12px;
		margin: 6px 0 10px 0;
	}
	
	.archive-product-brand {
		flex-direction: column;
		align-items: flex-start;
		gap: 3px;
	}
	
	.archive-tax-label {
		font-size: 11px;
	}
	
	.archive-brand-link {
		font-size: 11px;
		padding: 2px 6px;
	}
}

/* Grid/List view compatibility */
.products-grid .archive-product-taxonomies {
	text-align: left;
}

.products-list .archive-product-taxonomies {
	margin: 10px 0;
}

/* ===== Product Molecule Display (Existing Theme Code Styling) ===== */

.product-molecule {
	font-size: 13px !important;
	color: inherit !important;
	margin-top: 8px !important;
	line-height: 1.6 !important;
	display: flex !important;
	align-items: baseline !important;
	gap: 6px !important;
}

.molecule-label {
	font-weight: 600 !important;
	color: #555 !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.3px !important;
	flex-shrink: 0 !important;
}

.molecule-value {
	color: var(--wd-secondary-color, #F36949) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	padding: 2px 8px !important;
	background-color: rgba(243, 105, 73, 0.08) !important;
	border-radius: 3px !important;
	border: 1px solid rgba(243, 105, 73, 0.15) !important;
	transition: all 0.3s ease !important;
	display: inline-block !important;
}

.molecule-value:hover {
	background-color: var(--wd-secondary-color, #F36949) !important;
	color: #fff !important;
	border-color: var(--wd-secondary-color, #F36949) !important;
	transform: translateY(-1px) !important;
}

/* Responsive adjustments for molecule */
@media (max-width: 768px) {
	.product-molecule {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 3px !important;
		margin-top: 6px !important;
	}
	
	.molecule-label {
		font-size: 11px !important;
	}
	
	.molecule-value {
		font-size: 11px !important;
		padding: 2px 6px !important;
	}
}

.wd-preloader {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

e-page-transition,
.e-page-transition--entering,
.e-page-transition--active {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* Adjust header navigation to not stretch */
.wd-header-nav {
    flex: 0 1 auto !important;
}