.delivery-type-container {
    display: flex;
    border-top: 1px solid #ddd;
}
.delivery-type-container p {
    margin: 12px 0px !important;
}

/* ---- Product gallery (desktop) ---- */
.d-gallery { width: 100%; }

.d-gallery-main {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #fff;
    overflow: hidden;
    cursor: zoom-in;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
}
.d-gallery-mainimg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.d-gallery-main .d-gallery-veg {
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    right: auto !important;
    bottom: auto !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 6px;
    background: #fff !important;
    background-image: none !important;
    box-shadow: 0 1px 5px rgba(20, 40, 30, 0.18);
    z-index: 3;
}
.d-gallery-main .d-gallery-veg::after {
    content: "";
    position: absolute;
    inset: 5px;
    border-radius: 50%;
}
.d-gallery-main .vegLogo.d-gallery-veg { border: 2.5px solid #2d7a3f; }
.d-gallery-main .vegLogo.d-gallery-veg::after { background: #2d7a3f; }
.d-gallery-main .nonvegLogo.d-gallery-veg { border: 2.5px solid #c0392b; }
.d-gallery-main .nonvegLogo.d-gallery-veg::after { background: #c0392b; }

.d-gallery-main .d-gallery-flag {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 3;
    max-width: 60%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 2px 8px rgba(20, 40, 30, 0.10);
}

.d-gallery-thumbs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 14px;
}
.d-gallery-thumb {
    flex: 0 0 auto;
    width: 76px;
    height: 76px;
    padding: 4px;
    cursor: pointer;
    background: #fff;
    border: 1.5px solid #e6dcc2;
    border-radius: 12px;
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.d-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.d-gallery-thumb.is-active {
    border-color: #2d7a3f;
    box-shadow: 0 0 0 2px rgba(45, 122, 63, 0.18);
}

#highimage #img-container {
    max-width: 100%;
    max-height: 80vh;
    object-fit: contain;
}

/* ---- Same-day express delivery banner ---- */
.d-express {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-top: 14px;
  padding: 12px 16px;
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0%, rgba(212,168,73,0.16), transparent 60%),
    linear-gradient(135deg, #f4faef, #f6efde);
  border: 1px solid #d7e6cd;
  box-shadow: 0 6px 16px rgba(31,61,44,0.07);
}
.d-express-ic {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #2d5a3d, #1f3d2c);
  color: #ffd86b;
  font-size: 18px;
  box-shadow: 0 5px 12px rgba(31,61,44,0.28);
}
.d-express-body { display: flex; flex-direction: column; gap: 1px; flex: 1 1 auto; min-width: 0; }
.d-express-label {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #f08a4b;
}
.d-express-text { font-size: 13.5px; color: #1c1c1c; }
.d-express-text strong { color: #1f3d2c; font-weight: 800; }
.d-express-badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #1f3d2c;
  background: #fff;
  border: 1px solid #d7e6cd;
  border-radius: 999px;
  padding: 5px 11px;
}
.d-express-badge i { color: #f08a4b; font-size: 10px; }
