/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* Checkout Styles - DO NOT EDIT!! */
.wc-block-checkout__pickup-options{
    display: none !important;
}

.wc-block-checkout__payment-method{
	display: none !important;
}

.bento-item__title-wrap {
    min-height: 80px !important;
}
a.bento-item__btn {
    color: #fff !important;
}

.elementor-85 .elementor-element.elementor-element-363953b.elementor-wc-products ul.products li.product {
    background-color: white !important;
    padding: 5px;
    margin: 10px;
    border-radius: 15px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}


h2.woocommerce-loop-product__title { 
    padding-left: 10px;
    padding-right: 10px;
}

a.woocommerce-LoopProduct-link.woocommerce-loop-product__link span.price {
    padding-left: 10px;
    padding-right: 10px;
}

.astra-shop-summary-wrap {
    padding: 15px;
}

.important-callout {
    background: linear-gradient(135deg, #e6f3ff, #f0f8ff);
    border-left: 4px solid #3182ce;
    border-radius: 8px;
    padding: 20px 24px;
    margin-top: 24px;
    position: relative;
}

.callout-icon {
    position: absolute;
    top: 20px;
    left: 24px;
    width: 20px;
    height: 20px;
    background: #3182ce;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 12px;
    font-weight: bold;
}

.callout-content {
    margin-left: 36px;
    font-size: 14px;
    color: #2c5aa0;
}

.callout-content strong {
    color: #1a365d;
}


.howitworks-section {
  transition: transform 0.3s ease; /* smooth animation */
}

.howitworks-section:hover {
  transform: translateY(-5px); /* moves up slightly */
}

.woocommerce form.variations_form .variations td,
.woocommerce-page form.variations_form .variations td {
background-color: transparent !important;
}

.woocommerce form.variations_form .variations th,
.woocommerce-page form.variations_form .variations th {
background-color: transparent !important;
}


/* Generic Modern WooCommerce Pagination */
.woocommerce nav.woocommerce-pagination {
    margin: 48px 0;
    text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    border: none;
    background: none;
}

.woocommerce nav.woocommerce-pagination ul li {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 8px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background: #ffffff;
    color: #6b7280;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
}

/* Hover States */
.woocommerce nav.woocommerce-pagination ul li a:hover {
    border-color: #d1d5db;
    background: #f9fafb;
    color: #374151;
}

/* Current Page - Uses neutral dark color */
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: #374151;
    border-color: #374151;
    color: #ffffff;
}

/* Previous/Next Buttons */
.woocommerce nav.woocommerce-pagination ul li:first-child a,
.woocommerce nav.woocommerce-pagination ul li:last-child a {
    padding: 8px 16px;
    font-weight: 600;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .woocommerce nav.woocommerce-pagination ul {
        gap: 4px;
    }
    
    .woocommerce nav.woocommerce-pagination ul li a,
    .woocommerce nav.woocommerce-pagination ul li span {
        min-width: 36px;
        height: 36px;
        padding: 6px 10px;
        font-size: 13px;
    }
    
    /* Hide some page numbers on mobile */
    .woocommerce nav.woocommerce-pagination ul li:not(:first-child):not(:last-child):not(.current) {
        display: none;
    }
    
    .woocommerce nav.woocommerce-pagination ul li.current,
    .woocommerce nav.woocommerce-pagination ul li:first-child,
    .woocommerce nav.woocommerce-pagination ul li:last-child,
    .woocommerce nav.woocommerce-pagination ul li:nth-child(2),
    .woocommerce nav.woocommerce-pagination ul li:nth-last-child(2) {
        display: block;
    }
}


/* 213 */
/* WooCommerce Category Page - Fixed Flex Layout */



/* Remove default category description and image */
.woocommerce .term-description,
.woocommerce .category-image {
    display: none !important;
}

/* Product Cards as Flex Containers */
.woocommerce ul.products li.product {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
    border-color: #d1d5db !important;
}

