
 /* 20 aug 2025*/
 .hidden {
  display: none;
}

.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #111;
  color: #fff;
  padding: 15px 20px;
  text-align: center;
  font-size: 14px;
  z-index: 9999;
  box-shadow: 0 -2px 8px rgba(0,0,0,0.2);
}

.cookie-banner a {
  color: #4dabf7;
  text-decoration: underline;
}

.cookie-buttons button {
  margin: 5px 5px 0 5px;
  padding: 8px 14px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 500;
  transition: background 0.2s;
}

.cookie-allow { background: #28a745; color: #fff; }
.cookie-allow:hover { background: #218838; }

.cookie-disallow { background: #dc3545; color: #fff; }
.cookie-disallow:hover { background: #c82333; }

.cookie-preferences { background: #0073aa; color: #fff; }
.cookie-preferences:hover { background: #005f8d; }

.cookie-preferences-panel {
  position: fixed;
  bottom: 70px;
  right: 20px;
  background: #fff;
  color: #333;
  width: 320px;
  max-width: 90%;
  border-radius: 8px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
  padding: 20px 20px 25px 20px;
  z-index: 10000;
  font-size: 14px;
}

.close-preferences {
  position: absolute;
  top: 12px;
  right: 15px;
  background: none;
  border: none;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  color: #666;
}

.cookie-preferences-panel h3 {
  margin-top: 0;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
}

.preferences-info {
  font-size: 13px;
  margin-bottom: 15px;
  color: #555;
}

.cookie-section {
  margin-bottom: 15px;
}

.cookie-section strong {
  display: block;
  margin-bottom: 5px;
  font-size: 14px;
}

.analytics-label {
  display: flex;
  align-items: center;
  margin-top: 5px;
  font-size: 13px;
}

.analytics-toggle {
  margin-right: 8px;
}

.save-preferences {
  display: block;
  width: 100%;
  padding: 10px 0;
  background: #28a745;
  color: #fff;
  font-weight: 600;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.2s;
}

.save-preferences:hover {
  background: #218838;
}

@media (min-width: 300px) and (max-width: 767px) {
  .cookie-preferences-panel {
    bottom: 20px;
    right: 10px;
    width: 90%;
    max-width: 90%;
    font-size: 13px;
    padding: 15px;
    border-radius: 6px;
  }
}
/* added 1sept 2025 for catalog style*/
.catalog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}
.catalog-card {
  background: #fff;
  border: none;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: none;
  display: flex!important;
  flex-direction: column!important;
  align-items: flex-start!important;
  text-align: left;
}
.catalog-image {
  position: relative;
  max-width: 100%;
  overflow: hidden;
}
.catalog-image img {
  width: 100%;
  height: 300px!important;
  display: block;
  border-radius: 8px 8px 8px 8px !important;
  transition: transform 0.3s ease-in-out;
}
.catalog-card:hover .catalog-image img {
  transform: scale(1.05);
}
.catalog-date {
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(255, 255, 255, 0.9);
  color: #000;
  padding: 5px 8px;
  border-radius: 5px;
  font-size: 12px;
  font-weight: bold;
}
.catalog-content {
  padding: 15px;
}
.catalog-category {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  color: #777;
  margin-bottom: 5px;
}
.catalog-title {
  font-size: 18px;
  font-weight: bold;
  margin: 5px 0 5px;
  line-height: 1.3;
}

 .catalog-short {
  font-size: 14px;
  line-height: 1.4;
  max-height: calc(1.4em * 2);
  color: #444;
  overflow: hidden;
}

.catalog-author {
  font-size: 13px;
  color: #777;
  margin-top: 10px;
  font-style: italic;
}
.continue-reading {
  display: inline-block;
  margin-top: 10px;
  font-size: 14px;
  color: #007bff;
  text-decoration: none;
}
.catalog-pdf {
  display: inline-block;
  margin-top: 10px!important;
  font-size: 14px;
  background-color:#212529!important;
  border-color: #212529!important;
  border-radius: 2em!important;
  color:  #FFF!important;
  font-family: 'Poppins';
  font-weight: 600!important;
}
a.btn.btn-sm.btn-primary.catalog-pdf {
    margin-top: 10px!important;
}
/*style for catalog category list* 2 sept 2025*/
.catalog-categories {
  display: block; /* vertical list */
  list-style: none;
  padding: 0;
  margin: 0;
}

.catalog-categories li {
  margin-bottom: 10px; /* spacing between links */
}

.catalog-categories li a {
  text-decoration: none;
  color: #333; /* adjust color */
  font-weight: 500;
}

.catalog-categories li a:hover {
  color: #007bff; /* hover color */
  text-decoration: underline;
}
.catalog-item {
    aspect-ratio: 4 / 5;
    overflow: hidden;
}

.catalog-item img {
    /* width: 100%; */
    height: 100%;
    object-fit: cover;
}
.aod-out-of-stock-msg {
    font-size: 14px;
    font-weight: 600;
    color: #222529;
    font-family: 'Poppins';
}
@media (min-width: 1281px) and (max-width:1400px){
.catalog-sidebar{
  width: 30%!important;
}
.catalog-grid{
  width: 100%!important;
}
}
@media (min-width: 1023px) and (max-width:1024px){
.catalog-sidebar{
  width: 30%!important;
}
}

/* =====================================================
   PORTO + WOOCOMMERCE – FINAL IMAGE SYSTEM
   - Uniform shop grid
   - Any image size supported
   - Fade hover ONLY if gallery image exists
   - No zoom / no scale
   - Single product image fixed
   - Thumbnails adjusted
   ===================================================== */


/* ==============================
   SHOP / ARCHIVE PRODUCT GRID
   ============================== */

.porto-tb-featured-image.product-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1; /* change to 3/4 if needed */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
}

/* Thumbnail wrapper */
.porto-tb-featured-image.product-image .img-thumbnail {
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Inner wrapper */
.porto-tb-featured-image.product-image .img-thumbnail .inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* All product images (primary + hover) */
.porto-tb-featured-image.product-image img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain;
    margin: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    transition: opacity 0.35s ease-in-out !important;
    opacity: 1;
}

/* Hide hover image by default */
.porto-tb-featured-image.product-image img + img {
    opacity: 0;
}


/* ==============================
   SAFE FADE HOVER
   (only when gallery image exists)
   ============================== */

.porto-tb-featured-image.product-image:has(img + img):hover img:first-child {
    opacity: 0;
}

.porto-tb-featured-image.product-image:has(img + img):hover img + img {
    opacity: 1;
}


/* ==============================
   REMOVE ZOOM COMPLETELY
   ============================== */

.zoomContainer,
.zoomWindowContainer,
.zoomWindow {
    display: none !important;
}


/* ==============================
   SINGLE PRODUCT – MAIN IMAGE
   ============================== */

.woocommerce-product-gallery__image,
.img-thumbnail .inner {
    display: flex;
    align-items: center;
    justify-content: center;
    max-height: 600px;
    overflow: hidden;
    background: #fff;
}

img.woocommerce-main-image,
img.wp-post-image {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 600px !important;
    margin: 0 auto;
    object-fit: contain;
    position: static !important;
    transform: none !important;
}

/* Disable zoom on single product */
.woocommerce-product-gallery .zoomContainer {
    display: none !important;
}


/* ==============================
   SINGLE PRODUCT – THUMBNAILS
   ============================== */

/* Thumbnail list item */
.woocommerce-product-gallery .flex-control-thumbs li {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

/* Thumbnail images */
.woocommerce-product-gallery .flex-control-thumbs li img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain;
    margin: auto;
    transform: none !important;
    opacity: 1;
}

/* Active thumbnail (no zoom / no crop) */
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
    transform: none !important;
}


/* ==============================
   RELATED / UPSELL PRODUCTS
   ============================== */

.related .porto-tb-featured-image.product-image,
.up-sells .porto-tb-featured-image.product-image {
    aspect-ratio: 1 / 1;
}


/* ==============================
   MOBILE OPTIMIZATION
   ============================== */

@media (max-width: 767px) {
    .porto-tb-featured-image.product-image {
        aspect-ratio: 1 / 1;
    }

    .woocommerce-product-gallery__image,
    .img-thumbnail .inner {
        max-height: 420px;
    }

    img.woocommerce-main-image,
    img.wp-post-image {
        max-height: 420px !important;
    }
}
/* =====================================================
   PORTO – SINGLE PRODUCT THUMBNAIL ONLY FIX
   (Safe: does NOT affect shop grid or main image)
===================================================== */

/* Target ONLY thumbnail wrapper inside gallery thumbs */
.woocommerce-product-gallery .flex-control-thumbs li .img-thumbnail {
    width: 100%;
    aspect-ratio: 1 / 1;
    padding: 0;
    border: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
}

/* Target ONLY thumbnail images */
.woocommerce-product-gallery .flex-control-thumbs li img,
.woocommerce-product-gallery img.woocommerce-main-thumb {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    margin: auto;
    display: block;
    transform: none !important;
}
.woocommerce-error {
    color: #6d1a17;
    list-style: none;
    text-align: center;
}

/* Center the message and style inline links */
.woocommerce .woocommerce-info {
  text-align: center;
  font-size: 16px;
  line-height: 1.6;
}

.woocommerce .woocommerce-info a.login-link,
.woocommerce .woocommerce-info a.signup-link {
  color: #155CA5!important;
  font-weight: 600;
  text-decoration: underline;
}

.woocommerce .woocommerce-info a:hover {
  color: #155CA5!important;
  text-decoration: none;
}
.woocommerce {
	text-align: center;
}
.dokan-info, .woocommerce-info {
	color: #155CA5!important;
}
.dokan-info, .woocommerce-info {
	color: #155CA!important;
}

/*cross sales*/
.custom-cross-sells h2{
    font-size: 1.625rem;
    font-weight: 600;
    text-transform: capitalize;
    letter-spacing: -0.025em;
    border: none;
    margin-bottom: 1.1rem;
}
.custom-cross-sells ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    list-style: none;
    padding: 0;
}
@media (min-width: 1281px) and (max-width:1400px){
   .custom-cross-sells ul.products {
        grid-template-columns: repeat(3, 1fr)!important;
    }
    .mega-menu {
    display: flex!important;
    flex-wrap: nowrap!important;
    gap: 3px!important;
}
#header .elementor-element-7f7cef0 .top-links > li.menu-item, #header .elementor-element-7f7cef0 .main-menu > li.menu-item, #header .elementor-element-7f7cef0 .menu-custom-block {
    margin: 0px 15px 0px 0px!important;
}
}
@media (max-width: 1024px) {
    .custom-cross-sells ul.products {
        grid-template-columns: repeat(2, 1fr)!important;
    }

}

@media (max-width: 576px) {
    .custom-cross-sells ul.products {
        grid-template-columns: repeat(1, 1fr)!important;
    }

}


.cross-sells {
    display: none !important;
}
ul.products .woocommerce-loop-product__title {
    overflow: hidden;
    text-overflow: ellipsis;
    text-wrap: wrap!important;
}
/* Hide "Best Sellers" heading when there are no loop items in the same Elementor container */
.e-con-inner:has(> .dynamic-best-seller-grid):not(:has(.elementor-loop-container .e-loop-item)) > .dynamic-best-seller-grid {
display: none !important;
}
.elementor-2394 .elementor-element.elementor-element-25038f6 input[type="email"], .elementor-2394 .elementor-element.elementor-element-25038f6 input[type="number"], .elementor-2394 .elementor-element.elementor-element-25038f6 input[type="password"], .elementor-2394 .elementor-element.elementor-element-25038f6 input[type="search"], .elementor-2394 .elementor-element.elementor-element-25038f6 input[type="tel"], .elementor-2394 .elementor-element.elementor-element-25038f6 input[type="text"], .elementor-2394 .elementor-element.elementor-element-25038f6 input[type="url"], .elementor-2394 .elementor-element.elementor-element-25038f6 input[type="color"], .elementor-2394 .elementor-element.elementor-element-25038f6 input[type="date"], .elementor-2394 .elementor-element.elementor-element-25038f6 input[type="datetime"], .elementor-2394 .elementor-element.elementor-element-25038f6 input[type="datetime-local"], .elementor-2394 .elementor-element.elementor-element-25038f6 input[type="month"], .elementor-2394 .elementor-element.elementor-element-25038f6 input[type="time"], .elementor-2394 .elementor-element.elementor-element-25038f6 input[type="week"], .elementor-2394 .elementor-element.elementor-element-25038f6 textarea, .elementor-2394 .elementor-element.elementor-element-25038f6 .form-control, .elementor-2394 .elementor-element.elementor-element-25038f6 select {
    padding: 8px 19px 8px 19px;
    width: 100%!important;
}   
.mb-1 {
	margin-bottom: 0.25rem !important;
	text-align: left!important;
}
/*language switcher style*/
.gt_container-9vnhrh .gt_switcher{
    font-family: "Lexend", Poppins;
    font-size: 1.125rem;
    font-weight: 500;
    text-transform: capitalize;
    letter-spacing: -0.035em;
}
/*item code css single product page*/
.item_code h2{
    font-size: 12px!important;
    line-height: 0.75rem!important;
     font-weight: 400;
     text-transform: capitalize;
     font-family: "Lexend", Poppins;
}
.mega-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 20px!important;
}
/* #header .elementor-element-6ed864c form.searchform {
    width: 90%!important;
    
} */
.gtranslate_wrapper{
  width:70px!important;
}
.elementor-shortcode {
    text-align: end!important;
}
/* Hide login notice only on checkout page */
.woocommerce-form-login-toggle.mb-2 {
	display: none!important;
}

