/* ------------------------------------------------------------------
   Product detail gallery: vendor uploads can be any size — keep layout stable
   (overrides style.css fixed 648px .main-img which breaks col-lg-6)
   ------------------------------------------------------------------ */
.single-product-details-content-wrapper .gs-product-details-gallery-wrapper {
  max-width: 100%;
  overflow: hidden;
}

.single-product-details-content-wrapper
  .gs-product-details-gallery-wrapper
  .product-main-slider {
  max-width: 100%;
}

.single-product-details-content-wrapper
  .gs-product-details-gallery-wrapper
  .product-main-slider
  .slick-list,
.single-product-details-content-wrapper
  .gs-product-details-gallery-wrapper
  .product-main-slider
  .slick-track {
  max-width: 100%;
}

.single-product-details-content-wrapper
  .gs-product-details-gallery-wrapper
  .product-main-slider
  .slick-slide {
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  min-height: 280px;
}

/* Product page: full image visible (override style.css 648px / cover on all breakpoints) */
.single-product-details-content-wrapper
  .gs-product-details-gallery-wrapper
  .main-img,
.single-product-details-content-wrapper
  .gs-product-details-gallery-wrapper
  .product-main-slider
  img.main-img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  cursor: default;
}

/* Ensure detail slider never crops portrait/tall photos */
.single-product-details-content-wrapper
  .gs-product-details-gallery-wrapper
  .product-main-slider
  .slick-slide
  img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 1399.97px) {
  .single-product-details-content-wrapper
    .gs-product-details-gallery-wrapper
    .main-img,
  .single-product-details-content-wrapper
    .gs-product-details-gallery-wrapper
    .product-main-slider
    img.main-img {
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }
}

@media (max-width: 1199.97px) {
  .single-product-details-content-wrapper
    .gs-product-details-gallery-wrapper
    .main-img,
  .single-product-details-content-wrapper
    .gs-product-details-gallery-wrapper
    .product-main-slider
    img.main-img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }
}

@media (max-width: 991.98px) {
  .single-product-details-content-wrapper
    .gs-product-details-gallery-wrapper
    .main-img,
  .single-product-details-content-wrapper
    .gs-product-details-gallery-wrapper
    .product-main-slider
    img.main-img {
    max-height: none !important;
    object-fit: contain !important;
  }
}

@media (max-width: 767.98px) {
  .single-product-details-content-wrapper
    .gs-product-details-gallery-wrapper
    .main-img,
  .single-product-details-content-wrapper
    .gs-product-details-gallery-wrapper
    .product-main-slider
    img.main-img {
    max-height: none !important;
    object-fit: contain !important;
  }
}

.single-product-details-content-wrapper
  .gs-product-details-gallery-wrapper
  .nav-img {
  width: 72px !important;
  height: 72px !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

@media (max-width: 767.98px) {
  .single-product-details-content-wrapper
    .gs-product-details-gallery-wrapper
    .nav-img {
    width: 64px !important;
    height: 64px !important;
  }
}

/* Category / shop grid: full product photo (cart లాగా పూర్తి కనిపించేలా — cover కాదు) */
.single-product .img-wrapper,
.single-product-list-view .img-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  overflow: hidden;
}

.single-product .img-wrapper {
  height: auto !important;
  aspect-ratio: 1 / 1;
}

.single-product .img-wrapper > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  height: 100%;
}

.single-product .img-wrapper .product-img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 0 !important;
}

.single-product-list-view .img-wrapper {
  flex-shrink: 0;
  min-height: 312px;
}

.single-product-list-view .img-wrapper .product-img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 0 !important;
}

@media (max-width: 767.98px) {
  .single-product .img-wrapper {
    height: auto !important;
    aspect-ratio: 1 / 1;
  }
  .single-product .img-wrapper .product-img {
    max-height: none !important;
  }
  .single-product-list-view .img-wrapper .product-img {
    max-height: none !important;
  }
}

.gs-recent-post-widget .img-wrapper img.thumb,
.gs-single-recent-product-widget .img-wrapper img.thumb {
  width: 100%;
  height: 72px;
  max-width: 72px;
  object-fit: contain !important;
  object-position: center;
  background: #f2f2f2;
}

