/* ++ SWIPER JS DESKKOP ++ */
.swiper-wrapper-container:first-of-type {
    display: flex; /* or whatever you want to keep */
}

.swiper-wrapper-container:not(:first-of-type) {
    visibility: hidden;
    position: absolute;
    z-index: -99;
}

.swiper-wrapper-container {
    display: flex;
    width: 100%;
    height: 450px;
}

.swiper-thumbs {
    flex: 0 0 97px;   /* fixed width */
    max-width: 97px;  /* prevent growing */
    order: -1; /* move before gallery */
    padding-right: 5px !important;
    padding-left: 0 !important;
}

.swiper-gallery {
    order: 0;
    flex: 1; /* take remaining space */
    max-width: calc(100% - 100px);
    background-color: #FFFEF9;
    border-radius: 2px;
}

.swiper-gallery-img{
    display: block;
    width: 100%;
    height: 450px;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
}

.swiper-thumbs .swiper-slide {
    height: auto; /* force fixed height */
    opacity: 0.5;
    cursor: pointer;
    background-color: #FFFEF9;
}
.swiper-thumb-img{
    display: block;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
}

.swiper-thumbs .swiper-slide-thumb-active {
    opacity: 1;
    border: 1px#C0BCB7 solid;
    border-radius: 2px;
}

.swiper-button-next,
.swiper-button-prev{
    width: 40px !important;
}

