/* Generated Bambogilda 1.0.14 bundle. Source order is preserved. */

/* ===== ui-fixes.css ===== */
/**
 * Bambogilda UI fixes — v1.0.7
 * Loaded after all front-end component styles.
 */

/*
 * Single-product desktop order must remain physical and predictable:
 * right: gallery, center: product information, left: purchase card.
 */
@media (min-width: 981px) {
  body.single-product .zg-product-hero-grid {
    direction: ltr !important;
    grid-template-areas: "buy info gallery" !important;
  }

  body.single-product .zg-product-buy-column {
    grid-area: buy !important;
    direction: rtl;
  }

  body.single-product .zg-product-info-column {
    grid-area: info !important;
    direction: rtl;
  }

  body.single-product .zg-product-gallery-column {
    grid-area: gallery !important;
    direction: rtl;
  }
}

/* Tablet: gallery on the right, information on the left, purchase card below. */
@media (min-width: 701px) and (max-width: 980px) {
  body.single-product .zg-product-hero-grid {
    direction: ltr !important;
    grid-template-areas:
      "info gallery"
      "buy buy" !important;
  }

  body.single-product .zg-product-gallery-column,
  body.single-product .zg-product-info-column,
  body.single-product .zg-product-buy-column {
    grid-column: auto !important;
    grid-row: auto !important;
    direction: rtl;
  }

  body.single-product .zg-product-gallery-column { grid-area: gallery !important; }
  body.single-product .zg-product-info-column { grid-area: info !important; }
  body.single-product .zg-product-buy-column { grid-area: buy !important; }
}

/* Search fields: visible dark border, text and placeholder. */
.zg-header-search input[type="search"],
.zg-mobile-search input[type="search"],
.zg-shop-filter-search input[type="search"],
.zg-filter-widget input[type="search"],
.zg-filter-widget .product-search-field,
.woocommerce-product-search input[type="search"],
form.search-form input[type="search"] {
  border: 1px solid #172018 !important;
  background: #fff !important;
  color: #172018 !important;
}

.zg-header-search input[type="search"]::placeholder,
.zg-mobile-search input[type="search"]::placeholder,
.zg-shop-filter-search input[type="search"]::placeholder,
.zg-filter-widget input[type="search"]::placeholder,
.zg-filter-widget .product-search-field::placeholder,
.woocommerce-product-search input[type="search"]::placeholder,
form.search-form input[type="search"]::placeholder {
  color: #172018 !important;
  opacity: .82;
}

/* FAQ search uses its wrapper as the visible field border. */
.zg-faq-search {
  border: 1px solid #172018 !important;
}

.zg-faq-search input[type="search"] {
  border: 0 !important;
  color: #172018 !important;
}

.zg-faq-search input[type="search"]::placeholder {
  color: #172018 !important;
  opacity: .82;
}

/* Product cards in the best-sellers carousel need a clear outline. */
.zg-home-bestsellers .zg-bestseller-card,
.zg-bestsellers-carousel .zg-bestseller-card,
.zg-bestsellers-track .zg-bestseller-card {
  border: 1px solid rgba(92, 178, 112, .28) !important;
  box-shadow: 0 7px 18px rgba(68, 82, 71, .045);
}

/* The fixed homepage artwork stays behind content and never captures clicks. */
body.bambogilda-front-page .zg-home-main {
  position: relative;
  z-index: 1;
}

body.bambogilda-front-page .zg-home-main > section {
  position: relative;
  z-index: 1;
}

/**
 * Bambogilda UI fixes — v1.0.8
 * Product/category card visibility, archive interactions and variable purchases.
 */

/* All product and category cards need a visible but calm outline. */
.zg-product-card,
.zg-bestseller-card,
.zg-category-card,
.zg-home-category-card,
.zg-popular-card,
.zg-shop-category-card,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  border: 1px solid rgba(76, 112, 78, .18) !important;
}

.zg-product-card:hover,
.zg-product-card:focus-within,
.zg-bestseller-card:hover,
.zg-category-card:hover,
.zg-home-category-card:hover,
.zg-popular-card:hover,
.zg-shop-category-card:hover,
.zg-shop-category-card:focus-visible,
.zg-shop-category-card.is-active {
  border-color: rgba(92, 178, 112, .36) !important;
}

/* Product-card prices remain readable in narrow two-column mobile grids. */
.zg-product-card-price,
.zg-product-card-price > strong,
.zg-variable-card-price-row,
.zg-variable-card-price-row strong {
  max-width: 100%;
}

@media (max-width: 760px) {
  .zg-product-card-bottom,
  .zg-shop-product-grid .zg-product-card-bottom {
    grid-template-columns: minmax(0, 1fr) 40px !important;
    gap: 6px !important;
  }

  .zg-product-card-price {
    min-height: 60px;
    line-height: 1.55;
  }

  .zg-product-card-price > strong,
  .zg-shop-product-grid .zg-product-card-price > strong {
    overflow: visible;
    font-size: 13px !important;
    line-height: 1.55;
    text-overflow: clip;
    white-space: normal !important;
  }

  .zg-product-card-price del,
  .zg-product-card-price small {
    font-size: 9.5px !important;
    line-height: 1.45;
  }

  .zg-variable-card-price-row {
    align-items: baseline;
    flex-wrap: wrap;
    row-gap: 1px;
    white-space: normal;
  }

  .zg-variable-card-price-row strong,
  .zg-variable-card-price-row.is-max strong {
    overflow: visible;
    font-size: 11px !important;
    line-height: 1.5;
    text-overflow: clip;
    white-space: normal !important;
  }

  .zg-product-card-price .woocommerce-Price-currencySymbol {
    font-size: .72em;
  }
}