/* Cart row image: same “full in box” behavior */
.gs-cart-section
  .gs-cart-container
  .gs-cart-row
  .cart-table
  .table
  tbody
  .cart-product
  img {
  object-fit: contain !important;
  object-position: center !important;
  background: #f5f5f5 !important;
  flex-shrink: 0;
}

/* E-services cards on home / listings */
.single-service .icon-wrapper img,
.single-service-card .service-image img,
.single-service-card img {
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

.single-service .icon-wrapper img {
  width: 60px !important;
  height: 60px !important;
  object-fit: contain !important;
}

/* Vendor store sidebar avatar */
.contact-vendor-wrapper .img-wrapper img {
  max-width: 100%;
  width: 100%;
  height: auto;
  max-height: 200px;
  object-fit: cover;
  border-radius: 8px;
}
.single-offer-product.verticle .promo-img {
  width: 100%;
  height: 680px !important;
  object-fit: contain !important;
}
.single-offer-product .promo-img {
  width: 100%;
  height: 328px !important;
  object-fit: contain !important;
}

.gs-footer-section .footer-row .left-info .social-links a i {
  color: black;
  transition: all 0.3s;
}
.gs-footer-section .footer-row .left-info .social-links a:hover i {
  color: white;
}

#cardNumber,
#securityCode,
#expirationDate {
  height: 60px;
  transition: color 0.25s, background-color 0.25s, border-color 0.25s;
  border: 1px solid #e0e0e0;
  border-radius: 5px;
  background-color: #fff;
  color: #505050;
  font-size: 14px;
  padding: 0px 18px;
}

#cardNumber,
#securityCode,
#expirationDate {
  margin-bottom: 18px;
}

@media screen and (max-width: 767px) {
  .single-offer-product .promo-img {
    height: 200px !important;
  }
  .single-offer-product.verticle .promo-img {
    height: 400px !important;
  }
}


.sidebar-active-color {
  color: #ff4c3b!important;
}
/* Shop cards: photo fills the square, whole product stays visible */
.single-product .img-wrapper > a {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
}
.single-product .img-wrapper .product-img,
.single-product-list-view .img-wrapper .product-img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
  background: #ffffff !important;
}
/* Stop the product photo shrinking inside a tall flex box */
.single-product .img-wrapper {
  display: block !important;
}
.single-product .img-wrapper > a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
.single-product .img-wrapper .product-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
/* Product photo stays inside the card. Heart stays a small corner button. */
.single-product .img-wrapper > a:not(:has(.product-img)),
.single-product-list-view .img-wrapper > a:not(:has(.product-img)) {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  z-index: 4 !important;
}
.single-product .img-wrapper > a:has(.product-img),
.single-product-list-view .img-wrapper > a:has(.product-img) {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
}
.single-product .img-wrapper .product-img,
.single-product-list-view .img-wrapper .product-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #ffffff !important;
}
.gs-product-details-gallery-wrapper .main-img,
img.main-img,
img.nav-img {
  object-fit: contain !important;
  object-position: center center !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  background: #ffffff !important;
}
/* Full photo fits the card and the product preview. Nothing is cropped. */
.single-product .img-wrapper .product-img,
.single-product-list-view .img-wrapper .product-img,
.single-product:hover .product-img,
.single-product-list-view:hover .product-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}
.single-product-details-content-wrapper .gs-product-details-gallery-wrapper .product-main-slider .slick-list,
.single-product-details-content-wrapper .gs-product-details-gallery-wrapper .product-main-slider .slick-track,
.single-product-details-content-wrapper .gs-product-details-gallery-wrapper .product-main-slider .slick-slide {
  height: auto !important;
}
.single-product-details-content-wrapper .gs-product-details-gallery-wrapper .product-main-slider img.main-img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
}
.single-product-details-content-wrapper .gs-product-details-gallery-wrapper .product-nav-slider img.nav-img {
  width: 88px !important;
  height: 88px !important;
  object-fit: contain !important;
  object-position: center center !important;
}
/* Preview shows the whole photo inside the gallery, scaled to the box. */
.single-product-details-content-wrapper .gs-product-details-gallery-wrapper .product-main-slider .slick-slide {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: auto !important;
  background: #ffffff !important;
}
.single-product-details-content-wrapper .gs-product-details-gallery-wrapper .product-main-slider img.main-img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 520px !important;
  object-fit: contain !important;
  object-position: center center !important;
}