/* Product Images */
.woocommerce ul.products li.product img {
    transition: transform 0.3s ease !important;
    flex-shrink: 0 !important;
}

.woocommerce ul.products li.product:hover img {
    transform: scale(1.05) !important;
}

/* Product Content Container */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* Product Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-weight: 600 !important;
    color: #111827 !important;
    line-height: 1.3 !important;
    padding: 16px 16px 8px 16px !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title:hover {
    color: #3b82f6 !important;
}

/* Product Price */
.woocommerce ul.products li.product .price {
    font-weight: 700 !important;
    color: #3b82f6 !important;
    padding: 0 16px 12px 16px !important;
    margin: 0 !important;
}

/* Variation Swatches - Flexible Height */
.cfvsw-shop-variations tr td {
    padding: 0 16px 12px 16px !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    align-items: flex-start !important;
    flex-grow: 1 !important;
    background: transparent !important;
}

/* Style the "More" Link */
.cfvsw-more-link {
    display: inline-block !important;
    padding: 4px 8px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #6b7280 !important;
    text-decoration: none !important;
    background: #f9fafb !important;
    transition: all 0.2s ease !important;
    margin: 2px 0 !important;
}

.cfvsw-more-link:hover {
    border-color: #3b82f6 !important;
    color: #3b82f6 !important;
    background: #f0f9ff !important;
}

/* Add to Cart Button - Always at Bottom */
.woocommerce ul.products li.product .button {
    background: #111827 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
    text-align: center !important;
    margin: 16px !important;
    padding: 10px 12px !important;
    margin-top: auto !important;
    flex-shrink: 0 !important;
}

.woocommerce ul.products li.product .button:hover {
    background: #374151 !important;
    color: #ffffff !important;
}

/* Mobile Responsive */

/* 1 product per row on mobile */
@media (max-width: 480px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 768px) {
    .woocommerce ul.products li.product .value.disable-to-select {
        padding: 0 12px 8px 12px !important;
    }
}

@media (max-width: 480px) {
    .woocommerce ul.products li.product .value.disable-to-select {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 0 10px 6px 10px !important;
    }
}

/* Rest of your existing styles... */
.woocommerce span.onsale {
    background: #10b981 !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    font-weight: 500 !important;
    min-width: auto !important;
    min-height: auto !important;
    line-height: 1.2 !important;
    padding: 4px 8px !important;
    top: 12px !important;
    right: 12px !important;
}

.quick-view,
.yith-wcqv-button,
.wc-quick-view-button,
.elementor-quick-view,
[class*="quick-view"] {
    display: none !important;
}

.cfvsw-shop-variations .cfvsw-more-link {
    position: static !important;
}
.cfvsw-swatches-disabled{
    display:none;
}


/*  checkout styling */

/* --- Modern grid layout --- */
.eh-modern-checkout .ehc-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 24px;
}
@media (max-width: 992px) {
  .eh-modern-checkout .ehc-grid {
    grid-template-columns: 1fr;
  }
}

/* --- Cards --- */
.eh-modern-checkout .ehc-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 6px 24px rgba(0,0,0,.05);
}

/* Headings */
.eh-modern-checkout .ehc-title { margin: 0 0 12px; font-size: 28px; line-height: 1.2; }
.eh-modern-checkout .ehc-h2 { margin: 0 0 14px; font-size: 18px; }

/* Form field cleanup (works with most themes/Hello) */
.eh-modern-checkout .form-row,
.eh-modern-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.eh-modern-checkout .woocommerce-shipping-fields__field-wrapper .form-row {
  margin: 0 0 14px;
}
.eh-modern-checkout input.input-text,
.eh-modern-checkout select,
.eh-modern-checkout textarea {
  width: 100%;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
}
.eh-modern-checkout .select2-selection--single {
  height: 44px;
  border-radius: 12px !important;
  border-color: rgba(0,0,0,.12) !important;
}
.eh-modern-checkout .select2-selection__rendered { line-height: 44px !important; padding-left: 12px !important; }
.eh-modern-checkout .select2-selection__arrow { height: 44px !important; }

