.elementor-19359 .elementor-element.elementor-element-c98c819{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-19359 .elementor-element.elementor-element-6bc3e57 .elementor-menu-cart__close-button, .elementor-19359 .elementor-element.elementor-element-6bc3e57 .elementor-menu-cart__close-button-custom{margin-right:auto;}.elementor-19359 .elementor-element.elementor-element-6bc3e57{margin:0px 3px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--main-alignment:right;--side-cart-alignment-transform:translateX(100%);--side-cart-alignment-left:auto;--side-cart-alignment-right:0;--divider-style:solid;--subtotal-divider-style:solid;--cart-buttons-position-margin:auto;--elementor-remove-from-cart-button:none;--remove-from-cart-button:block;--cart-border-style:none;--cart-footer-layout:1fr 1fr;--products-max-height-sidecart:calc(100vh - 240px);--products-max-height-minicart:calc(100vh - 385px);}.elementor-19359 .elementor-element.elementor-element-6bc3e57 .widget_shopping_cart_content{--subtotal-divider-left-width:0;--subtotal-divider-right-width:0;}.elementor-19359 .elementor-element.elementor-element-5e566f3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-19359 .elementor-element.elementor-element-40ebe90{text-align:center;position:relative;min-height:1px;}.elementor-19359 .elementor-element.elementor-element-40ebe90 img{width:100%;height:350px;object-fit:contain;object-position:top center;}.elementor-19359 .elementor-element.elementor-element-40ebe90 > .elementor-widget-container{position:relative;}.elementor-19359 .elementor-element.elementor-element-b7dd0b3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-19359 .elementor-element.elementor-element-9520721{margin:-135px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;position:relative;min-height:1px;}.elementor-19359 .elementor-element.elementor-element-9520721 > .elementor-widget-container{position:relative;}.elementor-19359 .elementor-element.elementor-element-9520721 img{border-radius:0px 0px 0px 0px;}.elementor-19359 .elementor-element.elementor-element-025172f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-19359 .elementor-element.elementor-element-6aa8a7a{text-align:center;position:relative;min-height:1px;}.elementor-19359 .elementor-element.elementor-element-6aa8a7a > .elementor-widget-container{position:relative;}.elementor-19359 .elementor-element.elementor-element-7d40f95{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-19359 .elementor-element.elementor-element-5803d8f .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-19359 .elementor-element.elementor-element-5803d8f .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-19359 .elementor-element.elementor-element-5803d8f .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-19359 .elementor-element.elementor-element-5803d8f .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-19359 .elementor-element.elementor-element-5803d8f .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-19359 .elementor-element.elementor-element-5803d8f .elementor-icon-list-item:not(:last-child):after{content:"";border-color:#ddd;}.elementor-19359 .elementor-element.elementor-element-5803d8f .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child):after{border-block-start-style:double;border-block-start-width:1px;}.elementor-19359 .elementor-element.elementor-element-5803d8f .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:not(:last-child):after{border-inline-start-style:double;}.elementor-19359 .elementor-element.elementor-element-5803d8f .elementor-inline-items .elementor-icon-list-item:not(:last-child):after{border-inline-start-width:1px;}.elementor-19359 .elementor-element.elementor-element-5803d8f .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-19359 .elementor-element.elementor-element-5803d8f .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-19359 .elementor-element.elementor-element-5803d8f{--e-icon-list-icon-size:14px;position:relative;min-height:1px;--icon-vertical-offset:0px;}.elementor-19359 .elementor-element.elementor-element-5803d8f > .elementor-widget-container{position:relative;}.elementor-19359 .elementor-element.elementor-element-5803d8f .elementor-icon-list-text{transition:color 0.3s;}.elementor-19359 .elementor-element.elementor-element-6704f51{--display:flex;--margin-top:0px;--margin-bottom:15px;--margin-left:0px;--margin-right:0px;}.elementor-19359 .elementor-element.elementor-element-6704f51:not(.elementor-motion-effects-element-type-background), .elementor-19359 .elementor-element.elementor-element-6704f51 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#110101;}.elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-heading,.elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-sub-heading, .elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-sub-heading *,.elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-subheading, .elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-subheading *, .elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-separator-parent{text-align:center;}.elementor-19359 .elementor-element.elementor-element-d8cd8e0 > .elementor-widget-container{margin:0px 0px 15px 0px;}.elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-heading-text{color:#F7F4F4;}.elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-heading{margin:15px 0px 10px 0px;}.elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-separator, .elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-separator-line > span{border-top-style:solid;}.elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-separator, .elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-separator-line > span, .elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-divider-text{border-top-color:#FFFEFE;}.elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-separator, .elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-separator-line > span {border-top-width:1px;}.elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-separator, .elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-separator-wrap{width:20%;}.elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-divider-text{color:#FAF7F7;}.elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-side-left{width:50%;}.elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-side-right{width:calc( 100% - 50% );}.elementor-19359 .elementor-element.elementor-element-d8cd8e0 .novaworks-divider-content{Padding:0px 10px 0px 10px;}.elementor-19359 .elementor-element.elementor-element-a4bd289{--display:flex;--flex-wrap:wrap;}.elementor-19359 .elementor-element.elementor-element-5e07d15{--display:flex;}@media(max-width:1699px){.elementor-19359 .elementor-element.elementor-element-c98c819{--grid-auto-flow:row;}}@media(max-width:1279px){.elementor-19359 .elementor-element.elementor-element-c98c819{--grid-auto-flow:row;}.elementor-19359 .elementor-element.elementor-element-40ebe90{position:relative;min-height:1px;}.elementor-19359 .elementor-element.elementor-element-40ebe90 > .elementor-widget-container{position:relative;}.elementor-19359 .elementor-element.elementor-element-9520721{position:relative;min-height:1px;}.elementor-19359 .elementor-element.elementor-element-9520721 > .elementor-widget-container{position:relative;}.elementor-19359 .elementor-element.elementor-element-6aa8a7a{position:relative;min-height:1px;}.elementor-19359 .elementor-element.elementor-element-6aa8a7a > .elementor-widget-container{position:relative;}.elementor-19359 .elementor-element.elementor-element-5803d8f{position:relative;min-height:1px;}.elementor-19359 .elementor-element.elementor-element-5803d8f > .elementor-widget-container{position:relative;}}@media(max-width:991px){.elementor-19359 .elementor-element.elementor-element-c98c819{--grid-auto-flow:row;}}@media(max-width:575px){.elementor-19359 .elementor-element.elementor-element-c98c819{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-19359 .elementor-element.elementor-element-40ebe90{position:relative;min-height:1px;}.elementor-19359 .elementor-element.elementor-element-40ebe90 > .elementor-widget-container{position:relative;}.elementor-19359 .elementor-element.elementor-element-9520721{position:relative;min-height:1px;}.elementor-19359 .elementor-element.elementor-element-9520721 > .elementor-widget-container{position:relative;}.elementor-19359 .elementor-element.elementor-element-6aa8a7a{position:relative;min-height:1px;}.elementor-19359 .elementor-element.elementor-element-6aa8a7a > .elementor-widget-container{position:relative;}.elementor-19359 .elementor-element.elementor-element-5803d8f{position:relative;min-height:1px;}.elementor-19359 .elementor-element.elementor-element-5803d8f > .elementor-widget-container{position:relative;}}@media(min-width:576px){.elementor-19359 .elementor-element.elementor-element-c98c819{--width:76%;}.elementor-19359 .elementor-element.elementor-element-5e566f3{--width:85%;}.elementor-19359 .elementor-element.elementor-element-6704f51{--width:100%;}.elementor-19359 .elementor-element.elementor-element-a4bd289{--width:85%;}}/* Start custom CSS for dokan-store-tab-contents, class: .elementor-element-6164b9e *//* --- PARENT CONTAINER: Controls the overall product grid layout --- */
/* This targets the main container holding all your product items (e.g., the <ul> tag for product listings).
   This should correctly target the WooCommerce product grid. */
.woocommerce ul.products.columns-4,
.products.columns-4 {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important; /* Aligns items to the start of the row */
    
    /* --- CRITICAL FOR CONSISTENT HORIZONTAL GAPS: --- */
    /* If your items have a margin of 10px on all sides, the parent needs a negative margin
       to counteract the outer margins of the first/last items in each row. */
    margin-left: -10px !important;  /* Should be negative of the individual item's horizontal margin */
    margin-right: -10px !important; /* Should be negative of the individual item's horizontal margin */
    
    /* Ensure no residual gap property if we're using margins for spacing */
    gap: unset !important; /* Explicitly remove any default gap */
}

/* --- INDIVIDUAL PRODUCT ITEM (li.product): Ensures uniform sizing and content alignment --- */
/* THIS IS THE KEY CHANGE: Now targeting 'li.product' as it's common to ALL products. */
.woocommerce ul.products li.product { /* More specific .elementor-19359 .elementor-element.elementor-element-6164b9e for robustness */
    /* flex-basis: Calculates the ideal width for each item, accounting for its own margins.
       For 4 items per row, and if each item has 10px left + 10px right margin = 20px total horizontal margin. */
    flex: 0 0 calc(25% - 20px) !important; 
    
    /* --- CRITICAL FOR HORIZONTAL AND VERTICAL GAPS: --- */
    /* This creates a 10px gap all around each product item. */
    margin: 10px !important; /* Apply 10px margin to all sides of each item. */

    display: flex !important;
    flex-direction: column !important; /* Stacks content (image, title, etc.) vertically */
    align-items: center !important; /* Horizontally centers all direct children within the product box */
    justify-content: space-between !important; /* Vertically distributes space, pushing button to bottom */
    
    /* --- CRITICAL FOR ROW ALIGNMENT: Ensures all product boxes have a consistent height --- */
    /* ADJUST THIS VALUE: Inspect your tallest product box (especially the "Add to Cart" ones, as they might now be taller)
       to determine the best 'min-height'. Start with 380px and adjust as needed. */
    min-height: 380px !important; /* Example: Sets a minimum height for all product boxes */
    
    box-sizing: border-box !important; /* Includes padding and border in the element's total width and height */
    /* If your theme applies borders/shadows directly to li.product, you might want to reset them here: */
    /* border: none !important; */
    /* box-shadow: none !important; */
    /* background-color: #fff !important; /* Ensure consistent background if needed */
}

/* --- PRODUCT IMAGE STYLING: Force Consistent Visual Size --- */
/* Now targets the <img> within any li.product */
.woocommerce ul.products li.product img {
    display: block !important; /* Ensures the image behaves as a block element */
    width: 100% !important;   /* Force to 100% width of its immediate container (e.g., the <a> tag) */
    height: 180px !important; /* <<< Force a consistent height. ADJUST THIS VALUE based on your images. */
    object-fit: cover !important; /* CROPS the image to fit the specified dimensions without distortion */
    margin: 0 auto 10px auto !important; /* Centers the image horizontally and adds a 10px bottom margin */
    
    /* Additional robustness for image sizing */
    max-width: 100% !important;
    max-height: none !important; 
}

/* --- PRODUCT TITLE STYLING: --- */
/* Now targets the title within any li.product */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    text-align: center !important; 
    margin-top: 5px !important;
    margin-bottom: 5px !important; /* Consistent spacing */
    font-size: 16px !important; 
    font-weight: 400 !important;
    word-wrap: break-word !important; 
    white-space: normal !important; 
    flex-shrink: 0 !important; /* Prevent title from shrinking if space is tight */
}

/* --- PRODUCT PRICE STYLING (Common WooCommerce class) --- */
/* Now targets the price within any li.product */
.woocommerce ul.products li.product .price {
    text-align: center !important;
    margin-bottom: 5px !important;
    flex-shrink: 0 !important; /* Prevent price from shrinking */
}

/* --- ADD TO CART BUTTON & SELECT OPTIONS BUTTON STYLING: Pushes to bottom and centers --- */
/* Targets all common WooCommerce button classes within any li.product */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .product_type_variable.button, /* Targets "Select Options" more directly */
.woocommerce ul.products li.product .single_add_to_cart_button { /* Another common button class */
    margin-top: auto !important; /* Pushes the button to the bottom of the flex container */
    display: block !important; /* Ensures button behaves as a block element for consistent sizing */
    width: auto !important; /* Allows the button to naturally size based on content/padding */
    padding: 8px 15px !important; /* Adjust padding for the desired button size */
    text-align: center !important; /* In case the button itself has text alignment options */
    flex-shrink: 0 !important; /* Prevent button from shrinking */
}

/* --- IMPORTANT: Target the form wrapper for "Add to Cart" products (inside li.product) --- */
/* This is often present for Simple Products. */
.woocommerce ul.products li.product form.cart {
    display: flex !important; /* Make the form itself a flex container */
    flex-direction: column !important; /* Stack its content vertically */
    align-items: center !important; /* Center the quantity/button within the form */
    width: 100% !important; /* Ensure the form takes full width */
    margin: 0 !important; /* Remove any default form margins */
    padding: 0 !important; /* Remove any default form padding */
    flex-grow: 1 !important; /* Allow the form to take up available space */
    justify-content: flex-end !important; /* Push its content (button) to the bottom */
}

/* --- Ensure quantity input consistency if present in the form --- */
.woocommerce ul.products li.product form.cart .quantity {
    margin-bottom: 5px !important; /* Space between quantity and button */
    margin-top: 5px !important; /* Space between price and quantity */
    width: 100% !important; /* Ensure quantity input takes full width */
    text-align: center !important;
}
.woocommerce ul.products li.product form.cart .quantity input {
    margin: 0 auto !important; /* Center the input field itself */
    display: block !important; /* Make it a block element */
}

/* --- Overall margin below the entire product grid --- */
.products {
    margin-bottom: 20px !important;
}

@media (max-width: 992px) { /* For tablets and smaller laptops */
    .woocommerce ul.products li.product {
        flex: 0 0 calc(50% - 20px) !important; /* 2 items per row (adjust margin total if needed) */
    }
}

@media (max-width: 768px) { /* For larger phones */
    .woocommerce ul.products li.product {
        flex: 0 0 calc(50% - 20px) !important; /* Still 2 items per row */
    }
}

@media (max-width: 480px) { /* For small phones */
    .woocommerce ul.products li.product {
        flex: 0 0 calc(100% - 20px) !important; /* 1 item per row */
    }
}/* End custom CSS */