/* ── Container da imagem ── */
.feh-image-container {
  position: relative;
  display: block;
  width: 100%;
  line-height: 0;
  font-family: 'Poppins', sans-serif;
}
.feh-image-container img.feh-amb-image {
  width: 100%;
  height: auto;
  display: block;
}

/* ── Hotspot base ── */
.feh-hotspot {
  position: absolute;
  width: 34px;
  height: 34px;
  transform: translate(-50%, -50%);
  cursor: pointer;
  z-index: 10;
}
.feh-hotspot .feh-hs-inner,
.feh-hotspot .feh-hs-outer {
  position: absolute;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #F2EEE4;
}

/* ── Pulsate (portado 100% do WCSpots) ── */
.feh-hotspot.pulsate .feh-hs-outer {
  animation: feh-pulsate 2s ease-out infinite;
}
@keyframes feh-pulsate {
  0%   { transform: translate(-50%, -50%) scale(1);   opacity: 1; }
  70%  { transform: translate(-50%, -50%) scale(2.2); opacity: 0; }
  100% { transform: translate(-50%, -50%) scale(1);   opacity: 0; }
}

/* ── Popover base ── */
.feh-popover {
  position: fixed;
  z-index: 9999;
  background: rgba(255,255,255,0.95);
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.18);
  min-width: 280px;
  max-width: 400px;
  pointer-events: all;
  font-family: 'Poppins', sans-serif;
}
.feh-popover.is-open { display: block; }
.feh-popover:not(.is-open) { display: none; }

/* ── Seta do popover ── */
.feh-pop-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid rgba(255,255,255,0.95);
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
}
.feh-pop-arrow.arrow-bottom {
  top: auto;
  bottom: -10px;
  border-bottom: none;
  border-top: 10px solid rgba(255,255,255,0.95);
}

/* ── Layout 1 (vertical, imagem em cima) ── */
.feh-popover.layout1 .feh-pop-product {
  display: flex;
  flex-direction: column;
}

/* ── Layout 2 (horizontal, imagem à esquerda) ── */
.feh-popover.layout2 .feh-pop-product {
  display: flex;
  flex-direction: row;
}
@media (max-width: 600px) {
  .feh-popover.layout2 .feh-pop-product { flex-direction: column; }
}

/* ── Layout 3 (imagem de fundo, texto sobre overlay) ── */
.feh-popover.layout3 .feh-pop-product {
  position: relative;
}
.feh-popover.layout3 .feh-pop-image {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.feh-popover.layout3 .feh-pop-image img {
  width: 100%; height: 100%; object-fit: cover;
}
.feh-popover.layout3 .feh-pop-overlay {
  position: absolute; inset: 0; z-index: 2;
  background: rgba(0,0,0,0.45);
}
.feh-popover.layout3 .feh-pop-info {
  position: relative; z-index: 3; color: #fff;
}

/* ── Layout 4 (horizontal, imagem à direita) ── */
.feh-popover.layout4 .feh-pop-product {
  display: flex;
  flex-direction: row-reverse;
}
@media (max-width: 600px) {
  .feh-popover.layout4 .feh-pop-product { flex-direction: column; }
}

/* ── Imagem do produto no popover ── */
.feh-pop-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px 6px 0 0;
}

/* ── Info do produto no popover ── */
.feh-pop-info {
  padding: 0.8em;
}
.feh-pop-info h4 {
  margin: 0 0 0.4em;
  font-size: 1em;
  line-height: 1.3;
}
.feh-pop-price {
  font-size: 0.95em;
  margin-bottom: 0.6em;
}

/* ── Botão Add to Cart no popover ── */
.feh-btn-atc {
  width: 100%;
  padding: 0.5em 1em;
  cursor: pointer;
  font-size: 0.9em;
  background: #4c9e16;
  color: #fff;
  border: none;
  border-radius: 4px;
}
.feh-btn-atc:hover {
  background: #3d7e11;
}

/* ── Botão Substituir Produto ── */
.feh-btn-switch {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 0.8em;
  padding: 0.3em;
  margin-top: 0.4em;
  cursor: pointer;
  background: #e87722;
  color: #fff;
  border: 1px solid #e87722;
  border-radius: 4px;
}
.feh-btn-switch:hover {
  background: #2d4a2d;
  border-color: #2d4a2d;
}

/* ── Lista de alternativas ── */
.feh-alt-list {
  list-style: none;
  margin: 0.5em 0 0;
  padding: 0;
}
.feh-alt-item {
  display: flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.4em 0.6em;
  cursor: pointer;
  border-radius: 4px;
}
.feh-alt-item:hover,
.feh-alt-item.is-selected {
  background: rgba(0,0,0,0.06);
}
.feh-alt-item img {
  width: 40px;
  height: 40px;
  object-fit: cover;
  border-radius: 4px;
}

/* ── Botão "Comprar todos da cena" ── */
.feh-cena-actions {
  margin-top: 1em;
  text-align: center;
}
.feh-btn-buy-all-scene {
  display: block;
  margin: 0 auto;
  padding: 0.7em 2em;
  font-size: 1em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  cursor: pointer;
  background: #4c9e16;
  color: #fff;
  border: none;
  border-radius: 999px;
}
.feh-btn-buy-all-scene:hover {
  background: #3d7e11;
}

/* ── Destaque do produto ao hover no hotspot ── */
.feh-product-card.is-highlighted {
  outline: 3px solid var(--feh-highlight-color, rgba(0,0,0,0.6));
  outline-offset: 2px;
}

/* ── Responsividade geral ── */
@media (max-width: 600px) {
  .feh-popover {
    min-width: 240px;
    max-width: calc(100vw - 24px);
  }
}