/* Archive category artwork must retain its original colors on hover/active. */
.zg-shop-category-card:hover img,
.zg-shop-category-card:focus-visible img,
.zg-shop-category-card.is-active img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  transform: none;
}

.zg-shop-category-card:hover .zg-shop-category-visual,
.zg-shop-category-card:focus-visible .zg-shop-category-visual,
.zg-shop-category-card.is-active .zg-shop-category-visual {
  background: rgba(255, 255, 255, .94) !important;
  color: #42674b !important;
}

.zg-shop-category-card,
.zg-shop-category-card * {
  -webkit-tap-highlight-color: transparent;
}

.zg-shop-category-card {
  cursor: pointer;
  touch-action: manipulation;
}

/* Variation controls wrap cleanly instead of colliding. */
body.single-product .zg-product-buy-card table.variations,
body.single-product .zg-product-buy-card table.variations tbody,
body.single-product .zg-product-buy-card table.variations tr,
body.single-product .zg-product-buy-card table.variations td.value,
body.single-product .zg-variation-swatches {
  min-width: 0;
  max-width: 100%;
}

body.single-product .zg-variation-swatches {
  display: flex !important;
  width: 100%;
  flex-wrap: wrap !important;
  align-items: stretch;
  gap: 8px;
}

body.single-product .zg-variation-swatch {
  width: auto;
  max-width: 100%;
  flex: 0 1 auto;
  overflow: hidden;
}

body.single-product .zg-variation-swatches.is-color .zg-variation-swatch {
  min-width: 82px;
  max-width: 100%;
}

body.single-product .zg-variation-swatch strong,
body.single-product .zg-variation-swatches.is-button .zg-variation-swatch {
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: normal !important;
}

/* Selected variation price is clearly visible in the main purchase card. */
body.single-product .zg-buy-price-wrap.has-selected-variation {
  border-color: rgba(92, 178, 112, .34);
  box-shadow: 0 0 0 3px rgba(92, 178, 112, .07);
}

body.single-product .zg-buy-price .price,
body.single-product .zg-buy-price .woocommerce-Price-amount,
body.single-product .woocommerce-variation-price .price,
body.single-product .woocommerce-variation-price .woocommerce-Price-amount {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Quantity stays compact; add-to-cart receives the larger share. */
body.single-product .woocommerce-variation-add-to-cart,
body.single-product .zg-product-buy-card form.cart:not(.variations_form) {
  direction: rtl;
  grid-template-columns: 104px minmax(0, 1fr) !important;
}

body.single-product .woocommerce-variation-add-to-cart .quantity,
body.single-product .zg-product-buy-card form.cart:not(.variations_form) .quantity {
  grid-column: 1;
  width: 104px;
}

body.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button,
body.single-product .zg-product-buy-card form.cart:not(.variations_form) .single_add_to_cart_button {
  grid-column: 2;
  width: 100%;
  min-width: 0;
}

/* The header wishlist control needs a subtle filled background. */
.zg-header-wishlist {
  border-color: rgba(92, 178, 112, .24) !important;
  background: rgba(168, 210, 109, .16) !important;
  color: #376d45 !important;
}

.zg-header-wishlist:hover,
.zg-header-wishlist:focus-visible {
  border-color: rgba(92, 178, 112, .42) !important;
  background: rgba(168, 210, 109, .25) !important;
}

@media (max-width: 700px) {
  /* Simple products use only the fixed purchase bar on mobile. */
  body.single-product .zg-product-buy-column--simple,
  body.single-product .zg-product-buy-column--grouped,
  body.single-product .zg-product-buy-column--external {
    display: none !important;
  }

  /* Variable selectors stay in-page; duplicate price/cart controls do not. */
  body.single-product .zg-product-buy-card--variable {
    padding: 13px !important;
  }

  body.single-product .zg-product-buy-card--variable > .zg-buy-stock,
  body.single-product .zg-product-buy-card--variable > .zg-buy-price-wrap,
  body.single-product .zg-product-buy-card--variable > .zg-buy-safe,
  body.single-product .zg-product-buy-card--variable .single_variation_wrap {
    display: none !important;
  }

  body.single-product .zg-product-buy-card--variable > .zg-buy-card-title {
    margin-bottom: 11px;
    font-size: 14px;
  }

  body.single-product .zg-variation-swatches {
    gap: 7px;
  }

  body.single-product .zg-variation-swatch {
    min-height: 41px;
    padding: 7px 10px;
    font-size: 10px;
  }

  body.single-product .zg-variation-swatches.is-color .zg-variation-swatch {
    min-width: 0;
    max-width: 100%;
    flex: 0 1 auto;
  }

  /* Fixed mobile purchase bar contains price, quantity and the larger CTA. */
  body.single-product .zg-mobile-buy-bar {
    display: grid !important;
    grid-template-columns: minmax(84px, .7fr) minmax(210px, 1.7fr);
    align-items: center;
    gap: 9px;
    min-height: 78px;
  }

  body.single-product .zg-mobile-buy-price {
    min-width: 0;
  }

  body.single-product .zg-mobile-buy-price-value,
  body.single-product .zg-mobile-buy-price-value .price,
  body.single-product .zg-mobile-buy-price-value .woocommerce-Price-amount {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 3px;
    font-size: 14px !important;
    line-height: 1.45;
  }

  body.single-product .zg-mobile-buy-controls {
    display: grid !important;
    grid-template-columns: 94px minmax(0, 1fr);
    align-items: stretch;
    gap: 7px;
    min-width: 0;
  }

  body.single-product .zg-mobile-buy-quantity {
    display: grid !important;
    grid-template-columns: 28px 38px 28px;
    width: 94px;
    min-width: 94px;
    height: 48px;
    align-items: center;
    overflow: hidden;
    border: 1px solid rgba(37, 49, 41, .14);
    border-radius: 13px;
    background: #fff;
  }

  body.single-product .zg-mobile-buy-quantity button,
  body.single-product .zg-mobile-buy-quantity input {
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #2c4933;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
  }

  body.single-product .zg-mobile-buy-quantity button {
    background: #f3f8e9;
  }

  body.single-product .zg-mobile-buy-quantity input {
    min-width: 0;
    -moz-appearance: textfield;
  }

  body.single-product .zg-mobile-buy-quantity input::-webkit-inner-spin-button,
  body.single-product .zg-mobile-buy-quantity input::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
  }

  body.single-product .zg-mobile-add-to-cart {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding-inline: 12px;
    font-size: 11px;
  }
}

