/**
* Theme Name: Allegro2 Child
* Description: This is a child theme of Allegro2, generated by Merlin WP.
* Author: <a href="http://themelexus.com/">Themelexus</a>
* Template: allegro2
* Version: 0.3.2
*/

/** Variables */
:root {
    --e-global-color-very-light-background: #f8f9fa;
}

/** Utilities */
.object-fit-cover {
    object-fit: cover !important;
}

.cursor-pointer {
    cursor: pointer !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.pt-0 {
    padding-top: 0 !important;
}

/** Overrides */
.show-password-input {
    display: none !important;
}

/** Footer */
footer .elementor-icon-box-content {
    position: relative !important;
    top: 3px !important;
}

.footer-phone .elementor-icon-box-content {
    top: 5px !important;
}


/** Product list */
.allegro2-sorting {
    display: none !important;
}

.allegro2-products .product-block {
    padding: 0.75rem !important;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.allegro2-products .product-block .custom-product-attributes .attribute, .wema-product-item .custom-product-attributes .attribute {
    display: flex;
    align-items: center;
}

.allegro2-products .product-block .custom-product-attributes .attribute-icon, .wema-product-item .custom-product-attributes .attribute-icon {
    width: 1.5rem;
    margin-right: 0.5rem;
}

.product-archive-section-wrapper {
    clear: both;
    padding-top: 4rem;
}

.product-archive-faq-container {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
    margin-bottom: 4rem;
    padding: 2rem;
    background-color: var(--e-global-color-very-light-background);
}

.product-archive-faq-container-inner {
    width: 100%;
}

.product-contact-form-container {
    display: flex;
    justify-content: center;
}

.product-contact-form-container-inner {
    width: 100%;
}

@media (min-width: 768px) {
    .product-contact-form-container-inner {
        width: 50%;
    }
}

.product-contact-form-title {
    text-align: center;
    margin-bottom: 1rem;
    color: var(--e-global-color-primary);
}

.product-contact-form-description {
    margin-bottom: 1rem;
}

.product-archive-faq-title {
    text-align: center;
    margin-bottom: 1rem;
    color: var(--e-global-color-primary);
}

.wema-product-loop-price-action-wrapper {
    margin-top: 1rem;
    flex-grow: 1;
    flex-flow: column;
    display: flex;
    justify-content: end;
}

.wema-product-loop-price-action-wrapper .price {
    font-weight: 600;
    color: var(--e-global-color-primary);
    margin-bottom: 0.5rem;
}

.wema-product-loop-price-action-wrapper .wema-request-quote-trigger-button {
    
}

.woocommerce-widget-layered-nav-dropdown .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 21px !important;
}

/** Product page */
.single-product .inventory_status {
    display: none !important;
}

.single-product-attributes {
    display: flex;
    margin-bottom: 1.5rem;
}

.single-product-attributes .attribute {
    display: flex;
    align-items: center;
    margin-right: 1rem;
}

.single-product-attributes .attribute-icon {
    width: 1.5rem;
    margin-right: 0rem;
}

.wema-product-features-list {
    margin-top: 1.5rem;
    list-style: none;
    padding-left: 0;
}

.wema-product-feature-item {
    display: flex;
    align-items: center;
    margin-bottom: 0.75rem; /* Space between items */
    font-size: 1em; /* Adjust as needed */
    color: var(--e-global-color-text); /* Or your desired text color */
}

.wema-product-feature-item i {
    color: var(--e-global-color-primary); /* Icon color - adjust as needed, e.g., to match the image's blue */
    margin-right: 0.75rem; /* Space between icon and text */
    font-size: 1.2em; /* Adjust icon size if needed */
}

.wema-product-price-display .woocommerce-Price-amount {
    color: var(--e-global-color-primary) !important;
    font-size: 1.5rem !important;
    font-weight: 600 !important;
}

.woocommerce-product-gallery__trigger span[aria-hidden="true"] {
    display: none !important;
}

form.cart {
    border: none !important;
    padding: 0 !important;
    justify-content: left !important;
}

/* Contact Form on Single Product Page */
.single-product .product-contact-form-container {
    margin-top: 3rem; /* Adjust as needed */
    margin-bottom: 3rem; /* Adjust as needed */
}

/* Brand Points on Single Product Page */
.single-product-brand-points-container {
    margin-top: 3rem;
    margin-bottom: 3rem;
}

/* Wema Product Information CTA Section */
.wema-product-info-cta-section {
    padding: 3rem 0;
    margin-bottom: 3rem;
    background-color: var(--e-global-color-very-light-background); /* Light grey background, similar to image */
}

.wema-product-info-cta-section .wema-container {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

.wema-product-info-cta-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

.wema-product-info-cta-left {
    flex: 1 1 58%; /* Takes up more space */
    min-width: 300px;
}

.wema-product-info-cta-right {
    flex: 1 1 38%; /* Takes up less space */
    min-width: 300px;
}

.wema-product-info-cta-title {
    font-size: 2rem;
    color: var(--e-global-color-primary, #333);
    margin-bottom: 1rem;
    font-weight: 600;
}

.wema-product-info-cta-left p {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--e-global-color-text, #555);
    margin-bottom: 1.5rem;
}

.wema-product-info-cta-left ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 1.5rem;
}

.wema-product-info-cta-left ul li {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--e-global-color-text, #555);
    margin-bottom: 0.75rem;
    position: relative;
    padding-left: 25px;
}

.wema-product-info-cta-left ul li::before {
    content: '\2022'; /* Bullet character */
    color: var(--e-global-color-primary);
    font-weight: bold;
    display: inline-block; 
    width: 1em;
    margin-left: -1.5em; /* Adjust to align with text */
    position: absolute;
    left: 10px;
}

.wema-product-info-cta-expert-card {
    background-color: #fff;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    text-align: center;
}

.wema-product-info-cta-image-wrapper {
    width: 150px; /* Adjust as needed */
    height: 150px; /* Adjust as needed */
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 1.5rem auto;
    border: 4px solid var(--e-global-color-primary);
}

.wema-product-info-cta-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wema-product-info-cta-expert-card h3 {
    font-size: 1.5rem;
    color: var(--e-global-color-primary, #333);
    margin-bottom: 0.25rem;
    font-weight: 600;
}

.wema-product-info-cta-expert-card .expert-title {
    font-size: 0.9rem;
    color: var(--e-global-color-secondary);
    margin-bottom: 1rem;
}

.wema-product-info-cta-expert-card .expert-contact {
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 1.5rem;
}
.wema-product-info-cta-expert-card .expert-contact a {
    color: var(--e-global-color-primary);
    text-decoration: none;
}
.wema-product-info-cta-expert-card .expert-contact a:hover {
    text-decoration: underline;
}

.wema-product-info-cta-reviews {
    border-top: 1px solid #eee;
    padding-top: 1.5rem;
    margin-top: 1.5rem;
}

.wema-product-info-cta-reviews .stars {
    font-size: 1.5rem; /* Adjust star size */
    color: #ffc107; /* Gold color for stars */
    margin-bottom: 0.5rem;
}

.wema-product-info-cta-reviews p {
    font-size: 0.9rem;
    color: var(--e-global-color-text, #555);
    margin-bottom: 0.25rem;
}

.wema-product-info-cta-reviews .feedback-company {
    font-size: 0.8rem;
    color: #6c757d; /* Lighter text for feedback company */
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .wema-product-info-cta-left,
    .wema-product-info-cta-right {
        flex-basis: 100%; /* Stack columns */
    }
    .wema-product-info-cta-title {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    .wema-product-info-cta-expert-card {
        padding: 1.5rem;
    }
    .wema-product-info-cta-image-wrapper {
        width: 120px;
        height: 120px;
    }
     .wema-product-info-cta-title {
        font-size: 1.6rem;
    }
}

/* Product Page Stats Section */
.wema-product-stats-section {
    padding: 40px 0;
    background-color: var(--e-global-color-very-light-background);
    margin-bottom: 3rem;
}

.wema-product-stats-grid {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 20px;
}

.wema-product-stat-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    text-align: left;
    flex-basis: calc(25% - 20px); /* Adjust for 4 items, considering gap */
    min-width: 200px; /* Minimum width for smaller screens before wrapping */
}

.wema-product-stat-number {
    font-size: 4rem; /* Large number */
    font-weight: bold;
    line-height: 1;
}

.wema-product-stat-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.4;
}

.wema-product-stat-line1,
.wema-product-stat-line2 {
    display: block;
    font-size: 0.9rem;
    color: var(--e-global-color-text);
}

.wema-product-stat-line2 {
    font-size: 0.8rem; 
    color: var(--e-global-color-text); /* Slightly lighter or same as line1 */
}

/* Responsive adjustments */
@media (max-width: 991px) { /* Tablet */
    .wema-product-stat-item {
        flex-basis: calc(50% - 20px);
    }
    .wema-product-stat-number {
        font-size: 3.5rem;
    }
}

@media (max-width: 767px) { /* Mobile */
    .wema-product-stats-grid {
        flex-direction: column;
        align-items: center; 
    }
    .wema-product-stat-item {
        flex-basis: 100%;
        flex-direction: row; /* Keep horizontal layout but centered */
        justify-content: center; /* Center items on mobile when stacked */
        width: 100%;
        max-width: 300px; /* Max width for single column items */
        margin-bottom: 20px; /* Space between stacked items */
    }
    .wema-product-stat-item:last-child {
        margin-bottom: 0;
    }
    .wema-product-stat-number {
        font-size: 3rem;
    }
    .wema-product-stat-text {
        text-align: left;
    }
}

@media (max-width: 480px) { 
    .wema-product-stat-item {
        gap: 10px;
    }
    .wema-product-stat-number {
        font-size: 2.5rem;
    }
    .wema-product-stat-line1,
    .wema-product-stat-line2 {
        font-size: 0.8rem;
    }
}

/* Brands Slider Section */
.wema-brands-slider-section {
    padding: 2rem 0;
    background-color: var(--e-global-color-very-light-background);
    overflow: hidden; /* Crucial for the marquee effect */
    margin-bottom: 3rem;
}

.wema-brands-slider-container {
    width: 100%;
    display: flex;
    align-items: center;
}

.wema-brands-slider-track {
    display: flex;
    animation: wema_scroll_rtl 14s linear infinite; /* 7 images * 2 seconds per image = 14 seconds */
    /* To make it scroll Left to Right (LTR), use wema_scroll_ltr */
}

.wema-brand-slide {
    flex: 0 0 auto; /* Prevent shrinking/growing */
    width: 200px; /* Adjust as needed, make sure it's enough for your widest logo + padding */
    padding: 0 15px; /* Spacing between logos */
    box-sizing: content-box;
}

.wema-brand-slide img {
    max-width: 100%;
    height: 60px; /* Fixed height for all logos */
    object-fit: contain; /* Ensures logo is scaled correctly without cropping */
    display: block;
    margin: 0 auto; /* Center the image if its width is less than the slide width */
}

/* Animation for Right to Left (RTL) scroll */
@keyframes wema_scroll_rtl {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-50%); /* Moves exactly one set of images */
    }
}

/* Optional: Animation for Left to Right (LTR) scroll 
@keyframes wema_scroll_ltr {
    0% {
        transform: translateX(-50%);
    }
    100% {
        transform: translateX(0%);
    }
}
*/

/* Pause animation on hover - optional */
.wema-brands-slider-track:hover {
    animation-play-state: paused;
}

/* Custom Product Stock Status Display */
.wema-product-stock-item {
    display: flex;
    align-items: center;
    margin-bottom: 0.75rem; /* Consistent with feature items */
    font-size: 1em; /* Consistent with feature items */
}

.wema-product-stock-item i.fas.fa-circle { /* Be specific for the icon */
    margin-right: 0.75rem;
    font-size: 0.7em; /* Make it a bit smaller to resemble a dot */
    line-height: 1; /* Ensure it aligns well vertically */
}

.wema-product-stock-status-in-stock {
    color: #28a745; /* Green color for text and icon by inheritance */
}

.wema-product-stock-status-out-of-stock {
    color: #dc3545; /* Red color for text and icon by inheritance */
}

.wema-product-stock-status-on-backorder {
    color: #ffc107; /* Yellow/Gold color for text and icon by inheritance */
}

/* Layered Nav Filter Customization */
.wema-filter-item {
    display: flex;
    align-items: center; /* Vertically align items in the middle */
    margin-bottom: 0.125rem; /* Add some space between filter items */
}

.wema-filter-checkbox {
    margin-right: 0.125rem; /* Space between checkbox and label */
    /* Align checkbox with the text, adjust if necessary */
    vertical-align: middle; 
    position: relative;
    top: -1px; /* Fine-tune vertical alignment if needed */
}

.wema-filter-label {
    display: flex; /* Use flex to align text and count within the label */
    align-items: center;
    cursor: pointer; /* Make the label clickable */
}

.wema-filter-label .count {
    margin-left: 0.5rem; /* Space between term name and count */
    font-size: 0.9em; /* Slightly smaller count */
    color: var(--e-global-color-text); /* Or your desired color for count */
}

/* Style for when a filter is chosen/active */
.wema-filter-label.woocommerce-widget-layered-nav-list__item--chosen {
    font-weight: bold; /* Example: make chosen filter labels bold */
    color: var(--e-global-color-primary);
}

/* Max height and scrollbar for filter lists */
.wema-custom-filter-list {
    max-height: 300px; /* Adjust as needed */
    overflow-y: auto;
    overflow-x: hidden;
    margin-right: -5px; /* Compensate for scrollbar */
    padding-right: 5px;
}

/* Custom scrollbar styling */
.wema-custom-filter-list::-webkit-scrollbar {
    width: 6px;
}

.wema-custom-filter-list::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.wema-custom-filter-list::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 3px;
}

