/* Global WPBakery Row and Column Styling */
.vc_row {
    margin-bottom: 20px;
}
.vc_row .wpb_column {
    padding: 20px;
    border-bottom: 1px solid #800020 !important; /* Burgundy section dividers */
}
.vc_row-has-fill .wpb_column {
    background-color: #FFFFFF !important; /* White base for content columns */
}

/* Header and Navigation (Astra + WPBakery Integration) */
.site-header {
    background-color: #000000 !important; /* Black header background */
}
.site-header .main-header-bar {
    background-color: #000000 !important;
}
.ast-primary-menu-enabled .main-header-menu {
    background-color: #000000 !important;
}
.ast-primary-menu li a {
    color: #FFFFFF !important; /* White menu text */
}
.ast-primary-menu li a:hover,
.ast-primary-menu li.current-menu-item a {
    color: #DAA520 !important; /* Gold on hover/active */
}

/* Hero Section Overlay and Styling */
.hero-overlay {
    position: relative;
}
.hero-overlay::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(128, 0, 32, 0.4) !important; /* Burgundy tint overlay */
    z-index: 1;
}
.hero-overlay .wpb_wrapper {
    position: relative;
    z-index: 2;
}
.hero-overlay h1,
.hero-overlay h2,
.hero-overlay .wpb_wrapper h1,
.hero-overlay .wpb_wrapper h2 {
    color: #FFFFFF !important; /* White hero headings */
    font-size: 48px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: bold !important;
}
.hero-overlay p,
.hero-overlay .wpb_wrapper p {
    color: #FFFFFF !important; /* White hero subtext */
}

/* Buttons (Global CTA and Links) */
.wpb_button,
.vc_btn,
.btn,
a.button,
.vc_general.vc_btn3.vc_btn3-style-custom,
.wpb-content-element .vc_btn3-container .vc_btn3-color-custom.vc_btn3-style-custom {
    background-color: #800020 !important; /* Burgundy button background */
    color: #DAA520 !important; /* Gold button text */
    border: 2px solid #DAA520 !important; /* Gold border */
    padding: 12px 24px !important;
    font-weight: bold !important;
    transition: all 0.3s ease !important;
}
.wpb_button:hover,
.vc_btn:hover,
.btn:hover,
a.button:hover,
.vc_general.vc_btn3.vc_btn3-style-custom:hover,
.wpb-content-element .vc_btn3-container .vc_btn3-color-custom.vc_btn3-style-custom:hover {
    background-color: #DAA520 !important; /* Gold on hover */
    color: #000000 !important; /* Black text on hover */
    border-color: #800020 !important; /* Burgundy border on hover */
}

/* Links */
a,
.wpb_wrapper a {
    color: #DAA520 !important; /* Gold links */
    text-decoration: none !important;
}
a:hover,
.wpb_wrapper a:hover {
    color: #800020 !important; /* Burgundy hover */
    text-decoration: underline !important;
}

/* Who We Are Section (Text and Image) */
.who-we-are h1,
.who-we-are h2,
.who-we-are h3,
.who-we-are .wpb_wrapper h1,
.who-we-are .wpb_wrapper h2,
.who-we-are .wpb_wrapper h3 {
    color: #800020 !important; /* Burgundy section heading */
    font-size: 32px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: bold !important;
}
.who-we-are p,
.who-we-are .wpb_wrapper p {
    color: #800020 !important; /* Burgundy body text */
    font-family: 'Open Sans', sans-serif !important;
    font-size: 16px !important;
}
.who-we-are img,
.who-we-are .wpb_single_image img,
.who-we-are .wpb_single_image {
    width: 100% !important;
    height: auto !important;
    max-height: 400px !important; /* Bigger photo */
    object-fit: cover !important;
    border: 2px solid #DAA520 !important; /* Gold frame on images */
    border-radius: 8px !important;
}

