/*
Theme Name: Autosoe Child
Theme URI: 
Template: autosoe
Author: 
Author URI: 
Description: Autosoe Child Theme
Version: 1.0.7
Text Domain: autosoe-child
*/

/* Allow position: sticky to work by replacing overflow-x: hidden with overflow-x: clip */
html,
body,
.site {
    overflow-x: clip !important;
}

.elementor-3734 .elementor-element.elementor-element-1889ffd form input[type=search] {
    color: #fff;
}

.hero-categories .category-product-img {
    aspect-ratio: 1;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

.footer-link a {
    color: #fff;
}

.footer-link a:hover {
    color: #EC2324;
}

/* Sticky left product thumbnail and gallery on desktop */
@media (min-width: 992px) {
    .content-single-inner {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        position: relative !important;
    }

    .content-single-inner::before,
    .content-single-inner::after {
        display: none !important;
    }

    .content-single-inner .product-labels {
        position: absolute !important;
        top: 0;
        left: 0;
        z-index: 9;
    }

    .single-product div.product .woocommerce-product-gallery {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 20px !important;
        float: none !important;
        align-self: flex-start !important;
        margin-bottom: 30px;
    }

    .admin-bar .single-product div.product .woocommerce-product-gallery {
        top: 52px !important;
    }

    .single-product div.product .summary {
        float: none !important;
    }
}

/* ==========================================================================
   Single Product Custom Headings & Accordion Dropdowns
   ========================================================================== */

/* 1. Key Features Block */
.single-product div.product .yp-key-features-block {
    background-color: #ffffff;
    border: 1px solid #e1e7f0;
    border-left: 4px solid var(--primary, #c61000);
    padding: 16px 20px;
    margin-bottom: 18px;
    border-radius: 4px;
}

.single-product div.product .yp-key-features-block .block-title {
    font-family: var(--e-global-typography-text-font-family), "Carlito", sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: var(--accent, #242424) !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    letter-spacing: 0.5px !important;
    line-height: 1.3 !important;
}

.single-product div.product .yp-key-features-block p,
.single-product div.product .yp-key-features-block ul,
.single-product div.product .yp-key-features-block li {
    font-size: 14px;
    line-height: 1.6;
    color: #4a4a4a;
}

/* 2. Accordion Dropdowns */
.single-product div.product .yp-summary-accordion {
    background-color: #ffffff;
    border: 1px solid #e1e7f0;
    border-left: 4px solid var(--primary, #c61000);
    margin-bottom: 12px;
    border-radius: 4px;
    transition: all 0.2s ease;
    overflow: hidden;
}

.single-product div.product .yp-summary-accordion-header {
    cursor: pointer;
    position: relative;
    padding: 14px 40px 14px 18px;
    margin: 0 !important;
    font-family: var(--e-global-typography-text-font-family), "Carlito", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: var(--accent, #242424) !important;
    letter-spacing: 0.5px !important;
    line-height: 1.3 !important;
    user-select: none;
}

.single-product div.product .yp-summary-accordion-header::after {
    content: '+';
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    font-weight: 600;
    color: #555555;
    line-height: 1;
    transition: color 0.2s ease;
}

.single-product div.product .yp-summary-accordion.active .yp-summary-accordion-header::after {
    content: '–';
    color: var(--primary, #c61000);
}

.single-product div.product .yp-summary-accordion-content {
    display: none;
    padding: 4px 18px 18px 18px;
    font-size: 14px;
    line-height: 1.6;
    color: #4a4a4a;
}

.single-product div.product .yp-summary-accordion-content ul,
.single-product div.product .yp-summary-accordion-content ol {
    margin: 0;
    padding-left: 20px;
}

.single-product div.product .yp-summary-accordion-content li {
    font-size: 14px;
    line-height: 1.6;
    color: #4a4a4a;
    margin-bottom: 5px;
}

/* Tables inside Technical Specifications accordion */
.single-product div.product .yp-summary-accordion-content table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    font-size: 13px;
}

.single-product div.product .yp-summary-accordion-content table td,
.single-product div.product .yp-summary-accordion-content table th {
    padding: 8px 12px;
    border-bottom: 1px solid #f0f0f0;
}

.single-product div.product .yp-summary-accordion-content table tr:last-child td {
    border-bottom: none;
}

/* ==========================================================================
   Full-width Blog Archive Layout (No Sidebar)
   ========================================================================== */
.blog.autosoe-full-width-content .content-area,
.archive:not(.woocommerce-page).autosoe-full-width-content .content-area,
.search:not(.woocommerce-page).autosoe-full-width-content .content-area {
    width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.blog #secondary,
.archive:not(.woocommerce-page) #secondary,
.search:not(.woocommerce-page) #secondary {
    display: none !important;
}

/* ==========================================================================
   Autosoe Products Swiper Carousel Compatibility
   ========================================================================== */
.woocommerce ul.products.autosoe-products.swiper-wrapper,
.woocommerce.autosoe-swiper ul.products.swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    box-sizing: content-box;
}

.woocommerce.autosoe-swiper ul.products.swiper-wrapper li.product.swiper-slide,
.woocommerce ul.products.autosoe-products.swiper-wrapper li.product.swiper-slide {
    display: list-item !important;
    flex-shrink: 0 !important;
    float: none !important;
    margin: 0 !important;
    box-sizing: border-box;
}



/* ==========================================================================
   Autosoe Header Currency Switcher (WBW Integration)
   ========================================================================== */
.autosoe-woocs-dropdown {
    position: relative;
    cursor: pointer;
    user-select: none;
}

.autosoe-woocs-dropdown .autosoe-woocs-select {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.autosoe-woocs-dropdown .autosoe-woocs-dropdown-menu {
    list-style: none;
    margin: 0;
    padding: 6px 0;
}

.autosoe-woocs-dropdown .autosoe-woocs-dropdown-menu li {
    padding: 8px 16px;
    font-size: 13px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    white-space: nowrap;
}

.autosoe-woocs-dropdown .autosoe-woocs-dropdown-menu li:hover {
    background-color: #f7f7f7;
    color: var(--primary, #c61000);
}

.autosoe-woocs-dropdown.active .autosoe-woocs-dropdown-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* ==========================================================================
   Shop Page: 4 Products in a Row for Screens Above 1280px (Default Grid View)
   ========================================================================== */
@media screen and (min-width: 1280px) {
    .woocommerce-shop ul.products:not(.products-list),
    .post-type-archive-product ul.products:not(.products-list),
    .tax-product_cat ul.products:not(.products-list),
    .tax-product_tag ul.products:not(.products-list),
    .woocommerce-page.archive ul.products:not(.products-list),
    .woocommerce-shop ul.autosoe-products.products:not(.products-list),
    .post-type-archive-product ul.autosoe-products.products:not(.products-list),
    .tax-product_cat ul.autosoe-products.products:not(.products-list),
    .tax-product_tag ul.autosoe-products.products:not(.products-list),
    .woocommerce-page.archive ul.autosoe-products.products:not(.products-list) {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

/* ==========================================================================
   Category & Taxonomy Archives: Hide redundant WooCommerce products header in loop
   ========================================================================== */
.tax-product_cat .woocommerce-products-header,
.tax-product_cat header.woocommerce-products-header,
.tax-product_tag .woocommerce-products-header,
.tax-product_tag header.woocommerce-products-header {
    display: none !important;
}

/* Ensure Category Description Widget in breadcrumb/header is always visible */
.yp-product-cat-description,
.breadcrumb-wrap .yp-product-cat-description,
.elementor .yp-product-cat-description {
    display: block !important;
}

/* ==========================================================================
   Nextend Social Login / Google Login Integration Styling
   ========================================================================== */
.yp-social-login-wrap {
    margin-top: 20px;
    margin-bottom: 15px;
    width: 100%;
    clear: both;
}

.yp-social-login-separator {
    display: flex;
    align-items: center;
    margin: 18px 0 16px;
    text-align: center;
}

.yp-social-login-separator::before,
.yp-social-login-separator::after {
    content: "";
    flex: 1;
    border-bottom: 1px solid #e2e8f0;
}

.yp-social-login-separator span {
    padding: 0 14px;
    font-size: 11px;
    font-weight: 600;
    color: #8c8f94;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.yp-social-login-wrap .nsl-container {
    width: 100%;
    clear: both;
}

.yp-social-login-wrap .nsl-container .nsl-container-buttons {
    width: 100%;
    display: flex;
    justify-content: center;
}

.yp-social-login-wrap .nsl-container .nsl-container-buttons a {
    width: 100%;
    display: block;
    text-decoration: none;
    box-shadow: none;
    border: none;
}

.yp-social-login-wrap .nsl-button-google {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    border-radius: 4px;
    border: 1px solid #dadce0 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    background-color: #ffffff !important;
    transition: all 0.2s ease-in-out;
}

.yp-social-login-wrap .nsl-button-google:hover {
    background-color: #f8fafc !important;
    border-color: #c2c7d0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

.yp-social-login-wrap .nsl-button-google div.nsl-button-label-container {
    font-size: 14px !important;
    color: #3c4043 !important;
    font-weight: 500 !important;
}

/* Header Account Dropdown social login styles */
.account-dropdown .yp-social-login-wrap {
    margin-top: 15px;
    margin-bottom: 5px;
    padding: 0 2px;
}

.account-dropdown .yp-social-login-separator {
    margin: 12px 0 12px;
}

/* Linked Social Accounts in WooCommerce Account Details */
.yp-social-account-link-fieldset {
    border: 1px solid #e2e8f0;
    padding: 16px 20px;
    border-radius: 6px;
    margin-top: 25px;
    margin-bottom: 25px;
    background: #fbfbfb;
}

.yp-social-account-link-fieldset legend {
    font-weight: 600;
    font-size: 14px;
    padding: 0 8px;
    color: var(--accent, #242424);
}

.yp-social-account-link-wrap .nsl-container {
    margin: 5px 0;
}

@media (max-width: 768px) {
.single-product div.product .woocommerce-product-gallery-vertical .swiper-thumbs-vertical {
    width: 100px;
}

.single-product div.product .woocommerce-product-gallery-vertical .flex-viewport {
    width: calc(100% - 120px);
}

.single-product .breadcrumb-wrap .e-con>.e-con-inner {
    padding: 15px 0;
}

.single-product .breadcrumb-wrap .woocommerce-breadcrumb {
    line-height: normal;
    font-size: 15px;
}

.single-product .breadcrumb-wrap .elementor-element.elementor-element-636b52d > .elementor-widget-container {
    margin: 0;
}

.single-product div.product .product_title {
    font-size: 22px;
    line-height: normal;
    margin-bottom: 5px;
}

.single-product div.product .woocommerce-product-gallery {
    margin-bottom: 10px;
}

.single-product div.product .product_after_title {
    margin-bottom: 15px;
}
}

@media (max-width: 520px) {
.single-product div.product .woocommerce-product-gallery-vertical .swiper-thumbs-vertical {
    width: 70px;
}
	
	.single-product div.product p.price {
		font-size:30px;
	}

.single-product div.product .woocommerce-product-gallery-vertical .flex-viewport {
    width: calc(100% - 80px);
}

.single-product .breadcrumb-wrap .e-con>.e-con-inner {
    padding: 10px 0;
}

.single-product .breadcrumb-wrap .woocommerce-breadcrumb {
    line-height: normal;
    font-size: 14px;
}

.single-product .breadcrumb-wrap .elementor-element.elementor-element-636b52d > .elementor-widget-container {
    margin: 0;
}

.single-product div.product .product_title {
    font-size: 20px;
    line-height: normal;
    margin-bottom: 5px;
}

.single-product div.product .woocommerce-product-gallery {
    margin-bottom: 20px;
}

.single-product div.product .product_after_title {
    margin-bottom: 10px;
}
}