.wema-custom-filter-list::-webkit-scrollbar-thumb:hover {
    background: #999;
}

/* Firefox scrollbar styling */
.wema-custom-filter-list {
    scrollbar-width: thin;
    scrollbar-color: #ccc #f1f1f1;
}

/* Add bottom margin to filter widgets for better spacing */
.wema-custom-filter-widget {
    margin-bottom: 2rem;
}

/* Ensure proper padding for filter items within scrollable area */
.wema-custom-filter-list li:last-child {
    margin-bottom: 0;
}

/* Filter header with collapse/expand button */
.wema-filter-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.wema-filter-header .widget-title {
    margin: 0;
    flex: 1;
}

.wema-filter-toggle {
    background: none;
    border: none;
    padding: 0.25rem;
    cursor: pointer;
    color: var(--e-global-color-text, #333);
    transition: transform 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wema-filter-toggle:hover {
    
}

.wema-filter-toggle:focus {
    outline: 2px solid var(--e-global-color-primary, #007bff);
    outline-offset: 2px;
}

.wema-filter-toggle .dashicons {
    width: 20px;
    height: 20px;
    font-size: 20px;
    transition: transform 0.3s ease;
}

/* Collapsed state */
.wema-custom-filter-widget.collapsed .wema-filter-content {
    display: none;
}

.wema-custom-filter-widget.collapsed .wema-filter-toggle .dashicons {
    transform: rotate(-90deg);
}

/* Mobile: collapse by default */
@media (max-width: 767px) {
    .wema-custom-filter-widget {
        border-bottom: 1px solid #e0e0e0;
        padding-bottom: 1rem;
    }
    
    .wema-custom-filter-widget:not(.expanded) .wema-filter-content {
        display: none;
    }
    
    .wema-custom-filter-widget:not(.expanded) .wema-filter-toggle .dashicons {
        transform: rotate(-90deg);
    }
}

/* Product Archive Page - Main Content and Sidebar Layout */
body.archive.woocommerce .site-content .woocommerce-archive-wrapper, /* More specific selector */
body.woocommerce-page .site-content .woocommerce-archive-wrapper /* Alternative for some themes */ {
    display: flex !important;
    flex-wrap: wrap;
    gap: 30px;
}

/* Target the main content area within the flex wrapper */
body.archive.woocommerce .site-content .woocommerce-archive-wrapper > div:not(#wema-product-archive-sidebar):not(.woocommerce-notices-wrapper),
body.woocommerce-page .site-content .woocommerce-archive-wrapper > div:not(#wema-product-archive-sidebar):not(.woocommerce-notices-wrapper),
body.archive.woocommerce .site-content .woocommerce-archive-wrapper #primary.content-area, /* Fallback for #primary */
body.woocommerce-page .site-content .woocommerce-archive-wrapper #primary.content-area /* Fallback for #primary */ {
    flex: 1 !important;
    min-width: 0 !important;
    /* order: 2; */ /* No longer needed due to source order change */
}

#wema-product-archive-sidebar.wema-sidebar.widget-area {
    width: 280px;
    flex-shrink: 0;
    float: none !important;
    /* order: 1; */ /* No longer needed due to source order change */
}

/* Responsive adjustments - Example: stack on smaller screens */
@media (max-width: 768px) {
    body.archive.woocommerce .site-content .woocommerce-archive-wrapper,
    body.woocommerce-page .site-content .woocommerce-archive-wrapper {
        flex-direction: column;
    }

    #wema-product-archive-sidebar.wema-sidebar.widget-area {
        width: 100%; /* Full width on smaller screens */
        margin-top: 30px;
    }
}