/* Spotlight carousel — five presentations, one structure. */

.listora-spotlight {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 2.25rem 0 2.75rem;
}
.listora-spotlight__motiondeck {
  position: relative;
  z-index: 1;
  overflow: hidden;
  max-width: 100%;
}
.listora-spotlight--motiondeck .motiondeck-carousel-btn {
  display: none;
}
.listora-spotlight--motiondeck .motiondeck-project__title {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.listora-spotlight--motiondeck .listora-spotlight-slide {
  width: 100%;
  flex: 0 0 auto;
  min-width: 0;
}
.listora-spotlight--motiondeck .listora-spotlight-card {
  height: 100%;
}
.listora-spotlight--motiondeck .listora-spotlight-card__media {
  aspect-ratio: 16 / 10;
  max-height: 16rem;
  overflow: hidden;
}
.listora-spotlight--luxury.listora-spotlight--motiondeck .listora-spotlight-card__media {
  aspect-ratio: 16 / 9;
  max-height: 18rem;
}
.listora-spotlight--luxury.listora-spotlight--motiondeck .listora-spotlight-card {
  grid-template-rows: auto 1fr;
}
.listora-spotlight--motiondeck .listora-spotlight-card__photo,
.listora-spotlight--motiondeck .listora-spotlight-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.listora-spotlight__inner { position: relative; z-index: 1; }
.listora-spotlight__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  align-items: end;
  margin-bottom: 1.25rem;
}
.listora-spotlight__head h2 { margin: .2rem 0 .35rem; font-size: clamp(1.6rem, 3vw, 2.2rem); }
.listora-spotlight__all { font-weight: 600; }
.listora-spotlight__chrome {
  display: flex;
  gap: .5rem;
  justify-content: flex-end;
  margin-bottom: .75rem;
}
.listora-spotlight__nav {
  min-height: 44px;
  min-width: 44px;
  padding: .45rem .9rem;
  border: 1px solid var(--fgm-border, #E5E7EB);
  background: #fff;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
}
.listora-spotlight__nav:focus-visible,
.listora-spotlight-card a:focus-visible,
.listora-spotlight-card button:focus-visible {
  outline: 2px solid #6C5CE7;
  outline-offset: 2px;
}
.listora-spotlight__viewport {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.listora-spotlight__track {
  display: flex;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0 .15rem .5rem;
}
.listora-spotlight-slide {
  flex: 0 0 min(100%, 20rem);
  scroll-snap-align: start;
  min-width: 0;
}
.listora-spotlight-card {
  height: 100%;
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 18px;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr;
}
.listora-spotlight-card__media {
  position: relative;
  display: block;
  aspect-ratio: 16/10;
  background: #eef0f6;
}
.listora-spotlight-card__photo,
.listora-spotlight-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.listora-spotlight-card__badge {
  position: absolute;
  top: .75rem;
  left: .75rem;
  background: #6C5CE7;
  color: #fff;
  border-radius: 999px;
  padding: .25rem .7rem;
  font-size: .75rem;
  letter-spacing: .04em;
}
.listora-spotlight-card__body { padding: 1rem 1rem 1.15rem; }
.listora-spotlight-card__price {
  font-family: var(--fgm-font-heading, "Plus Jakarta Sans", sans-serif);
  font-weight: 700;
  font-size: 1.25rem;
  margin: .15rem 0;
}
.listora-spotlight-card__title { font-size: 1.05rem; margin: .2rem 0; }
.listora-spotlight-card__title a { text-decoration: none; }
.listora-spotlight-card__location,
.listora-spotlight-card__meta,
.listora-spotlight-card__agent,
.listora-spotlight-card__inspect { color: #667085; margin: .2rem 0; font-size: .92rem; }
.listora-spotlight-card__facts {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .75rem;
  list-style: none;
  padding: 0;
  margin: .5rem 0;
  color: #667085;
}
.listora-spotlight-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  align-items: center;
  margin-top: .7rem;
}
.listora-spotlight-card__actions .fgm-button { min-height: 44px; }
.listora-spotlight__dots {
  display: flex;
  justify-content: center;
  gap: .4rem;
  margin-top: .9rem;
}
.listora-spotlight__dots button {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 0;
  background: #D0D5DD;
  cursor: pointer;
  padding: 0;
}
.listora-spotlight__dots button[aria-current="true"] { background: #6C5CE7; width: 22px; }

/* Modern Marketplace */
.listora-spotlight--modern-marketplace .listora-spotlight-card {
  box-shadow: 0 12px 28px rgba(16, 24, 40, .08);
  border-radius: 20px;
}
.listora-spotlight--modern-marketplace .listora-spotlight-slide:nth-child(2) .listora-spotlight-card {
  transform: translateY(-6px);
}
.listora-spotlight--modern-marketplace .listora-spotlight__nav {
  background: linear-gradient(90deg, #6C5CE7, #3B82F6);
  color: #fff;
  border: 0;
}

/* Luxury */
.listora-spotlight--luxury {
  background: #0B1020;
  color: #F7F8FC;
}
.listora-spotlight--luxury .fgm-lede,
.listora-spotlight--luxury .listora-spotlight-card__location,
.listora-spotlight--luxury .listora-spotlight-card__meta,
.listora-spotlight--luxury .listora-spotlight-card__agent { color: rgba(247,248,252,.72); }
.listora-spotlight--luxury .listora-spotlight-slide { flex-basis: min(100%, 34rem); }
.listora-spotlight--luxury .listora-spotlight-card {
  background: #101828;
  border-color: rgba(212, 175, 106, .35);
  border-radius: 2px;
  grid-template-rows: minmax(16rem, 22rem) auto;
}
.listora-spotlight--luxury .listora-spotlight-card__media { aspect-ratio: 16/9; }
.listora-spotlight--luxury .listora-spotlight-card__badge {
  background: transparent;
  color: #E8D5A3;
  border: 1px solid #E8D5A3;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.listora-spotlight--luxury .listora-spotlight-card__price { font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; }
.listora-spotlight--luxury .listora-spotlight__nav {
  background: transparent;
  color: #E8D5A3;
  border-color: #E8D5A3;
  border-radius: 0;
}
.listora-spotlight--luxury .listora-spotlight__dots button[aria-current="true"] { background: #E8D5A3; }

/* Local */
.listora-spotlight--local { background: #FFF7ED; }
.listora-spotlight--local .listora-spotlight-card {
  border-radius: 22px;
  border-color: #FED7AA;
  box-shadow: 0 8px 18px rgba(180, 83, 9, .08);
}
.listora-spotlight--local .listora-spotlight-card__badge { background: #F59E0B; color: #101828; }
.listora-spotlight--local .listora-spotlight__nav { border-radius: 16px; background: #fff; }

/* Minimal */
.listora-spotlight--minimal { background: #fff; padding-block: 3rem; }
.listora-spotlight--minimal .listora-spotlight-card {
  border-radius: 0;
  box-shadow: none;
  border-color: #E5E7EB;
}
.listora-spotlight--minimal .listora-spotlight-slide { flex-basis: min(100%, 28rem); }
.listora-spotlight--minimal .listora-spotlight-card__badge {
  background: transparent;
  color: #101828;
  border: 1px solid #101828;
  border-radius: 0;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.listora-spotlight--minimal .listora-spotlight__nav {
  border-radius: 0;
  background: #fff;
}
.listora-spotlight--minimal .listora-spotlight-card__price { font-size: 1.55rem; letter-spacing: -.03em; }

/* Discovery */
.listora-spotlight--discovery {
  background: radial-gradient(circle at 20% 20%, rgba(108,92,231,.28), transparent 40%), #101828;
  color: #fff;
}
.listora-spotlight--discovery .fgm-lede { color: #E4E7EC; }
.listora-spotlight--discovery .listora-spotlight-card {
  background: rgba(255,255,255,.96);
  color: #101828;
  border-radius: 24px;
  transform: rotate(-0.4deg);
}
.listora-spotlight--discovery .listora-spotlight-card__location {
  color: #344054;
}
.listora-spotlight--discovery .listora-spotlight-card__location:hover,
.listora-spotlight--discovery .listora-spotlight-card:focus-within .listora-spotlight-card__location {
  color: #101828;
}
.listora-spotlight--discovery .listora-spotlight-card__meta,
.listora-spotlight--discovery .listora-spotlight-card__agent,
.listora-spotlight--discovery .listora-spotlight-card__inspect,
.listora-spotlight--discovery .listora-spotlight-card__facts {
  color: #475467;
}
.listora-spotlight--discovery .listora-spotlight-slide:nth-child(odd) .listora-spotlight-card { transform: rotate(0.5deg); }
.listora-spotlight--discovery .listora-spotlight-card__badge {
  background: linear-gradient(90deg, #6C5CE7, #3B82F6);
}
.listora-spotlight--discovery .listora-spotlight__nav {
  background: linear-gradient(90deg, #6C5CE7, #3B82F6);
  color: #fff;
  border: 0;
}

@media (min-width: 768px) {
  .listora-spotlight-slide { flex-basis: calc(50% - .5rem); }
  .listora-spotlight--luxury .listora-spotlight-slide { flex-basis: 72%; }
  .listora-spotlight--minimal .listora-spotlight-slide { flex-basis: 70%; }
}
@media (min-width: 1024px) {
  .listora-spotlight--modern-marketplace .listora-spotlight-slide,
  .listora-spotlight--local .listora-spotlight-slide,
  .listora-spotlight--discovery .listora-spotlight-slide { flex-basis: calc(33.333% - .7rem); }
}
@media (min-width: 1440px) {
  .listora-spotlight--luxury .listora-spotlight-slide { flex-basis: 64%; }
}
@media (max-width: 390px), (max-width: 480px) {
  .listora-spotlight-slide { flex-basis: 88%; }
  .listora-spotlight { padding-inline: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .listora-spotlight--modern-marketplace .listora-spotlight-slide:nth-child(2) .listora-spotlight-card,
  .listora-spotlight--discovery .listora-spotlight-card {
    transform: none;
  }
  .listora-spotlight__viewport { scroll-behavior: auto; }
}