@media (max-width: 430px) {
  body.single-product {
    padding-bottom: 126px;
  }

  body.single-product .zg-mobile-buy-bar {
    grid-template-columns: 1fr;
    gap: 6px;
    min-height: 112px;
    padding: 8px 9px;
  }

  body.single-product .zg-mobile-buy-price {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    gap: 6px;
  }

  body.single-product .zg-mobile-buy-controls {
    grid-template-columns: 94px minmax(0, 1fr);
  }
}

/**
 * Bambogilda UI fixes — v1.0.9
 * Unified sale-price hierarchy and guided variable selection.
 */

/*
 * Every sale price follows one visual hierarchy:
 * regular/crossed price on top, current price underneath.
 */
.zg-product-card-price,
.zg-bestseller-price,
.zg-live-search-copy small,
.zg-buy-price,
.zg-buy-price .price,
.woocommerce-variation-price .price,
.zg-mobile-buy-price-value,
.zg-mobile-buy-price-value .price,
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center;
  row-gap: 2px !important;
  white-space: normal !important;
}

.zg-buy-price .price,
.woocommerce-variation-price .price,
.zg-mobile-buy-price-value .price,
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  display: flex !important;
}

/* Crossed prices must remain visible and genuinely crossed through every child span. */
.woocommerce del,
.woocommerce del .woocommerce-Price-amount,
.woocommerce del bdi,
body .price del,
body .price del .woocommerce-Price-amount,
body .price del bdi,
.zg-product-card-price del,
.zg-product-card-price del .woocommerce-Price-amount,
.zg-product-card-price del bdi,
.zg-bestseller-price del,
.zg-bestseller-price del .woocommerce-Price-amount,
.zg-bestseller-price del bdi,
.zg-amazing-price-row del,
.zg-amazing-price-row del .woocommerce-Price-amount,
.zg-amazing-price-row del bdi,
.zg-live-search-copy del,
.zg-live-search-copy del .woocommerce-Price-amount,
.zg-live-search-copy del bdi {
  order: 1;
  display: block !important;
  color: #566159 !important;
  opacity: 1 !important;
  font-weight: 600 !important;
  text-decoration-line: line-through !important;
  text-decoration-style: solid !important;
  text-decoration-thickness: 1.5px !important;
  text-decoration-color: #3f4c42 !important;
  -webkit-text-decoration-line: line-through !important;
}