/* Aside sticky summary */
.eh-modern-checkout .ehc-aside { position: relative; }
.eh-modern-checkout .ehc-aside .ehc-card {
  position: sticky;
  top: 20px;
}

/* Order table tidy */
.eh-modern-checkout table.shop_table {
  border: 0;
  border-collapse: collapse;
  width: 100%;
}
.eh-modern-checkout table.shop_table th,
.eh-modern-checkout table.shop_table td {
  padding: 10px 0;
  border: 0;
}
.eh-modern-checkout table.shop_table tfoot tr th,
.eh-modern-checkout table.shop_table tfoot tr td {
  font-weight: 600;
}

/* Place order button */
.eh-modern-checkout #place_order.button {
  width: 100%;
  padding: 14px 16px;
  border-radius: 12px;
  font-size: 16px;
}

/* Notices & errors inside cards */
.eh-modern-checkout .woocommerce-NoticeGroup,
.eh-modern-checkout .woocommerce-error,
.eh-modern-checkout .woocommerce-info,
.eh-modern-checkout .woocommerce-message {
  border-radius: 12px;
}

/* Spacing between sections */
.eh-modern-checkout .ehc-section + .ehc-section { margin-top: 24px; }

/* woocommerce product table */
/* Clean Modern Table */
.po-table-heading {
    margin: 30px 0 20px;
    font-size: 20px;
    font-weight: 600;
    color: #1f2937;
    padding-bottom: 12px;
    border-bottom: 2px solid #e5e7eb;
}

.po-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
}

.po-th-table {
    background: #f8fafc;
    padding: 14px 18px;
    text-align: left;
    font-weight: 500;
    font-size: 13px;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    border-bottom: 1px solid #e2e8f0;
}

.po-td-table {
    padding: 14px 18px;
    border-bottom: 1px solid #f1f5f9;
    color: #334155;
}

.po-td-table:first-child {
    font-weight: 500;
    color: #475569;
    width: 35%;
}

.po-table tbody tr:hover {
    background: #f8fafc;
}

.po-table tr:last-child .po-td-table {
    border-bottom: none;
}
.elementor-menu-cart__product .variation{
    display: block;
}
/* Mobile */
@media (max-width: 640px) {
    .po-th-table,
    .po-td-table {
        padding: 12px 14px;
        font-size: 14px;
    }

    .po-td-table:first-child {
        width: 40%;
    }
}

.woocommerce .quantity .qty {
    width: 60px;
    text-align: center;
}
/* homepage design*/
/* homepage product bento grid css */

.bento-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;

    margin: 0 auto;
}

/* Item 1 — 2 cols, 2 rows */
.bento-item--1 {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
}

/* Top right */
.bento-item--2 { grid-column: 3; grid-row: 1; }
.bento-item--3 { grid-column: 4; grid-row: 1; }

/* Middle right */
.bento-item--4 { grid-column: 3; grid-row: 2; }
.bento-item--5 { grid-column: 4; grid-row: 2; }

/* Bottom row — 4 uniform cards */
.bento-item--6 { grid-column: 1; grid-row: 3; }
.bento-item--7 { grid-column: 2; grid-row: 3; }
.bento-item--8 { grid-column: 3; grid-row: 3; }
.bento-item--9 { grid-column: 4; grid-row: 3; }

/* Card */
.bento-item {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid #e8e8e8;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bento-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 36px rgba(0,0,0,0.11);
}

/* All image wraps — 4:3 ratio */
.bento-item__image-wrap {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f7f7f7;
    flex-shrink: 0;
}

/* Item 1 — fill the full 2x2 space */
.bento-item--1 {
    display: flex;
    flex-direction: column;
}

.bento-item--1 .bento-item__image-wrap {
    aspect-ratio: unset;
    flex: 1;
}

.bento-item__image-wrap {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #ffffff;
    flex-shrink: 0;
}

.bento-item__image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
    transition: transform 0.4s ease;
}

