/* Carousel layout only – card visuals live in cards-destinations / cards-packages */

.wg-inspire {
  position: relative;
  padding: 0 clamp(1rem, 4vw, 2rem) 0.5rem;
}

.wg-inspire__viewport {
  overflow: hidden;
  margin-inline: clamp(2.5rem, 6vw, 3.5rem);
}

.wg-inspire__track {
  display: flex;
  gap: 1.15rem;
  transition: transform 0.65s var(--wg-ease);
  will-change: transform;
  align-items: stretch;
}

.wg-inspire__item {
  flex: 0 0 calc((100% - 2.3rem) / 3);
  min-width: 0;
}

/* Destinations – full width, larger cards */
.wg-inspire--dest .wg-inspire__viewport {
  max-width: none;
  margin-inline: clamp(2.25rem, 5vw, 3.25rem);
}

.wg-inspire--dest .wg-inspire__item {
  flex: 0 0 min(268px, calc((100% - 2.3rem) / 3));
  max-width: none;
}

.wg-inspire--dest .wg-inspire__item--featured {
  flex: 0 0 min(288px, calc((100% - 2.3rem) / 2.5));
}

.wg-inspire--dest .wg-dest-card {
  flex: none;
  width: 100%;
  max-width: 100%;
}

.wg-inspire--pkg .wg-pkg-card,
.wg-inspire--pkg-row .wg-pkg-card {
  width: 100%;
  height: 100%;
}

.wg-pkg-rows,
.wg-dest-rows {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
}

.wg-dest-rows__label {
  margin: 0;
  padding: 0 clamp(1rem, 4vw, 2rem);
  font-family: var(--wg-font-sans);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wg-text-dim);
}

.wg-dest-rows .wg-dest-rows__label:not(:first-child) {
  margin-top: 0.5rem;
}

.wg-inspire--pkg-row .wg-inspire__item {
  flex: 0 0 calc((100% - 3.45rem) / 4);
}

@media (max-width: 1200px) {
  .wg-inspire--pkg-row .wg-inspire__item {
    flex: 0 0 calc((100% - 2.3rem) / 3);
  }
}

@media (max-width: 960px) {
  .wg-inspire--pkg-row .wg-inspire__item {
    flex: 0 0 calc((100% - 1.15rem) / 2);
  }
}

@media (max-width: 620px) {
  .wg-inspire--pkg-row .wg-inspire__item {
    flex: 0 0 100%;
  }
}

@media (max-width: 960px) {
  .wg-inspire__item { flex: 0 0 calc((100% - 1.15rem) / 2); }
  .wg-inspire--dest .wg-inspire__item { flex: 0 0 min(248px, calc((100% - 1.15rem) / 2)); }
  .wg-inspire--dest .wg-inspire__item--featured { flex: 0 0 min(278px, calc((100% - 1.15rem) / 1.65)); }
}

@media (max-width: 620px) {
  .wg-inspire__item { flex: 0 0 100%; }
  .wg-inspire--dest .wg-inspire__item,
  .wg-inspire--dest .wg-inspire__item--featured { flex: 0 0 min(100%, 320px); }
  .wg-inspire__viewport { margin-inline: 0; }
  .wg-inspire__nav { display: none; }
}

.wg-inspire__nav {
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  border: 1px solid var(--wg-border-strong);
  background: var(--wg-surface-elevated);
  color: var(--wg-gold-olive);
  cursor: pointer;
  display: grid;
  place-items: center;
  font-size: 0.82rem;
  box-shadow: 0 4px 16px rgba(61, 58, 52, 0.08);
  transition: background 0.25s, transform 0.25s, border-color 0.25s;
  z-index: 2;
}

.wg-inspire__nav:hover {
  background: rgba(184, 148, 26, 0.1);
  border-color: rgba(184, 148, 26, 0.35);
  transform: translateY(-50%) scale(1.05);
}

.wg-inspire__nav--prev { left: clamp(0.25rem, 2vw, 0.5rem); }
.wg-inspire__nav--next { right: clamp(0.25rem, 2vw, 0.5rem); }

.wg-inspire__dots {
  display: flex;
  justify-content: center;
  gap: 0.45rem;
  margin-top: 1.25rem;
}

.wg-inspire__dot {
  width: 2rem;
  height: 3px;
  border: none;
  border-radius: 1px;
  padding: 0;
  background: rgba(61, 58, 52, 0.14);
  cursor: pointer;
  transition: width 0.35s, background 0.3s;
}

.wg-inspire__dot.is-active {
  width: 2.6rem;
  background: linear-gradient(90deg, var(--wg-warm-red), var(--wg-gold-lt));
}

@media (prefers-reduced-motion: reduce) {
  .wg-inspire__track { transition: none; }
}