/* Force show specific top header containers on mobile */
@media (max-width: 767px) {

    .elementor-element-ce113da,
    .elementor-element-e48c132 {
        display: flex !important;
    }
/*top header flex direction row*/
.elementor-25952 .elementor-element.elementor-element-53063c4 {
    --flex-direction: row!important;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    
}
#header .searchform .searchform-fields, #header .searchform fieldset {
    display: flex;
    /* gap: 100px; */
    justify-content: space-between!important;
}
#header .elementor-element-0e73e4a .searchform-popup button {
    padding: 0px 20px 0px 20px!important;
}
}
.elementor-element.elementor-element-4bf75df.e-con-full.hide-shop.elementor-hidden-mobile.e-flex.e-con.e-child {
    display: none;
}
.elementor-element-2b664cd .sp-linked-heading {
     font-size: 1.625rem!important;
    font-weight: 600!important;
    text-transform: capitalize!important;
    letter-spacing: -0.025em!important;
    border: none!important;
    margin-bottom: 1.1rem!important;
}


/* ==========================================
   GTranslate – Clean Porto Header Fix
   ========================================== */

/* Wrapper */
.gtranslate_wrapper {
    position: relative;
    display: inline-block;
    margin-left: 15px;
    font-size: 13px;
    line-height: 1;
    vertical-align: middle;
}