.swiper-button-next::after{
    display: block;
    width: 40px;
    height: 40px;
    content: '' !important;
    background-image: url('https://test.e-meteora.com/wp-content/themes/meteora/woocommerce/woo-custom/woo-single-product/images/arrow-right.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}
.swiper-button-prev::after{
    display: block;
    width: 40px;
    height: 40px;
    content: '' !important;
    background-image: url('https://test.e-meteora.com/wp-content/themes/meteora/woocommerce/woo-custom/woo-single-product/images/arrow-left.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}

/* -- SWIPER JS DESKTOP -- */
/* ++ SWIPER JS MOBILE ++ */
@media (max-width: 1024px){
    /* main container for gallery + thumbs */
    .swiper-wrapper-container {
        display: flex;
        flex-direction: column; /* stack vertically */
        width: 100%;
    }
    .swiper-wrapper-container:not(:first-of-type) {
        visibility: hidden;
        position: absolute;
        z-index: -99;
    }

    .swiper-wrapper-container {
        display: flex;
        width: 100%;
        height: 560px;
    }

    .swiper-thumbs {
        order: 0;
        width: 100%;
        margin-top: 10px; /* space between gallery and thumbs */
        flex: auto;
        max-width: 100%;
        padding-right: 0px !important;
    }

    .swiper-gallery {
        order: -1;
        flex: auto;
        width: 100%;
        max-width: 100%;
        background-color: #FFFEF9;
        border-radius: 2px;
    }

    .swiper-gallery-img{
        display: block;
        width: 100%;
        height: 450px;
        background-position: center center;
        background-size: cover;
        background-repeat: no-repeat;
    }

    .swiper-thumbs .swiper-slide {
        width: auto;      /* let Swiper control width */
        height: 100px;    /* thumbnail height */
        opacity: 0.5;
        cursor: pointer;
        background-color: #FFFEF9;
    }
}


/* -- SWIPER JS MOBILE -- */

/* -- BREADCRUMBS -- */
.custom-woo-breadcrumbs{
    display: table;
    width: 100%;
    padding: 10px;
}
.custom-woo-breadcrumbs a{
    line-height: 22px;
    font-size: 14px;
    vertical-align: top;
    color: #5C5C53;
}
.custom-woo-breadcrumbs a img{
    height: 18px;
}
.woo-current-page{
    line-height: 22px;
    font-size: 14px;
    vertical-align: top;
    color: #F36F21;
}
/* -- BREADCRUMBS -- */

/* ++ PRODUCT PRICE, SKU, SWATCHES ++ */

.woo-product-data{
    display: table;
    width: 100%;
    background-color: #FFFEF9;
    border-radius: 2px;
    padding: 20px;
}

.woo-product-data-group-left{
    width: calc(100%-40px);
    display: inline-block;
    vertical-align: top;
}
.woo-product-data-group-right{
    width: 40px;
    display: inline-block;
    vertical-align: top;
    float:right;
}

.woo-product-data-title{
    font-size: 20px;
    font-weight: 500;
    color: #5C5C53;
}

.woo-product-data-price{
    font-size: 28px;
    font-weight: 600;
    color: #1F1F1D;
}

.woo-product-data-sku{
    font-size: 12px;
}

.woo-product-data-attribute{
    display: table;
    width: 100%;
}

.woo-product-data-attribute-title{
    display: block;
    width: 100%;
    font-size: 16px;
    font-weight: 600;
    color: #5C5C53;
    margin-top: 15px;

}

.woo-product-data-attribute-options {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 equal columns */
    gap: 10px;
    margin: 15px 0px;
}

.woo-product-data-attribute-option {
    text-align: center;
    font-size: 14px;
    font-weight: 400;
    color: #5C5C53;
    padding: 5px;
    cursor: pointer;
    box-sizing: border-box;
}

.woo-product-data-attribute-option:hover .woo-product-data-attribute-option-img{
    border: 2px #5C5C53 solid;
}

.woo-product-data-attribute-option.selected .woo-product-data-attribute-option-img{
    border: 2px #5C5C53 solid;
}

.woo-product-data-attribute-option-img{
    display: block;
    width: 85px;
    height: 85px;
    border: 2px #C0BCB7 solid;
    border-radius: 2px;
    background-color: #F6F4ED;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    margin: 0 auto 5px auto;
}

.woo-product-data-stock{
    margin-bottom: 15px;
}
.woo-product-data-in-stock{
    display: table;
    width: 100%;
    background-color: #F1F5DF;
    /*background-color: #778948;*/
    color: #5A6B2E;
    padding: 10px 15px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 16px;
}
.woo-product-data-in-stock span{
    height: 16px;
    width: 16px;
    display: inline-block;
    vertical-align: bottom;
    margin-right: 5px;
}

.woo-product-data-out-of-stock{
    display: table;
    width: 100%;
    background-color: #F1F5DF;
    /*background-color: #778948;*/
    color: #5A6B2E;
}
/* -- PRODUCT PRICE, SKU, SWATCHES  -- */ 


/* ++ BADGES ++ */
.woo-badges {
  display: flex;
  justify-content: space-between;
  gap: 20px; /* space between the two badges */
}

.woo-badge {
  flex: 1 1 50%;
  display: flex;              /* make icon + text sit side by side */
  align-items: center;        /* vertically align both */
  border: 2px #E0DDD9 solid;
  border-radius: 2px;
  overflow: hidden;           /* keeps things tidy if text is long */
}

.woo-badge-icon {
  width: 60px;
  height: 60px;
  background-color: #EAE6DA;
  border-right: 2px #E0DDD9 solid;
  display: flex;
  align-items: center;        /* center the icon vertically */
  justify-content: center;    /* center the icon horizontally */
  flex-shrink: 0;             /* never shrink below 60px */
}

.woo-badge-text {
  flex: 1;                    /* take all remaining space */
  text-align: left;
  min-width: 0;               /* ensures text can shrink */
  display: flex;
  flex-direction: column;     /* stack p + span vertically */
  justify-content: center;    /* vertically center text block */
}

.woo-badge-text p {
  font-size: 16px;
  font-weight: 500;
  color: #1F1F1D;
  margin: 0;
  padding: 0 0 0 10px;
}

.woo-badge-text span {
  font-size: 14px;
  font-weight: 400;
  color: #5C5C53;
  margin: 0;
  padding: 0 0 0 10px;
}
/* -- BADGES -- */

/* ++ ACCORDION ++ */
.woo-accordion{
    display: table;
    width: 100%;
    box-sizing: border-box;
    padding: 20px;
    background-color: #FFFEF9;
}

.woo-accordion-item {
    border-bottom: 1px solid #E0DDD9; /* optional divider */
    padding-bottom: 20px;
    margin-bottom: 20px;
}
.woo-accordion-item:last-of-type {
    margin-bottom: 0px;
}

/* top row (heading + icon) */
.woo-accordion-heading,
.woo-accordion-icon {
    margin: 0;
    padding: 0;
}

.woo-accordion-item {
    display: flex;
    flex-direction: column; /* stack top row + content */
}

.woo-accordion-top {
    display: flex;
    align-items: center;        /* vertically align heading + icon */
    justify-content: space-between; /* heading left, icon right */
    cursor: pointer; /* make it clickable if needed */
}

/* adjust heading */
.woo-accordion-heading {
    font-size: 16px;
    font-weight: 600;
    flex: 1;                   /* take remaining space */
    text-align: left;
    color: #1F1F1D;
}

/* adjust icon */
.woo-accordion-icon {
    width: 20px;   /* or your svg size */
    height: 20px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url('https://test.e-meteora.com/wp-content/themes/meteora/woocommerce/woo-custom/woo-single-product/images/plus-icon.svg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

/* content below */
.woo-accordion-content {
  max-height: 0;                 /* start collapsed */
  overflow: hidden;              /* hide hidden content */
  margin-top: 0;                 /* no margin when collapsed */
  opacity: 0;                    /* fade out */
  transition: max-height 0.5s ease, opacity 0.4s ease, margin-top 0.5s ease;
  font-size: 14px;
  line-height: 1.5;
  color: #5C5C53;
}

/* open accordion class */
.woo-accordion-item.open .woo-accordion-content {
  max-height: 500px;             /* big enough to fit your content */
  margin-top: 15px;
  opacity: 1;
}

.woo-accordion-item.open .woo-accordion-icon{
    background-image: url('https://test.e-meteora.com/wp-content/themes/meteora/woocommerce/woo-custom/woo-single-product/images/minus-icon.svg');
}


table.woo-product-specs{
    display: table;
    width: 100%;
    border: none;
}
table.woo-product-specs tr,
table.woo-product-specs td{
    background-color: #FFFEF9 !important;
    color: #1F1F1D;
    cursor: pointer;
    border: none;
}
table.woo-product-specs tr:hover td{
    background-color: #F6F4ED !important;
}

/* -- ACCORDION -- */


/* ++ QTY ++ */ 
.woo-product-data-qty{
    display: block;
    float: left;
    width: 35%;
    border-radius: 3px;
    border: 2px #E0DDD9 solid;
}

.woo-product-data-qty-minus{
    display: block;
    width: 25%;
    float: left;
    color: #000;
    padding: 10px;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
}

.woo-product-data-qty-plus{
    display: block;
    width: 25%; 
    float: left;
    color: #000;
    padding: 10px;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
}
.woo-product-data-qty-input{
    display: block;
    float: left;
    width: 50%;
    padding: 0px;
    
}
.woo-product-data-qty-input input{
    display: block;
    width: 100%;
    color: #000;
    padding: 10px 0px !important;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    border: 0 !important;
    border-radius: 0 !important;
}
.woo-product-data-qty-input input:focus,
.woo-product-data-qty-input input:active,
.woo-product-data-qty-input input:hover{
    outline: none !important;
    border: none !important;
}

/* Hide arrows for Chrome, Safari, Edge, and Opera */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/* Hide arrows for Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}

.no-select {
    user-select: none; /* Standard syntax */
    -webkit-user-select: none; /* For Safari */
    -moz-user-select: none; /* For Firefox */
    -ms-user-select: none; /* For older IE */
}

.woo-product-data-qty-input.outofstock,
.woo-product-data-qty-minus.outofstock,
.woo-product-data-qty-plus.outofstock{
    background-color: #efefef;
    color: #313131;
    pointer-events: none !important;
    cursor: not-allowed !important;
}

/* -- QTY -- */ 

/* ++ ADD TO CART ++ */ 

.woo-product-data-add-to-cart-btn{
    display: block;
    float: left;
    width: 64%;
    margin-left: 1%;
    background-color: #5C5C53;
    border: 2px #5C5C53 solid;
    border-radius: 5px;
    color: #FFFEF9;
    padding: 10px 15px;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    transition: all 0.5s;
}
.woo-product-data-add-to-cart-btn:hover{
    border: 2px #9b9b8b solid;
    background-color: #9b9b8b;
}
.woo-product-data-add-to-cart-btn.outofstock{
    background-color: #efefef;
    color: #313131;
    pointer-events: none !important;
    cursor: not-allowed !important;
}
/* -- ADD TO CART  -- */ 

/* ++ PRODUCT ACCORDION ++ */
.custom-product-accordion{
    display: block;
    width: 100%;
    padding: 0;
    margin: 20px 0px;
}

.custom-product-accordion-content{
    display: none;
    padding: 15px 5px;
    border-bottom: 1px #212227 solid;
}

.custom-product-accordion-item-title{
    display: block;
    padding: 10px 0px;
    font-size: 18px;
    color: #212227;
    line-height: 1.4;
    font-weight: 500;
    border-bottom: 1px #212227 solid;
    cursor: pointer;
    margin-bottom: 0px;
}

.custom-product-accordion-item h2::after{
    content: '+';
    float: right;
}

.custom-product-accordion-item.is-open h2::after{
    content: '-';
    float: right;
}
/* -- PRODUCT ACCORDION -- */

/* ++ RELATED PRODUCTS AND UPSELLS ++ */
.related-product-grid{
    display: table;
    width: 100%;
}

.related-product-box{
    cursor:pointer;
    display: inline-block;
    position: relative;
    vertical-align: top;
    width: 24.7%;
    max-width: 24.7%;
    box-sizing: border-box;
    padding: 0px 10px 10px 10px;
    transition: transform 0.3s ease; /* Add smooth transition */
}
.related-product-box:hover{
    transform: scale(1.05); /* Increase the scale factor for more zoom */
}

.related-product-image img {
    display: block;
    width: 100%;
    height: auto;
}
  
.related-product-title{
    display: block;
    width: 100%;
    min-height: 50px;
    margin: 10px 0px;
}

.related-product-min-price{
    display: block;
    width: 100%;
    font-size: 12px;
    font-weight: 500;
    color: #212227;
}

.related-product-min-price p.min-price-value{
    font-size: 16px;
    font-weight: 600;
    color: #212227;
    display: inline-block;
    margin: 0;
    padding: 0;
}

span.product-type{
    display: block;
    width: 100%;
    font-size: 14px;
    font-weight: 600;
    color: #212227;
    line-height: 16px;
}

span.product-pattern{
    display: block;
    width: 100%;
    font-size: 12px;
    font-weight: 500;
    color: #212227;
    line-height: 16px;
    text-transform: lowercase;
}

span.product-color{
    display: block;
    width: 100%;
    font-size: 12px;
    font-weight: 500;
    color: #767676;
    line-height: 16px;
    text-transform: lowercase;
}
/* -- RELATED PRODUCTS AND UPSELLS -- */

/* ++ PRODUCT SPECIFICATIONS ++ */
.custom-product-dimensions{
    display: table;
    width: 98%;
    padding: 20px 20px;
    background-color: #efefef;
    color: #000;
    border-radius: 4px;
}

.custom-product-dimensions-heading{
    display: table;
    width: 100%;
    padding-bottom: 5px;
    border-bottom: 1px #000 solid;
}

.custom-product-dimensions h2{
    font-size: 16px;
    font-weight: 600;
    line-height: 52px;
    margin: 0;
    width: auto;
    display: inline;
    float: left;
}

.custom-product-dimensions p{
    font-size: 14px;
    font-weight: 400;
    margin: 15px 0px;
    border-bottom: 1px #D4D4D4 solid;
}

.custom-product-dimensions p span{
    display: inline;
    float: right;
}

.custom-pdf-btn{
    width: 110px;
    height: 100%;
    display: inline;
    float: right;
    padding: 5px 10px 5px 10px;
    background-color: #ffffff;
    border-radius: 4px;
    border: 1px #D4D4D4 solid;
    font-size: 13px;
    font-weight: 600;
    line-height: 25px;
    color: #000;
}

.custom-pdf-btn img{
    display: inline;
    float: right;
    height: 25px !important;
}

/* -- PRODUCT SPECIFICATIONS -- */

/* TABLET */
@media (max-width: 1024px){

    /* ++ SINGLE PRODUCT ++ */
    nav.woocommerce-breadcrumb{
        font-size: 14px;
        padding: 20px 0px;
    }
    .btn-combined{
        width: 100% !important;
        margin-bottom: 20px;
    }

    .woo-product-data-attribute-options{
        grid-template-columns: repeat(3, 1fr);
    }

    .woo-badges{
        display: table;
        width: 100%;
    }
    .woo-badge:last-of-type{
        margin-top: 10px;
    }
    /* -- SINGLE PRODUCT -- */

    /* ++ RELATED PRODUCTS AND UPSELLS ++ */
    .related-product-box{
        width: 49%;
        max-width: 49%;

    }
    /* -- RELATED PRODUCTS AND UPSELLS -- */
}