.product__overview.product__overview--stacked {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 20px;
  border: 1px solid #dce5f2;
  border-radius: 8px;
  background: #fff;
}
.product__overview--stacked > * { min-width: 0; width: 100%; }
.product__overview--stacked .title--02 { margin: 0; overflow-wrap: anywhere; }
.product__overview--stacked .product__review-link { color: #555; }
.product__overview--stacked a.product__review-link:hover { color: #0d0c22; }
.product__overview--stacked .product__location-btn { color: #0d0c22; }
.product__overview--stacked .product__location-btn svg path { fill: currentColor; }
.single-hp_listing .breadcrumbs .breadcrumb.active { color: #0554f2; }
.product__overview-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.product__overview-meta .product__rating-row,
.product__overview-meta .product__period,
.product__overview-meta .product__price { margin: 0; width: auto; }
.product__overview-meta .product__price { margin-left: auto; white-space: nowrap; }
.product__overview-meta .product__rating-row-left { flex-wrap: wrap; gap: 6px; }
.product__overview--stacked > .product__slider-area { position: relative; }
.ef-listing-gallery { display: grid; min-width: 0; gap: 10px; }
.ef-listing-gallery--multiple { grid-template-columns: minmax(0, 1fr) 20%; }
.ef-listing-gallery__stage { position: relative; min-width: 0; align-self: start; }
.ef-listing-gallery__count {
  position: absolute; z-index: 2; top: 12px; left: 12px;
  padding: 4px 10px; border-radius: 6px; background: #222b; color: #fff;
  font-size: 12px; pointer-events: none;
}
.product__offer-badge + .ef-listing-gallery .ef-listing-gallery__count { top: auto; bottom: 12px; }
.product__overview--stacked .hp-listing__images { margin: 0; }
.product__overview--stacked .hp-listing__images .slick-list { border-radius: 8px; }
.product__overview--stacked .hp-listing__images .slick-slide,
.product__overview--stacked .hp-listing__images:not(:has(.slick-slider)) {
  aspect-ratio: 16 / 9 !important;
}
.product__overview--stacked .hp-listing__images img,
.product__overview--stacked .hp-listing__images video { aspect-ratio: 16 / 9; border-radius: 8px; }
.product__overview--stacked .hp-listing__images .slick-arrow {
  position: absolute; z-index: 2; top: 50%; transform: translateY(-50%);
  width: 36px; height: 36px; border-radius: 50%;
  display: flex !important; align-items: center; justify-content: center;
  background: #2229; color: #fff; cursor: pointer;
}
.product__overview--stacked .hp-listing__images .slick-prev { left: 12px; }
.product__overview--stacked .hp-listing__images .slick-next { right: 12px; }
.ef-listing-gallery__thumbs {
  display: flex; flex-direction: column; gap: 8px;
  min-height: 0; min-width: 0; overflow-y: auto;
  position: absolute; top: 0; bottom: 0; right: 0; width: 20%;
  scrollbar-width: thin;
  scrollbar-color: #9ca3af #f1f3f5;
}
.ef-listing-gallery__thumbs::-webkit-scrollbar { width: 6px; height: 6px; }
.ef-listing-gallery__thumbs::-webkit-scrollbar-track { background: #f1f3f5; }
.ef-listing-gallery__thumbs::-webkit-scrollbar-thumb { background: #9ca3af; border-radius: 3px; }
.ef-listing-gallery--multiple { position: relative; }
.product__overview--stacked .ef-listing-gallery__thumb {
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 auto; width: 100%; aspect-ratio: 16 / 9;
  padding: 0 !important; overflow: hidden; border: 2px solid transparent;
  border-radius: 6px !important; background: #eef2f7; color: #0554f2; cursor: pointer;
}
.ef-listing-gallery__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ef-listing-gallery__thumb i { font-size: 28px; }
.product__overview--stacked .ef-listing-gallery__thumb.is-active { border-color: #0554f2; }
.ef-listing-gallery__thumb:focus-visible { outline: 2px solid #0554f2; outline-offset: -4px; }
.product__overview--stacked .product__btns--v2 {
  display: grid; grid-template-columns: minmax(160px, 1fr) minmax(0, 1fr);
  align-items: center; gap: 10px; margin: 0;
}
.product__overview--stacked .product__btn-write {
  width: 100%; min-width: 0; height: 42px; min-height: 0; padding: 8px 12px;
  border-radius: 8px; font-size: 14px; line-height: 1.2;
}
.product__overview--stacked .product__actions-row { margin: 0; }
.product__overview--stacked .product__btns--v2 > .modal__wrapper { position: absolute; }
.product__overview--stacked .hp-listing__images .slick-disabled { opacity: .35; pointer-events: none; }
.product__overview--stacked .product__action-btn { height: 42px; }
.product__overview-heading {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  align-items: start; gap: 12px;
}
.product__overview--stacked .product__overview-heading .product__btns--v2 {
  display: block; width: auto;
}
.product__overview-heading .product__actions-row {
  grid-template-columns: repeat(3, 34px); gap: 6px;
}
.product__overview-heading .product__action-btn { width: 34px; height: 34px; }
.product__overview-heading .product__actions-row .product__action-btn {
  color: #0d0c22; border-color: #0d0c22; background: #fff;
}
.product__overview-heading .product__action-btn svg { width: 17px; height: 17px; }
/* The contact card already supplies a 16px gap on each side. */
.product__contact-card .product__btns--v2 { display: block; margin: -4px 0; }
.product__contact-card .product__btn-write {
  width: 100%; min-width: 0; min-height: 0; height: auto;
  padding: 12px; border-radius: 8px; font-size: 14px; line-height: 1.4;
  background: #0554f2; border-color: #0554f2; color: #fff;
}
.product__contact-card .product__btn-write:hover,
.product__contact-card .product__btn-write:focus-visible {
  background: #0046cc; border-color: #0046cc; color: #fff;
}
.product__contact-card .product__btns--v2 > .modal__wrapper { position: absolute; }
@media (max-width: 767px) {
  .product__overview.product__overview--stacked { padding: 12px; gap: 14px; }
  .product__overview--stacked .title--02 { font-size: 22px; }
  .product__overview-meta { gap: 10px 14px; }
  .product__overview-meta .product__price { white-space: normal; }
  .ef-listing-gallery--multiple { grid-template-columns: minmax(0, 1fr); }
  .ef-listing-gallery__thumbs {
    position: static; width: 100%; height: auto; flex-direction: row;
    overflow-x: auto; overflow-y: hidden;
  }
  .product__overview--stacked .ef-listing-gallery__thumb { width: 76px; }
  .product__overview--stacked .product__btns--v2 { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 8px; }
}