/* Reset select */
.gtranslate_wrapper select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: transparent;
    border: none;
    padding: 0 18px 0 0;
    font-size: 13px;
    color: #777;
    cursor: pointer;
    height: auto;
}

/* Remove focus outline */
.gtranslate_wrapper select:focus {
    outline: none;
    box-shadow: none;
}

/* Arrow */
.gtranslate_wrapper::after {
    content: "▼";
    font-size: 9px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #777;
    transition: 0.2s ease;
}

/* Hide Select Language option */
.gtranslate_wrapper select option:first-child {
    display: none;
}

/* Hover text */
.gtranslate_wrapper:hover select {
    color: #155CA5;
}

/* Hover arrow */
.gtranslate_wrapper:hover::after {
    color: #155CA5;
}

/* FIX OVERLAP ISSUE */
#header .gtranslate_wrapper {
    position: relative;
    z-index: 9;
}

/* Prevent Porto dropdown interference */
#header .gtranslate_wrapper select {
    position: relative;
    z-index: 10;
}
/* GTranslate Inline Style - Porto Compatible */

.gtranslate_wrapper a {
    color: #777;
    text-decoration: none;
    margin: 0 5px;
    transition: 0.2s ease;
}

.gtranslate_wrapper a:hover,
.gtranslate_wrapper .gt-current-lang {
    color: #155CA5 !important;
    /* Apply fixed height everywhere except mini cart */
.product-image img:not(.mini_cart_item img) {
    display: inline-block;
    width: 100%;
    height: 300px !important;
    object-fit: cover;
    transition: opacity 0.3s, transform 2s cubic-bezier(0,0,0.44,1.18);
    transform: translateZ(0);
}

/* Reset mini cart images */
.widget_shopping_cart .product-image img {
    height: auto !important;
    object-fit: contain;
}
}
@media (min-width: 1281px) and (max-width: 1400px) {
    .cookie-preferences-panel {
        width: 340px;
        right: 25px;
        bottom: 0px!important;
        padding: 22px;
        font-size: 15px;
    }
    .cookie-section {
    margin-bottom: 5px!important;
}
.preferences-info {
    margin-bottom: 10px!important;
}
.cookie-section.necessary-cookies p {
    margin-bottom: 6px!important;
}
.cookie-section.analytics-cookies p {
    margin-bottom: 8px!important;
}
}