/* Specific Overrides for ABOUT Text and Diamond Icon */
.who-we-are .about-title,
.who-we-are .wpb_wrapper .about-title {
    color: #800020 !important; /* Burgundy for "ABOUT" text */
}
.who-we-are .diamond-icon,
.who-we-are .wpb_wrapper .diamond-icon {
    fill: #DAA520 !important; /* Gold for icon fill */
    stroke: #800020 !important; /* Burgundy outline */
    background-color: #000000 !important; /* Black diamond background */
}
.who-we-are .who-text,
.who-we-are .wpb_wrapper .who-text {
    color: #800020 !important; /* Burgundy for "WHO WE ARE?" */
}

/* Featured Products Section Grid */
.featured-products {
    text-align: center !important;
}
.featured-products h2,
.featured-products .wpb_wrapper h2 {
    color: #000000 !important; /* Black section title */
    font-size: 36px !important;
    margin-bottom: 40px !important;
}
.featured-products .wpb_wrapper {
    color: #000000 !important; /* Black text in grid */
}
.featured-products .vc_column-inner {
    background-color: #FFFFFF !important;
    padding: 20px !important;
    border: 1px solid #800020 !important; /* Burgundy grid borders */
    transition: all 0.3s ease !important;
}
.featured-products .vc_column-inner:hover {
    border-color: #DAA520 !important; /* Gold on hover */
    transform: translateY(-5px) !important;
}
.featured-products img,
.featured-products .wpb_single_image img {
    transition: all 0.3s ease !important;
}
.featured-products img:hover,
.featured-products .wpb_single_image img:hover {
    transform: scale(1.05) !important; /* Subtle zoom */
    opacity: 0.9 !important;
}
.featured-products .price,
.featured-products .wpb_wrapper .price {
    color: #800020 !important; /* Burgundy pricing */
    font-size: 18px !important;
    font-weight: bold !important;
}

/* Testimonials Section */
.testimonials .wpb_wrapper {
    background-color: #F8F8F8 !important; /* Light gray for quote backgrounds */
    padding: 30px !important;
    border-left: 4px solid #DAA520 !important; /* Gold accent border */
}
.testimonials blockquote,
.testimonials .wpb_wrapper blockquote {
    color: #000000 !important;
    font-style: italic !important;
}
.testimonials .testimonial-author,
.testimonials .wpb_wrapper .testimonial-author {
    color: #800020 !important; /* Burgundy author name */
}

/* Footer */
.site-footer {
    background-color: #000000 !important; /* Black footer */
    color: #FFFFFF !important; /* White footer text */
}
.site-footer a,
.site-footer .wpb_wrapper a {
    color: #DAA520 !important; /* Gold footer links */
}
.site-footer a:hover,
.site-footer .wpb_wrapper a:hover {
    color: #800020 !important; /* Burgundy hover */
}

/* Typography Fallbacks */
body,
.wpb_wrapper {
    font-family: 'Open Sans', sans-serif !important;
    color: #000000 !important;
    background-color: #FFFFFF !important;
}
h1, h2, h3, h4, h5, h6,
.wpb_wrapper h1, .wpb_wrapper h2, .wpb_wrapper h3, .wpb_wrapper h4, .wpb_wrapper h5, .wpb_wrapper h6 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: bold !important;
}
h1, h2 { color: #800020 !important; } /* Burgundy main headings */
h3, h4 { color: #000000 !important; } /* Black subheadings */

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .vc_row .wpb_column {
        padding: 10px !important;
    }
    .hero-overlay h1,
    .hero-overlay .wpb_wrapper h1 {
        font-size: 32px !important;
    }
    .featured-products .vc_column-inner {
        margin-bottom: 20px !important;
    }
    .who-we-are .wpb_single_image img {
        max-height: 300px !important; /* Responsive photo size */
    }
}

/* Utility Classes for Custom Elements */
.text-center { text-align: center !important; }
.text-burgundy { color: #800020 !important; }
.text-gold { color: #DAA520 !important; }
.text-black { color: #000000 !important; }
.text-white { color: #FFFFFF !important; }
.bg-black { background-color: #000000 !important; }
.bg-white { background-color: #FFFFFF !important; }
.bg-burgundy { background-color: #800020 !important; }