.bento-item:hover .bento-item__image-wrap img {
    transform: scale(1.05);
}

/* Body */
.bento-item__body {
    flex-shrink: 0;
    padding: 14px 16px 16px;
    background: #fff;
    border-top: 1px solid #efefef;
}

.bento-item__title-link {
    text-decoration: none;
}

.bento-item__title {
    font-size: 0.92rem;
    font-weight: 600;
    color: #111;
    margin: 0 0 4px;
    line-height: 1.4;
}

.bento-item__price {
    font-size: 0.88rem;
    color: #666;
    margin-bottom: 12px;
}

.bento-item__btn {
    display: block;
    background: #111;
    color: #fff;
    text-decoration: none;
    text-align: center;
    padding: 11px;
    border-radius: 10px;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.3px;
    transition: background 0.2s ease;
}

.bento-item__btn:hover {
    background: #444;
    color: #fff;
}

/* Tablet */
@media (max-width: 1024px) {
    .bento-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
    }
    .bento-item {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }
    .bento-item--1 {
        grid-column: span 2 !important;
    }
    .bento-item--1 .bento-item__image-wrap {
        aspect-ratio: 4 / 3;
        flex: unset;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .bento-grid {
        grid-template-columns: repeat(2, 1fr);
        padding: 12px;
        gap: 10px;
    }
    .bento-item {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }
    .bento-item--1 {
        grid-column: span 2 !important;
    }
    .bento-item--1 .bento-item__image-wrap {
        aspect-ratio: 4 / 3;
        flex: unset;
    }
}

/* homepage product categories grid css */

.cat-grid-wrapper {
    max-width: 1440px;
    margin: 0 auto;
}

.cat-grid {
    display: grid;
    gap: 16px;
}

/* Uniform grids based on count — no featured sizing */
.cat-grid--1  { grid-template-columns: repeat(1, 1fr); }
.cat-grid--2  { grid-template-columns: repeat(2, 1fr); }
.cat-grid--3  { grid-template-columns: repeat(3, 1fr); }
.cat-grid--4  { grid-template-columns: repeat(4, 1fr); }
.cat-grid--5  { grid-template-columns: repeat(5, 1fr); }
.cat-grid--6  { grid-template-columns: repeat(3, 1fr); }
.cat-grid--7  { grid-template-columns: repeat(4, 1fr); }
.cat-grid--8  { grid-template-columns: repeat(4, 1fr); }
.cat-grid--9  { grid-template-columns: repeat(3, 1fr); }
.cat-grid--10 { grid-template-columns: repeat(5, 1fr); }
.cat-grid--11 { grid-template-columns: repeat(4, 1fr); }
.cat-grid--12 { grid-template-columns: repeat(4, 1fr); }
.cat-grid--13 { grid-template-columns: repeat(5, 1fr); }
.cat-grid--14 { grid-template-columns: repeat(5, 1fr); }
.cat-grid--15 { grid-template-columns: repeat(5, 1fr); }
.cat-grid--16 { grid-template-columns: repeat(4, 1fr); }
.cat-grid--17 { grid-template-columns: repeat(4, 1fr); }
.cat-grid--18 { grid-template-columns: repeat(6, 1fr); }

/* Card */
.cat-grid__item {
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    border: 1px solid #e8e8e8;
    background: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cat-grid__item:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(0,0,0,0.11);
}

/* Image */
.cat-grid__image-wrap {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    flex-shrink: 0;
}

.cat-grid__image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.4s ease;
}

.cat-grid__item:hover .cat-grid__image-wrap img {
    transform: scale(1.05);
}

/* Title */
.cat-grid__body {
    padding: 12px 14px 14px;
    border-top: 1px solid #efefef;
}

.cat-grid__title {
    font-size: 0.92rem;
    font-weight: 600;
    color: #111;
    margin: 0;
    line-height: 1.4;
}

/* Tablet */
@media (max-width: 1024px) {
    .cat-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .cat-grid-wrapper {
        padding: 12px;
    }
    .cat-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}