.woocommerce ins,
body .price ins,
.zg-product-card-price ins,
.zg-bestseller-price ins,
.zg-live-search-copy ins {
  order: 2;
  display: block !important;
  color: var(--zg-dark-700, #253129) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* Custom product cards: regular variable range above, live range below. */
.zg-variable-card-regular-price {
  width: 100%;
  margin: 0 0 2px;
  font-size: 10px;
  line-height: 1.4;
}

.zg-variable-card-current-price {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  color: var(--zg-dark-700, #253129);
  font-weight: 800;
}

/* Homepage deal also keeps its old price readable above the active price. */
.zg-amazing-price-row {
  flex-wrap: wrap;
}

.zg-amazing-price-row del {
  font-size: 11px !important;
}

/* Product page and selected variation: old value on top, current value below. */
body.single-product .zg-buy-price,
body.single-product .zg-buy-price .price,
body.single-product .woocommerce-variation-price .price,
body.single-product .zg-mobile-buy-price-value,
body.single-product .zg-mobile-buy-price-value .price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
}

body.single-product .zg-buy-price del,
body.single-product .woocommerce-variation-price del,
body.single-product .zg-mobile-buy-price-value del {
  order: 1;
  color: #4f5c52 !important;
  opacity: 1 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  text-decoration-line: line-through !important;
  text-decoration-thickness: 1.5px !important;
  text-decoration-color: #37443a !important;
}

body.single-product .zg-buy-price ins,
body.single-product .woocommerce-variation-price ins,
body.single-product .zg-mobile-buy-price-value ins {
  order: 2;
  color: var(--zg-dark-700, #253129) !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}

/* A selectable, descriptive requirement message for missing variations. */
body.single-product .zg-variation-required-message {
  display: flex;
  width: 100%;
  min-height: 44px;
  align-items: center;
  justify-content: flex-start;
  margin: 2px 0 12px;
  padding: 9px 12px;
  border: 1px solid rgba(176, 112, 47, .34);
  border-radius: 12px;
  background: #fff8e8;
  color: #755122;
  text-align: right;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.7;
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

body.single-product .zg-variation-required-message[hidden] {
  display: none !important;
}

body.single-product .zg-variation-required-message::before {
  content: "!";
  display: grid;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  place-items: center;
  margin-left: 8px;
  border-radius: 50%;
  background: #f4f269;
  color: #4f4b20;
  font-size: 13px;
  font-weight: 800;
}

body.single-product .zg-variation-required-message:hover,
body.single-product .zg-variation-required-message:focus-visible {
  border-color: rgba(151, 93, 35, .56);
  background: #fff4da;
  outline: 0;
  transform: translateY(-1px);
}

body.single-product table.variations tr.is-variation-missing th.label label {
  color: #845921;
}

body.single-product table.variations tr.is-variation-attention {
  position: relative;
  z-index: 1;
  border-radius: 14px;
  animation: bambogilda-variation-attention .65s ease-in-out 2;
}

body.single-product table.variations tr.is-variation-attention .zg-variation-swatches,
body.single-product table.variations tr.is-variation-attention td.value {
  border-radius: 12px;
  box-shadow: 0 0 0 5px rgba(244, 242, 105, .34);
}

@keyframes bambogilda-variation-attention {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

/* Color swatches always include their human-readable name, especially on mobile. */
body.single-product .zg-variation-swatches.is-color .zg-variation-swatch strong {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-width: 0;
  overflow: visible !important;
  clip: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: inherit !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.45;
  white-space: normal !important;
}

@media (max-width: 760px) {
  /* Larger prices in all two-column product cards. */
  .zg-product-card-price {
    min-height: 72px !important;
    justify-content: flex-end;
  }

  .zg-product-card-price > strong,
  .zg-product-card-price > strong .woocommerce-Price-amount,
  .zg-product-card-price ins,
  .zg-product-card-price ins .woocommerce-Price-amount,
  .zg-variable-card-current-price,
  .zg-variable-card-price-row strong,
  .zg-variable-card-price-row strong .woocommerce-Price-amount,
  .zg-shop-product-grid .zg-product-card-price > strong {
    font-size: 15px !important;
    line-height: 1.48 !important;
  }

  .zg-variable-card-price-row.is-max strong,
  .zg-variable-card-price-row.is-max strong .woocommerce-Price-amount {
    font-size: 13px !important;
  }

  .zg-product-card-price del,
  .zg-product-card-price del .woocommerce-Price-amount,
  .zg-variable-card-regular-price,
  .zg-variable-card-regular-price .woocommerce-Price-amount {
    color: #566159 !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
  }

  /* Sale stacks need a little extra vertical room without clipping. */
  .zg-product-card,
  .zg-amazing-track .zg-product-card,
  .zg-category-products-track .zg-product-card,
  .zg-home-featured-track .zg-product-card,
  .zg-special-product-grid .zg-product-card,
  .zg-shop-product-grid .zg-product-card,
  .zg-single-related-track .zg-product-card {
    height: 375px !important;
    min-height: 375px !important;
  }

  body.single-product .zg-variation-swatches.is-color .zg-variation-swatch {
    display: inline-flex !important;
    min-width: max-content !important;
    max-width: 100% !important;
    flex: 0 1 auto !important;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    padding: 7px 10px !important;
  }

  body.single-product .zg-variation-swatches.is-color .zg-variation-swatch strong {
    display: block !important;
    font-size: 10.5px !important;
  }

  body.single-product .zg-mobile-buy-price-value del,
  body.single-product .zg-mobile-buy-price-value del .woocommerce-Price-amount {
    font-size: 10.5px !important;
  }

  body.single-product .zg-mobile-buy-price-value ins,
  body.single-product .zg-mobile-buy-price-value ins .woocommerce-Price-amount {
    font-size: 18px !important;
  }

  body.single-product .zg-mobile-add-to-cart.is-needs-variation {
    border: 1px solid rgba(145, 99, 39, .34);
    background: #fff3cc !important;
    color: #6d4b21 !important;
    box-shadow: none !important;
    font-size: 10px !important;
    line-height: 1.45;
    white-space: normal;
  }

  body.single-product .zg-variation-required-message {
    min-height: 46px;
    font-size: 11px;
  }
}

@media (max-width: 380px) {
  .zg-product-card,
  .zg-amazing-track .zg-product-card,
  .zg-category-products-track .zg-product-card,
  .zg-home-featured-track .zg-product-card,
  .zg-special-product-grid .zg-product-card,
  .zg-shop-product-grid .zg-product-card,
  .zg-single-related-track .zg-product-card {
    height: 370px !important;
    min-height: 370px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.single-product table.variations tr.is-variation-attention {
    animation: none;
  }
}

/**
 * Bambogilda UI fixes — v1.0.14
 * Uniform 3:4 product media, red variation attention and stronger selected states.
 */

/* --------------------------------------------------------------------------
   Product media: every product card uses a true 3:4 portrait frame.
   -------------------------------------------------------------------------- */
.zg-product-card,
.zg-amazing-track .zg-product-card,
.zg-category-products-track .zg-product-card,
.zg-home-featured-track .zg-product-card,
.zg-special-product-grid .zg-product-card,
.zg-shop-product-grid .zg-product-card,
.zg-single-related-track .zg-product-card {
  height: auto !important;
  min-height: 0 !important;
}

.zg-product-card .zg-product-card-image,
.zg-amazing-track .zg-product-card-image,
.zg-category-products-track .zg-product-card-image,
.zg-home-featured-track .zg-product-card-image,
.zg-special-product-grid .zg-product-card-image,
.zg-shop-product-grid .zg-product-card-image,
.zg-single-related-track .zg-product-card-image,
.zg-search-product-grid .zg-product-card-image {
  display: grid !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 3 / 4 !important;
  flex: 0 0 auto !important;
  place-items: center;
  overflow: hidden !important;
}

.zg-product-card .zg-product-card-image img,
.zg-amazing-track .zg-product-card-image img,
.zg-category-products-track .zg-product-card-image img,
.zg-home-featured-track .zg-product-card-image img,
.zg-special-product-grid .zg-product-card-image img,
.zg-shop-product-grid .zg-product-card-image img,
.zg-single-related-track .zg-product-card-image img,
.zg-search-product-grid .zg-product-card-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  aspect-ratio: 3 / 4 !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* Remove old fixed carousel heights so portrait frames never get clipped. */
.zg-amazing-track,
.zg-category-products-track,
.zg-home-featured-track {
  height: auto !important;
  min-height: 0 !important;
  align-items: stretch !important;
}

.zg-amazing-shell,
.zg-home-featured-panel {
  height: auto !important;
}

/* Standard WooCommerce loops used by plugins or fallback templates. */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.woocommerce ul.products li.product .woocommerce-loop-product__link img,
.woocommerce-page ul.products li.product .woocommerce-loop-product__link img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* --------------------------------------------------------------------------
   Single product: main image and thumbnails also use a 3:4 portrait frame.
   -------------------------------------------------------------------------- */
/* Keep FlexSlider's calculated slide widths intact. Forcing each slide to
 * width:100% makes it 100% of the very wide translated wrapper and causes the
 * viewport height to become several thousand pixels when more than one image
 * exists. The visible viewport owns the 3:4 ratio; each slide simply fills it. */
body.single-product .zg-product-gallery-column .woocommerce-product-gallery__image {
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 3 / 4 !important;
  box-sizing: border-box;
}

body.single-product .zg-product-gallery-column .woocommerce-product-gallery__image > a {
  display: grid !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 3 / 4 !important;
  place-items: center !important;
  padding: clamp(14px, 2.2vw, 30px) !important;
  overflow: hidden !important;
  box-sizing: border-box;
}

/* Once WooCommerce initializes FlexSlider, lock the visible frame to 3:4 and
 * neutralize the incorrect inline height that may have been calculated from
 * the translated multi-slide wrapper. */
body.single-product .zg-product-gallery-column .woocommerce-product-gallery .flex-viewport {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 3 / 4 !important;
  overflow: hidden !important;
  border-radius: 23px;
}

body.single-product .zg-product-gallery-column .flex-viewport .woocommerce-product-gallery__wrapper {
  height: 100% !important;
  min-height: 0 !important;
}

body.single-product .zg-product-gallery-column .flex-viewport .woocommerce-product-gallery__image,
body.single-product .zg-product-gallery-column .flex-viewport .woocommerce-product-gallery__image > a {
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
}

body.single-product .zg-product-gallery-column .woocommerce-product-gallery__image img:not(.zoomImg),
body.single-product .zg-product-gallery-column .woocommerce-product-gallery__image--placeholder img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
}

body.single-product .zg-product-gallery-column .flex-control-thumbs li {
  width: 66px !important;
  min-width: 66px !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  overflow: hidden;
  border-radius: 10px;
}

body.single-product .zg-product-gallery-column .flex-control-thumbs img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 3 / 4 !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* --------------------------------------------------------------------------
   Variation feedback: temporary attention is red, not yellow.
   -------------------------------------------------------------------------- */
body.single-product table.variations tr.is-variation-attention .zg-variation-swatches,
body.single-product table.variations tr.is-variation-attention td.value {
  background: rgba(220, 38, 38, .045) !important;
  outline: 2px solid #d92d2d !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 7px rgba(217, 45, 45, .15) !important;
}

body.single-product table.variations tr.is-variation-attention th.label label,
body.single-product table.variations tr.is-variation-attention .label label {
  color: #b91c1c !important;
}

/* --------------------------------------------------------------------------
   Selected variation: unmistakable at a glance on desktop and mobile.
   -------------------------------------------------------------------------- */
body.single-product .zg-variation-swatch {
  position: relative;
  border: 2px solid rgba(64, 102, 69, .23) !important;
  background: #fff !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, transform .18s ease !important;
}

body.single-product .zg-variation-swatch.is-active,
body.single-product .zg-variation-swatch[aria-pressed="true"] {
  border-color: #2f7d4b !important;
  background: #eef8e9 !important;
  color: #1e5d37 !important;
  box-shadow:
    0 0 0 3px rgba(47, 125, 75, .24),
    0 7px 16px rgba(47, 125, 75, .13) !important;
  font-weight: 800 !important;
  transform: translateY(-1px);
}

body.single-product .zg-variation-swatches.is-color .zg-variation-swatch.is-active .zg-variation-swatch-dot,
body.single-product .zg-variation-swatches.is-color .zg-variation-swatch[aria-pressed="true"] .zg-variation-swatch-dot,
body.single-product .zg-variation-swatches.is-color .zg-variation-swatch.is-active > span:first-child,
body.single-product .zg-variation-swatches.is-color .zg-variation-swatch[aria-pressed="true"] > span:first-child {
  border-color: #2f7d4b !important;
  box-shadow:
    inset 0 0 0 2px rgba(255, 255, 255, .88),
    0 0 0 2px #fff,
    0 0 0 4px #2f7d4b !important;
}

body.single-product .zg-variation-swatch.is-active strong,
body.single-product .zg-variation-swatch[aria-pressed="true"] strong {
  color: #174b2d !important;
  font-weight: 800 !important;
}

@media (max-width: 760px) {
  body.single-product .zg-product-gallery-column .flex-control-thumbs li {
    width: 58px !important;
    min-width: 58px !important;
    height: auto !important;
  }

  body.single-product .zg-variation-swatch.is-active,
  body.single-product .zg-variation-swatch[aria-pressed="true"] {
    box-shadow:
      0 0 0 3px rgba(47, 125, 75, .28),
      0 6px 14px rgba(47, 125, 75, .14) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.single-product .zg-variation-swatch.is-active,
  body.single-product .zg-variation-swatch[aria-pressed="true"] {
    transform: none;
  }
}


/* ===== responsive-layout.css ===== */
/* Bambogilda 1.0.14 — fluid desktop layout safeguards. */
html, body { max-width: 100%; overflow-x: clip; }

.zg-container,
.zg-home-main,
.zg-home-main section,
.zg-home-main [class*="-layout"],
.zg-home-main [class*="-grid"],
.zg-home-main [class*="-carousel"],
.zg-home-main [class*="-track"],
.zg-product-card,
.zg-product-card > * { min-width: 0; }

.zg-home-main img,
.zg-site-header img,
.zg-site-footer img { max-width: 100%; }

@media (min-width: 961px) {
  .zg-container { width: min(calc(100% - clamp(32px, 4.2vw, 72px)), var(--zg-container)); }

  .zg-header-inner { gap: clamp(10px, 1.5vw, 24px); }
  .zg-primary-nav { min-width: 0; }
  .zg-primary-menu,
  .zg-menu-fallback { gap: clamp(11px, 1.65vw, 30px); }
  .zg-primary-menu > li > a { font-size: clamp(11px, .95vw, 13px); }
  .zg-header-search {
    width: auto;
    min-width: 170px;
    max-width: 320px;
    flex: 1 1 clamp(180px, 22vw, 320px);
  }
  .zg-header-actions { gap: clamp(6px, .75vw, 10px); }
  .zg-header-cart { min-width: clamp(48px, 9vw, 122px); }

  .zg-promo-bar { gap: clamp(6px, .8vw, 13px); }
  .zg-promo-links { gap: clamp(12px, 2.1vw, 34px); margin-inline-start: clamp(12px, 2vw, 34px); }
  .zg-promo-links a { font-size: clamp(10px, .85vw, 12px); }
  .zg-daily-timer { gap: clamp(5px, .75vw, 10px); padding-inline: clamp(7px, 1.1vw, 16px); }
  .zg-daily-deal { min-width: clamp(104px, 10vw, 132px); }

  .zg-home-showcase-grid,
  .zg-home-categories-layout,
  .zg-home-featured-layout,
  .zg-amazing-shell,
  .zg-category-products-layout,
  .zg-tech-banner-card { max-width: 100%; }

  .zg-home-showcase-grid { gap: clamp(18px, 3.3vw, 52px); grid-template-columns: minmax(0,1fr) clamp(205px, 21vw, 270px); }
  .zg-home-categories-layout { grid-template-columns: clamp(205px, 20vw, 280px) minmax(0,1fr); gap: clamp(18px, 2.2vw, 28px); }
  .zg-home-featured-layout { grid-template-columns: clamp(225px, 22vw, 285px) minmax(0,1fr); }
  .zg-amazing-shell { grid-template-columns: clamp(205px, 21vw, 255px) minmax(0,1fr); }
  .zg-category-products-banner { width: clamp(205px, 20vw, 245px); min-width: clamp(205px, 20vw, 245px); }

  .zg-home-categories-track { grid-auto-columns: clamp(125px, calc((100% - 80px) / 6), 190px); }
  .zg-amazing-track { grid-auto-columns: clamp(220px, 20vw, 265px); }
  .zg-popular-track { grid-auto-columns: minmax(210px, calc((100% - 54px) / 4)); }
  .zg-blog-track { grid-auto-columns: minmax(245px, calc((100% - 54px) / 4)); }

  .zg-home-ad-banners-grid { gap: clamp(18px, 2.7vw, 36px); }
  .zg-footer-main-grid { gap: clamp(20px, 2.6vw, 34px); }

  .zg-section-heading,
  .zg-popular-heading,
  .zg-blog-heading,
  .zg-brands-heading,
  .zg-bestsellers-heading,
  .zg-category-products-heading { min-width: 0; }
}

@media (min-width: 961px) and (max-width: 1180px) {
  .zg-logo img { width: clamp(72px, 7vw, 88px); }
  .zg-header-cart-copy { display: none; }
  .zg-header-cart { min-width: 48px; gap: 0; }
  .zg-primary-menu,
  .zg-menu-fallback { gap: clamp(9px, 1.2vw, 16px); }
  .zg-promo-links { gap: clamp(10px, 1.4vw, 18px); }
  .zg-daily-deal-text small { display: none; }
  .zg-home-categories-track { grid-auto-columns: calc((100% - 48px) / 4); }
  .zg-popular-track { grid-auto-columns: calc((100% - 36px) / 3); }
  .zg-blog-track { grid-auto-columns: calc((100% - 36px) / 3); }
  .zg-home-ad-banners-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (min-width: 961px) and (max-width: 1040px) {
  .zg-header-search { min-width: 150px; }
  .zg-account-link,
  .zg-header-cart-icon,
  .zg-header-wishlist { width: 42px; height: 42px; flex-basis: 42px; }
  .zg-promo-links a { gap: 5px; }
  .zg-promo-links svg { width: 18px; height: 18px; }
  .zg-timer-digits span { width: 18px; height: 26px; }
  .zg-home-showcase-grid { grid-template-columns: minmax(0,1fr) 205px; }
  .zg-home-categories-layout { grid-template-columns: 205px minmax(0,1fr); }
}

@media (max-width: 960px) {
  .zg-home-main [class*="-heading"] { max-width: 100%; }
  .zg-home-main [class*="-heading"] h2 { overflow-wrap: anywhere; }
  .zg-section-heading,
  .zg-popular-heading,
  .zg-blog-heading,
  .zg-brands-heading,
  .zg-bestsellers-heading,
  .zg-category-products-heading { flex-wrap: wrap; row-gap: 9px; }
}


/* ===== mobile-bottom-nav.css ===== */
/* Bambogilda 1.0.14 — fixed mobile navigation and responsive category drawer. */
.zg-mobile-bottom-nav { display: none; }

@media (max-width: 960px) {
  :root { --zg-mobile-bottom-height: 72px; }

  body.has-zg-mobile-bottom-nav {
    padding-bottom: calc(var(--zg-mobile-bottom-height) + env(safe-area-inset-bottom, 0px));
  }

  .zg-mobile-bottom-nav {
    position: fixed;
    z-index: 1180;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    padding: 0 max(8px, env(safe-area-inset-right, 0px)) env(safe-area-inset-bottom, 0px) max(8px, env(safe-area-inset-left, 0px));
    pointer-events: none;
  }

  .zg-mobile-bottom-nav-inner {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: end;
    min-height: var(--zg-mobile-bottom-height);
    overflow: visible;
    border: 1px solid rgba(92,178,112,.18);
    border-bottom: 0;
    border-radius: 22px 22px 0 0;
    background: rgba(255,255,255,.98);
    box-shadow: 0 -10px 32px rgba(37,49,41,.12);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    pointer-events: auto;
  }

  .zg-mobile-bottom-item {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 68px;
    padding: 9px 3px 7px;
    align-items: center;
    justify-content: flex-end;
    flex-direction: column;
    gap: 4px;
    border: 0;
    border-radius: 17px 17px 0 0;
    background: transparent;
    color: rgb(28, 39, 76);
    font: inherit;
    line-height: 1;
    text-align: center;
    transition: color .2s ease, background-color .2s ease, transform .2s ease;
  }

  .zg-mobile-bottom-item:hover,
  .zg-mobile-bottom-item:focus-visible { color: var(--zg-primary); }

  .zg-mobile-bottom-item.is-active {
    color: rgb(28, 39, 76);
    background: linear-gradient(180deg, rgba(206,226,107,.30), rgba(168,210,109,.13));
  }

  .zg-mobile-bottom-item.is-active::after {
    content: "";
    position: absolute;
    right: 24%;
    bottom: 0;
    left: 24%;
    height: 3px;
    border-radius: 5px 5px 0 0;
    background: var(--zg-primary);
  }

  .zg-mobile-bottom-icon {
    display: grid;
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    place-items: center;
    color: rgb(28, 39, 76);
  }

  .zg-mobile-bottom-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    color: rgb(28, 39, 76);
    stroke: rgb(28, 39, 76);
    vector-effect: non-scaling-stroke;
  }

  .zg-mobile-bottom-icon svg [stroke]:not([stroke="none"]) { stroke: rgb(28, 39, 76); }
  .zg-mobile-bottom-icon svg [fill]:not([fill="none"]):not([fill="transparent"]) { fill: rgb(28, 39, 76); }

  .zg-mobile-bottom-label {
    display: block;
    max-width: 100%;
    overflow: hidden;
    font-size: clamp(9px, 2.7vw, 11px);
    font-weight: 600;
    line-height: 1.35;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .zg-mobile-bottom-item--cart {
    min-height: 78px;
    margin-top: -15px;
    padding-top: 4px;
    color: rgb(28, 39, 76);
    border: 1px solid rgba(28, 39, 76, .18);
    border-radius: 24px 24px 15px 15px;
    background: linear-gradient(145deg, var(--zg-lime-cream), var(--zg-willow-green));
    box-shadow: 0 10px 23px rgba(92,178,112,.34);
    transform: translateY(-2px);
  }

  .zg-mobile-bottom-item--cart:hover,
  .zg-mobile-bottom-item--cart:focus-visible,
  .zg-mobile-bottom-item--cart.is-active {
    color: rgb(28, 39, 76);
    background: linear-gradient(145deg, var(--zg-canary-yellow), var(--zg-lime-cream));
    transform: translateY(-5px);
  }

  .zg-mobile-bottom-item--cart.is-active::after { display: none; }
  .zg-mobile-bottom-item--cart .zg-mobile-bottom-icon { width: 29px; height: 29px; flex-basis: 29px; }
  .zg-mobile-bottom-item--cart .zg-mobile-bottom-label { color: rgb(28, 39, 76); font-weight: 700; }

  .zg-mobile-bottom-cart-count {
    position: absolute;
    top: 3px;
    left: calc(50% - 25px);
    display: grid;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 20px;
    background: var(--zg-navy);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
  }
  .zg-mobile-bottom-cart-count.is-empty { display: none; }

  /* Keep product purchase controls above the global navigation. */
  .single-product .zg-mobile-buy-bar {
    bottom: calc(var(--zg-mobile-bottom-height) + env(safe-area-inset-bottom, 0px)) !important;
  }

  .zg-mobile-drawer {
    width: min(94vw, 430px);
    padding: 16px 14px calc(28px + env(safe-area-inset-bottom, 0px));
  }

  .zg-mobile-drawer-categories { margin-top: 16px; }
  .zg-mobile-drawer-section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 10px;
    padding: 0 3px;
    color: var(--zg-dark-700);
    font-size: 15px;
    font-weight: 700;
  }
  .zg-mobile-drawer-section-title small { color: var(--zg-gray-100); font-size: 10px; font-weight: 500; }

  .zg-mobile-drawer .zg-mega-menu {
    position: static;
    width: 100%;
    height: auto;
    max-height: none;
    padding: 0;
    overflow: visible;
    border: 1px solid rgba(92,178,112,.16);
    border-radius: 18px;
    background: #fff;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
  }
  .zg-mobile-drawer .zg-mega-menu::before { display: none; }
  .zg-mobile-drawer .zg-mega-menu-layout { display: block; height: auto; }
  .zg-mobile-drawer .zg-mega-parent-list {
    display: grid;
    width: 100%;
    max-height: none;
    padding: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    overflow: visible;
    border: 0;
    border-radius: 17px 17px 0 0;
    background: #f8fbf4;
  }
  .zg-mobile-drawer .zg-mega-parent-item {
    min-width: 0;
    min-height: 47px;
    padding: 7px 8px;
    grid-template-columns: 23px minmax(0,1fr);
    gap: 7px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: rgba(255,255,255,.72);
    font-size: 11px;
  }
  .zg-mobile-drawer .zg-mega-parent-item > svg { display: none; }
  .zg-mobile-drawer .zg-mega-parent-item.is-active {
    border-color: var(--zg-primary);
    background: #fff;
    box-shadow: 0 4px 12px rgba(92,178,112,.12);
  }
  .zg-mobile-drawer .zg-mega-parent-icon,
  .zg-mobile-drawer .zg-mega-parent-icon img { width: 22px; height: 22px; }
  .zg-mobile-drawer .zg-mega-content { overflow: visible; border-radius: 0 0 17px 17px; }
  .zg-mobile-drawer .zg-mega-panel { height: auto; max-height: none; padding: 14px 12px 16px; overflow: visible; }
  .zg-mobile-drawer .zg-mega-panel-all { margin-bottom: 13px; font-size: 11px; }
  .zg-mobile-drawer .zg-mega-child-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 12px; }
  .zg-mobile-drawer .zg-mega-child-title { margin-bottom: 8px; font-size: 12px; }
  .zg-mobile-drawer .zg-mega-child-group li { margin-bottom: 6px; }
  .zg-mobile-drawer .zg-mega-child-group li a { font-size: 10px; white-space: normal; }
  .zg-mobile-drawer-extra-menu { margin-top: 18px; padding-top: 15px; border-top: 1px solid #eef5e8; }
  .zg-mobile-drawer-extra-menu > strong { display: block; margin-bottom: 8px; font-size: 13px; }

  #custom-thank-you-popup { z-index: 1305; }
  #custom-thank-you-overlay { z-index: 1300; }
}

@media (max-width: 380px) {
  :root { --zg-mobile-bottom-height: 68px; }
  .zg-mobile-bottom-item { min-height: 64px; padding-inline: 1px; }
  .zg-mobile-bottom-icon { width: 23px; height: 23px; flex-basis: 23px; }
  .zg-mobile-bottom-label { font-size: 9px; }
  .zg-mobile-bottom-item--cart { min-height: 73px; }
  .zg-mobile-drawer .zg-mega-child-grid { grid-template-columns: 1fr; }
}


/* Version 1.0.15: mobile search replaces the desktop promotional strip. */
.zg-mobile-promo-search { display: none; }

@media (max-width: 767px) {
  .zg-promo-shell {
    padding: 8px 0 11px;
    background: #fff;
  }

  .zg-promo-shell .zg-promo-bar {
    display: none !important;
  }

  .zg-mobile-promo-search {
    position: relative;
    z-index: 40;
    display: block !important;
    width: 100%;
  }

  .zg-mobile-promo-search .zg-mobile-search {
    display: block !important;
    width: 100%;
    height: 48px;
    margin: 0;
  }

  .zg-mobile-promo-search .zg-mobile-search input[type="search"] {
    width: 100%;
    height: 48px;
    padding: 0 45px 0 14px;
    border: 1px solid rgba(28, 39, 76, .55) !important;
    border-radius: 14px;
    background: #fff !important;
    color: rgb(28, 39, 76) !important;
    box-shadow: 0 4px 14px rgba(28, 39, 76, .045);
    font-size: 12px;
  }

  .zg-mobile-promo-search .zg-mobile-search input[type="search"]::placeholder {
    color: rgba(28, 39, 76, .72) !important;
    opacity: 1;
  }

  .zg-mobile-promo-search .zg-mobile-search input[type="search"]:focus {
    border-color: rgb(28, 39, 76) !important;
    box-shadow: 0 0 0 3px rgba(92, 178, 112, .14);
  }

  .zg-mobile-promo-search .zg-header-search-icon {
    right: 14px;
    color: rgb(28, 39, 76);
  }

  .zg-mobile-promo-search .zg-header-search-icon svg,
  .zg-mobile-promo-search .zg-header-search-icon svg * {
    stroke: rgb(28, 39, 76);
  }

  .zg-mobile-promo-search .zg-live-search-results {
    top: calc(100% + 7px);
    right: 0;
    width: 100%;
    max-height: min(420px, 58vh);
  }
}

/* Version 1.0.16: reveal the mobile product search at the top while scrolling upward. */
@media (max-width: 767px) {
  .zg-promo-shell.is-zg-mobile-search-fixed {
    position: fixed !important;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1195;
    width: 100%;
    padding: 8px 0 10px;
    border-bottom: 1px solid rgba(28, 39, 76, .12);
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 8px 24px rgba(28, 39, 76, .10);
    transform: translate3d(0, 0, 0);
    animation: zg-mobile-search-reveal .18s ease-out both;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }

  .admin-bar .zg-promo-shell.is-zg-mobile-search-fixed {
    top: 46px;
  }

  .zg-promo-shell.is-zg-mobile-search-fixed .zg-container {
    width: min(96%, calc(100% - 20px)) !important;
    max-width: none !important;
  }

  .zg-promo-shell.is-zg-mobile-search-fixed .zg-mobile-promo-search,
  .zg-promo-shell.is-zg-mobile-search-fixed .zg-mobile-search {
    margin: 0 !important;
  }
}

@keyframes zg-mobile-search-reveal {
  from { opacity: 0; transform: translate3d(0, -10px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .zg-promo-shell.is-zg-mobile-search-fixed { animation: none; }
}


/* Version 1.0.17: official Enamad trust seal keeps its native readable size. */
.zg-footer-badge-code {
  width: auto;
  min-width: 125px;
  height: auto;
  min-height: 136px;
  padding: 6px;
  overflow: visible;
}
.zg-footer-badge-code > a {
  display: inline-flex;
  width: auto;
  height: auto;
  min-width: 113px;
  min-height: 124px;
  align-items: center;
  justify-content: center;
}
.zg-footer-badge-code img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 125px !important;
  max-height: 136px !important;
  object-fit: contain;
}
@media (max-width: 760px) {
  .zg-footer-badge-code {
    min-width: 112px;
    min-height: 122px;
  }
  .zg-footer-badge-code img {
    max-width: 112px !important;
    max-height: 122px !important;
  }
}
