:root {
  --prestige-surface: #ffffff;
  --prestige-card: #ffffff;
  --prestige-ink: #1c1917;
  --prestige-muted: #57534e;
  --prestige-line: rgba(28, 25, 23, 0.1);
  --prestige-header-h: 4.5rem;
  --prestige-bottom-nav-height: 4.5rem;
}

html {
  scroll-behavior: smooth;
}

body.prestige-body {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  background: var(--prestige-surface);
  color: var(--prestige-ink);
}

.prestige-home-sections > [data-homepage-section]:nth-child(odd) {
  background: #ffffff;
}

.prestige-home-sections > [data-homepage-section]:nth-child(even) {
  background: color-mix(in oklab, var(--color-primary) 3%, #ffffff);
}

.prestige-header {
  position: sticky;
  top: 0;
  z-index: 40;
  height: var(--prestige-header-h);
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(22px) saturate(1.35);
  -webkit-backdrop-filter: blur(22px) saturate(1.35);
  border-bottom: 1px solid transparent;
  box-shadow: inset 0 -1px 0 rgba(28, 25, 23, 0.08);
}

.prestige-header__bar,
.prestige-footer__inner,
.prestige-shell,
.prestige-account-shell {
  width: min(72rem, calc(100% - 2rem));
  margin-inline: auto;
}

.prestige-header__bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  column-gap: 0.75rem;
  height: var(--prestige-header-h);
}

.prestige-header__cluster {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

.prestige-header__cluster--start {
  justify-content: flex-start;
}

.prestige-header__cluster--end {
  justify-content: flex-end;
}

.prestige-header__brand {
  display: flex;
  justify-content: center;
  min-width: 0;
}

.prestige-header__menu-btn {
  display: inline-flex;
}

.prestige-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 3.15rem;
  max-width: min(20rem, 52vw);
  color: inherit;
  text-decoration: none;
}

.prestige-brand__mark {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  flex-shrink: 0;
  border-radius: 0.85rem;
  background: color-mix(in oklab, var(--color-primary) 14%, white);
  color: var(--color-primary);
}

.prestige-brand__title {
  font-weight: 600;
  font-size: 1.05rem;
  letter-spacing: -0.04em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prestige-brand__image {
  display: block;
  height: 3.15rem;
  width: auto;
  max-width: 14.5rem;
  object-fit: contain;
}

.prestige-nav {
  display: none;
  align-items: center;
  gap: 0.15rem;
}

@media (min-width: 1024px) {
  .prestige-nav {
    display: flex;
  }
}

.prestige-nav__trigger,
.prestige-icon-btn,
.prestige-user {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 2.5rem;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--prestige-ink);
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-nav__trigger {
  padding: 0 0.9rem;
}

.prestige-nav__trigger i {
  font-size: 0.62rem;
  color: var(--prestige-muted);
  transition: transform 0.2s ease;
}

.prestige-icon-btn {
  width: 2.5rem;
  padding: 0;
  position: relative;
}

@media (min-width: 1024px) {
  .prestige-icon-btn.prestige-header__menu-btn {
    display: none;
  }
}

@media (max-width: 1023.98px) {
  body:has(.prestige-bottom-nav) .prestige-header__menu-btn,
  body:has(.prestige-bottom-nav) .prestige-header [data-prestige-locale-open],
  body:has(.prestige-bottom-nav) .prestige-header .prestige-user:not([data-notifications-toggle]) {
    display: none;
  }

  body.prestige-page-product .prestige-header__cluster--end {
    visibility: hidden;
    pointer-events: none;
  }
}

.prestige-icon-btn:hover,
.prestige-user:hover,
.prestige-nav__trigger:hover,
.prestige-nav__trigger.is-active,
.prestige-nav__item.is-open .prestige-nav__trigger {
  background: color-mix(in oklab, var(--color-primary) 9%, white);
  color: var(--color-primary-dark);
}

.prestige-nav__item.is-open .prestige-nav__trigger i {
  transform: rotate(180deg);
}

.prestige-nav__item {
  position: relative;
}

.prestige-nav__panel {
  display: none;
  position: absolute;
  top: calc(100% + 0.55rem);
  left: 0;
  min-width: 15.5rem;
  padding: 0.45rem;
  border-radius: 1.15rem;
  border: 1px solid rgba(28, 25, 23, 0.08);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(16px);
  box-shadow: 0 18px 40px -24px rgba(28, 25, 23, 0.35);
}

.prestige-nav__item.is-open .prestige-nav__panel {
  display: grid;
}

.prestige-nav__link {
  display: block;
  padding: 0.72rem 0.9rem;
  border-radius: 0.85rem;
  color: var(--prestige-ink);
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  transition: all 0.2s ease;
}

.prestige-nav__link:hover {
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
}

.prestige-nav__link--all {
  margin-top: 0.15rem;
  border-top: 1px solid var(--prestige-line);
  border-radius: 0 0 0.85rem 0.85rem;
  color: var(--color-primary);
  font-weight: 600;
}

.prestige-locale-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2.5rem;
  width: 2.5rem;
  padding: 0;
  border-radius: 999px;
  border: 1px solid var(--prestige-line);
  background: rgba(255, 255, 255, 0.72);
  color: var(--prestige-ink);
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-locale-btn--block {
  width: 100%;
  padding: 0 0.9rem;
  justify-content: flex-start;
}

.prestige-user {
  width: auto;
  padding: 0 0.7rem 0 0.25rem;
  border-color: var(--prestige-line);
  background: rgba(255, 255, 255, 0.72);
}

.prestige-user--icon {
  width: 2.5rem;
  padding: 0;
}

.prestige-user__avatar {
  display: grid;
  place-items: center;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 999px;
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
  font-size: 0.72rem;
  font-weight: 700;
}

.prestige-user__name {
  font-size: 0.8125rem;
}

@media (max-width: 639.98px) {
  .prestige-user__name {
    display: none;
  }

  .prestige-user {
    padding: 0;
    width: 2.5rem;
  }
}

.prestige-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0 1.1rem;
  border: 0;
  border-radius: 0.9rem;
  background: var(--color-primary);
  color: var(--color-on-primary);
  font-family: inherit;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-cta:hover {
  background: var(--color-primary-dark);
}

.prestige-cta:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

.prestige-cta--secondary {
  background: #f1f5f9;
  color: #334155;
  border: 1px solid rgba(15, 23, 42, 0.08);
}

.prestige-cta--secondary:hover {
  background: #e2e8f0;
  color: #1e293b;
}

.prestige-cta--danger {
  background: #e11d48;
  color: #fff;
}

.prestige-cta--danger:hover {
  background: #be123c;
}

.prestige-cta-block {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 1.5rem;
}

.prestige-cta-block--center {
  display: flex;
  justify-content: center;
  padding: 3rem 1.5rem;
  background:
    radial-gradient(ellipse 80% 70% at 12% -10%, rgba(var(--color-primary-rgb), 0.42), transparent 58%),
    color-mix(in oklab, var(--color-primary) 12%, #16141c);
  box-shadow: 0 18px 40px -24px rgba(28, 25, 23, 0.45);
}

@media (min-width: 768px) {
  .prestige-cta-block--center {
    padding: 4rem 3rem;
  }
}

.prestige-cta-block__aurora,
.prestige-cta-block__orb {
  position: absolute;
  inset: auto;
  pointer-events: none;
}

.prestige-cta-block__aurora {
  inset: -20% -10% auto auto;
  width: 18rem;
  height: 18rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(var(--color-primary-rgb), 0.35), transparent 68%);
  filter: blur(8px);
}

.prestige-cta-block__orb {
  left: -4rem;
  bottom: -5rem;
  width: 14rem;
  height: 14rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.14), transparent 70%);
}

.prestige-cta-block--center .prestige-cta-block__copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 40rem;
  text-align: center;
}

.prestige-cta-block--center .prestige-cta-block__badge {
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.prestige-cta-block--center .prestige-cta-block__title {
  color: #f8fafc;
}

.prestige-cta-block--center .prestige-cta-block__text {
  color: rgba(248, 250, 252, 0.78);
}

.prestige-cta-block--center .prestige-cta-block__actions {
  justify-content: center;
}

.prestige-cta-block--center .prestige-cta-block__btn.prestige-cta:not(.prestige-cta--ghost) {
  background: #ffffff;
  color: var(--color-primary);
}

.prestige-cta-block--center .prestige-cta-block__btn.prestige-cta:not(.prestige-cta--ghost):hover {
  background: var(--color-primary-soft);
}

.prestige-cta-block--center .prestige-cta--ghost {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.28);
}

.prestige-cta-block--center .prestige-cta--ghost:hover {
  background: rgba(255, 255, 255, 0.16);
}

.prestige-cta-block--split {
  display: grid;
  grid-template-columns: 1fr;
  background: #ffffff;
  border: 1px solid color-mix(in oklab, var(--prestige-line) 80%, #ffffff);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

@media (min-width: 1024px) {
  .prestige-cta-block--split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: 22rem;
  }
}

.prestige-cta-block__media,
.prestige-cta-block__ph {
  position: relative;
  min-height: 16rem;
  background: var(--color-primary-soft);
}

@media (min-width: 1024px) {
  .prestige-cta-block__media,
  .prestige-cta-block__ph {
    min-height: 100%;
  }
}

.prestige-cta-block__media img,
.prestige-cta-block__ph {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.prestige-cta-block__ph {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(var(--color-primary-rgb), 0.32), transparent 55%),
    linear-gradient(165deg, #e7e5e4, var(--color-primary-soft));
}

.prestige-cta-block--media-start .prestige-cta-block__media::after,
.prestige-cta-block--media-end .prestige-cta-block__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

@media (min-width: 1024px) {
  .prestige-cta-block--media-start .prestige-cta-block__media::after {
    background: linear-gradient(90deg, transparent 40%, #ffffff 100%);
  }

  .prestige-cta-block--media-end .prestige-cta-block__media::after {
    background: linear-gradient(270deg, transparent 40%, #ffffff 100%);
  }
}

.prestige-cta-block--split .prestige-cta-block__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.75rem 1.5rem;
}

@media (min-width: 768px) {
  .prestige-cta-block--split .prestige-cta-block__copy {
    padding: 2.5rem 2.25rem;
  }
}

.prestige-cta-block__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  width: fit-content;
  margin: 0 0 0.9rem;
  padding: 0.32rem 0.7rem;
  border-radius: 999px;
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.prestige-cta-block__title {
  margin: 0;
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1.2;
  color: var(--prestige-ink);
}

.prestige-cta-block__text {
  margin: 0.85rem 0 0;
  max-width: 36rem;
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--prestige-muted);
}

.prestige-cta-block__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.prestige-cta-block__btn {
  border-radius: 999px;
  min-height: 2.9rem;
  padding: 0 1.3rem;
}

.prestige-cta-block__btn.is-disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.prestige-hero {
  position: relative;
  isolation: isolate;
  min-height: calc(88vh - var(--prestige-header-h));
  display: flex;
  align-items: flex-start;
  padding-top: clamp(2rem, 8vh, 5rem);
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
  overflow-x: clip;
  overflow-y: visible;
  background: #ffffff;
}

.prestige-hero::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 0;
  z-index: 1;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(var(--color-primary-rgb), 0.38),
    transparent
  );
  pointer-events: none;
}

.prestige-hero__stage {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.prestige-hero__aurora {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 68% 52% at 12% 6%, rgba(var(--color-primary-rgb), 0.38), transparent 64%),
    radial-gradient(
      ellipse 58% 48% at 92% 4%,
      color-mix(in oklab, var(--color-primary) 42%, #67e8f9),
      transparent 62%
    ),
    radial-gradient(
      ellipse 46% 36% at 78% 42%,
      color-mix(in oklab, var(--color-primary) 28%, #c4b5fd),
      transparent 70%
    ),
    radial-gradient(ellipse 80% 42% at 50% 108%, rgba(var(--color-primary-rgb), 0.2), transparent 58%),
    linear-gradient(
      165deg,
      color-mix(in oklab, var(--color-primary) 22%, #eef6ff) 0%,
      color-mix(in oklab, var(--color-primary) 10%, #f5f3ff) 38%,
      #ffffff 82%
    );
}

.prestige-hero__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(28px);
  opacity: 0.78;
  will-change: transform;
  animation: prestige-aurora-drift 18s ease-in-out infinite;
}

.prestige-hero__orb--a {
  width: min(48vw, 34rem);
  height: min(48vw, 34rem);
  top: -18%;
  left: -12%;
  background: radial-gradient(
    circle at 42% 40%,
    color-mix(in oklab, var(--color-primary) 72%, #ffffff),
    transparent 68%
  );
}

.prestige-hero__orb--b {
  width: min(42vw, 28rem);
  height: min(42vw, 28rem);
  top: -6%;
  right: -14%;
  background: radial-gradient(
    circle at 55% 45%,
    color-mix(in oklab, var(--color-primary) 48%, #22d3ee),
    transparent 70%
  );
  animation-delay: -8s;
}

.prestige-hero__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(var(--color-primary-rgb), 0.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--color-primary-rgb), 0.14) 1px, transparent 1px);
  background-size: 72px 72px;
  background-position: center top;
  mask-image: radial-gradient(ellipse 90% 72% at 50% 0%, #000 12%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 90% 72% at 50% 0%, #000 12%, transparent 78%);
}

.prestige-hero__veil {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 58% 48% at 50% 26%, rgba(255, 255, 255, 0.52), transparent 72%),
    linear-gradient(180deg, transparent 58%, #ffffff 94%);
}

@keyframes prestige-aurora-drift {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  50% {
    transform: translate3d(3.5%, 2.5%, 0) scale(1.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  .prestige-hero__orb {
    animation: none;
    will-change: auto;
  }
}

.prestige-hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(72rem, calc(100% - 2rem));
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.prestige-hero__intro {
  text-align: center;
  width: 100%;
  max-width: 48rem;
  margin: 0 auto 2rem;
  min-width: 0;
}

.prestige-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  max-width: 100%;
  margin-bottom: 1.25rem;
  padding: 0.45rem 1rem 0.45rem 0.65rem;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid var(--prestige-line);
  color: var(--color-primary);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  box-shadow: 0 4px 20px -8px rgba(var(--color-primary-rgb), 0.2);
}

.prestige-hero-eyebrow i {
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-primary-soft);
  font-size: 0.65rem;
}

.prestige-hero-title {
  font-size: clamp(2.5rem, 5.5vw, 3.75rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1.15;
  color: var(--prestige-ink);
  margin-bottom: 0.75rem;
  max-width: 100%;
  overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
  .prestige-hero-title {
    font-size: 1.65rem;
    line-height: 1.2;
    margin-bottom: 0.5rem;
  }

  .prestige-hero-lead {
    font-size: 0.875rem;
    line-height: 1.55;
  }
}

.prestige-hero-title strong,
.prestige-hero-title b {
  font-weight: 800;
}

.prestige-hero-lead {
  font-size: 1rem;
  font-weight: 500;
  color: var(--prestige-muted);
  max-width: 38rem;
  width: 100%;
  margin: 0 auto;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.prestige-hero-search {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  position: relative;
  z-index: 30;
}

.prestige-hero-search-tabs-wrap {
  margin-bottom: 0.85rem;
  width: 100%;
  overflow: hidden;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.95);
  box-shadow: 0 8px 32px -12px rgba(var(--color-primary-rgb), 0.2);
  padding: 0.35rem;
}

.prestige-hero-search-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.2rem;
  overflow-x: auto;
  scrollbar-width: none;
}

.prestige-hero-search-tabs::-webkit-scrollbar {
  display: none;
}

@media (min-width: 768px) {
  .prestige-hero-search-tabs-wrap {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}

.prestige-hero-search-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 1.1rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--prestige-ink);
  border: none;
  border-radius: 9999px;
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.prestige-hero-search-tab i {
  color: var(--prestige-muted);
}

.prestige-hero-search-tab:hover,
.prestige-hero-search-tab.is-active {
  background: rgba(28, 25, 23, 0.05);
}

.prestige-hero-search-tab.is-active i {
  color: var(--prestige-ink);
}

.prestige-hero-search-bar {
  position: relative;
  z-index: 20;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(20px);
  border-radius: 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.95);
  box-shadow:
    0 24px 48px -20px rgba(var(--color-primary-rgb), 0.22),
    0 0 0 1px rgba(var(--color-primary-rgb), 0.04);
  overflow: visible;
}

.prestige-hero-search-panel {
  display: none;
}

.prestige-hero-search-panel.is-active {
  display: block;
}

.prestige-hero-search-form {
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: 100%;
}

@media (min-width: 1024px) {
  .prestige-hero-search-form {
    flex-direction: row;
    align-items: stretch;
  }

  .prestige-hero-search-form--tour .prestige-search-field {
    padding: 0.85rem 0.9rem;
  }
}

.prestige-search-field {
  flex: 1;
  min-width: 0;
  padding: 1rem 1.15rem;
  text-align: left;
  border-bottom: 1px solid rgba(var(--color-primary-rgb), 0.08);
}

.prestige-search-field[data-search-field="select"],
.prestige-search-field--guest,
.prestige-search-field--location {
  cursor: pointer;
}

@media (min-width: 1024px) {
  .prestige-search-field {
    border-bottom: none;
    border-right: 1px solid rgba(var(--color-primary-rgb), 0.08);
  }

  .prestige-hero-search-form > .prestige-search-field:last-of-type {
    border-right: none;
  }
}

.prestige-search-field__control {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 2.25rem;
  width: 100%;
}

.prestige-search-field--route {
  flex: 1.1;
}

.prestige-hero-route-input {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--prestige-ink);
  outline: none;
}

.prestige-hero-route-input::placeholder {
  font-weight: 500;
  color: #a8a29e;
}

.prestige-filter-route {
  display: block;
  margin-bottom: 0.55rem;
}

.prestige-filter-route:last-child {
  margin-bottom: 0;
}

.prestige-search-field__icon {
  flex-shrink: 0;
  width: 1rem;
  text-align: center;
  font-size: 0.95rem;
  color: #a8a29e;
}

.prestige-search-field__body {
  flex: 1;
  min-width: 0;
}

.prestige-search-field__chevron {
  flex-shrink: 0;
  font-size: 0.7rem;
  color: #a8a29e;
  pointer-events: none;
  transition: transform 0.2s ease, color 0.2s;
}

.prestige-search-field--location.is-location-open .prestige-search-field__chevron,
.prestige-search-field--guest.is-guest-open .prestige-search-field__chevron,
.prestige-search-field--type.is-type-open .prestige-search-field__chevron {
  transform: rotate(180deg);
  color: var(--color-primary);
}

.prestige-search-field--location.is-location-open .prestige-search-field__icon,
.prestige-search-field--guest.is-guest-open .prestige-search-field__icon,
.prestige-search-field--type.is-type-open .prestige-search-field__icon {
  color: var(--color-primary);
}

.prestige-search-dates {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
}

.prestige-hero-date-input {
  width: 100%;
  min-width: 0;
  border: none;
  background: transparent;
  padding: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--prestige-ink);
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prestige-hero-date-input:focus {
  outline: none;
}

.prestige-hero-date-input::placeholder {
  color: #a8a29e;
  font-weight: 500;
}

.prestige-search-submit {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 1.5rem);
  min-height: 3.25rem;
  margin: 0.35rem 0.75rem 0.75rem;
  padding: 0 1.5rem;
  border: none;
  border-radius: 0.85rem;
  background: var(--color-primary);
  color: var(--color-on-primary);
  cursor: pointer;
  transition: all 0.2s ease;
}

@media (min-width: 1024px) {
  .prestige-search-submit {
    width: 4.25rem;
    min-height: auto;
    align-self: stretch;
    margin: 0.35rem 0.35rem 0.35rem 0;
  }
}

.prestige-search-submit:hover {
  background: var(--color-primary-dark);
}

.prestige-search-submit i {
  font-size: 1.15rem;
}

.prestige-location-picker__trigger,
.prestige-guest-picker__trigger,
.prestige-type-picker__trigger {
  width: 100%;
  min-width: 0;
  border: none;
  background: transparent;
  padding: 0;
  text-align: left;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--prestige-ink);
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prestige-location-picker__trigger.is-placeholder,
.prestige-guest-picker__trigger.is-placeholder,
.prestige-type-picker__trigger.is-placeholder {
  color: #a8a29e;
  font-weight: 500;
}

.prestige-search-field--location,
.prestige-search-field--guest,
.prestige-search-field--type,
.prestige-guest-picker {
  position: relative;
}

.prestige-location-picker__panel,
.prestige-guest-picker__menu,
.prestige-type-picker__panel {
  position: absolute;
  top: calc(100% + 0.65rem);
  left: 0;
  width: max(100%, 18rem);
  min-width: 18rem;
  z-index: 260;
  background: white;
  border: 1px solid var(--prestige-line);
  border-radius: 1rem;
  box-shadow: 0 18px 40px rgba(28, 25, 23, 0.12);
  padding: 0.75rem;
}

.prestige-location-picker__panel[hidden],
.prestige-guest-picker__menu[hidden],
.prestige-type-picker__panel[hidden] {
  display: none !important;
}

.prestige-location-picker__panel.is-floating,
.prestige-guest-picker__menu.is-floating,
.prestige-type-picker__panel.is-floating {
  z-index: 9999;
}

.prestige-search-field.is-location-open,
.prestige-search-field.is-type-open,
.prestige-search-field.is-guest-open {
  z-index: 40;
  position: relative;
}

.prestige-location-picker__nav {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.55rem;
  min-height: 1.75rem;
}

.prestige-location-picker__back,
.prestige-location-picker__clear,
.prestige-location-picker__close {
  border: none;
  background: transparent;
  color: var(--prestige-muted);
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0.25rem 0.35rem;
  border-radius: 0.5rem;
  transition: all 0.2s ease;
}

.prestige-location-picker__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  margin-left: auto;
}

.prestige-location-picker__back:hover,
.prestige-location-picker__clear:hover,
.prestige-location-picker__close:hover {
  color: var(--prestige-ink);
  background: rgba(28, 25, 23, 0.04);
}

.prestige-location-picker__back[hidden],
.prestige-location-picker__clear[hidden],
.prestige-location-picker__footer[hidden] {
  display: none !important;
}

.prestige-location-picker__step {
  flex: 1;
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  min-width: 0;
}

.prestige-location-picker__search {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
  padding: 0.55rem 0.7rem;
  border-radius: 0.75rem;
  background: white;
  border: 1px solid var(--prestige-line);
}

.prestige-location-picker__search i {
  color: #a8a29e;
  font-size: 0.75rem;
}

.prestige-location-picker__search-input {
  width: 100%;
  border: none;
  background: transparent;
  padding: 0;
  font-size: 0.875rem;
  outline: none;
  color: var(--prestige-ink);
}

.prestige-location-picker__list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 16rem;
  overflow-y: auto;
}

.prestige-location-picker__option {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border: none;
  background: transparent;
  text-align: left;
  padding: 0.7rem 0.65rem;
  border-radius: 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--prestige-ink);
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-location-picker__option i {
  font-size: 0.65rem;
  color: #a8a29e;
}

.prestige-location-picker__option:hover {
  background: var(--color-primary-soft);
  color: var(--color-primary);
}

.prestige-location-picker__empty {
  padding: 0.85rem 0.65rem;
  font-size: 0.8125rem;
  color: var(--prestige-muted);
}

.prestige-location-picker__footer {
  margin-top: 0.45rem;
  padding-top: 0.45rem;
  border-top: 1px solid var(--prestige-line);
}

.prestige-location-picker__skip {
  width: 100%;
  border: none;
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 0.65rem 0.75rem;
  border-radius: 0.75rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-location-picker__skip:hover {
  background: color-mix(in oklab, var(--color-primary) 18%, white);
}

.prestige-guest-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-guest-row:last-of-type {
  border-bottom: none;
}

.prestige-guest-row__label {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--prestige-ink);
}

.prestige-guest-row__hint {
  display: block;
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--prestige-muted);
  margin-top: 0.1rem;
}

.prestige-guest-stepper {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
}

.prestige-guest-stepper button {
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  border: 1px solid var(--prestige-line);
  background: white;
  color: var(--color-primary);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-guest-stepper button:hover:not(:disabled) {
  background: var(--color-primary-soft);
  border-color: var(--color-primary);
}

.prestige-guest-stepper button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.prestige-guest-stepper [data-count] {
  min-width: 1.25rem;
  text-align: center;
  font-size: 0.9375rem;
  font-weight: 800;
}

.prestige-guest-picker__done {
  width: 100%;
  margin-top: 0.75rem;
  padding: 0.65rem;
  border: none;
  border-radius: 0.65rem;
  background: var(--color-primary);
  color: var(--color-on-primary);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-guest-picker__done:hover {
  background: var(--color-primary-dark);
}

.prestige-type-picker__list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 16rem;
  overflow-y: auto;
}

.prestige-type-picker__option {
  width: 100%;
  display: flex;
  align-items: center;
  border: none;
  background: transparent;
  text-align: left;
  padding: 0.7rem 0.65rem;
  border-radius: 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--prestige-ink);
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-type-picker__option:hover {
  background: var(--color-primary-soft);
  color: var(--color-primary);
}

.prestige-type-picker__option.is-selected {
  background: var(--color-primary-soft);
  color: var(--color-primary);
}

.prestige-listings__filters-form .prestige-search-field {
  flex: none;
  width: 100%;
  margin: 0 0 0.4rem;
  padding: 0.42rem 0.65rem;
  border: 1px solid rgb(241 245 249);
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}

.prestige-listings__filters-form .prestige-search-field:last-child {
  margin-bottom: 0;
}

.prestige-listings__filters-form .prestige-search-field__icon,
.prestige-listings__filters-form .prestige-search-field__chevron {
  font-size: 0.8rem;
}

.prestige-listings__filters-form .prestige-type-picker__trigger {
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.25;
}

.prestige-listings__filters-form .prestige-hero-date-input {
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.25;
}

.prestige-listings__filters-form .prestige-hero-date-input::placeholder {
  font-weight: 500;
  color: #a8a29e;
}

.prestige-listings__filters-form .prestige-search-field__native {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.25;
}

.prestige-listings__filters-form .prestige-search-field__native:focus,
.prestige-listings__filters-form .prestige-hero-date-input:focus {
  outline: none;
}

.prestige-listings__filters-form input[type="number"].prestige-hero-date-input {
  cursor: text;
  -moz-appearance: textfield;
}

.prestige-listings__filters-form input[type="number"].prestige-hero-date-input::-webkit-outer-spin-button,
.prestige-listings__filters-form input[type="number"].prestige-hero-date-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.prestige-listings__filters-form .prestige-filter-stack {
  gap: 0;
}

.prestige-listings__filters-form .prestige-filter-range {
  gap: 0.45rem;
  align-items: stretch;
}

.prestige-listings__filters-form .prestige-filter-range .prestige-search-field {
  margin-bottom: 0;
}

.prestige-listings__filters-form .prestige-filter-occupancy__row .prestige-transfer-pax-stepper,
.prestige-listings__filters-form .prestige-filter-capacity,
.prestige-listings__filters-form .prestige-filter-capacity__field,
.prestige-listings__filters-form .prestige-filter-capacity__btn {
  border-color: rgb(241 245 249);
  border-radius: 0.75rem;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}

.prestige-listings__filters-form .prestige-filter-occupancy__row .prestige-transfer-pax-stepper {
  border: 1px solid rgb(241 245 249);
  background: #fff;
  padding: 0.15rem 0.25rem;
}

.prestige-listings__filters-form .prestige-filter-type span {
  border-radius: 0.75rem;
  border-color: rgb(241 245 249);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
  font-size: 0.78rem;
  font-weight: 600;
}

@media (min-width: 1024px) {
  .prestige-listings__filters-form .prestige-search-field {
    border: 1px solid rgb(241 245 249);
  }
}

.vc[data-vc="calendar"][data-vc-input] {
  z-index: 90;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 18px 40px rgba(28, 25, 23, 0.12);
  box-sizing: border-box;
}

@media (max-width: 767.98px) {
  .prestige-hero {
    min-height: 0;
    padding-top: 1.75rem;
  }

  .prestige-hero__grid {
    background-size: 48px 48px;
  }

  .prestige-hero__orb {
    filter: blur(22px);
    opacity: 0.7;
  }

  .prestige-search-field {
    padding: 0.85rem 1rem;
  }

  .vc[data-vc="calendar"][data-vc-input] {
    max-width: calc(100vw - 1.5rem);
    min-width: 0 !important;
  }
}

.prestige-hero-trust {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: clamp(1.75rem, 4vw, 2.75rem);
  overflow: hidden;
}

.prestige-hero-trust__card {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.75rem;
  height: 100%;
  padding: 0.85rem 1rem;
  text-align: left;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(var(--color-primary-rgb), 0.08);
  border-radius: 1.1rem;
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 28px -22px rgba(var(--color-primary-rgb), 0.32);
  transition: all 0.2s ease;
}

.prestige-hero-trust__card:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--color-primary-rgb), 0.22);
}

.prestige-hero-trust__icon {
  flex-shrink: 0;
  width: 2.65rem;
  height: 2.65rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  font-size: 1rem;
  color: var(--color-primary);
  background: var(--color-primary-soft);
}

.prestige-hero-trust__copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.prestige-hero-trust__copy strong {
  font-size: 0.8125rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--prestige-ink);
}

.prestige-hero-trust__copy span {
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--prestige-muted);
}

.prestige-carousel--trust .prestige-carousel__slide {
  flex-basis: 88%;
}

@media (min-width: 560px) {
  .prestige-carousel--trust .prestige-carousel__slide {
    flex-basis: 48%;
  }
}

@media (min-width: 768px) {
  .prestige-carousel--trust .prestige-carousel__slide {
    flex-basis: 33.333%;
  }
}

.prestige-field {
  display: grid;
  gap: 0.35rem;
}

.prestige-field label,
.prestige-label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-input,
.prestige-field input:not([type="checkbox"]):not([type="radio"]),
.prestige-field select,
.prestige-field textarea {
  width: 100%;
  min-height: 2.85rem;
  border-radius: 0.9rem;
  border: 1px solid var(--prestige-line);
  background: white;
  padding: 0.7rem 0.9rem;
  color: var(--prestige-ink);
}

.prestige-input:focus,
.prestige-field input:not([type="checkbox"]):not([type="radio"]):focus,
.prestige-field select:focus,
.prestige-field textarea:focus {
  outline: 2px solid color-mix(in oklab, var(--color-primary) 45%, white);
  border-color: var(--color-primary);
}

.prestige-card {
  background: var(--prestige-card);
  border: 1px solid var(--prestige-line);
  border-radius: 1.25rem;
  box-shadow: 0 10px 30px rgba(28, 25, 23, 0.04);
  overflow: hidden;
}

.prestige-listing-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .prestige-listing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .prestige-listing-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.prestige-listing-grid__item,
.prestige-listing-grid > .prestige-product {
  min-width: 0;
  height: 100%;
  display: flex;
}

.prestige-product {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid color-mix(in oklab, var(--prestige-line) 80%, #ffffff);
  border-radius: 1.25rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.prestige-product:hover {
  transform: translateY(-3px);
  border-color: color-mix(in oklab, var(--color-primary) 22%, #ffffff);
  box-shadow: 0 18px 36px -22px rgba(var(--color-primary-rgb), 0.32);
}

.prestige-product__media {
  position: relative;
  flex-shrink: 0;
  aspect-ratio: 4 / 3;
  background: var(--color-primary-soft);
  overflow: hidden;
}

.prestige-product__media-link {
  display: block;
  height: 100%;
}

.prestige-product__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.prestige-product:hover .prestige-product__media img {
  transform: scale(1.04);
}

.prestige-product__fav {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  border: 0;
  background: rgba(255, 255, 255, 0.94);
  color: var(--prestige-ink);
  box-shadow: 0 8px 18px -12px rgba(28, 25, 23, 0.35);
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-product__fav:hover,
.prestige-product__fav.is-favorited {
  color: #e11d48;
}

.prestige-product__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  padding: 1rem 1.1rem 1.15rem;
}

.prestige-product__kicker {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-height: 1.25rem;
  margin: 0 0 0.45rem;
}

.prestige-product__place {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-product__place > span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prestige-product__place-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  flex-shrink: 0;
  border-radius: 0.45rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: 0.7rem;
}

.prestige-product__title {
  margin: 0;
  min-height: 2.7em;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.35;
  color: var(--prestige-ink);
}

.prestige-product__title a {
  display: -webkit-box;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  transition: color 0.2s ease;
}

.prestige-product__title a:hover,
.prestige-product__title a:focus-visible {
  color: var(--color-primary);
}

.prestige-product__meta {
  display: -webkit-box;
  min-height: 1.35rem;
  margin: 0.45rem 0 0;
  overflow: hidden;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--prestige-muted);
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}

.prestige-product__meta-sep {
  margin: 0 0.3rem;
  color: #cbd5e1;
}

.prestige-product__foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 4.15rem;
  margin-top: auto;
  padding-top: 0.9rem;
}

.prestige-product__price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.12rem;
  min-width: 0;
}

.prestige-product__price-label {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--prestige-muted);
}

.prestige-product__price-old {
  font-size: 0.85rem;
  color: #94a3b8;
  text-decoration: line-through;
}

.prestige-product__price-now {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--color-primary);
}

.prestige-product__price-unit {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-product__rating {
  flex-shrink: 0;
  font-size: 0.75rem;
  font-weight: 700;
  color: #d97706;
}

.prestige-product__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  flex-shrink: 0;
  min-height: 2.35rem;
  padding: 0.18rem 0.22rem 0.18rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(28, 25, 23, 0.1);
  background: #ffffff;
  color: var(--prestige-ink);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 1px 2px rgba(28, 25, 23, 0.04);
  transition: all 0.2s ease;
}

.prestige-product__cta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 999px;
  background: var(--color-primary);
  color: var(--color-on-primary);
  font-size: 0.6rem;
  transition: transform 0.2s ease, background 0.2s ease;
}

.prestige-product__cta:hover {
  border-color: color-mix(in oklab, var(--color-primary) 28%, #e7e5e4);
  background: color-mix(in oklab, var(--color-primary) 6%, #ffffff);
  box-shadow: 0 8px 16px -12px rgba(28, 25, 23, 0.28);
}

.prestige-product__cta:hover .prestige-product__cta-icon {
  background: var(--color-primary-dark);
  transform: translateX(1px);
}

.prestige-product__cta:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.prestige-transfer-stack {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 1024px) {
  .prestige-transfer-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15rem;
  }
}

.prestige-transfer-stack__item {
  min-width: 0;
  height: 100%;
  display: flex;
}

.prestige-transfer-stack__item > .prestige-transfer-card,
.prestige-listing-grid > div > .prestige-transfer-card {
  width: 100%;
  height: 100%;
}

.prestige-carousel {
  overflow: hidden;
}

.prestige-carousel__viewport {
  overflow: hidden;
}

.prestige-carousel__container {
  display: flex;
  touch-action: pan-y;
}

.prestige-carousel__slide {
  flex: 0 0 85%;
  min-width: 0;
  padding-right: 1rem;
}

@media (min-width: 768px) {
  .prestige-carousel__slide {
    flex-basis: 48%;
  }
}

@media (min-width: 1024px) {
  .prestige-carousel__slide {
    flex-basis: 32%;
  }
}

.prestige-carousel--types .prestige-carousel__slide {
  flex: 0 0 calc(100% / 1.5);
  padding-right: 0.65rem;
}

.prestige-carousel--dest .prestige-carousel__slide {
  flex: 0 0 calc(100% / 1.5);
  max-width: calc(100% / 1.5);
  padding-right: 0.65rem;
}

@media (min-width: 768px) {
  .prestige-carousel--types .prestige-carousel__slide,
  .prestige-carousel--dest .prestige-carousel__slide {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 1rem;
  }
}

@media (min-width: 1024px) {
  .prestige-carousel--types .prestige-carousel__slide {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

.prestige-campaign-grid {
  display: grid;
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 640px) {
  .prestige-campaign-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .prestige-campaign-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.prestige-type-card {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  border-radius: 1.25rem;
  background: #1c1917;
  box-shadow: 0 12px 32px -20px rgba(28, 25, 23, 0.35);
  text-decoration: none;
}

.prestige-type-card__media,
.prestige-type-card__ph {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.prestige-type-card__ph {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(var(--color-primary-rgb), 0.32), transparent 55%),
    linear-gradient(160deg, #292524, #1c1917);
}

.prestige-type-card:hover .prestige-type-card__media,
.prestige-type-card:focus-visible .prestige-type-card__media {
  transform: scale(1.04);
}

.prestige-type-card__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 48%, rgba(28, 25, 23, 0.78) 100%);
  pointer-events: none;
}

.prestige-type-card__copy {
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  padding: 1rem 1.05rem 1.05rem;
  color: #f8fafc;
}

.prestige-type-card__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.25;
}

.prestige-type-card__desc {
  margin: 0.3rem 0 0;
  font-size: 0.78rem;
  line-height: 1.4;
  color: rgba(248, 250, 252, 0.82);
}

.prestige-dest-grid {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
  grid-template-columns: 1fr;
  grid-auto-rows: minmax(15.5rem, 18rem);
  grid-auto-flow: dense;
}

.prestige-dest-grid__item {
  min-width: 0;
  min-height: 0;
}

.prestige-dest-grid > li:only-child {
  grid-column: 1 / -1;
  min-height: 22rem;
}

@media (min-width: 640px) {
  .prestige-dest-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    grid-auto-rows: minmax(15.5rem, 17.5rem);
  }

  .prestige-dest-grid:has(> :nth-child(3)) > .prestige-dest-grid__item:nth-child(5n + 1) {
    grid-column: span 2;
  }
}

@media (min-width: 1024px) {
  .prestige-dest-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
    grid-auto-rows: minmax(14.75rem, 16.5rem);
  }

  .prestige-dest-grid:has(> :nth-child(3)) > .prestige-dest-grid__item:nth-child(5n + 1) {
    grid-column: auto;
  }

  .prestige-dest-grid:has(> :nth-child(3)):not(:has(> :nth-child(5))) > .prestige-dest-grid__item:first-child {
    grid-column: span 2;
  }

  .prestige-dest-grid:has(> :nth-child(5)) > .prestige-dest-grid__item:nth-child(5n + 1) {
    grid-column: span 2;
    grid-row: span 2;
  }
}

.prestige-dest-grid .prestige-dest-card {
  height: 100%;
  min-height: inherit;
  aspect-ratio: auto;
}

.prestige-dest-grid .prestige-dest-card__title {
  font-size: clamp(1.02rem, 1.15vw, 1.28rem);
}

.prestige-dest-card {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  border-radius: 1.25rem;
  background: #1c1917;
  box-shadow: 0 12px 32px -20px rgba(28, 25, 23, 0.35);
  text-decoration: none;
  color: #f8fafc;
}

.prestige-dest-card__media,
.prestige-dest-card__ph {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.prestige-dest-card__ph {
  background:
    radial-gradient(ellipse at 30% 0%, rgba(var(--color-primary-rgb), 0.38), transparent 58%),
    linear-gradient(165deg, #44403c, #1c1917);
}

.prestige-dest-card:hover .prestige-dest-card__media,
.prestige-dest-card:focus-visible .prestige-dest-card__media {
  transform: scale(1.05);
}

.prestige-dest-card:focus-visible {
  outline: 2px solid color-mix(in oklab, var(--color-primary) 55%, white);
  outline-offset: 3px;
}

.prestige-dest-card__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(28, 25, 23, 0.08) 0%, transparent 32%, rgba(28, 25, 23, 0.82) 100%);
  pointer-events: none;
}

.prestige-dest-card__copy {
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  padding: 1.05rem 1.05rem 1.1rem;
}

.prestige-dest-card__meta {
  display: flex;
  align-items: flex-end;
  gap: 0.7rem;
  min-width: 0;
}

.prestige-dest-card__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 0.8rem;
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
  backdrop-filter: blur(10px);
}

.prestige-dest-card__title {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.25;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 0.18em;
  transition: text-decoration-color 0.2s ease;
}

.prestige-dest-card:hover .prestige-dest-card__title,
.prestige-dest-card:focus-visible .prestige-dest-card__title {
  text-decoration-color: rgba(255, 255, 255, 0.75);
}

.prestige-dest-card__desc {
  display: none;
  margin: 0.28rem 0 0;
  font-size: 0.78rem;
  line-height: 1.4;
  color: rgba(248, 250, 252, 0.82);
}

@media (min-width: 768px) {
  .prestige-dest-card__desc {
    display: block;
  }
}

.prestige-dest-list {
  padding: 0 0 3.25rem;
}

@media (min-width: 1024px) {
  .prestige-dest-list {
    padding: 0 0 3.75rem;
  }
}

.prestige-carousel--refs .prestige-carousel__container {
  align-items: stretch;
}

.prestige-carousel--refs .prestige-carousel__slide {
  display: flex;
}

.prestige-carousel--listing .prestige-carousel__container {
  align-items: stretch;
}

.prestige-carousel--listing .prestige-carousel__slide {
  display: flex;
}

.prestige-carousel--listing .prestige-product {
  width: 100%;
}

.prestige-carousel--ref-tabs .prestige-carousel__container {
  align-items: stretch;
}

.prestige-carousel--ref-tabs .prestige-carousel__slide {
  display: flex;
  flex: 0 0 82%;
}

@media (min-width: 768px) {
  .prestige-carousel--ref-tabs .prestige-carousel__slide {
    flex: 0 0 48%;
  }
}

@media (min-width: 1024px) {
  .prestige-carousel--ref-tabs .prestige-carousel__slide {
    flex: 0 0 32%;
  }
}

@media (min-width: 1280px) {
  .prestige-carousel--ref-tabs .prestige-carousel__slide {
    flex: 0 0 25%;
  }
}

.prestige-ref-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.35rem;
  margin: 0 0 1.75rem;
  padding: 1.1rem 1.25rem;
  background: #ffffff;
  border: 1px solid var(--prestige-line);
  border-radius: 1.25rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-ref-summary__score {
  margin: 0;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
  color: var(--prestige-ink);
}

.prestige-ref-summary__count {
  margin: 0.35rem 0 0;
  font-size: 0.8125rem;
  color: var(--prestige-muted);
}

.prestige-ref-card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 17rem;
  padding: 1.35rem 1.3rem 1.2rem;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid color-mix(in oklab, var(--prestige-line) 80%, #ffffff);
  border-radius: 1.25rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.prestige-ref-card::before {
  content: "“";
  position: absolute;
  top: 0.55rem;
  right: 1.05rem;
  font-size: 3.25rem;
  font-weight: 700;
  line-height: 1;
  color: color-mix(in oklab, var(--color-primary) 14%, #ffffff);
  pointer-events: none;
}

.prestige-ref-card:hover {
  transform: translateY(-3px);
  border-color: color-mix(in oklab, var(--color-primary) 22%, #ffffff);
  box-shadow: 0 18px 36px -22px rgba(var(--color-primary-rgb), 0.35);
}

.prestige-ref-card__stars {
  display: inline-flex;
  align-items: center;
  gap: 0.18rem;
  width: fit-content;
  margin: 0 0 0.9rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  background: #fff7ed;
  color: #d97706;
  font-size: 0.72rem;
}

.prestige-ref-card__stars--lg {
  font-size: 0.82rem;
  margin-bottom: 0;
}

.prestige-ref-card__quote {
  flex: 1;
  z-index: 1;
  margin: 0 0 1.1rem;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--prestige-ink);
  display: -webkit-box;
  -webkit-line-clamp: 5;
  line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.prestige-ref-card__author {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid #f1f5f9;
}

.prestige-ref-card__avatar {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.75rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.prestige-ref-card__name {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-style: normal;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-ref-card__check {
  color: var(--color-primary);
  font-size: 0.78rem;
}

.prestige-ref-card__meta {
  margin: 0.2rem 0 0;
  font-size: 0.78rem;
  line-height: 1.4;
  color: var(--prestige-muted);
}

.prestige-ref-spotlight {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}

.prestige-ref-spotlight__panel {
  display: grid;
  grid-template-columns: 1fr;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid color-mix(in oklab, var(--prestige-line) 80%, #ffffff);
  border-radius: 1.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
  transition: opacity 0.22s ease;
}

.prestige-ref-spotlight__panel.is-swapping {
  opacity: 0.55;
}

@media (min-width: 1024px) {
  .prestige-ref-spotlight__panel {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    min-height: 22rem;
  }
}

.prestige-ref-spotlight__media {
  position: relative;
  min-height: 16rem;
  background: var(--color-primary-soft);
}

.prestige-ref-spotlight__image,
.prestige-ref-spotlight__ph {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.prestige-ref-spotlight__image {
  object-fit: cover;
}

.prestige-ref-spotlight__ph {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(var(--color-primary-rgb), 0.28), transparent 58%),
    linear-gradient(165deg, #e7e5e4, var(--color-primary-soft));
}

.prestige-ref-spotlight__verified {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.38rem 0.75rem;
  border-radius: 999px;
  background: rgba(28, 25, 23, 0.52);
  color: #ffffff;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.prestige-ref-spotlight__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.5rem 1.35rem 1.45rem;
}

@media (min-width: 640px) {
  .prestige-ref-spotlight__body {
    padding: 2.15rem 2rem;
  }
}

.prestige-ref-spotlight__quote {
  margin: 0.85rem 0 1.25rem;
  font-size: clamp(1.05rem, 2vw, 1.28rem);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.55;
  color: var(--prestige-ink);
}

.prestige-ref-spotlight__author {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.1rem;
}

.prestige-ref-spotlight__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.prestige-ref-spotlight__tags span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.32rem 0.7rem;
  border-radius: 999px;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: 0.7rem;
  font-weight: 600;
}

.prestige-ref-spotlight__tab {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  min-height: 6.25rem;
  padding: 1rem 1.05rem;
  text-align: left;
  cursor: pointer;
  background: #ffffff;
  border: 1px solid color-mix(in oklab, var(--prestige-line) 80%, #ffffff);
  border-radius: 1.15rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.prestige-ref-spotlight__tab:hover {
  transform: translateY(-2px);
  border-color: color-mix(in oklab, var(--color-primary) 22%, #ffffff);
}

.prestige-ref-spotlight__tab.is-active {
  border-color: var(--color-primary);
  background: var(--color-primary-soft);
  box-shadow: 0 12px 28px -18px rgba(var(--color-primary-rgb), 0.45);
}

.prestige-ref-spotlight__tab:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.prestige-ref-spotlight__tab-text {
  margin: 0 0 0.45rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--prestige-ink);
}

.prestige-ref-spotlight__tab-meta {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-campaign-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: 1.35rem;
  background: #1c1917;
  box-shadow: 0 12px 32px -20px rgba(28, 25, 23, 0.35);
}

.prestige-campaign-card__media,
.prestige-campaign-card__ph {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.prestige-campaign-card__ph {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(var(--color-primary-rgb), 0.35), transparent 55%),
    linear-gradient(160deg, #292524, #1c1917);
}

.prestige-campaign-card:hover .prestige-campaign-card__media,
.prestige-campaign-card:focus-within .prestige-campaign-card__media {
  transform: scale(1.04);
}

.prestige-campaign-card__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(28, 25, 23, 0.12) 0%, rgba(28, 25, 23, 0.18) 38%, rgba(28, 25, 23, 0.78) 100%);
  pointer-events: none;
}

.prestige-campaign-card__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: 1.1rem 1.15rem 1.15rem;
  color: #f8fafc;
}

.prestige-campaign-card__badge {
  display: inline-flex;
  max-width: 100%;
  margin: 0 0 0.55rem;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: color-mix(in oklab, var(--color-primary) 82%, #1c1917);
  color: var(--color-on-primary);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prestige-campaign-card__title {
  margin: 0;
  font-size: 1.15rem;
    font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.25;
}

.prestige-campaign-card__desc {
  margin: 0.4rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: rgba(248, 250, 252, 0.82);
}

.prestige-campaign-card__cta {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.35rem;
  margin-top: 0.9rem;
  padding: 0 0.95rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
  font-size: 0.8125rem;
  font-weight: 600;
  backdrop-filter: blur(12px);
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-campaign-card__cta:hover,
.prestige-campaign-card__cta:focus-visible {
  background: #ffffff;
  color: var(--prestige-ink);
  border-color: #ffffff;
}

.prestige-campaign-modal {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
}

.prestige-campaign-modal[hidden] {
  display: none;
}

.prestige-campaign-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(28, 25, 23, 0.48);
}

.prestige-campaign-modal__panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(34rem, 100%);
  max-height: min(90vh, 42rem);
  overflow: hidden;
  border-radius: 1.35rem;
  background: #ffffff;
  box-shadow: 0 24px 60px -28px rgba(28, 25, 23, 0.45);
}

.prestige-campaign-modal__close {
  position: absolute;
  top: 0.85rem;
  right: 0.85rem;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--prestige-ink);
  box-shadow: 0 8px 20px -12px rgba(28, 25, 23, 0.4);
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-campaign-modal__close:hover {
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
}

.prestige-campaign-modal__media {
  position: relative;
  flex: 0 0 auto;
  height: 12.5rem;
  background: #1c1917;
}

.prestige-campaign-modal__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.prestige-campaign-modal__media-badge {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--color-primary-dark);
  font-size: 0.72rem;
  font-weight: 700;
}

.prestige-campaign-modal__content {
  display: grid;
  gap: 0.9rem;
  overflow: auto;
  padding: 1.25rem 1.35rem 1.4rem;
}

.prestige-campaign-modal__title {
  margin: 0;
  font-size: 1.35rem;
    font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--prestige-ink);
  line-height: 1.25;
}

.prestige-campaign-modal__offer {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.85rem 0.95rem;
  border-radius: 1rem;
  background: var(--color-primary-soft);
}

.prestige-campaign-modal__offer-icon {
  display: grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  flex-shrink: 0;
  border-radius: 0.85rem;
  background: #ffffff;
  color: var(--color-primary-dark);
}

.prestige-campaign-modal__offer-label {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-campaign-modal__offer-value {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-campaign-modal__benefits {
  display: grid;
  gap: 0.65rem;
}

.prestige-campaign-modal__benefit {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.85rem 0.95rem;
  border-radius: 1rem;
  background: var(--color-primary-soft);
}

.prestige-campaign-modal__benefit-detail {
  display: block;
  margin-top: 0.28rem;
  font-size: 0.8rem;
  line-height: 1.45;
  color: var(--prestige-muted);
}

.prestige-campaign-modal__applies {
  display: grid;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-campaign-modal__applies li {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-campaign-modal__applies li::before {
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  flex-shrink: 0;
  border-radius: 999px;
  background: var(--color-primary);
}

.prestige-campaign-modal__section-title {
  margin: 0 0 0.35rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-campaign-modal__desc {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--prestige-muted);
}

.prestige-campaign-modal__meta {
  display: grid;
  gap: 0.55rem;
}

.prestige-campaign-modal__meta p {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin: 0;
  font-size: 0.8125rem;
  color: var(--prestige-muted);
}

.prestige-campaign-modal__meta-label {
  display: block;
  margin-bottom: 0.12rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-campaign-modal__meta p.is-urgent {
  color: #be123c;
}

.prestige-campaign-modal__meta-icon {
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  flex-shrink: 0;
  border-radius: 0.65rem;
  background: #fff1f2;
  color: #e11d48;
}

.prestige-campaign-modal__meta p:not(.is-urgent) .prestige-campaign-modal__meta-icon {
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
}

.prestige-campaign-modal__note {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-footer {
  --footer-fg: #f4f1ea;
  --footer-muted: #a8a29e;
  --footer-line: rgba(244, 241, 234, 0.1);
  --footer-lift: rgba(255, 255, 255, 0.05);
  position: relative;
  isolation: isolate;
  margin-top: 3rem;
  padding: 2.5rem 0 1.75rem;
  overflow: hidden;
  color: var(--footer-fg);
  background: color-mix(in oklab, var(--color-primary) 8%, #16141c);
  box-shadow: inset 0 1px 0 color-mix(in oklab, var(--color-primary) 42%, transparent);
}

@media (max-width: 1023.98px) {
  .prestige-footer {
    padding-bottom: calc(var(--prestige-bottom-nav-height) + env(safe-area-inset-bottom));
  }
}

.prestige-footer__wash {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 55% at 50% -18%, rgba(var(--color-primary-rgb), 0.28), transparent 58%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 36%);
}

.prestige-footer__inner {
  position: relative;
  z-index: 1;
}

.prestige-footer .prestige-brand {
  color: var(--footer-fg);
}

.prestige-footer .prestige-brand__mark {
  background: color-mix(in oklab, var(--color-primary) 28%, #1c1917);
  color: var(--color-primary-light);
}

.prestige-footer__top {
  display: grid;
  gap: 1.75rem;
  padding-bottom: 1.75rem;
  border-bottom: 1px solid var(--footer-line);
}

@media (min-width: 1024px) {
  .prestige-footer__top {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.18fr);
    align-items: start;
    gap: 3rem;
  }
}

.prestige-footer__brand {
  display: grid;
  gap: 0.85rem;
  justify-items: start;
}

.prestige-footer__tagline {
  max-width: 22rem;
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--footer-muted);
}

.prestige-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.prestige-footer__social-link {
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 999px;
  border: 1px solid var(--footer-line);
  background: var(--footer-lift);
  color: var(--footer-fg);
  text-decoration: none;
  transition: all 0.2s ease;
}

.prestige-footer__social-link:hover {
  border-color: color-mix(in oklab, var(--color-primary) 55%, transparent);
  background: color-mix(in oklab, var(--color-primary) 18%, transparent);
  color: var(--color-primary-light);
}

.prestige-footer__newsletter {
  min-width: 0;
}

.prestige-footer__eyebrow {
  margin: 0 0 0.4rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-primary-light);
}

.prestige-footer__newsletter-title {
  margin: 0 0 1rem;
  max-width: 32rem;
  font-size: 1.02rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.45;
  color: var(--footer-fg);
}

.prestige-footer-newsletter {
  display: grid;
  gap: 0.6rem;
}

.prestige-footer-newsletter__names,
.prestige-footer-newsletter__email {
  display: grid;
  gap: 0.6rem;
}

@media (min-width: 640px) {
  .prestige-footer-newsletter__names {
    grid-template-columns: 1fr 1fr;
  }

  .prestige-footer-newsletter__email {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
  }
}

.prestige-footer-newsletter__field {
  min-width: 0;
}

.prestige-footer-newsletter .prestige-input {
  min-height: 2.7rem;
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--footer-line);
  color: var(--footer-fg);
}

.prestige-footer-newsletter .prestige-input::placeholder {
  color: rgba(244, 241, 234, 0.42);
}

.prestige-footer-newsletter .prestige-input:focus {
  outline: 2px solid color-mix(in oklab, var(--color-primary) 50%, white);
  border-color: var(--color-primary);
}

.prestige-footer-newsletter__submit {
  gap: 0.45rem;
  min-height: 2.7rem;
  white-space: nowrap;
}

.prestige-footer-newsletter__consent {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin-top: 0.1rem;
  font-size: 0.75rem;
  line-height: 1.5;
  color: var(--footer-muted);
}

.prestige-footer-newsletter__consent a {
  color: var(--color-primary-light);
  border-bottom: 1px dashed color-mix(in oklab, var(--color-primary) 45%, transparent);
  text-decoration: none;
}

.prestige-footer-newsletter__message {
  margin: 0;
  padding: 0.65rem 0.8rem;
  border-radius: 0.9rem;
  font-size: 0.8125rem;
}

.prestige-footer-newsletter__message.is-success {
  background: rgba(16, 185, 129, 0.14);
  color: #6ee7b7;
}

.prestige-footer-newsletter__message.is-error {
  background: rgba(244, 63, 94, 0.14);
  color: #fda4af;
}

.prestige-footer__grid {
  display: grid;
  gap: 1.5rem;
  padding: 1.75rem 0;
  border-bottom: 1px solid var(--footer-line);
}

@media (min-width: 768px) {
  .prestige-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.75rem 2rem;
  }
}

@media (min-width: 1024px) {
  .prestige-footer__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.prestige-footer__heading {
  margin: 0 0 0.85rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--footer-muted);
}

.prestige-footer__links {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-footer__links a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--footer-fg);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px dashed transparent;
  transition: all 0.2s ease;
}

.prestige-footer__links a i {
  width: 0.9rem;
  color: var(--color-primary-light);
}

.prestige-footer__links a:hover {
  color: var(--color-primary-light);
  border-bottom-color: color-mix(in oklab, var(--color-primary) 50%, transparent);
}

.prestige-footer__contact {
  display: grid;
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-footer__contact li {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
}

.prestige-footer__contact-icon {
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  flex-shrink: 0;
  border-radius: 0.8rem;
  background: color-mix(in oklab, var(--color-primary) 18%, transparent);
  color: var(--color-primary-light);
}

.prestige-footer__contact-label {
  display: block;
  margin-bottom: 0.1rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--footer-muted);
}

.prestige-footer__contact a,
.prestige-footer__contact-text {
  color: var(--footer-fg);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.45;
  text-decoration: none;
}

.prestige-footer__contact a {
  border-bottom: 1px dashed transparent;
  transition: all 0.2s ease;
}

.prestige-footer__contact a:hover {
  color: var(--color-primary-light);
  border-bottom-color: color-mix(in oklab, var(--color-primary) 50%, transparent);
}

.prestige-footer__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--footer-line);
}

.prestige-footer__trust-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0.35rem 0.7rem 0.35rem 0.35rem;
  border-radius: 999px;
  border: 1px solid var(--footer-line);
  background: var(--footer-lift);
  color: var(--footer-fg);
  font-size: 0.72rem;
  font-weight: 600;
}

.prestige-footer__trust-icon {
  display: grid;
  place-items: center;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 999px;
  background: color-mix(in oklab, var(--color-primary) 20%, transparent);
  color: var(--color-primary-light);
  font-size: 0.65rem;
}

.prestige-footer__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--footer-line);
}

.prestige-footer__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.6rem 0.85rem;
  border-radius: 0.95rem;
  background: #ffffff;
}

.prestige-footer__badge img {
  display: block;
  height: 4.25rem;
  width: auto;
}

.prestige-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem 1.25rem;
  padding-top: 1rem;
}

.prestige-footer__copy,
.prestige-footer__powered {
  margin: 0;
  font-size: 0.72rem;
  color: var(--footer-muted);
}

.prestige-footer__powered span {
  font-weight: 600;
  color: var(--footer-fg);
}

.prestige-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
}

.prestige-footer__legal a {
  color: var(--footer-muted);
  font-size: 0.72rem;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px dashed rgba(244, 241, 234, 0.28);
  transition: all 0.2s ease;
}

.prestige-footer__legal a:hover {
  color: var(--color-primary-light);
  border-bottom-color: color-mix(in oklab, var(--color-primary) 50%, transparent);
}

.prestige-bottom-nav {
  display: none;
}

@media (max-width: 1023.98px) {
  .prestige-bottom-nav {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 35;
    padding: 0 0.7rem calc(0.4rem + env(safe-area-inset-bottom, 0px));
    pointer-events: none;
  }
}

.prestige-bottom-nav__inner {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  gap: 0.15rem;
  max-width: 26.5rem;
  margin: 0 auto;
  padding: 0.35rem 0.3rem 0.3rem;
  overflow: visible;
  pointer-events: auto;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--prestige-line);
  border-radius: 1.25rem;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 8px 28px -16px rgba(28, 25, 23, 0.28);
  backdrop-filter: blur(22px) saturate(1.35);
  -webkit-backdrop-filter: blur(22px) saturate(1.35);
}

.prestige-bottom-nav__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 0.18rem;
  min-width: 0;
  min-height: 2.75rem;
  padding: 0.25rem 0.12rem 0.15rem;
  border: 0;
  border-radius: 0.9rem;
  background: none;
  color: var(--prestige-muted);
  font: inherit;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.1;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}

.prestige-bottom-nav__icon {
  display: grid;
  place-items: center;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 0.7rem;
  font-size: 0.95rem;
  transition: all 0.2s ease;
}

.prestige-bottom-nav__label {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prestige-bottom-nav__item:hover:not(.prestige-bottom-nav__item--center) .prestige-bottom-nav__icon,
.prestige-bottom-nav__item.is-active:not(.prestige-bottom-nav__item--center) .prestige-bottom-nav__icon,
.prestige-bottom-nav__item[aria-expanded="true"] .prestige-bottom-nav__icon {
  background: var(--color-primary-soft);
  color: var(--color-primary);
}

.prestige-bottom-nav__item.is-active,
.prestige-bottom-nav__item[aria-expanded="true"] {
  color: var(--color-primary);
}

.prestige-bottom-nav__item:active:not(.prestige-bottom-nav__item--center) {
  transform: scale(0.94);
}

.prestige-bottom-nav__item--center {
  position: relative;
  margin-top: -1.35rem;
  padding-bottom: 0;
}

.prestige-bottom-nav__fab {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.1rem;
  height: 3.1rem;
  border-radius: 1rem;
  font-size: 1.15rem;
  color: var(--color-on-primary);
  background: linear-gradient(145deg, var(--color-primary), var(--color-primary-dark));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.35) inset,
    0 10px 28px -10px rgba(var(--color-primary-rgb), 0.65);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.prestige-bottom-nav__item--center .prestige-bottom-nav__label {
  margin-top: 0.15rem;
}

.prestige-bottom-nav__item--center.is-active .prestige-bottom-nav__fab,
.prestige-bottom-nav__item--center:active .prestige-bottom-nav__fab {
  transform: scale(0.94);
}

.prestige-mobile {
  position: fixed;
  inset: 0;
  z-index: 50;
}

.prestige-mobile[hidden] {
  display: none;
}

.prestige-mobile__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(28, 25, 23, 0.42);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity 0.28s ease;
}

.prestige-mobile.is-open .prestige-mobile__backdrop {
  opacity: 1;
}

.prestige-mobile__panel {
  position: absolute;
  inset: 0 auto 0 0;
  display: flex;
  flex-direction: column;
  width: min(22rem, 88vw);
  max-height: 100dvh;
  min-height: 0;
  overflow: hidden;
  background: var(--prestige-card);
  padding: 0.85rem 0.9rem calc(1.25rem + env(safe-area-inset-bottom, 0px));
  border-right: 1px solid var(--prestige-line);
  box-shadow: 16px 0 40px -28px rgba(28, 25, 23, 0.35);
  transform: translateX(-100%);
  transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.prestige-mobile.is-open .prestige-mobile__panel {
  transform: translateX(0);
}

.prestige-mobile__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-shrink: 0;
  padding: 0.15rem 0.15rem 0.85rem;
  margin-bottom: 0.35rem;
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-mobile__head .prestige-brand {
  min-height: 2.75rem;
  max-width: min(16rem, 62vw);
}

.prestige-mobile__head .prestige-brand__image {
  height: 2.35rem;
  max-width: 11.5rem;
}

.prestige-mobile__nav {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 0.35rem 0.1rem 0.75rem;
}

.prestige-mobile__group {
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-mobile__row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  min-height: 3.15rem;
  padding: 0.55rem 0.35rem;
  border: 0;
  background: transparent;
  color: var(--prestige-ink);
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-mobile__row:hover {
  color: var(--color-primary-dark);
}

.prestige-mobile__row::-webkit-details-marker {
  display: none;
}

.prestige-mobile__row::marker {
  content: "";
}

.prestige-mobile__icon {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 0.85rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: 0.95rem;
}

.prestige-mobile__label {
  flex: 1 1 auto;
  min-width: 0;
}

.prestige-mobile__chevron {
  flex-shrink: 0;
  color: var(--prestige-muted);
  font-size: 0.72rem;
  transition: transform 0.2s ease;
}

.prestige-mobile__group[open] .prestige-mobile__chevron {
  transform: rotate(180deg);
}

.prestige-mobile__subs {
  display: none;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0 0.35rem 0.85rem 3.6rem;
}

.prestige-mobile__group[open] .prestige-mobile__subs {
  display: flex;
  max-height: min(42vh, 15rem);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.prestige-mobile__subs a {
  padding: 0.55rem 0.45rem;
  border-radius: 0.7rem;
  color: var(--prestige-muted);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
}

.prestige-mobile__subs a:hover {
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
}

.prestige-mobile__sub-all {
  margin-top: 0.1rem;
  color: var(--color-primary);
  font-weight: 600;
  border-top: 1px dashed color-mix(in oklab, var(--prestige-line) 80%, transparent);
}

.prestige-mobile__footer {
  display: grid;
  gap: 0.55rem;
  flex-shrink: 0;
  padding-top: 0.85rem;
  border-top: 1px solid var(--prestige-line);
}

.prestige-mobile__utility {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  min-height: 3.15rem;
  padding: 0.35rem 0.45rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.95rem;
  background: #ffffff;
  color: var(--prestige-ink);
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-mobile__utility:hover {
  border-color: color-mix(in oklab, var(--color-primary) 28%, var(--prestige-line));
  background: var(--color-primary-soft);
}

.prestige-mobile__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-top: 0.15rem;
}

.prestige-mobile__actions--single {
  grid-template-columns: 1fr;
}

.prestige-mobile__actions .prestige-cta {
  width: 100%;
}

@media (prefers-reduced-motion: reduce) {
  .prestige-mobile__backdrop,
  .prestige-mobile__panel,
  .prestige-mobile__chevron,
  .prestige-mobile__row,
  .prestige-mobile__subs a,
  .prestige-mobile__utility {
    transition: none;
  }
}

.prestige-listings {
  padding-bottom: 2.75rem;
}

/* Shared listings hero (boat / villa / tour / transfer) */
.prestige-listings-hero {
  --listings-hero-pad-y: 2.4rem;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-bottom: 1.5rem;
  padding: var(--listings-hero-pad-y) 0 calc(var(--listings-hero-pad-y) + 0.35rem);
  background:
    linear-gradient(
      165deg,
      color-mix(in oklab, var(--color-primary) 18%, #f7fafc) 0%,
      color-mix(in oklab, var(--color-primary-light, #ddf2fc) 42%, #ffffff) 42%,
      color-mix(in oklab, var(--color-primary) 6%, #ffffff) 100%
    );
  border-bottom: 1px solid color-mix(in oklab, var(--color-primary) 14%, transparent);
}

.prestige-listings-hero__atmosphere {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.prestige-listings-hero__mesh {
  position: absolute;
  inset: -10% -5%;
  opacity: 0.35;
  background-image:
    radial-gradient(circle at 1px 1px, color-mix(in oklab, var(--color-primary) 28%, transparent) 1px, transparent 0);
  background-size: 22px 22px;
  mask-image: linear-gradient(120deg, rgba(0, 0, 0, 0.55), transparent 72%);
  -webkit-mask-image: linear-gradient(120deg, rgba(0, 0, 0, 0.55), transparent 72%);
}

.prestige-listings-hero__orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(28px);
  opacity: 0.55;
  will-change: transform;
}

.prestige-listings-hero__orb--a {
  width: 18rem;
  height: 18rem;
  top: -6rem;
  right: 8%;
  background: color-mix(in oklab, var(--color-primary) 28%, transparent);
  animation: prestige-listings-hero-drift 14s ease-in-out infinite alternate;
}

.prestige-listings-hero__orb--b {
  width: 12rem;
  height: 12rem;
  bottom: -4rem;
  left: 12%;
  background: color-mix(in oklab, var(--color-primary-light, #ddf2fc) 70%, transparent);
  animation: prestige-listings-hero-drift 18s ease-in-out infinite alternate-reverse;
}

.prestige-listings-hero__orb--c {
  width: 8rem;
  height: 8rem;
  top: 35%;
  left: 42%;
  background: color-mix(in oklab, var(--color-primary) 16%, transparent);
  animation: prestige-listings-hero-drift 11s ease-in-out infinite alternate;
}

.prestige-listings-hero__inner,
.prestige-listings-hero__content {
  position: relative;
  z-index: 1;
}

.prestige-listings-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  align-items: center;
}

.prestige-listings-hero__copy {
  min-width: 0;
  animation: prestige-listings-hero-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.prestige-listings-hero__crumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 1.15rem;
  font-size: 0.78rem;
  letter-spacing: 0.01em;
  color: color-mix(in oklab, var(--prestige-ink) 52%, #ffffff);
}

.prestige-listings-hero__crumb a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--color-primary) 35%, transparent);
  transition: color 0.2s ease, border-color 0.2s ease;
}

.prestige-listings-hero__crumb a:hover {
  color: var(--color-primary-dark, var(--color-primary));
  border-bottom-color: color-mix(in oklab, var(--color-primary) 70%, transparent);
}

.prestige-listings-hero__crumb [aria-current="page"] {
  color: var(--prestige-ink);
  font-weight: 600;
}

.prestige-listings-hero__crumb-sep {
  width: 0.28rem;
  height: 0.28rem;
  border-radius: 999px;
  background: color-mix(in oklab, var(--color-primary) 45%, transparent);
}

.prestige-listings-hero__title {
  margin: 0;
  max-width: 14ch;
  font-size: clamp(2.15rem, 5.2vw, 3.15rem);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1.05;
  color: var(--prestige-ink);
}

.prestige-listings-hero__lead {
  margin: 0.85rem 0 0;
  max-width: 34ch;
  color: var(--prestige-muted);
  font-size: 1.02rem;
  line-height: 1.55;
}

.prestige-listings-hero--flow .prestige-listings-hero__title {
  max-width: min(100%, 28ch);
}

.prestige-listings-hero--flow .prestige-listings-hero__lead {
  max-width: min(100%, 42rem);
}

.prestige-listings-hero__copy--split {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.25rem 1.75rem;
  width: 100%;
}

.prestige-listings-hero__copy-main {
  min-width: min(100%, 18rem);
  flex: 1 1 16rem;
}

.prestige-listings-hero .prestige-receipt-toolbar {
  flex: 0 0 auto;
  margin: 0;
}

.prestige-listings-hero__inner--account-home {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.35rem;
}

.prestige-listings-hero__inner--account-home > .prestige-listings-hero__copy {
  max-width: none;
}

.prestige-listings-hero .prestige-account-hero__profile {
  position: relative;
  z-index: 1;
  width: 100%;
}

.prestige-listings-hero .prestige-account-hero__title,
.prestige-listings-hero .prestige-account-hero__info .prestige-listings-hero__title {
  max-width: min(100%, 28ch);
}

.prestige-listings-hero__meta {
  margin: 0.85rem 0 0;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-listings-hero__meta time {
  color: var(--prestige-ink);
  font-weight: 600;
}

.prestige-listings-hero__cta {
  display: inline-flex;
  align-items: center;
  margin-top: 0.15rem;
}

@keyframes prestige-listings-hero-drift {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to { transform: translate3d(1.25rem, -0.85rem, 0) scale(1.06); }
}

@keyframes prestige-listings-hero-rise {
  from {
    opacity: 0;
    transform: translate3d(0, 0.85rem, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (min-width: 768px) {
  .prestige-listings-hero {
    --listings-hero-pad-y: 2.85rem;
  }
}

@media (min-width: 1024px) {
  .prestige-listings-hero {
    --listings-hero-pad-y: 3.25rem;
    margin-bottom: 1.85rem;
  }

  .prestige-listings-hero__title {
    font-size: clamp(2.45rem, 3.4vw, 3.35rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .prestige-listings-hero__orb,
  .prestige-listings-hero__copy {
    animation: none !important;
  }
}

.prestige-listings-hero .prestige-crumb {
  margin-bottom: 0.85rem;
}

.prestige-listings__title {
  margin: 0;
  font-size: clamp(1.65rem, 3vw, 2.15rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  color: var(--prestige-ink);
}

.prestige-listings__lead {
  margin: 0.4rem 0 0;
  color: var(--prestige-muted);
  font-size: 0.95rem;
}

.prestige-listings__layout {
  display: block;
  position: relative;
  padding-top: 0.25rem;
}

.prestige-listings__backdrop {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: rgba(28, 25, 23, 0.42);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s ease;
}

.prestige-page-listings.is-filters-open .prestige-listings__backdrop:not([hidden]) {
  opacity: 1;
  pointer-events: auto;
}

.prestige-listings__filters {
  position: fixed;
  z-index: 70;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--prestige-card);
  pointer-events: none;
}

.prestige-page-listings.is-filters-open .prestige-listings__filters {
  pointer-events: auto;
}

.prestige-listings__filters-handle {
  display: none;
}

.prestige-listings__filters-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-shrink: 0;
  padding: 0.7rem 1.1rem 0.55rem;
}

.prestige-listings__filters-heading {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
}

.prestige-listings__filters-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.85rem;
  background: color-mix(in oklab, var(--color-primary) 12%, #fff);
  color: var(--color-primary);
  font-size: 0.95rem;
}

.prestige-listings__filters-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 650;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-listings__filters-form {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 0 1.1rem 0.75rem;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.prestige-listings__filters-form::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.prestige-listings__filters-actions {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0.5rem;
  flex-shrink: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 0.75rem 1.1rem calc(0.9rem + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--prestige-line);
}

.prestige-listings__filters-actions .prestige-cta {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 1023.98px) {
  .prestige-listings__filters {
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-height: min(90dvh, calc(100dvh - 4.5rem));
    border-radius: 1.35rem 1.35rem 0 0;
    border: 1px solid var(--prestige-line);
    border-bottom: 0;
    box-shadow: 0 -18px 40px -24px rgba(28, 25, 23, 0.35);
    transform: translateY(105%);
    transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .prestige-page-listings.is-filters-open .prestige-listings__filters {
    transform: translateY(0);
  }

  .prestige-listings__filters-handle {
    display: block;
    width: 2.5rem;
    height: 0.28rem;
    margin: 0.65rem auto 0;
    border-radius: 999px;
    background: var(--prestige-line);
  }
}

@media (min-width: 1024px) {
  .prestige-listings {
    padding-bottom: 3.25rem;
  }

  .prestige-listings__filters {
    top: 0;
    left: 0;
    bottom: 0;
    width: min(24rem, 100vw);
    height: 100dvh;
    max-height: 100dvh;
    border-right: 1px solid var(--prestige-line);
    border-radius: 0 1.25rem 1.25rem 0;
    box-shadow: 16px 0 40px -28px rgba(28, 25, 23, 0.35);
    transform: translateX(-105%);
    transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .prestige-page-listings.is-filters-open .prestige-listings__filters {
    transform: translateX(0);
  }

  .prestige-listings__filters-head {
    padding: 1.15rem 1.35rem 0.75rem;
  }

  .prestige-listings__filters-form {
    padding: 0 1.35rem 0.75rem;
  }

  .prestige-listings__filters-actions {
    padding: 1rem 1.35rem 1.15rem;
  }

  .prestige-listings__results.prestige-listing-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Transfer + hotel + car rental: desktop sidebar filters */
@media (min-width: 1024px) {
  .prestige-listings--transfer .prestige-listings__layout,
  .prestige-listings--hotel .prestige-listings__layout,
  .prestige-listings--car-rental .prestige-listings__layout {
    display: grid;
    grid-template-columns: minmax(16.5rem, 19.5rem) minmax(0, 1fr);
    align-items: start;
    gap: 1.75rem;
  }

  .prestige-listings--transfer .prestige-listings__backdrop,
  .prestige-listings--hotel .prestige-listings__backdrop,
  .prestige-listings--car-rental .prestige-listings__backdrop {
    display: none !important;
  }

  .prestige-listings--transfer .prestige-listings__filters,
  .prestige-listings--hotel .prestige-listings__filters,
  .prestige-listings--car-rental .prestige-listings__filters {
    position: sticky;
    top: calc(var(--prestige-header-h, 4.5rem) + 1rem);
    left: auto;
    right: auto;
    bottom: auto;
    z-index: 1;
    width: auto;
    height: auto;
    max-height: calc(100dvh - var(--prestige-header-h, 4.5rem) - 2rem);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    pointer-events: auto;
    border: 1px solid rgb(241 245 249);
    border-radius: 1.25rem;
    border-right: 1px solid rgb(241 245 249);
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
    transform: none;
    transition: none;
  }

  .prestige-page-listings.is-filters-open .prestige-listings--transfer .prestige-listings__filters,
  .prestige-listings--transfer .prestige-listings__filters,
  .prestige-page-listings.is-filters-open .prestige-listings--hotel .prestige-listings__filters,
  .prestige-listings--hotel .prestige-listings__filters,
  .prestige-page-listings.is-filters-open .prestige-listings--car-rental .prestige-listings__filters,
  .prestige-listings--car-rental .prestige-listings__filters {
    transform: none;
    pointer-events: auto;
  }

  .prestige-listings--transfer .prestige-listings__filters-handle,
  .prestige-listings--transfer .prestige-listings__filters-close,
  .prestige-listings--hotel .prestige-listings__filters-handle,
  .prestige-listings--hotel .prestige-listings__filters-close,
  .prestige-listings--car-rental .prestige-listings__filters-handle,
  .prestige-listings--car-rental .prestige-listings__filters-close {
    display: none;
  }

  .prestige-listings--transfer .prestige-listings__filters-head,
  .prestige-listings--hotel .prestige-listings__filters-head,
  .prestige-listings--car-rental .prestige-listings__filters-head {
    padding: 1.05rem 1.2rem;
    border-bottom: 1px solid #f1f5f9;
    background: linear-gradient(180deg, #fff 0%, #fafbfc 100%);
  }

  .prestige-listings--transfer .prestige-listings__filters-form,
  .prestige-listings--hotel .prestige-listings__filters-form,
  .prestige-listings--car-rental .prestige-listings__filters-form {
    padding: 1rem 1.2rem 0.75rem;
  }

  .prestige-listings--transfer .prestige-listings__filters-actions,
  .prestige-listings--hotel .prestige-listings__filters-actions,
  .prestige-listings--car-rental .prestige-listings__filters-actions {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0.5rem;
    width: 100%;
    box-sizing: border-box;
    padding: 0.9rem 1.2rem 1.1rem;
  }

  .prestige-listings--transfer .prestige-listings__filters-actions .prestige-cta,
  .prestige-listings--hotel .prestige-listings__filters-actions .prestige-cta,
  .prestige-listings--car-rental .prestige-listings__filters-actions .prestige-cta {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    font-size: 0.875rem;
    padding-left: 0.65rem;
    padding-right: 0.65rem;
  }

  .prestige-listings--transfer .prestige-listings__filter-open,
  .prestige-listings--hotel .prestige-listings__filter-open,
  .prestige-listings--car-rental .prestige-listings__filter-open {
    display: none;
  }

  .prestige-listings--transfer .prestige-listings__results.prestige-listing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }

  .prestige-listings--hotel .prestige-listings__results.prestige-listing-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  .prestige-listings--car-rental .prestige-listings__results.prestige-listing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
}



/* —— Car rental product card —— */
.prestige-car-card__media {
  aspect-ratio: 16 / 10;
}

.prestige-car-card__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 0%, rgba(15, 23, 42, 0.38) 100%);
}

.prestige-car-card__perk {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: calc(100% - 4.5rem);
  margin: 0;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  border: 1px solid rgba(16, 185, 129, 0.22);
  background: rgba(236, 253, 245, 0.96);
  color: #047857;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.2;
  box-shadow: 0 8px 18px -14px rgba(4, 120, 87, 0.45);
}

.prestige-car-card__perk i {
  flex-shrink: 0;
  font-size: 0.75rem;
}

.prestige-car-card__perk span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prestige-car-card__category {
  position: absolute;
  left: 0.85rem;
  bottom: 0.85rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--prestige-ink);
  font-size: 0.72rem;
  font-weight: 700;
  box-shadow: 0 8px 18px -14px rgba(15, 23, 42, 0.45);
}

.prestige-car-card__category i {
  color: var(--color-primary);
  font-size: 0.75rem;
}

.prestige-car-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 1rem 1.05rem 1.05rem;
}

.prestige-car-card__title {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.3;
}

.prestige-car-card__specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-car-card__spec {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  padding: 0.45rem 0.55rem;
  border-radius: 0.75rem;
  background: #f8fafc;
  border: 1px solid rgb(241 245 249);
}

.prestige-car-card__spec-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  flex-shrink: 0;
  border-radius: 0.55rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: 0.75rem;
}

.prestige-car-card__spec-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  font-weight: 600;
  color: #475569;
}

.prestige-car-card__foot {
  margin-top: auto;
  border-top: 1px solid rgb(241 245 249);
  padding-top: 0.85rem;
}





/* —— Car rental detail (professional product page) —— */
.prestige-product-detail--car-rental {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media (min-width: 1024px) {
  .prestige-product-detail--car-rental {
    display: flex;
    flex-direction: column;
    grid-template-columns: unset;
  }

  .prestige-product-detail--car-rental > .prestige-crumb,
  .prestige-product-detail--car-rental > .prestige-car-detail__layout {
    grid-column: unset;
    width: 100%;
  }
}


.prestige-car-detail__media {
  position: relative;
  overflow: hidden;
  border: 1px solid rgb(241 245 249);
  border-radius: 1.5rem;
  background: #0f172a;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-car-detail__gallery.prestige-gallery--cover {
  margin: 0;
  --gallery-cover-ratio: 16 / 10;
}

@media (min-width: 1024px) {
  .prestige-car-detail__gallery.prestige-gallery--cover {
    --gallery-cover-ratio: 16 / 10;
  }
}

.prestige-car-detail__gallery .prestige-gallery__cover {
  border-radius: 0;
}

.prestige-car-detail__gallery .prestige-gallery__all-photos {
  right: 0.85rem;
  bottom: 0.85rem;
  border-radius: 0.75rem;
  pointer-events: none;
}

.prestige-car-detail__media-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 10;
  min-height: 12rem;
  color: rgba(255, 255, 255, 0.55);
  font-size: 2rem;
  background:
    radial-gradient(circle at 20% 20%, color-mix(in oklab, var(--color-primary) 28%, transparent), transparent 55%),
    linear-gradient(145deg, #1e293b, #0f172a);
}

.prestige-car-detail__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}

@media (min-width: 1024px) {
  .prestige-car-detail__layout {
    grid-template-columns: minmax(0, 1.55fr) minmax(19rem, 22.5rem);
    gap: 1.75rem;
  }

  .prestige-car-detail__booking {
    position: sticky;
    top: 5.5rem;
  }

  .prestige-car-detail__booking .prestige-product-booking__drawer-head {
    display: none;
  }
}


/* Transfer detail: beat product-detail desktop grid */
@media (min-width: 1024px) {
  .prestige-product-detail--transfer {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
  }

  .prestige-product-detail--transfer > * {
    grid-column: auto !important;
    width: 100%;
  }

  .prestige-transfer-detail__booking {
    position: sticky;
    top: calc(var(--prestige-header-h, 4.5rem) + 1rem);
  }

  .prestige-transfer-detail__booking .prestige-product-booking__drawer-head {
    display: none;
  }
}

.prestige-car-detail__main {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  min-width: 0;
}

.prestige-car-detail__identity {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 1.15rem 1.2rem;
  background: #fff;
  border: 1px solid rgb(241 245 249);
  border-radius: 1.35rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-car-detail__identity-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.prestige-car-detail__identity-signals {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.prestige-car-detail__category,
.prestige-car-detail__perk,
.prestige-car-detail__instant {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.2;
}

.prestige-car-detail__category {
  background: color-mix(in oklab, var(--color-primary) 9%, #ffffff);
  color: var(--color-primary);
  border: 1px solid color-mix(in oklab, var(--color-primary) 16%, transparent);
}

.prestige-car-detail__perk {
  background: rgba(236, 253, 245, 0.96);
  color: #047857;
  border: 1px solid rgba(16, 185, 129, 0.22);
}

.prestige-car-detail__instant {
  background: #fff7ed;
  color: #c2410c;
  border: 1px solid rgba(249, 115, 22, 0.2);
}

.prestige-car-detail__title {
  margin: 0;
}

.prestige-car-detail__glance {
  margin: 0;
}

@media (min-width: 640px) {
  .prestige-car-detail__glance.prestige-glance {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  .prestige-car-detail__glance.prestige-glance {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.prestige-car-detail__card {
  padding: 1.15rem 1.2rem 1.25rem;
  border-radius: 1.35rem;
  border: 1px solid rgb(241 245 249);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-car-detail__card .prestige-product-section__title {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.95rem;
}

.prestige-car-detail__section-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 0.8rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: 0.85rem;
  flex-shrink: 0;
}

.prestige-car-detail__empty {
  margin: 0;
  color: var(--prestige-muted, #64748b);
  font-size: 0.92rem;
}

.prestige-car-detail__specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
}

@media (max-width: 639px) {
  .prestige-car-detail__specs {
    grid-template-columns: minmax(0, 1fr);
  }
}

.prestige-car-detail__spec {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0.85rem 0.9rem;
  border-radius: 1rem;
  background: #f8fafc;
  border: 1px solid rgb(241 245 249);
}

.prestige-car-detail__spec--wide {
  grid-column: 1 / -1;
}

.prestige-car-detail__spec dt {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  color: var(--prestige-muted, #64748b);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.prestige-car-detail__spec dt i {
  color: var(--color-primary);
}

.prestige-car-detail__spec dd {
  margin: 0;
  color: var(--prestige-ink, #1e293b);
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.4;
}

.prestige-car-detail__muted {
  color: var(--prestige-muted, #64748b);
  font-weight: 500;
  font-size: 0.85em;
}

.prestige-car-detail__policy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  margin-top: 1rem;
  padding-top: 0.95rem;
  border-top: 1px solid rgb(241 245 249);
}

.prestige-car-detail__policy-label {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--prestige-muted, #64748b);
}

.prestige-car-detail__policy-name {
  margin: 0.15rem 0 0;
  font-size: 0.92rem;
  font-weight: 650;
  color: var(--prestige-ink, #1e293b);
}

.prestige-car-detail__branches {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.prestige-car-detail__branch {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.85rem 0.95rem;
  border-radius: 1rem;
  background: #f8fafc;
  border: 1px solid rgb(241 245 249);
}

.prestige-car-detail__branch-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 0.75rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  flex-shrink: 0;
}

.prestige-car-detail__branch-body {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.prestige-car-detail__branch-name {
  font-size: 0.95rem;
  color: var(--prestige-ink, #1e293b);
}

.prestige-car-detail__addons {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.prestige-car-detail__addon {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: start;
  padding: 0.9rem 0.95rem;
  border-radius: 1rem;
  background: #f8fafc;
  border: 1px solid rgb(241 245 249);
}

.prestige-car-detail__addon-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 0.75rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
}

.prestige-car-detail__addon-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

.prestige-car-detail__addon-name {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 650;
  color: var(--prestige-ink, #1e293b);
}

.prestige-car-detail__addon-desc {
  margin-top: 0.25rem;
  color: var(--prestige-muted, #64748b);
  font-size: 0.84rem;
  line-height: 1.45;
}

.prestige-car-detail__addon-price {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--color-primary);
  white-space: nowrap;
}

.prestige-car-detail__rec {
  padding: 0.85rem 0;
}

.prestige-car-detail__rec + .prestige-car-detail__rec {
  border-top: 1px solid rgb(241 245 249);
}
/* —— Transfer product card (vertical, car-parity) —— */
.prestige-transfer-card__media {
  aspect-ratio: 16 / 10;
}

.prestige-transfer-card__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 0%, rgba(15, 23, 42, 0.38) 100%);
}

.prestige-transfer-card__perk {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: calc(100% - 4.5rem);
  margin: 0;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  border: 1px solid rgba(16, 185, 129, 0.22);
  background: rgba(236, 253, 245, 0.96);
  color: #047857;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.2;
  box-shadow: 0 8px 18px -14px rgba(4, 120, 87, 0.45);
}

.prestige-transfer-card__perk i {
  flex-shrink: 0;
  font-size: 0.75rem;
}

.prestige-transfer-card__perk span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prestige-transfer-card__category {
  position: absolute;
  left: 0.85rem;
  bottom: 0.85rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--prestige-ink);
  font-size: 0.72rem;
  font-weight: 700;
  box-shadow: 0 8px 18px -14px rgba(15, 23, 42, 0.45);
}

.prestige-transfer-card__category i {
  color: var(--color-primary);
  font-size: 0.75rem;
}

.prestige-transfer-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 1rem 1.05rem 1.05rem;
}

.prestige-transfer-card__title {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.3;
}

.prestige-transfer-card__specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-transfer-card__spec {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  padding: 0.45rem 0.55rem;
  border-radius: 0.75rem;
  background: #f8fafc;
  border: 1px solid rgb(241 245 249);
}

.prestige-transfer-card__spec-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  flex-shrink: 0;
  border-radius: 0.55rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: 0.75rem;
}

.prestige-transfer-card__spec-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  font-weight: 600;
  color: #475569;
}

.prestige-transfer-card__spec--wide {
  grid-column: 1 / -1;
}

.prestige-transfer-card__rating {
  position: absolute;
  left: 0.85rem;
  bottom: 0.85rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--prestige-ink);
  font-size: 0.72rem;
  font-weight: 700;
  box-shadow: 0 8px 18px -14px rgba(15, 23, 42, 0.45);
}

.prestige-transfer-card__rating i {
  color: #f59e0b;
  font-size: 0.7rem;
}


.prestige-transfer-card__foot {
  margin-top: auto;
  border-top: 1px solid rgb(241 245 249);
  padding-top: 0.85rem;
}


/* Hotel list cards: horizontal list layout from tablet up */
@media (min-width: 720px) {
  .prestige-listings--hotel .prestige-listings__results.prestige-listing-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  .prestige-listings--hotel .prestige-product {
    flex-direction: row;
    align-items: stretch;
    min-height: 12rem;
  }

  .prestige-listings--hotel .prestige-product:hover {
    transform: none;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
  }

  .prestige-listings--hotel .prestige-product__media {
    width: min(16rem, 34%);
    min-width: 12rem;
    aspect-ratio: auto;
    min-height: 12rem;
    align-self: stretch;
  }

  .prestige-listings--hotel .prestige-product__body {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: space-between;
    padding: 0.9rem 1.05rem 0.95rem;
    gap: 0.7rem;
  }

  .prestige-listings--hotel .prestige-hotel-card__body {
    padding: 0.9rem 1.05rem 0.95rem;
    gap: 0.7rem;
  }

  .prestige-listings--hotel .prestige-product__foot {
    margin-top: auto;
    padding-top: 0.45rem;
  }
}

.prestige-hotel-card__top {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
}

.prestige-hotel-card__body {
  gap: 0.75rem;
  padding: 0.85rem 1rem 0.95rem;
}

.prestige-hotel-card__body .prestige-product__kicker {
  margin: 0;
  min-height: 0;
  align-items: center;
  gap: 0.65rem;
}

.prestige-hotel-card__body .prestige-product__title {
  min-height: 0;
  font-size: 1rem;
  line-height: 1.3;
}

.prestige-hotel-card__body .prestige-product__foot {
  min-height: 0;
  margin-top: auto;
  padding-top: 0.55rem;
  gap: 0.6rem;
  align-items: center;
}

.prestige-hotel-card__location {
  position: absolute;
  left: 0.65rem;
  bottom: 0.65rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  max-width: calc(100% - 1.3rem);
  margin: 0;
  padding: 0.3rem 0.55rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.72);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.15;
  backdrop-filter: blur(6px);
  pointer-events: none;
}

.prestige-hotel-card__location i {
  flex-shrink: 0;
  font-size: 0.72rem;
  opacity: 0.92;
}

.prestige-hotel-card__location span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prestige-hotel-card__kicker {
  align-items: center;
}

.prestige-hotel-card__badges {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem 0.5rem;
  margin-left: auto;
  flex-shrink: 0;
}

.prestige-hotel-card__stars {
  display: inline-flex;
  align-items: center;
  gap: 0.1rem;
  margin: 0;
  color: #f59e0b;
  font-size: 0.72rem;
  line-height: 1;
}

.prestige-hotel-card__stars .fa-light {
  color: #cbd5e1;
}

.prestige-hotel-card__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  min-width: 0;
}

.prestige-hotel-card__fact {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-width: 0;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.2;
}

.prestige-hotel-card__fact span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prestige-hotel-card__fact i {
  flex-shrink: 0;
  color: var(--color-primary);
  font-size: 0.78rem;
}

.prestige-hotel-card__amenities {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin: 0.1rem 0 0;
  padding: 0;
  list-style: none;
}

.prestige-hotel-card__amenities li {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.22rem 0.5rem;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--prestige-line) 85%, transparent);
  background: #fff;
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.2;
}

.prestige-hotel-card__amenities li i {
  color: var(--color-primary);
  font-size: 0.72rem;
}

.prestige-tour-card__top {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
}

.prestige-tour-card__body {
  gap: 0.75rem;
  padding: 0.85rem 1rem 0.95rem;
}

.prestige-tour-card__body .prestige-product__kicker {
  margin: 0;
  min-height: 0;
  align-items: center;
  gap: 0.65rem;
}

.prestige-tour-card__body .prestige-product__title {
  min-height: 0;
  font-size: 1rem;
  line-height: 1.3;
}

.prestige-tour-card__body .prestige-product__foot {
  min-height: 0;
  margin-top: auto;
  padding-top: 0.55rem;
  gap: 0.6rem;
  align-items: center;
}

.prestige-tour-card__location {
  position: absolute;
  left: 0.65rem;
  bottom: 0.65rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  max-width: calc(100% - 1.3rem);
  margin: 0;
  padding: 0.3rem 0.55rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.72);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.15;
  backdrop-filter: blur(6px);
  pointer-events: none;
}

.prestige-tour-card__location i {
  flex-shrink: 0;
  font-size: 0.72rem;
  opacity: 0.92;
}

.prestige-tour-card__location span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prestige-tour-card__kicker {
  align-items: center;
}

.prestige-tour-card__class {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  min-width: 0;
}

.prestige-tour-card__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.7rem;
  min-width: 0;
}

.prestige-tour-card__fact {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-width: 0;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.2;
}

.prestige-tour-card__fact span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prestige-tour-card__fact i {
  flex-shrink: 0;
  color: var(--color-primary);
  font-size: 0.78rem;
}

.prestige-filter-group {
  margin: 0 0 1.15rem;
  padding: 0;
  border: 0;
}

.prestige-filter-group .prestige-label {
  display: block;
  margin-bottom: 0.55rem;
}

.prestige-filter-types {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-filter-type {
  position: relative;
  display: block;
  cursor: pointer;
}

.prestige-filter-type input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.prestige-filter-type span {
  display: inline-flex;
  align-items: center;
  min-height: 2.35rem;
  padding: 0.35rem 0.8rem;
  border: 1px solid var(--prestige-line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--prestige-ink);
  font-size: 0.8125rem;
  font-weight: 600;
  transition: all 0.2s ease;
}

.prestige-filter-type input:checked + span,
.prestige-filter-type:hover span {
  border-color: color-mix(in oklab, var(--color-primary) 35%, var(--prestige-line));
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
}

.prestige-filter-stack {
  display: grid;
  gap: 0.5rem;
}

.prestige-filter-dates {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.85rem;
  padding: 0 0.85rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.9rem;
  background: #ffffff;
}

.prestige-filter-dates__icon {
  color: var(--color-primary);
}

.prestige-filter-dates__input {
  border: 0;
  min-height: 2.4rem;
  padding: 0;
  background: transparent;
}

.prestige-filter-dates__input:focus {
  outline: none;
  box-shadow: none;
}

.prestige-filter-capacity {
  display: grid;
  grid-template-columns: 2.65rem minmax(0, 1fr) 2.65rem;
  gap: 0.45rem;
  align-items: center;
}

.prestige-listings__filters .prestige-transfer-pax-stepper[data-filter-capacity] {
  width: 100%;
}

.prestige-filter-occupancy {
  display: grid;
  gap: 0.75rem;
}

.prestige-filter-occupancy__row {
  display: grid;
  gap: 0.35rem;
}

.prestige-filter-occupancy__label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: color-mix(in srgb, var(--prestige-ink) 72%, transparent);
}

.prestige-filter-capacity__btn {
  display: grid;
  place-items: center;
  width: 2.65rem;
  height: 2.65rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.85rem;
  background: #ffffff;
  color: var(--prestige-ink);
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-filter-capacity__btn:hover:not(:disabled) {
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
}

.prestige-filter-capacity__btn:disabled {
  opacity: 0.4;
  cursor: default;
}

.prestige-filter-capacity__field {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 2.65rem;
  padding: 0 0.7rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.85rem;
  background: #ffffff;
}

.prestige-filter-capacity__input {
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--prestige-ink);
  font: inherit;
  font-weight: 600;
  text-align: center;
}

.prestige-filter-capacity__input:focus {
  outline: none;
}

.prestige-filter-capacity__suffix {
  color: var(--prestige-muted);
  font-size: 0.75rem;
  white-space: nowrap;
}

.prestige-filter-range {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 0.45rem;
  align-items: center;
}

.prestige-filter-range__sep {
  color: var(--prestige-muted);
}

.prestige-filter-switches {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-filter-switch {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.7rem;
  align-items: center;
  min-height: 3.15rem;
  padding: 0.4rem 0.45rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.95rem;
  background: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-filter-switch:hover,
.prestige-filter-switch:has(input:checked) {
  border-color: color-mix(in oklab, var(--color-primary) 28%, var(--prestige-line));
  background: var(--color-primary-soft);
}

.prestige-filter-switch__icon {
  display: grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.75rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
}

.prestige-filter-switch__copy {
  display: grid;
  min-width: 0;
}

.prestige-filter-switch__title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-filter-switch__lead {
  font-size: 0.75rem;
  color: var(--prestige-muted);
}

.prestige-filter-switch input {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: var(--color-primary);
}

.prestige-filter-amenity {
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-filter-amenity:last-child {
  border-bottom: 0;
}

.prestige-filter-amenity summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-height: 2.75rem;
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--prestige-ink);
  list-style: none;
  transition: color 0.2s ease;
}

.prestige-filter-amenity summary::-webkit-details-marker {
  display: none;
}

.prestige-filter-amenity summary i {
  color: var(--prestige-muted);
  font-size: 0.7rem;
  transition: transform 0.2s ease;
}

.prestige-filter-amenity[open] summary i {
  transform: rotate(180deg);
}

.prestige-filter-amenity:has(input:checked) summary {
  color: var(--color-primary-dark);
}

.prestige-filter-amenity ul {
  display: grid;
  gap: 0.2rem;
  margin: 0;
  padding: 0 0 0.75rem;
  list-style: none;
}

.prestige-filter-check {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 2.45rem;
  padding: 0.45rem 0.65rem;
  border-radius: 0.8rem;
  font-size: 0.875rem;
  color: var(--prestige-ink);
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-filter-check:hover {
  background: #f8f9fa;
}

.prestige-filter-check:has(input:checked) {
  background: var(--color-primary-soft);
}

.prestige-filter-check input {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.prestige-filter-check__box {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 1.15rem;
  height: 1.15rem;
  border: 1.5px solid color-mix(in oklab, var(--prestige-ink) 18%, var(--prestige-line));
  border-radius: 0.4rem;
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  transition: all 0.2s ease;
}

.prestige-filter-check__box::after {
  content: "";
  width: 0.28rem;
  height: 0.5rem;
  margin-top: -0.1rem;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: rotate(45deg) scale(0.6);
  opacity: 0;
  transition: all 0.2s ease;
}

.prestige-filter-check:hover .prestige-filter-check__box {
  border-color: color-mix(in oklab, var(--color-primary) 45%, var(--prestige-line));
}

.prestige-filter-check:has(input:checked) .prestige-filter-check__box {
  border-color: var(--color-primary);
  background: var(--color-primary);
}

.prestige-filter-check:has(input:checked) .prestige-filter-check__box::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}

.prestige-filter-check:has(input:focus-visible) .prestige-filter-check__box {
  outline: 2px solid color-mix(in oklab, var(--color-primary) 45%, white);
  outline-offset: 2px;
}

.prestige-filter-check__text {
  min-width: 0;
  line-height: 1.35;
}

.prestige-listings__main {
  min-width: 0;
}

.prestige-listings__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.prestige-listings__count,
.prestige-listings__filter-open,
.prestige-listings-sort__trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.65rem;
  color: var(--prestige-ink);
}

.prestige-listings__count {
  margin: 0;
  font-size: 0.9rem;
}

.prestige-listings__count-copy {
  display: grid;
  line-height: 1.15;
}

.prestige-listings__count-hint {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-listings__count strong {
  font-weight: 700;
}

.prestige-listings__count-icon {
  display: grid;
  place-items: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 0.75rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
}

.prestige-listings__filter-open .prestige-listings__count-icon,
.prestige-listings-sort__trigger .prestige-listings__count-icon {
  border-radius: 999px;
}

.prestige-listings__toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.prestige-listings__filter-open,
.prestige-listings-sort__trigger {
  padding: 0 0.85rem 0 0.35rem;
  border: 1px solid var(--prestige-line);
  border-radius: 999px;
  background: #ffffff;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-listings__filter-open:hover,
.prestige-listings-sort__trigger:hover,
.prestige-listings-sort.is-open .prestige-listings-sort__trigger {
  border-color: color-mix(in oklab, var(--color-primary) 28%, var(--prestige-line));
  background: var(--color-primary-soft);
}

.prestige-listings__filter-count {
  min-width: 1.25rem;
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
  background: var(--color-primary);
  color: var(--color-on-primary);
  font-size: 0.7rem;
  text-align: center;
}

.prestige-listings-sort {
  position: relative;
}

.prestige-listings-sort__glyph {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.05rem;
  font-size: 0.58rem;
  line-height: 1;
}

.prestige-listings-sort__menu {
  position: absolute;
  right: 0;
  top: calc(100% + 0.4rem);
  z-index: 20;
  min-width: 12.5rem;
  padding: 0.35rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.95rem;
  background: #ffffff;
  box-shadow: 0 16px 36px -24px rgba(28, 25, 23, 0.35);
}

.prestige-listings-sort__menu[hidden] {
  display: none;
}

.prestige-listings-sort__menu button {
  display: block;
  width: 100%;
  padding: 0.65rem 0.75rem;
  border: 0;
  border-radius: 0.7rem;
  background: transparent;
  color: var(--prestige-ink);
  font: inherit;
  font-size: 0.875rem;
  text-align: left;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-listings-sort__menu button:hover,
.prestige-listings-sort__menu button[aria-selected="true"] {
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
}

.prestige-listings-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 1.1rem;
}

.prestige-listings-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2rem;
  padding: 0.2rem 0.7rem;
  border: 1px solid var(--prestige-line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--prestige-ink);
  font-size: 0.78rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.prestige-listings-chip:hover {
  border-color: color-mix(in oklab, var(--color-primary) 30%, var(--prestige-line));
  color: var(--color-primary-dark);
}

.prestige-listings-chip--clear {
  border-style: dashed;
  color: var(--prestige-muted);
}

.prestige-listings-empty {
  padding: 2.5rem 1.25rem;
  border: 1px dashed var(--prestige-line);
  border-radius: 1.25rem;
  background: #ffffff;
  color: var(--prestige-muted);
  text-align: center;
}

.prestige-listings-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 1.75rem;
}

.prestige-listings-pagination__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  min-height: 2.5rem;
  padding: 0 0.75rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.8rem;
  background: #ffffff;
  color: var(--prestige-ink);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.prestige-listings-pagination__btn:hover,
.prestige-listings-pagination__btn.is-current {
  border-color: color-mix(in oklab, var(--color-primary) 35%, var(--prestige-line));
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
}

.prestige-listings-pagination__ellipsis {
  padding: 0 0.35rem;
  color: var(--prestige-muted);
}

@media (prefers-reduced-motion: reduce) {
  .prestige-listings__backdrop,
  .prestige-listings__filters,
  .prestige-filter-type span,
  .prestige-filter-switch,
  .prestige-listings-chip {
    transition: none;
  }
}

.prestige-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border-radius: 999px;
  padding: 0.35rem 0.7rem;
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
  font-size: 0.75rem;
  font-weight: 600;
}

.prestige-crumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  font-size: 0.8rem;
  color: var(--prestige-muted);
  margin-bottom: 1.25rem;
}

.prestige-crumb a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dashed #d6d3d1;
}

.ts-wrapper .ts-control {
  border-radius: 0.9rem !important;
  border-color: var(--prestige-line) !important;
  min-height: 2.85rem;
  background: white !important;
}

.prestige-select {
  display: block;
  width: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  --ts-pr-caret: 1.75rem;
}

.ts-wrapper.prestige-select,
.ts-wrapper.prestige-input {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.ts-wrapper.prestige-select:focus,
.ts-wrapper.prestige-input:focus {
  outline: none;
  border-color: transparent;
}

.prestige-select .ts-control {
  display: flex;
  align-items: center;
  min-height: 2.85rem;
  padding: 0.55rem 2.35rem 0.55rem 0.9rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.9rem;
  background: #ffffff;
  box-shadow: none;
  font-size: 0.875rem;
  line-height: 1.35;
  color: var(--prestige-ink);
  transition: all 0.2s ease;
}

.prestige-select.single .ts-control {
  position: relative;
}

.prestige-select.single .ts-control::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.38rem;
  height: 0.38rem;
  border-right: 1.5px solid var(--prestige-muted);
  border-bottom: 1.5px solid var(--prestige-muted);
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
  transition: transform 0.2s ease;
}

.prestige-select.dropdown-active.single .ts-control::after {
  transform: translateY(-20%) rotate(225deg);
}

.prestige-select.focus .ts-control {
  outline: 2px solid color-mix(in oklab, var(--color-primary) 45%, white);
  border-color: var(--color-primary);
}

.prestige-select.disabled .ts-control {
  background: #f8f9fa;
  color: var(--prestige-muted);
  opacity: 1;
  cursor: not-allowed;
}

.prestige-select .ts-control .item {
  color: inherit;
}

body > .ts-dropdown.prestige-select-dropdown {
  z-index: 85;
  margin-top: 0.35rem;
  overflow: hidden;
  border: 1px solid rgb(226 232 240 / 0.9);
  border-top: 1px solid rgb(226 232 240 / 0.9);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow:
    0 4px 6px -1px rgba(15, 23, 42, 0.04),
    0 16px 40px -12px rgba(15, 23, 42, 0.18);
  font-size: 0.875rem;
  color: var(--prestige-ink);
}

/* Above mobile booking drawer (z-index: 90) */
body.is-booking-drawer-open > .ts-dropdown.prestige-select-dropdown {
  z-index: 100;
}

body.is-filters-open > .ts-dropdown.prestige-select-dropdown {
  z-index: 100;
}

body > .ts-dropdown.prestige-select-dropdown .dropdown-input-wrap {
  padding: 0.55rem 0.55rem 0.45rem;
  background: #f8f9fa;
  border-bottom: 1px solid rgb(241 245 249);
}

body > .ts-dropdown.prestige-select-dropdown .dropdown-input {
  display: block;
  width: 100%;
  min-height: 2.4rem;
  padding: 0.5rem 0.8rem 0.5rem 2.35rem;
  border: 1px solid rgb(226 232 240);
  border-radius: 0.75rem;
  background-color: #ffffff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2394a3b8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.2-3.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 0.75rem 50%;
  background-size: 0.9rem;
  color: var(--prestige-ink);
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 500;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body > .ts-dropdown.prestige-select-dropdown .dropdown-input:focus {
  outline: none;
  border-color: color-mix(in oklab, var(--color-primary) 55%, white);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-primary) 18%, transparent);
}

body > .ts-dropdown.prestige-select-dropdown .ts-dropdown-content {
  max-height: 16rem;
  padding: 0.4rem;
}

body > .ts-dropdown.prestige-select-dropdown .option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem 0.8rem;
  margin: 0.1rem 0;
  border-radius: 0.75rem;
  color: #334155;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.35;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

body > .ts-dropdown.prestige-select-dropdown .option .prestige-select-option {
  display: flex;
  align-items: center;
  min-width: 0;
  flex: 1;
}

body > .ts-dropdown.prestige-select-dropdown .option .prestige-select-option.is-placeholder .prestige-select-option__label {
  color: #94a3b8;
  font-weight: 500;
}

body > .ts-dropdown.prestige-select-dropdown .option.active {
  background: #f8fafc;
  color: #0f172a;
}

body > .ts-dropdown.prestige-select-dropdown .option.selected {
  background: color-mix(in oklab, var(--color-primary) 10%, white);
  color: var(--color-primary-dark, var(--color-primary));
  font-weight: 600;
}

body > .ts-dropdown.prestige-select-dropdown .option.selected::after {
  content: "";
  flex-shrink: 0;
  width: 0.9rem;
  height: 0.9rem;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

body > .ts-dropdown.prestige-select-dropdown .no-results {
  padding: 0.85rem 0.8rem;
  color: #94a3b8;
  font-size: 0.8125rem;
  font-weight: 500;
  text-align: center;
}

.prestige-listings__filters-form .prestige-search-field .ts-wrapper.prestige-select {
  display: block;
  width: 100%;
  min-width: 0;
}

.prestige-listings__filters-form .prestige-search-field .prestige-select .ts-control {
  display: flex;
  align-items: center;
  min-height: 0;
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.25;
  color: inherit;
}

.prestige-listings__filters-form .prestige-search-field .prestige-select.single .ts-control::after {
  content: none;
  display: none;
}

.prestige-listings__filters-form .prestige-search-field .prestige-select.focus .ts-control {
  border: 0 !important;
  box-shadow: none !important;
}

.prestige-listings__filters-form .prestige-search-field .prestige-select .ts-control .item {
  margin: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
}

.prestige-listings__filters-form .prestige-search-field .prestige-select.disabled {
  opacity: 0.55;
  pointer-events: none;
}
.prestige-listings__filters-form .prestige-search-field .prestige-select .ts-control .item.is-placeholder {
  color: #a8a29e;
  font-weight: 500;
}

.prestige-listings__filters-form .prestige-search-field .prestige-select.single .ts-control {
  cursor: pointer;
}


.prestige-modal[hidden],
.prestige-locale-modal[hidden] {
  display: none;
}

.prestige-locale-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.prestige-locale-modal.is-open {
  display: flex;
}

.prestige-locale-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(28, 25, 23, 0.42);
  backdrop-filter: blur(6px);
}

.prestige-locale-modal__panel {
  position: relative;
  z-index: 1;
  width: min(28rem, 100%);
  padding: 1.25rem 1.3rem 1.4rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.35rem;
  background: #ffffff;
  box-shadow: 0 24px 60px -28px rgba(28, 25, 23, 0.4);
}

.prestige-locale-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1.15rem;
}

.prestige-locale-modal__title {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 650;
  letter-spacing: -0.03em;
  color: var(--prestige-ink);
}

.prestige-locale-modal__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.prestige-locale-modal .prestige-label {
  margin: 0 0 0.55rem;
}

.prestige-locale-modal .prestige-locale-modal__label-spaced {
  margin: 1.75rem 0 0.55rem;
}

.prestige-locale-modal__submit {
  width: 100%;
  margin-top: 1.5rem;
}

.prestige-locale-option {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 3.15rem;
  padding: 0.7rem 0.85rem;
  border-radius: 1rem;
  border: 1px solid var(--prestige-line);
  background: white;
  color: var(--prestige-ink);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-locale-option:hover,
.prestige-locale-option.is-selected,
.prestige-locale-option:has(input:checked) {
  border-color: color-mix(in oklab, var(--color-primary) 45%, var(--prestige-line));
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
}

.prestige-locale-option__flag {
  width: 1.25rem;
  height: 0.9rem;
  border-radius: 0.2rem;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgba(28, 25, 23, 0.08);
  flex-shrink: 0;
}

.prestige-locale-option:not(:has(input:checked)) .prestige-locale-option__flag {
  opacity: 0.72;
}

.prestige-notifications {
  position: relative;
}

.prestige-notifications .prestige-user__avatar {
  position: relative;
}

.prestige-notifications [data-notifications-badge] {
  position: absolute;
  top: -0.15rem;
  right: -0.2rem;
  min-width: 1.05rem;
  height: 1.05rem;
  padding: 0 0.28rem;
  border-radius: 999px;
  background: #e11d48;
  color: #ffffff;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.05rem;
  text-align: center;
}

.prestige-notifications__panel {
  position: absolute;
  right: 0;
  top: calc(100% + 0.55rem);
  z-index: 50;
  width: min(22rem, calc(100vw - 1.5rem));
  overflow: hidden;
  border-radius: 1.15rem;
  border: 1px solid var(--prestige-line);
  background: #ffffff;
  box-shadow: 0 18px 40px -24px rgba(28, 25, 23, 0.35);
}

.prestige-notifications__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-notifications__heading {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.15rem;
}

.prestige-notifications__title {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--prestige-ink);
}

.prestige-notifications__mark-all {
  flex-shrink: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-primary);
  font-family: inherit;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.prestige-notifications__mark-all:hover {
  opacity: 0.75;
}

.prestige-notifications__list {
  max-height: 18rem;
  overflow: auto;
}

.prestige-notifications__empty {
  padding: 1.15rem 1rem;
  font-size: 0.82rem;
  color: var(--prestige-muted);
}

.prestige-notifications__item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.8rem 1rem;
  border-bottom: 1px solid var(--prestige-line);
  color: inherit;
  text-decoration: none;
  transition: background 0.2s ease;
}

.prestige-notifications__item:hover {
  background: #f8f8f7;
}

.prestige-notifications__item.is-unread {
  background: var(--color-primary-soft);
}

.prestige-notifications__item-title {
  font-size: 0.82rem;
  font-weight: 650;
  color: var(--prestige-ink);
}

.prestige-notifications__item-body,
.prestige-notifications__item-time {
  font-size: 0.75rem;
  color: var(--prestige-muted);
}

.prestige-notifications__footer {
  display: block;
  padding: 0.8rem 1rem;
  border-top: 1px solid var(--prestige-line);
  color: var(--color-primary);
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
}

.prestige-notifications__footer:hover {
  background: #f8f8f7;
}

.prestige-product-page {
  padding-bottom: 2.5rem;
}

.prestige-product-detail {
  padding-top: 1.35rem;
  padding-bottom: 2.5rem;
}

.prestige-gallery {
  --gallery-main-ratio: 6 / 5;
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 0.4rem;
  width: 100%;
  max-width: 100%;
  margin-bottom: 1.5rem;
  overflow: hidden;
  border: 1px solid rgb(241 245 249);
  border-radius: 1.5rem;
  background: var(--color-primary-soft);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-gallery__main {
  flex: 1 1 50%;
  min-width: 0;
  display: block;
  position: relative;
  overflow: hidden;
  background: var(--color-primary-soft);
  aspect-ratio: var(--gallery-main-ratio);
}

.prestige-gallery--single .prestige-gallery__main {
  flex: 1 1 100%;
}

.prestige-gallery--single {
  --gallery-main-ratio: 16 / 9;
}

@media (min-width: 1024px) {
  .prestige-gallery--single {
    --gallery-main-ratio: 2 / 1;
  }
}

.prestige-gallery--empty {
  display: block;
}

.prestige-gallery--empty img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: var(--gallery-main-ratio);
  object-fit: cover;
  background: var(--color-primary-soft);
}

.prestige-gallery__side {
  flex: 1 1 50%;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 0.4rem;
  aspect-ratio: var(--gallery-main-ratio);
}

.prestige-gallery--duo .prestige-gallery__main {
  flex: 1 1 62%;
}

.prestige-gallery--duo .prestige-gallery__side {
  flex: 1 1 38%;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.prestige-gallery__main img,
.prestige-gallery__cell img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: var(--color-primary-soft);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.prestige-gallery__main:hover img,
.prestige-gallery__cell:hover img {
  transform: scale(1.04);
}

.prestige-gallery__cell {
  position: relative;
  display: block;
  overflow: hidden;
  min-height: 0;
  background: var(--color-primary-soft);
}

.prestige-gallery__cell--more .prestige-gallery__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  background: color-mix(in oklab, var(--color-primary) 42%, rgba(15, 23, 42, 0.55));
  backdrop-filter: blur(6px);
  color: #ffffff;
  font-size: 0.8125rem;
  font-weight: 700;
  text-align: center;
  pointer-events: none;
}

.prestige-gallery__overlay i {
  font-size: 1.35rem;
}

.prestige-gallery__count {
  font-size: 0.6875rem;
  font-weight: 700;
  opacity: 0.9;
}

.prestige-gallery__extras {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.prestige-gallery--cover {
  display: block;
  position: relative;
  --gallery-cover-ratio: 16 / 9;
}

@media (min-width: 1024px) {
  .prestige-gallery--cover {
    --gallery-cover-ratio: 21 / 9;
  }
}

.prestige-gallery__cover {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: var(--gallery-cover-ratio);
  background: var(--color-primary-soft);
  color: inherit;
  text-decoration: none;
}

.prestige-gallery__cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.prestige-gallery__cover:hover img {
  transform: scale(1.03);
}

.prestige-gallery__all-photos {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(15, 23, 42, 0.72);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  pointer-events: none;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
}

.prestige-gallery__all-photos i {
  font-size: 0.95rem;
}

.prestige-gallery--cover.prestige-gallery--empty img {
  aspect-ratio: var(--gallery-cover-ratio);
}

.prestige-product-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}

.prestige-product-tags li {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgb(241 245 249);
  background: rgb(248 250 252);
  color: var(--prestige-muted);
  font-size: 0.75rem;
  font-weight: 600;
}

.prestige-muted {
  color: var(--prestige-muted);
  font-weight: 500;
}

/* Prestige tour detail — calm product canvas */
body.prestige-page-product {
  background: color-mix(in oklab, var(--color-primary) 2.5%, #fafbfc);
}

.prestige-product-detail--tour .prestige-product__main {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

/* —— Tour detail layout (car/transfer parity) —— */
.prestige-product-detail--tour {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media (min-width: 1024px) {
  .prestige-product-detail--tour {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
  }

  .prestige-product-detail--tour > * {
    grid-column: auto !important;
    width: 100%;
  }

  .prestige-tour-detail__booking {
    position: sticky;
    top: calc(var(--prestige-header-h, 4.5rem) + 1rem);
  }

  .prestige-tour-detail__booking .prestige-product-booking__drawer-head {
    display: none;
  }
}

.prestige-tour-detail__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}

@media (min-width: 1024px) {
  .prestige-tour-detail__layout {
    grid-template-columns: minmax(0, 1.55fr) minmax(19rem, 22.5rem);
    gap: 1.75rem;
  }
}

.prestige-tour-detail__media {
  position: relative;
  overflow: hidden;
  border: 1px solid rgb(241 245 249);
  border-radius: 1.5rem;
  background: #0f172a;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
  margin-bottom: 0.15rem;
}

.prestige-tour-detail__gallery.prestige-gallery--cover {
  margin: 0;
  --gallery-cover-ratio: 16 / 10;
}

.prestige-tour-detail__gallery .prestige-gallery__cover {
  border-radius: 0;
}

.prestige-tour-detail__gallery .prestige-gallery__all-photos {
  right: 0.85rem;
  bottom: 0.85rem;
  border-radius: 0.75rem;
  pointer-events: none;
}

.prestige-tour-detail__media-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 10;
  min-height: 12rem;
  color: rgba(255, 255, 255, 0.55);
  font-size: 2rem;
  background:
    radial-gradient(circle at 20% 20%, color-mix(in oklab, var(--color-primary) 28%, transparent), transparent 55%),
    linear-gradient(145deg, #1e293b, #0f172a);
}

.prestige-product-detail--tour .prestige-tour-main {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  min-width: 0;
}

.prestige-product-detail--tour .prestige-product-header {
  margin-bottom: 0;
}

.prestige-tour-header__title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.prestige-tour-header__title-row .prestige-product-title {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}

.prestige-tour-header__title-row .prestige-product-header__actions {
  flex: 0 0 auto;
  margin-top: 0.1rem;
}

.prestige-tour-header__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.75rem;
}

.prestige-tour-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0.7rem 0 0;
  padding: 0;
  list-style: none;
}

.prestige-tour-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
  padding: 0.32rem 0.7rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.75rem;
  font-weight: 650;
  line-height: 1.25;
}

.prestige-tour-badge i {
  font-size: 0.78rem;
}

.prestige-tour-badge--rating {
  background: #fffbeb;
  border-color: #fde68a;
  color: #92400e;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

a.prestige-tour-badge--rating:hover {
  background: #fef3c7;
  border-color: #fcd34d;
  color: #78350f;
}

.prestige-tour-badge--rating i {
  color: #d97706;
}

.prestige-tour-badge--location {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
}

.prestige-tour-badge--location i {
  color: #2563eb;
}

.prestige-tour-badge--instant {
  background: color-mix(in oklab, var(--color-primary) 10%, #ffffff);
  border-color: color-mix(in oklab, var(--color-primary) 24%, #e2e8f0);
  color: var(--color-primary-dark, #0f766e);
}

.prestige-tour-badge--instant i {
  color: var(--color-primary);
}

.prestige-tour-badge--policy {
  background: #f5f3ff;
  border-color: #ddd6fe;
  color: #5b21b6;
}

.prestige-tour-badge--policy i {
  color: #7c3aed;
}

.prestige-tour-badge--cat1 {
  background: #ecfeff;
  border-color: #a5f3fc;
  color: #0e7490;
}

.prestige-tour-badge--cat2 {
  background: #f0fdf4;
  border-color: #bbf7d0;
  color: #166534;
}

.prestige-tour-badge--cat3 {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #c2410c;
}

.prestige-tour-badge--cat4 {
  background: #fdf2f8;
  border-color: #fbcfe8;
  color: #9d174d;
}

.prestige-tour-badge--cat5 {
  background: #f8fafc;
  border-color: #e2e8f0;
  color: #334155;
}

.prestige-tour-section-title {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin: 0 0 0.85rem;
}

.prestige-tour-section-title__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 0.7rem;
  background: color-mix(in oklab, var(--color-primary) 10%, #ffffff);
  color: var(--color-primary);
  font-size: 0.82rem;
}

.prestige-product-detail--tour .prestige-card,
.prestige-product-detail--tour .prestige-tour-pickup-list,
.prestige-product-detail--tour .prestige-tour-simple-list,
.prestige-product-detail--tour .prestige-tour-scope,
.prestige-product-detail--tour .prestige-tour-itinerary__item {
  background: #fff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.025);
}

.prestige-product-detail--tour .prestige-glance__item {
  background: #fff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.025);
}

.prestige-tour-status {
  display: inline-flex;
  align-items: center;
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgb(226 232 240);
  background: rgb(248 250 252);
  color: var(--prestige-muted);
  font-size: 0.75rem;
  font-weight: 650;
}

.prestige-tour-status--ok {
  border-color: #a7f3d0;
  background: #ecfdf5;
  color: #047857;
}

.prestige-tour-notes {
  padding: 0.45rem 1.15rem 0.55rem;
}

.prestige-tour-notes__dl {
  margin: 0;
}


.prestige-tour-pax-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  overflow: visible;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.prestige-product-detail--tour .prestige-tour-pax-list {
  background: transparent;
  border: 0;
  box-shadow: none;
}

.prestige-tour-pax-list .prestige-tour-simple-row {
  margin: 0;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.025);
  padding: 0.85rem 1rem;
  min-width: 0;
}

.prestige-tour-pax-list .prestige-tour-simple-row:first-child {
  border-top: 1px solid rgba(226, 232, 240, 0.95);
}

@media (max-width: 359px) {
  .prestige-tour-pax-list {
    grid-template-columns: 1fr;
  }
}

.prestige-tour-simple-list,
.prestige-tour-pickup-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-radius: 1.25rem;
  overflow: hidden;
}

.prestige-tour-simple-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border-top: 1px solid rgba(241, 245, 249, 0.98);
}

.prestige-tour-simple-row:first-child {
  border-top: 0;
}

.prestige-tour-simple-row__main {
  min-width: 0;
  flex: 1 1 auto;
}

.prestige-tour-simple-row__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.55rem;
}

.prestige-tour-simple-row__name {
  margin: 0;
  color: var(--prestige-ink, #1c1917);
  font-size: 0.98rem;
  font-weight: 650;
  line-height: 1.35;
}

.prestige-tour-simple-row__meta,
.prestige-tour-simple-row__hint {
  margin: 0.28rem 0 0;
  color: var(--prestige-muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.prestige-tour-simple-row__hint {
  font-size: 0.78rem;
}

.prestige-tour-simple-row__chip {
  display: inline-flex;
  align-items: center;
  padding: 0.16rem 0.5rem;
  border-radius: 999px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #c2410c;
  font-size: 0.68rem;
  font-weight: 700;
}

.prestige-tour-simple-row__aside {
  flex: 0 0 auto;
  color: var(--prestige-muted);
  font-size: 0.8rem;
  font-weight: 650;
  white-space: nowrap;
}

.prestige-tour-simple-row__aside--price {
  color: var(--color-primary-dark, #0f766e);
  font-size: 0.92rem;
  font-weight: 700;
}

.prestige-product-detail--tour .prestige-tour-addon-list,
.prestige-tour-addon-list,
.prestige-hotel-addon-list {
  display: grid;
  gap: 0.75rem;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}

.prestige-tour-addon-card,
.prestige-hotel-addon-card {
  align-items: center;
  gap: 0.85rem;
  padding: 1.05rem 1.1rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-top: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 1.15rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.prestige-tour-addon-card:first-child,
.prestige-hotel-addon-card:first-child {
  border-top: 1px solid rgba(226, 232, 240, 0.95);
}

.prestige-tour-addon-card:hover,
.prestige-hotel-addon-card:hover {
  border-color: color-mix(in oklab, var(--color-primary) 24%, rgba(226, 232, 240, 0.95));
  box-shadow: 0 8px 20px color-mix(in oklab, var(--color-primary) 8%, transparent);
}

.prestige-tour-addon-card__icon,
.prestige-hotel-addon-card__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.85rem;
  background: color-mix(in oklab, var(--color-primary) 10%, #ffffff);
  color: var(--color-primary);
  font-size: 0.9rem;
}

.prestige-tour-addon-card__chip,
.prestige-hotel-addon-card__chip {
  background: var(--color-primary-soft);
  border-color: color-mix(in oklab, var(--color-primary) 22%, #ffffff);
  color: var(--color-primary);
}

.prestige-tour-addon-card__price,
.prestige-hotel-addon-card__price {
  display: grid;
  justify-items: end;
  gap: 0.15rem;
  flex: 0 0 auto;
  text-align: right;
}

.prestige-tour-addon-card__price .prestige-tour-simple-row__aside--price,
.prestige-hotel-addon-card__price .prestige-tour-simple-row__aside--price {
  white-space: normal;
  line-height: 1.3;
}

.prestige-tour-scope {
  display: grid;
  grid-template-columns: 1fr;
  border-radius: 1.25rem;
  overflow: hidden;
}

@media (min-width: 720px) {
  .prestige-tour-scope {
    grid-template-columns: 1fr 1fr;
  }

  .prestige-tour-scope__col--out {
    border-left: 1px solid rgba(241, 245, 249, 0.98);
  }
}

.prestige-tour-scope__col {
  padding: 1.1rem 1.2rem 1.2rem;
}

.prestige-tour-scope__title {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.75rem;
  color: var(--prestige-ink, #1c1917);
  font-size: 0.9rem;
  font-weight: 700;
}

.prestige-tour-scope__col--in .prestige-tour-scope__title i {
  color: #059669;
}

.prestige-tour-scope__col--out .prestige-tour-scope__title i {
  color: #e11d48;
}

.prestige-tour-scope__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-tour-scope__list li {
  position: relative;
  padding: 0.32rem 0 0.32rem 0.9rem;
  color: var(--prestige-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.prestige-tour-scope__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72rem;
  width: 0.32rem;
  height: 0.32rem;
  border-radius: 999px;
  background: #cbd5e1;
}

.prestige-tour-scope__col--in .prestige-tour-scope__list li::before {
  background: #34d399;
}

.prestige-tour-scope__col--out .prestige-tour-scope__list li::before {
  background: #fb7185;
}

.prestige-tour-departures-card {
  padding: 0.35rem 1.15rem 0.45rem;
}

.prestige-tour-departure-list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-tour-departure {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 0.95rem 0.1rem;
  border-bottom: 1px solid rgb(241 245 249);
}

.prestige-tour-departure:last-child {
  border-bottom: 0;
  padding-bottom: 0.45rem;
}

.prestige-tour-departure:first-child {
  padding-top: 0.45rem;
}

.prestige-tour-departure__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 0.8rem;
  background: color-mix(in oklab, var(--color-primary) 10%, #ffffff);
  color: var(--color-primary);
}

.prestige-tour-departure__body {
  min-width: 0;
  flex: 1 1 auto;
}

.prestige-tour-departure__when {
  margin: 0;
  color: var(--prestige-ink, #1c1917);
  font-size: 0.95rem;
  font-weight: 650;
}

.prestige-tour-departure__until {
  margin: 0.2rem 0 0;
  color: var(--prestige-muted);
  font-size: 0.8rem;
}

.prestige-tour-departure__seats {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
  border: 1px solid #a7f3d0;
  background: #ecfdf5;
  color: #047857;
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
}

.prestige-tour-itinerary {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.prestige-tour-itinerary__item {
  margin: 0;
  border-radius: 1rem;
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.prestige-tour-itinerary__item[open] {
  border-color: color-mix(in oklab, var(--color-primary) 26%, #e2e8f0);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.035);
}

.prestige-tour-itinerary__summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.75rem 0.9rem;
  align-items: center;
  padding: 0.9rem 1rem;
  cursor: pointer;
  list-style: none;
  transition: background-color 0.2s ease;
}

.prestige-tour-itinerary__summary::-webkit-details-marker {
  display: none;
}

.prestige-tour-itinerary__summary::marker {
  content: "";
}

.prestige-tour-itinerary__summary:hover {
  background: color-mix(in oklab, var(--color-primary) 3.5%, #ffffff);
}

.prestige-tour-itinerary__summary:focus-visible {
  outline: 2px solid color-mix(in oklab, var(--color-primary) 40%, white);
  outline-offset: -2px;
}

.prestige-tour-itinerary__day {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.35rem;
  min-height: 2.35rem;
  padding: 0.2rem 0.45rem;
  border-radius: 0.7rem;
  background: color-mix(in oklab, var(--color-primary) 10%, #ffffff);
  color: var(--color-primary);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.02em;
  line-height: 1.2;
  white-space: nowrap;
}

.prestige-tour-itinerary__summary-copy {
  min-width: 0;
}

.prestige-tour-itinerary__title {
  display: block;
  margin: 0;
  color: var(--prestige-ink, #1c1917);
  font-size: 0.98rem;
  font-weight: 650;
  line-height: 1.35;
}

.prestige-tour-itinerary__meta {
  display: block;
  margin-top: 0.18rem;
  color: var(--prestige-muted);
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.35;
}

.prestige-tour-itinerary__day i {
  font-size: 0.85rem;
}

.prestige-tour-itinerary__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 0.55rem;
  color: var(--prestige-muted);
  font-size: 0.78rem;
  transition: transform 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.prestige-tour-itinerary__item[open] .prestige-tour-itinerary__chevron {
  transform: rotate(180deg);
  color: var(--color-primary);
  background: color-mix(in oklab, var(--color-primary) 10%, #ffffff);
}

.prestige-tour-itinerary__body {
  margin: 0;
  padding: 0.85rem 1rem 1rem;
  color: var(--prestige-muted);
  font-size: 0.9rem;
  line-height: 1.55;
  border-top: 1px solid rgba(241, 245, 249, 0.95);
}

.prestige-tour-itinerary__body p {
  margin: 0 0 0.4rem;
}

.prestige-tour-itinerary__body p:last-child {
  margin-bottom: 0;
}

.prestige-tour-single-stepper,
.prestige-transfer-pax-stepper[data-tour-single-stepper] {
  width: 100%;
}

.prestige-transfer-pax-stepper__value[readonly] {
  color: #64748b;
  cursor: default;
}

.prestige-tour-pickup-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.85rem 1rem;
  align-items: start;
  padding: 1rem 1.15rem;
  border-top: 1px solid rgba(241, 245, 249, 0.98);
  transition: background-color 0.2s ease;
}

.prestige-tour-pickup-row:first-child {
  border-top: 0;
}

.prestige-tour-pickup-row:hover {
  background: color-mix(in oklab, var(--color-primary) 3%, #ffffff);
}

.prestige-tour-pickup-row--departure {
  background: linear-gradient(
    90deg,
    color-mix(in oklab, var(--color-primary) 6%, #ffffff) 0%,
    #ffffff 62%
  );
}

.prestige-tour-pickup-row__index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  margin-top: 0.08rem;
  padding: 0 0.4rem;
  border-radius: 0.65rem;
  background: #f8fafc;
  border: 1px solid rgba(226, 232, 240, 0.95);
  color: var(--color-primary);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
}

.prestige-tour-pickup-row--departure .prestige-tour-pickup-row__index {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

.prestige-tour-pickup-row__main {
  min-width: 0;
}

.prestige-tour-pickup-row__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.6rem;
}

.prestige-tour-pickup-row__name {
  margin: 0;
  color: var(--prestige-ink, #1c1917);
  font-size: 0.98rem;
  font-weight: 650;
  line-height: 1.35;
}

.prestige-tour-pickup-row__chip {
  display: inline-flex;
  align-items: center;
  padding: 0.18rem 0.5rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.prestige-tour-pickup-row__chip--departure {
  background: color-mix(in oklab, var(--color-primary) 10%, #ffffff);
  border: 1px solid color-mix(in oklab, var(--color-primary) 24%, #e2e8f0);
  color: var(--color-primary-dark, #0f766e);
}

.prestige-tour-pickup-row__chip--free {
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #047857;
}

.prestige-tour-pickup-row__chip--paid {
  background: var(--color-primary-soft, #f1f5f9);
  border: 1px solid color-mix(in oklab, var(--color-primary) 18%, #e2e8f0);
  color: var(--color-primary);
}

.prestige-tour-pickup-row__desc {
  margin: 0.32rem 0 0;
  color: var(--prestige-muted);
  font-size: 0.86rem;
  line-height: 1.5;
}

.prestige-tour-pickup-row__desc p {
  margin: 0 0 0.28rem;
}

.prestige-tour-pickup-row__desc p:last-child {
  margin-bottom: 0;
}

.prestige-tour-pickup-row__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  grid-column: 2;
  justify-self: start;
  margin-top: 0.2rem;
  padding: 0.48rem 0.8rem;
  border-radius: 0.7rem;
  border: 1px solid color-mix(in oklab, var(--color-primary) 24%, #e2e8f0);
  background: #fff;
  color: var(--color-primary);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.prestige-tour-pickup-row__btn:hover {
  background: var(--color-primary-soft, #f1f5f9);
  border-color: color-mix(in oklab, var(--color-primary) 42%, #e2e8f0);
  color: var(--color-primary-dark, #0f766e);
}

.prestige-tour-pickup-row__btn i {
  font-size: 0.88rem;
}

@media (min-width: 720px) {
  .prestige-tour-pickup-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    padding: 1.05rem 1.2rem;
  }

  .prestige-tour-pickup-row__btn {
    grid-column: auto;
    justify-self: end;
    margin-top: 0;
    white-space: nowrap;
  }
}

@media (max-width: 767px) {
  .prestige-tour-itinerary__summary {
    gap: 0.55rem 0.7rem;
    padding: 0.8rem 0.85rem;
  }

  .prestige-tour-itinerary__body {
    padding: 0.75rem 0.85rem 0.85rem;
  }

  .prestige-tour-departure {
    flex-wrap: wrap;
  }

  .prestige-tour-departure__seats {
    margin-left: 3.3rem;
  }
}

.prestige-lightbox {
  position: fixed;
  inset: 0;
  z-index: 92;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.prestige-lightbox[hidden] {
  display: none;
}

.prestige-lightbox.is-open {
  display: flex;
}

.prestige-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.78);
  backdrop-filter: blur(8px);
}

.prestige-lightbox__stage {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(96vw, 72rem);
  height: min(90vh, 52rem);
  pointer-events: none;
}

.prestige-lightbox__image {
  display: block;
  max-width: min(92vw, 70rem);
  max-height: min(82vh, 48rem);
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 1rem;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
  background: #0f172a;
  pointer-events: auto;
}

.prestige-lightbox__close,
.prestige-lightbox__nav {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--prestige-ink);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  cursor: pointer;
  pointer-events: auto;
  transition: all 0.2s ease;
}

.prestige-lightbox__close:hover,
.prestige-lightbox__nav:hover {
  background: #ffffff;
  color: var(--color-primary);
}

.prestige-lightbox__close {
  top: 0.35rem;
  right: 0.35rem;
}

.prestige-lightbox__nav--prev {
  left: 0.35rem;
}

.prestige-lightbox__nav--next {
  right: 0.35rem;
}

.prestige-lightbox__nav[hidden] {
  display: none;
}

.prestige-lightbox__counter {
  position: absolute;
  bottom: 0.35rem;
  left: 50%;
  z-index: 2;
  margin: 0;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.62);
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  transform: translateX(-50%);
  pointer-events: none;
}

body.is-prestige-lightbox-open {
  overflow: hidden;
}

.prestige-product-detail .prestige-card {
  border-color: rgb(241 245 249);
  border-radius: 1.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
  transition: all 0.2s ease;
}

.prestige-product-detail .prestige-glance__item {
  border-color: rgb(241 245 249);
  border-radius: 1.25rem;
  padding: 1.05rem 1.1rem;
  transition: all 0.2s ease;
}

.prestige-product-detail .prestige-glance__item:hover {
  border-color: color-mix(in oklab, var(--color-primary) 22%, rgb(241 245 249));
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04);
}

.prestige-product-detail .prestige-glance__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.75rem;
}

.prestige-product-detail .prestige-product-amenities__item i {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-top: 0;
  border-radius: 0.75rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: 0.78rem;
}

.prestige-product-detail .prestige-product-dl {
  gap: 0.5rem;
}

.prestige-product-detail .prestige-product-dl > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgb(241 245 249);
}

.prestige-product-detail .prestige-product-dl > div:first-child {
  padding-top: 0;
}

.prestige-product-detail .prestige-product-dl > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.prestige-product-detail .prestige-addon,
.prestige-product-detail .prestige-product-review,
.prestige-product-detail .prestige-inclusions,
.prestige-product-detail .prestige-bed-room {
  border-color: rgb(241 245 249);
  transition: all 0.2s ease;
}

.prestige-product-detail .prestige-addon:hover,
.prestige-product-detail .prestige-product-review:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04);
}

.prestige-product-detail .prestige-bed-room {
  border-radius: 1.25rem;
  padding: 1.05rem 1.1rem;
}

.prestige-product-detail .prestige-product-booking {
  border-color: rgb(241 245 249);
  border-radius: 1.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-product__layout {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  min-width: 0;
}

@media (min-width: 1024px) {
  .prestige-product-detail {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18.5rem, 22rem);
    column-gap: 2rem;
    align-items: start;
  }

  .prestige-product-detail > .prestige-crumb,
  .prestige-product-detail > .prestige-gallery {
    grid-column: 1 / -1;
  }

  .prestige-product-detail > .prestige-product__layout {
    grid-column: 1;
  }

  .prestige-product-detail > .prestige-product-booking {
    grid-column: 2;
  }
}

/* Car rental detail: beat product-detail desktop grid */
@media (min-width: 1024px) {
  .prestige-product-detail--car-rental {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
  }

  .prestige-product-detail--car-rental > * {
    grid-column: auto !important;
    width: 100%;
  }

  .prestige-car-detail__booking {
    position: sticky;
    top: calc(var(--prestige-header-h, 4.5rem) + 1rem);
  }

  .prestige-car-detail__booking .prestige-product-booking__drawer-head {
    display: none;
  }
}


.prestige-product__main {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  min-width: 0;
}

.prestige-product-header__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.prestige-product-header__actions {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.prestige-product-tag {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.prestige-product-title {
  margin: 0.2rem 0 0.45rem;
  font-size: clamp(1.5rem, 3.6vw, 2rem);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.18;
  color: var(--prestige-ink);
}

.prestige-product-rating {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-product-rating i {
  color: #d97706;
}

.prestige-icon-btn.is-favorited {
  color: #e11d48;
}

.prestige-glance {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

@media (min-width: 640px) {
  .prestige-glance {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.prestige-glance__item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.9rem 0.95rem;
  background: #ffffff;
  border: 1px solid var(--prestige-line);
  border-radius: 1.1rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-glance__item--price {
  background: color-mix(in oklab, var(--color-primary) 7%, #ffffff);
  border-color: color-mix(in oklab, var(--color-primary) 18%, var(--prestige-line));
}

.prestige-glance__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  margin-bottom: 0.2rem;
  border-radius: 0.75rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: 0.85rem;
}

.prestige-glance__label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-glance__value {
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--prestige-ink);
}

.prestige-glance__value-muted {
  display: inline;
  margin-left: 0.25rem;
  font-weight: 500;
  color: var(--prestige-muted);
}

.prestige-price-old,
.prestige-account-favorite__price-old {
  margin-right: 0.3rem;
  color: var(--prestige-muted);
  font-weight: 500;
  text-decoration: line-through;
}

.prestige-product-section__title {
  margin: 0 0 0.75rem;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--prestige-ink);
}

.prestige-product-section .prestige-card {
  padding: 1.35rem 1.4rem;
}

@media (min-width: 768px) {
  .prestige-product-section .prestige-card {
    padding: 1.5rem 1.6rem;
  }
}

.prestige-product-duo {
  display: grid;
  gap: 1rem;
}

@media (min-width: 768px) {
  .prestige-product-duo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
}

.prestige-product-about__content {
  position: relative;
  max-height: 7.5rem;
  overflow: hidden;
}

.prestige-product-about__content::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2.5rem;
  background: linear-gradient(180deg, transparent, #ffffff);
  pointer-events: none;
}

.prestige-product-about.is-expanded .prestige-product-about__content {
  max-height: none;
}

.prestige-product-about.is-expanded .prestige-product-about__content::after {
  display: none;
}

.prestige-product-about__richtext {
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--prestige-ink);
}

.prestige-product-about__richtext p {
  margin: 0 0 0.75rem;
}

.prestige-product-about__richtext p:last-child {
  margin-bottom: 0;
}

.prestige-product-about__richtext a {
  color: var(--color-primary);
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--color-primary) 45%, #ffffff);
}

.prestige-product-about__richtext strong,
.prestige-product-about__richtext b {
  font-weight: 600;
}

.prestige-product-about__richtext ul,
.prestige-product-about__richtext ol {
  margin: 0 0 0.75rem;
  padding-left: 1.2rem;
}

.prestige-product-about__richtext li {
  margin: 0.2rem 0;
}

.prestige-product-about__richtext h2,
.prestige-product-about__richtext h3,
.prestige-product-about__richtext h4 {
  margin: 1rem 0 0.45rem;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-product-about__richtext img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0.75rem 0;
  border-radius: 0.9rem;
}

.prestige-product-about__richtext table {
  width: 100%;
  margin: 0.75rem 0;
  border-collapse: collapse;
  font-size: 0.85rem;
}

.prestige-product-about__richtext th,
.prestige-product-about__richtext td {
  padding: 0.45rem 0.55rem;
  border-bottom: 1px solid rgb(241 245 249);
  text-align: left;
}

.prestige-product-about__toggle {
  margin-top: 0.7rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--color-primary);
  font: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  border-bottom: 1px dashed color-mix(in oklab, var(--color-primary) 40%, #ffffff);
}

.prestige-product-dl {
  display: grid;
  gap: 0.5rem;
  margin: 0;
}

.prestige-product-dl > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
  font-size: 0.8125rem;
  padding-bottom: 0.45rem;
  border-bottom: 1px solid rgb(241 245 249);
}

.prestige-product-dl > div:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.prestige-product-dl dt {
  font-weight: 700;
  color: var(--prestige-muted);
}

.prestige-product-dl dd {
  margin: 0;
  font-weight: 700;
  color: var(--prestige-ink);
  text-align: right;
}

.prestige-product-dl__policy {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem 0.65rem;
}

.prestige-product-policy-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--color-primary);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--color-primary) 40%, #ffffff);
}

.prestige-product-amenities-groups {
  display: grid;
  gap: 1.25rem;
}

.prestige-product-amenities-group__label {
  margin: 0 0 0.65rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--prestige-ink);
}

.prestige-product-amenities {
  display: grid;
  gap: 0.55rem 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 640px) {
  .prestige-product-amenities {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.prestige-product-amenities__item {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-size: 0.88rem;
  color: var(--prestige-ink);
}

.prestige-product-amenities__item i {
  margin-top: 0.15rem;
  color: var(--color-primary);
}

.prestige-inclusions__title {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.85rem;
  font-size: 0.92rem;
  font-weight: 600;
}

.prestige-inclusions__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.7rem;
}

.prestige-inclusions--included .prestige-inclusions__icon {
  background: #ecfdf5;
  color: #059669;
}

.prestige-inclusions--excluded .prestige-inclusions__icon {
  background: #fff1f2;
  color: #e11d48;
}

.prestige-inclusions__empty {
  color: var(--prestige-muted);
  font-size: 0.85rem;
}

.prestige-season-list,
.prestige-addon-grid,
.prestige-product-rules,
.prestige-availability-legend {
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-season-list {
  display: grid;
  gap: 0.65rem;
}

.prestige-season-list__item,
.prestige-addon {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: start;
}

.prestige-season-list__item {
  align-items: center;
  padding: 0.9rem 1rem;
  border: 1px solid rgb(241 245 249);
  border-radius: 1.1rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-season-list__item:nth-child(even) {
  background: color-mix(in oklab, var(--color-primary) 5%, #ffffff);
  border-color: color-mix(in oklab, var(--color-primary) 12%, rgb(241 245 249));
}

.prestige-season-list__body {
  min-width: 0;
}

.prestige-season-list__icon,
.prestige-addon__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.75rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
}

.prestige-season-list__period,
.prestige-addon__name {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-season-list__unit,
.prestige-addon__meta,
.prestige-addon__desc {
  margin: 0.2rem 0 0;
  font-size: 0.8rem;
  color: var(--prestige-muted);
}

.prestige-season-list__price,
.prestige-addon__price {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-primary);
  white-space: nowrap;
}

.prestige-addon-grid {
  display: grid;
  gap: 0.85rem;
}

.prestige-addon__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

.prestige-bed-rooms {
  display: grid;
  gap: 1rem;
}

@media (min-width: 640px) {
  .prestige-bed-rooms {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.prestige-bed-room {
  padding: 0.9rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1rem;
}

.prestige-bed-room__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.65rem;
}

.prestige-bed-room__label {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 600;
}

.prestige-bed-room__total {
  font-size: 0.75rem;
  color: var(--prestige-muted);
}

.prestige-bed-room__beds {
  display: grid;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-bed-room__bed {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.85rem;
}

.prestige-bed-room__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.6rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: 0.75rem;
}

.prestige-product-map {
  overflow: hidden;
  border-radius: 1rem;
  min-height: 16rem;
  background: #f1f5f9;
}

.prestige-product-map__canvas,
.prestige-product-map__embed {
  width: 100%;
  height: 16rem;
  border: 0;
}

.prestige-product-map-card__addr {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  font-size: 0.88rem;
  color: var(--prestige-ink);
}

.prestige-product-map-card__addr i {
  color: var(--color-primary);
}

.prestige-product-rules {
  display: grid;
  gap: 0.7rem;
}

.prestige-product-rules li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.88rem;
}

.prestige-product-rules i {
  margin-top: 0.12rem;
  color: var(--color-primary);
}

.prestige-product-reviews {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.prestige-product-reviews__summary {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1.15rem 1.35rem;
  overflow: hidden;
  background: linear-gradient(
    135deg,
    #ffffff 0%,
    color-mix(in oklab, var(--color-primary) 4%, #ffffff) 48%,
    rgba(245, 158, 11, 0.05) 100%
  );
  border-color: color-mix(in oklab, var(--color-primary) 14%, rgb(241 245 249));
}

.prestige-product-reviews__summary::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0.2rem;
  background: linear-gradient(90deg, var(--color-primary) 0%, #38bdf8 45%, #f59e0b 100%);
}

.prestige-product-reviews__score {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-width: 5.75rem;
  padding: 0.9rem 1rem;
  text-align: center;
  background: #ffffff;
  border: 1px solid color-mix(in oklab, var(--color-primary) 12%, rgb(241 245 249));
  border-radius: 1.1rem;
  box-shadow: 0 10px 28px -18px color-mix(in oklab, var(--color-primary) 45%, transparent);
}

.prestige-product-reviews__value {
  display: inline-flex;
  align-items: baseline;
  gap: 0.1rem;
  font-size: 2.35rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--prestige-ink);
}

.prestige-product-reviews__value::after {
  content: "/5";
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--prestige-muted);
}

.prestige-stars {
  display: flex;
  gap: 0.15rem;
  color: #d97706;
}

.prestige-stars--lg {
  font-size: 0.85rem;
}

.prestige-stars__empty {
  color: #d6d3d1;
}

.prestige-product-reviews__aside {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.prestige-product-reviews__count,
.prestige-product-reviews__lead,
.prestige-product-review__meta {
  margin: 0;
  font-size: 0.82rem;
  color: var(--prestige-muted);
}

.prestige-product-reviews__count {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-product-reviews__count i {
  color: #059669;
}

.prestige-product-reviews__lead {
  margin-top: 0.35rem;
}

.prestige-product-reviews__list,
.prestige-product-reviews__catalog,
.prestige-product-recs {
  display: grid;
  gap: 0.85rem;
}

.prestige-product-review {
  padding: 1.15rem 1.2rem;
}

.prestige-product-review__body {
  margin: 0.65rem 0;
  font-size: 0.9rem;
  line-height: 1.55;
}

.prestige-product-review__author {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.prestige-product-review__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: 0.72rem;
  font-weight: 700;
}

.prestige-product-review__name {
  font-style: normal;
  font-weight: 600;
  font-size: 0.85rem;
}

.prestige-product-reviews__footer {
  margin: 0.15rem 0 0;
}

.prestige-product-reviews__all {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--color-primary);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-product-reviews__all:hover {
  gap: 0.55rem;
}

@media (max-width: 639.98px) {
  .prestige-product-reviews__summary {
    grid-template-columns: 1fr;
    justify-items: start;
  }
}

.prestige-product-fomo {
  display: grid;
  gap: 1rem;
}

.prestige-product-fomo__title {
  margin: 0;
  font-weight: 600;
}

.prestige-product-fomo__meta {
  margin: 0.2rem 0 0;
  font-size: 0.8rem;
  color: var(--prestige-muted);
}

.prestige-product-fomo__count {
  margin: 0.45rem 0 0;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--color-primary);
}

.prestige-product-recs__message {
  margin: 0.35rem 0 0.55rem;
  font-size: 0.9rem;
}

.prestige-product-booking {
  background: #ffffff;
  border: 1px solid var(--prestige-line);
  border-radius: 1.25rem;
  box-shadow: 0 10px 30px rgba(28, 25, 23, 0.04);
}

.prestige-product-booking__drawer-head {
  display: none;
}

.prestige-product-booking__inner {
  padding: 1.35rem 1.4rem 1.5rem;
}

.prestige-product-booking__kicker {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-product-booking__price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  margin: 0.2rem 0 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--prestige-line);
  line-height: 1.2;
}

.prestige-product-booking__price .prestige-price-old {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-product-booking__amount {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.3rem 0.45rem;
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--color-primary);
}

.prestige-product-booking__unit {
  margin-left: 0.3rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-product-booking__closed {
  margin: 0;
  font-size: 0.88rem;
  color: var(--prestige-muted);
}

@media (min-width: 1024px) {
  .prestige-product-booking {
    position: sticky;
    top: calc(var(--prestige-header-h) + 1rem);
  }
}

.prestige-product-booking-nav,
.prestige-product-booking-backdrop {
  display: none;
}

@media (max-width: 1023.98px) {
  .prestige-page-product .prestige-footer {
    padding-bottom: calc(var(--prestige-bottom-nav-height) + env(safe-area-inset-bottom));
  }

  .prestige-product-booking-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 82;
    background: rgba(28, 25, 23, 0.42);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
  }

  .prestige-product-booking-backdrop:not([hidden]) {
    opacity: 1;
    pointer-events: auto;
  }

  .prestige-product-booking-nav {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 80;
    padding: 0 0.7rem calc(0.45rem + env(safe-area-inset-bottom, 0px));
    pointer-events: none;
    transition: opacity 0.22s ease, transform 0.22s ease;
  }

  body.prestige-page-product.is-booking-drawer-open .prestige-product-booking-nav {
    opacity: 0;
    transform: translateY(110%);
    pointer-events: none;
  }

  .prestige-product-booking-nav__shell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0.55rem 0.6rem 0.55rem 0.8rem;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid var(--prestige-line);
    border-radius: 1.15rem;
    box-shadow: 0 8px 28px -16px rgba(28, 25, 23, 0.28);
    backdrop-filter: blur(22px) saturate(1.35);
    -webkit-backdrop-filter: blur(22px) saturate(1.35);
    pointer-events: auto;
  }

  .prestige-product-booking-nav__price {
    min-width: 0;
    flex: 1 1 auto;
  }

  .prestige-product-booking-nav__label {
    display: block;
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--prestige-muted);
  }

  .prestige-product-booking-nav__amount {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.15rem 0.3rem;
    margin: 0.08rem 0 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--color-primary);
  }

  .prestige-product-booking-nav__amount .prestige-price-old {
    font-size: 0.7rem;
  }

  .prestige-product-booking-nav__unit {
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--prestige-muted);
  }

  .prestige-product-booking-nav__cta {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    flex: 0 0 auto;
    min-height: 2.7rem;
    padding: 0.4rem 0.7rem;
    white-space: normal;
    text-align: center;
    line-height: 1.15;
    font-size: 0.78rem;
  }

  .prestige-product-booking-nav__cta-text {
    display: block;
    max-width: 9.5ch;
  }

  .prestige-product-booking-nav__cta i {
    display: none;
  }

  .prestige-page-product .prestige-product-booking {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 90;
    width: 100%;
    height: 80vh;
    height: 80dvh;
    max-height: 80vh;
    max-height: 80dvh;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 1.35rem 1.35rem 0 0;
    border-bottom: none;
    transform: translateY(105%);
    transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 -20px 50px -20px rgba(28, 25, 23, 0.28);
    pointer-events: none;
  }

  body.prestige-page-product.is-booking-drawer-open .prestige-product-booking {
    transform: translateY(0);
    pointer-events: auto;
  }

  .prestige-page-product .prestige-product-booking__drawer-head {
    display: block;
    flex-shrink: 0;
  }

  .prestige-page-product .prestige-product-booking__handle {
    display: block;
    width: 2.5rem;
    height: 0.28rem;
    margin: 0.65rem auto 0;
    border-radius: 9999px;
    background: var(--prestige-line);
  }

  .prestige-page-product .prestige-product-booking__drawer-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 1.15rem 0.45rem;
  }

  .prestige-page-product .prestige-product-booking__drawer-title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
  }

  .prestige-page-product .prestige-product-booking__inner {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 0 1.15rem calc(1rem + env(safe-area-inset-bottom, 0px));
  }
}

.prestige-cancel-modal {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.prestige-cancel-modal[hidden] {
  display: none;
}

.prestige-cancel-modal.is-open {
  display: flex;
}

.prestige-cancel-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(28, 25, 23, 0.42);
  backdrop-filter: blur(6px);
}

.prestige-cancel-modal__panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(100%, 30rem);
  max-height: min(90vh, 40rem);
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--prestige-line);
  border-radius: 1.35rem;
  box-shadow: 0 28px 64px -28px rgba(28, 25, 23, 0.4);
}

.prestige-cancel-modal__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 1.15rem 1.15rem 1rem;
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-cancel-modal__head-main {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  min-width: 0;
}

.prestige-cancel-modal__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.55rem;
  height: 2.55rem;
  border-radius: 0.9rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
}

.prestige-cancel-modal__eyebrow {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.prestige-cancel-modal__title {
  margin: 0.15rem 0 0.45rem;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.prestige-cancel-modal__body {
  padding: 1.05rem 1.15rem 0.35rem;
  overflow-y: auto;
}

.prestige-cancel-modal__lead {
  margin: 0 0 1rem;
  font-size: 0.84rem;
  line-height: 1.55;
  color: var(--prestige-muted);
}

.prestige-cancel-modal__timeline {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-cancel-modal__step {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.7rem;
}

.prestige-cancel-modal__step-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-top: 0.75rem;
  border-radius: 0.75rem;
  font-size: 0.78rem;
}

.prestige-cancel-modal__step--full .prestige-cancel-modal__step-marker {
  color: #059669;
  background: #ecfdf5;
}

.prestige-cancel-modal__step--partial .prestige-cancel-modal__step-marker {
  color: #d97706;
  background: #fffbeb;
}

.prestige-cancel-modal__step--none .prestige-cancel-modal__step-marker {
  color: #e11d48;
  background: #fff1f2;
}

.prestige-cancel-modal__step-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 0.85rem 0.95rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1rem;
}

.prestige-cancel-modal__step-title {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 600;
}

.prestige-cancel-modal__step-label {
  margin: 0.2rem 0 0;
  font-size: 0.78rem;
  color: var(--prestige-muted);
}

.prestige-cancel-modal__step-metric {
  display: grid;
  justify-items: end;
  gap: 0.1rem;
  white-space: nowrap;
}

.prestige-cancel-modal__step-percent {
  font-size: 1rem;
  font-weight: 700;
  color: var(--prestige-ink);
}

.prestige-cancel-modal__step-detail {
  font-size: 0.72rem;
  color: var(--prestige-muted);
}

.prestige-cancel-modal__note {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  margin: 1rem 0 0;
  font-size: 0.78rem;
  color: var(--prestige-muted);
}

.prestige-cancel-modal__foot {
  padding: 0.9rem 1.15rem 1.15rem;
}

.prestige-cancel-modal__foot .prestige-cta {
  width: 100%;
}

.prestige-availability-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  margin-top: 1rem;
  font-size: 0.78rem;
  color: var(--prestige-muted);
}

.prestige-availability-legend li {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.prestige-availability-legend__swatch {
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 0.28rem;
}

.prestige-availability-legend__swatch--available {
  background: rgba(16, 185, 129, 0.35);
}

.prestige-availability-legend__swatch--checkout,
.prestige-availability-legend__swatch--checkin {
  background: linear-gradient(128deg, rgba(244, 63, 94, 0.35) 46%, rgba(16, 185, 129, 0.35) 54%);
}

.prestige-availability-legend__swatch--held {
  background: rgba(249, 115, 22, 0.4);
}

.prestige-availability-legend__swatch--blocked {
  background: rgba(244, 63, 94, 0.4);
}

.prestige-availability {
  --prestige-avail-busy: rgba(244, 63, 94, 0.1);
  --prestige-avail-busy-text: #be123c;
  --prestige-avail-free: rgba(16, 185, 129, 0.1);
}

.prestige-availability [data-vc-date-btn],
.prestige-availability .vc-date__btn,
.prestige-availability [data-vc-date][data-vc-date-disabled] [data-vc-date-btn],
.prestige-availability [data-vc-date][data-vc-date-disabled] .vc-date__btn,
.prestige-availability .vc-date[data-vc-date-disabled] .vc-date__btn,
.prestige-availability [data-vc-date][data-vc-date-month='prev'] [data-vc-date-btn],
.prestige-availability [data-vc-date][data-vc-date-month='next'] [data-vc-date-btn] {
  pointer-events: none;
  cursor: default;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 0 !important;
}

.prestige-availability .vc-dates__row,
.prestige-availability [data-vc-dates-row] {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 0.15rem !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
}

.prestige-availability .vc-date,
.prestige-availability [data-vc-date] {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box;
}

.prestige-availability [data-vc='calendar'] {
  min-width: 0 !important;
  max-width: 100% !important;
}

.prestige-availability [data-vc='calendar'][data-vc-type='multiple'] [data-vc='grid'] {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  flex-wrap: nowrap !important;
  gap: 1rem !important;
  width: 100%;
}

.prestige-availability [data-vc='calendar'][data-vc-type='multiple'] [data-vc='column'] {
  min-width: 0 !important;
  flex: none !important;
  width: auto;
  max-width: none;
}

@media (max-width: 767.98px) {
  .prestige-availability [data-vc='calendar'][data-vc-type='multiple'] [data-vc='grid'] {
    grid-template-columns: minmax(0, 1fr);
  }

  .prestige-availability [data-vc='calendar'][data-vc-type='multiple'] [data-vc='column']:nth-child(n + 2),
  .prestige-availability [data-vc='calendar'][data-vc-type='multiple'] [data-vc='grid']:nth-child(n + 2) {
    display: none !important;
  }
}

.prestige-availability .prestige-avail--available [data-vc-date-btn],
.prestige-availability .prestige-avail--available .vc-date__btn,
.prestige-availability [data-avail-status='available'] [data-vc-date-btn],
.prestige-availability [data-avail-status='available'] .vc-date__btn {
  background: var(--prestige-avail-free) !important;
  color: #047857 !important;
  font-weight: 700 !important;
}

.prestige-availability .prestige-avail--held [data-vc-date-btn],
.prestige-availability .prestige-avail--held .vc-date__btn,
.prestige-availability [data-avail-status='held'] [data-vc-date-btn],
.prestige-availability [data-avail-status='held'] .vc-date__btn {
  background: rgba(249, 115, 22, 0.1) !important;
  color: #c2410c !important;
  font-weight: 700 !important;
}

.prestige-availability .prestige-avail--blocked [data-vc-date-btn],
.prestige-availability .prestige-avail--blocked .vc-date__btn,
.prestige-availability [data-avail-status='blocked'] [data-vc-date-btn],
.prestige-availability [data-avail-status='blocked'] .vc-date__btn,
.prestige-availability .prestige-avail--turnover [data-vc-date-btn],
.prestige-availability .prestige-avail--turnover .vc-date__btn,
.prestige-availability [data-avail-status='turnover'] [data-vc-date-btn],
.prestige-availability [data-avail-status='turnover'] .vc-date__btn {
  background: var(--prestige-avail-busy) !important;
  color: var(--prestige-avail-busy-text) !important;
  font-weight: 700 !important;
}

.prestige-availability .prestige-avail--checkout_half [data-vc-date-btn],
.prestige-availability .prestige-avail--checkout_half .vc-date__btn,
.prestige-availability [data-avail-status='checkout_half'] [data-vc-date-btn],
.prestige-availability [data-avail-status='checkout_half'] .vc-date__btn {
  background: linear-gradient(
    128deg,
    var(--prestige-avail-busy) 0%,
    var(--prestige-avail-busy) 46%,
    var(--prestige-avail-free) 54%,
    var(--prestige-avail-free) 100%
  ) !important;
  color: var(--prestige-avail-busy-text) !important;
  font-weight: 700 !important;
}

.prestige-availability .prestige-avail--checkin_half [data-vc-date-btn],
.prestige-availability .prestige-avail--checkin_half .vc-date__btn,
.prestige-availability [data-avail-status='checkin_half'] [data-vc-date-btn],
.prestige-availability [data-avail-status='checkin_half'] .vc-date__btn {
  background: linear-gradient(
    128deg,
    var(--prestige-avail-free) 0%,
    var(--prestige-avail-free) 46%,
    var(--prestige-avail-busy) 54%,
    var(--prestige-avail-busy) 100%
  ) !important;
  color: var(--prestige-avail-busy-text) !important;
  font-weight: 700 !important;
}

.prestige-auth-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.prestige-auth-modal[hidden] {
  display: none;
}

.prestige-auth-modal.is-open {
  display: flex;
}

.prestige-auth-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(28, 25, 23, 0.42);
  backdrop-filter: blur(6px);
}

.prestige-auth-modal__panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(100%, 28rem);
  max-height: min(92vh, 44rem);
  overflow: hidden;
  border: 1px solid var(--prestige-line);
  border-radius: 1.35rem;
  background: #ffffff;
  box-shadow: 0 24px 60px -28px rgba(28, 25, 23, 0.4);
}

.prestige-auth-modal__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1.1rem 1.15rem 0.95rem;
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-auth-modal__eyebrow {
  margin: 0;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.prestige-auth-modal__title {
  margin: 0.2rem 0 0;
  font-size: 1.08rem;
  font-weight: 650;
  letter-spacing: -0.03em;
  color: var(--prestige-ink);
}

.prestige-auth-modal__close {
  flex-shrink: 0;
}

.prestige-auth-modal__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.3rem;
  margin: 0.9rem 1.15rem 0;
  padding: 0.28rem;
  border: 1px solid var(--prestige-line);
  border-radius: 999px;
  background: #f8f8f7;
}

.prestige-auth-modal__tab {
  min-height: 2.25rem;
  padding: 0.4rem 0.75rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--prestige-muted);
  font-family: inherit;
  font-size: 0.8rem;
  font-weight: 650;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-auth-modal__tab:hover {
  color: var(--prestige-ink);
}

.prestige-auth-modal__tab.is-active {
  background: #ffffff;
  color: var(--color-primary);
  box-shadow: 0 1px 3px rgba(28, 25, 23, 0.08);
}

.prestige-auth-modal__body {
  padding: 1rem 1.15rem 1.25rem;
  overflow-y: auto;
}

.prestige-auth-modal__panel-body {
  display: none;
}

.prestige-auth-modal__panel-body.is-active {
  display: block;
}

.prestige-auth-form {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.prestige-auth-form__grid {
  display: grid;
  gap: 0.85rem;
}

@media (min-width: 520px) {
  .prestige-auth-form__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.prestige-auth-field {
  display: block;
  min-width: 0;
}

.prestige-auth-field__label {
  display: block;
  margin-bottom: 0.32rem;
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-auth-field__label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.prestige-auth-field__input {
  width: 100%;
  min-height: 2.7rem;
  padding: 0.6rem 0.9rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.9rem;
  background: #ffffff;
  color: var(--prestige-ink);
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 500;
  transition: all 0.2s ease;
}

.prestige-auth-field__input:hover {
  border-color: color-mix(in oklab, var(--color-primary) 28%, var(--prestige-line));
}

.prestige-auth-field__input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--color-primary) 16%, transparent);
}

.prestige-auth-password {
  display: block;
  position: relative;
}

.prestige-auth-password__input {
  padding-right: 2.75rem;
}

.prestige-auth-password__toggle {
  position: absolute;
  top: 50%;
  right: 0.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  transform: translateY(-50%);
  border: 0;
  border-radius: 0.6rem;
  background: transparent;
  color: var(--prestige-muted);
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-auth-password__toggle:hover {
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
}

.prestige-auth-form__link {
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
  color: var(--color-primary);
  text-decoration: none;
}

.prestige-auth-form__link:hover {
  text-decoration: underline;
}

.prestige-auth-form__submit {
  width: 100%;
  margin-top: 0.1rem;
}

.prestige-auth-form__submit:disabled {
  opacity: 0.65;
  cursor: wait;
}

.prestige-auth-consent {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 0.85rem 0.9rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1rem;
  background: #f8f8f7;
}

.prestige-auth-check {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.45;
  color: var(--prestige-muted);
  cursor: pointer;
}

.prestige-auth-check input {
  margin-top: 0.18rem;
  accent-color: var(--color-primary);
}

.prestige-auth-check em {
  font-style: normal;
  font-weight: 700;
  color: var(--prestige-ink);
}

.prestige-toast-root {
  position: fixed;
  top: calc(var(--prestige-header-h) + 0.75rem);
  right: 1rem;
  z-index: 140;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.55rem;
  max-width: min(22rem, calc(100vw - 2rem));
  pointer-events: none;
}

.prestige-toast {
  pointer-events: auto;
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  width: 100%;
  padding: 0.85rem 0.95rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 18px 40px -24px rgba(28, 25, 23, 0.4);
  color: var(--prestige-ink);
  animation: prestige-toast-in 0.22s ease-out;
}

.prestige-toast.is-leaving {
  animation: prestige-toast-out 0.18s ease-in forwards;
}

.prestige-toast--error {
  border-color: rgba(225, 29, 72, 0.22);
  background: #fff5f7;
}

.prestige-toast--success {
  border-color: rgba(16, 185, 129, 0.22);
  background: #f0fdf8;
}

.prestige-toast__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 0.65rem;
  font-size: 0.8rem;
}

.prestige-toast--error .prestige-toast__icon {
  color: #e11d48;
  background: rgba(225, 29, 72, 0.1);
}

.prestige-toast--success .prestige-toast__icon {
  color: #059669;
  background: rgba(16, 185, 129, 0.12);
}

.prestige-toast__message {
  flex: 1;
  margin: 0.15rem 0 0;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.45;
}

.prestige-toast__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  margin-top: 0.1rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--prestige-muted);
  cursor: pointer;
}

.prestige-toast__close:hover {
  background: rgba(28, 25, 23, 0.05);
  color: var(--prestige-ink);
}

@keyframes prestige-toast-in {
  from {
    opacity: 0;
    transform: translateY(-0.4rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes prestige-toast-out {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-0.35rem);
  }
}

.prestige-product-quote {
  display: grid;
  gap: 0.9rem;
}

.prestige-product-quote .prestige-product-field {
  gap: 0.35rem;
}

.prestige-product-quote .prestige-product-field-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  align-items: start;
}

.prestige-product-quote .prestige-product-field-row .prestige-search-field {
  min-width: 0;
}

.prestige-product-quote .prestige-search-field {
  flex: none;
  width: 100%;
  margin: 0;
  padding: 0.42rem 0.65rem;
  border: 1px solid rgb(241 245 249);
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}

.prestige-product-quote .prestige-search-field__icon,
.prestige-product-quote .prestige-search-field__chevron {
  font-size: 0.8rem;
}

.prestige-product-quote .prestige-hero-date-input,
.prestige-product-quote .prestige-search-field__native {
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.25;
}

.prestige-product-quote .prestige-hero-date-input::placeholder {
  font-weight: 500;
  color: #a8a29e;
}

.prestige-product-quote .prestige-search-field__native {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  cursor: pointer;
}

.prestige-product-quote .prestige-search-field__native:focus,
.prestige-product-quote .prestige-hero-date-input:focus {
  outline: none;
}

.prestige-product-quote input[type="number"].prestige-hero-date-input {
  cursor: text;
  -moz-appearance: textfield;
}

.prestige-product-quote input[type="number"].prestige-hero-date-input::-webkit-outer-spin-button,
.prestige-product-quote input[type="number"].prestige-hero-date-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

@media (min-width: 1024px) {
  .prestige-product-quote .prestige-search-field {
    border: 1px solid rgb(241 245 249);
  }
}

.prestige-product-quote__error {
  margin: 0;
  padding: 0.75rem 1rem;
  border-radius: 0.9rem;
  border: 1px solid #fecdd3;
  background: #fff1f2;
  color: #be123c;
  font-size: 0.85rem;
}

.prestige-transfer-quote__alert {
  margin: 0 0 0.85rem;
  padding: 0.75rem 1rem;
  border-radius: 0.9rem;
  border: 1px solid #fecdd3;
  background: #fff1f2;
  color: #be123c;
  font-size: 0.85rem;
}

.prestige-transfer-quote__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.15rem;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--color-primary) 16%, #e2e8f0);
  background: color-mix(in oklab, var(--color-primary) 8%, #ffffff);
  color: var(--color-primary);
  font-size: 0.75rem;
  font-weight: 600;
}

.prestige-transfer-quote__group {
  display: grid;
  gap: 0.75rem;
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(15, 23, 42, 0.06);
  background: #f8fafc;
}

.prestige-transfer-quote__group-title {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-transfer-quote__row {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 420px) {
  .prestige-transfer-quote__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.prestige-transfer-quote__addons {
  margin: 0;
  padding: 0;
  border: 0;
  gap: 0.55rem;
}

.prestige-transfer-quote__addon {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(15, 23, 42, 0.06);
  background: #ffffff;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.prestige-transfer-quote__addon:hover {
  border-color: color-mix(in oklab, var(--color-primary) 22%, #e2e8f0);
}

.prestige-transfer-quote__addon input {
  margin-top: 0.15rem;
}

.prestige-transfer-quote__addon-body {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
  min-width: 0;
}

.prestige-transfer-quote__addon-name {
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-transfer-quote__addon-price {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--color-primary);
}

.prestige-transfer-quote__preview {
  display: grid;
  gap: 0.2rem;
  padding: 0.85rem 1rem;
  border-radius: 1rem;
  border: 1px solid color-mix(in oklab, var(--color-primary) 14%, #e2e8f0);
  background: color-mix(in oklab, var(--color-primary) 5%, #ffffff);
}

.prestige-transfer-quote__preview-label {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-transfer-quote__preview-total {
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--color-primary);
}

.prestige-transfer-quote__preview-error {
  margin: 0.15rem 0 0;
  font-size: 0.8rem;
  color: #be123c;
}

.prestige-transfer-quote__note {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: var(--prestige-muted);
}

.prestige-product-booking__form {
  display: grid;
  gap: 0.9rem;
}

.prestige-product-field {
  display: grid;
  gap: 0.4rem;
}

.prestige-transfer-pax-stepper {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 3rem;
  padding: 0.35rem 0.55rem;
  border-radius: 0.9rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-transfer-route {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 0.9rem;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
  transition: all 0.2s ease;
}

.prestige-transfer-route:hover {
  border-color: color-mix(in oklab, var(--color-primary) 22%, rgba(15, 23, 42, 0.08));
}

.prestige-transfer-route:focus-within {
  border-color: var(--color-primary);
  background: #ffffff;
  outline: 2px solid color-mix(in oklab, var(--color-primary) 28%, white);
  outline-offset: 0;
}

.prestige-transfer-route__input.prestige-input {
  min-height: 2.75rem;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.prestige-transfer-route__input.prestige-input:hover,
.prestige-transfer-route__input.prestige-input:focus {
  border: 0 !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}

.prestige-transfer-route__divider {
  height: 1px;
  margin: 0 0.9rem;
  background: rgb(226 232 240);
}

.prestige-transfer-route__row {
  position: relative;
}

.prestige-transfer-pax-stepper__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #f8fafc;
  color: var(--color-primary, #0ea5e9);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-transfer-pax-stepper__btn:hover:not(:disabled) {
  background: var(--color-primary-soft, #e0f2fe);
  border-color: var(--color-primary, #0ea5e9);
}

.prestige-transfer-pax-stepper__btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.prestige-transfer-pax-stepper__value {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  color: #1e293b;
  -moz-appearance: textfield;
}

.prestige-transfer-pax-stepper__value::-webkit-outer-spin-button,
.prestige-transfer-pax-stepper__value::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.prestige-transfer-pax-stepper__value:focus {
  outline: none;
}

.prestige-product-field__label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-product-guest-control {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 3rem;
  padding: 0.55rem 0.85rem;
  cursor: pointer;
}

.prestige-product-guest-control .prestige-guest-picker {
  flex: 1;
  min-width: 0;
}

.prestige-product-guest-control .prestige-guest-picker__trigger {
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  text-align: left;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--prestige-ink);
  cursor: pointer;
}

.prestige-product-field .prestige-input,
.prestige-product-guest-control {
  min-height: 3rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 0.9rem;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
  transition: all 0.2s ease;
}

.prestige-product-field .prestige-input:hover,
.prestige-product-guest-control:hover {
  border-color: color-mix(in oklab, var(--color-primary) 22%, rgba(15, 23, 42, 0.08));
}

.prestige-product-field .prestige-input:focus,
.prestige-product-field--guest.is-guest-open .prestige-product-guest-control {
  border-color: var(--color-primary);
  background: #ffffff;
  outline: 2px solid color-mix(in oklab, var(--color-primary) 28%, white);
  outline-offset: 0;
}

.prestige-product-addons {
  margin: 0;
  border: 1px solid rgb(226 232 240);
  border-radius: 1rem;
  background: rgb(248 250 252);
  overflow: hidden;
}

.prestige-product-addons__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 0.95rem;
  list-style: none;
  cursor: pointer;
  user-select: none;
  transition: background 0.2s ease;
}

.prestige-product-addons__summary:hover {
  background: color-mix(in oklab, var(--color-primary) 5%, #ffffff);
}

.prestige-product-addons__summary::-webkit-details-marker {
  display: none;
}

.prestige-product-addons__title {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--prestige-ink);
}

.prestige-product-addons__title i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.6rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
}

.prestige-product-addons__chevron {
  color: var(--prestige-muted);
  font-size: 0.75rem;
  transition: transform 0.2s ease;
}

.prestige-product-addons[open] .prestige-product-addons__summary {
  border-bottom: 1px solid rgb(226 232 240);
  background: #ffffff;
}

.prestige-product-addons[open] .prestige-product-addons__chevron {
  transform: rotate(180deg);
  color: var(--color-primary);
}

.prestige-product-extras {
  display: grid;
  gap: 0.6rem;
  margin: 0;
  padding: 0.75rem;
  list-style: none;
  background: rgb(248 250 252);
}

.prestige-product-extra-row {
  display: grid;
  gap: 0.45rem;
  padding: 0.75rem 0.8rem;
  border: 1px solid rgb(241 245 249);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-product-extra {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  cursor: pointer;
}

.prestige-product-extra__main {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  min-width: 0;
}

.prestige-product-extra__main > input[type="checkbox"] {
  appearance: none;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0.15rem 0 0;
  flex-shrink: 0;
  border: 1.5px solid rgb(203 213 225);
  border-radius: 0.4rem;
  background: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-product-extra__main > input[type="checkbox"]:checked {
  border-color: var(--color-primary);
  background: var(--color-primary);
  box-shadow: inset 0 0 0 2px #ffffff;
}

.prestige-product-extra-row:has(input:checked) {
  border-color: color-mix(in oklab, var(--color-primary) 22%, rgb(241 245 249));
  background: color-mix(in oklab, var(--color-primary) 5%, #ffffff);
}

.prestige-product-extra__copy {
  display: grid;
  gap: 0.12rem;
}

.prestige-product-extra__name {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-product-extra__req,
.prestige-product-extra__meta {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--prestige-muted);
}

.prestige-product-extra__price {
  flex-shrink: 0;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--color-primary);
}

.prestige-product-extra-qty {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.55rem 0 0;
  border-top: 1px dashed rgb(226 232 240);
}

.prestige-product-extra-qty__label {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-product-booking__breakdown {
  padding: 0.85rem 0.9rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.9rem;
  background: #fafafa;
}

.prestige-product-booking__breakdown[hidden] {
  display: none !important;
}

.prestige-product-booking__preview-loading {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.65rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-product-booking__preview-loading[hidden] {
  display: none !important;
}

.prestige-product-booking__preview-loading-dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: var(--color-primary);
  animation: prestige-quote-preview-pulse 0.9s ease-in-out infinite;
}

.prestige-product-booking__breakdown.is-loading [data-booking-lines],
.prestige-product-booking__breakdown.is-loading .prestige-product-booking__lines--totals {
  opacity: 0.45;
}

@keyframes prestige-quote-preview-pulse {
  0%,
  100% {
    opacity: 0.35;
    transform: scale(0.85);
  }
  50% {
    opacity: 1;
    transform: scale(1);
  }
}

.prestige-product-booking__availability {
  margin: 0 0 0.55rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #047857;
}

.prestige-product-booking__availability.is-unavailable {
  color: #be123c;
}

.prestige-product-booking__availability[hidden] {
  display: none !important;
}

.prestige-product-booking__lines {
  display: grid;
  gap: 0.45rem;
  margin: 0;
}

.prestige-product-booking__lines--totals {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px dashed var(--prestige-line);
}

.prestige-product-booking__line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
  font-size: 0.78rem;
}

.prestige-product-booking__line dt {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  margin: 0;
  min-width: 0;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-product-booking__line-detail {
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--prestige-muted);
}

.prestige-product-booking__line dd {
  margin: 0;
  font-weight: 700;
  color: var(--prestige-ink);
  white-space: nowrap;
}

.prestige-product-booking__line[hidden] {
  display: none !important;
}

.prestige-product-booking__line--grand dt,
.prestige-product-booking__line--grand dd {
  font-size: 0.9rem;
  color: var(--prestige-ink);
}

.prestige-product-booking__line--meta dt,
.prestige-product-booking__line--meta dd {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #64748b;
}

.prestige-product-booking__line-label {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  max-width: 100%;
}

.prestige-product-booking__night-tip {
  position: relative;
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  color: #6366f1;
}

.prestige-product-booking__night-tip i {
  font-size: 0.62rem;
  line-height: 1;
}

.prestige-product-booking__line--grand dd,
.prestige-product-booking__line--deposit dd {
  color: var(--color-primary);
}

.prestige-product-booking__line--deposit {
  margin-top: 0.25rem;
  padding-top: 0.5rem;
  border-top: 1px dashed var(--prestige-line);
}

.prestige-product-booking__preview-error {
  margin: 0.55rem 0 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: #be123c;
}

.prestige-product-booking__preview-error[hidden] {
  display: none !important;
}

.prestige-product-booking__note {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  margin: 0;
  font-size: 0.75rem;
  color: var(--prestige-muted);
}

.prestige-product-booking__note--warn {
  color: #b45309;
  flex-wrap: wrap;
}

.prestige-product-booking__note--warn .prestige-product-policy-link {
  margin-left: 0.15rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
}

.prestige-product-dl__hint {
  color: var(--prestige-muted);
  font-weight: 400;
}

.prestige-product-booking__chat {
  margin-top: 0.35rem;
}

.prestige-product-booking-nav__tier[hidden] {
  display: none !important;
}

@media (max-width: 1023.98px) {
  body.is-booking-drawer-open .prestige-product-booking__price,
  body.is-booking-drawer-open .prestige-product-booking__kicker {
    display: none;
  }

  body.is-booking-drawer-open .vc[data-vc="calendar"][data-vc-input] {
    left: 20vw !important;
    right: auto !important;
    width: 60vw !important;
    min-width: 60vw !important;
    max-width: 60vw !important;
    z-index: 95;
    padding: 0.55rem !important;
  }

  body.is-booking-drawer-open .vc[data-vc="calendar"][data-vc-input] .vc-dates__row,
  body.is-booking-drawer-open .vc[data-vc="calendar"][data-vc-input] [data-vc-dates-row] {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 0.15rem !important;
  }

  body.is-booking-drawer-open .vc[data-vc="calendar"][data-vc-input] .vc-date,
  body.is-booking-drawer-open .vc[data-vc="calendar"][data-vc-input] [data-vc-date] {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    height: auto !important;
  }
}

.vc[data-vc="calendar"][data-vc-input][data-vc-type="multiple"] {
  min-width: min(36rem, calc(100vw - 1.5rem));
  max-width: calc(100vw - 1rem);
}

.vc[data-vc="calendar"] [data-vc-date].prestige-quote-day--checkout_half [data-vc-date-btn],
.vc[data-vc="calendar"] [data-vc-date].prestige-quote-day--checkout_half .vc-date__btn {
  background: linear-gradient(
    128deg,
    rgba(244, 63, 94, 0.1) 0%,
    rgba(244, 63, 94, 0.1) 46%,
    rgba(16, 185, 129, 0.1) 54%,
    rgba(16, 185, 129, 0.1) 100%
  ) !important;
  color: #be123c !important;
  text-decoration: none !important;
  opacity: 1 !important;
}

.vc[data-vc="calendar"] [data-vc-date].prestige-quote-day--checkin_half [data-vc-date-btn],
.vc[data-vc="calendar"] [data-vc-date].prestige-quote-day--checkin_half .vc-date__btn {
  background: linear-gradient(
    128deg,
    rgba(16, 185, 129, 0.1) 0%,
    rgba(16, 185, 129, 0.1) 46%,
    rgba(244, 63, 94, 0.1) 54%,
    rgba(244, 63, 94, 0.1) 100%
  ) !important;
  color: #be123c !important;
  text-decoration: none !important;
  opacity: 1 !important;
}

.vc[data-vc="calendar"] [data-vc-date].prestige-quote-day--blocked [data-vc-date-btn],
.vc[data-vc="calendar"] [data-vc-date].prestige-quote-day--blocked .vc-date__btn,
.vc[data-vc="calendar"] [data-vc-date].prestige-quote-day--turnover [data-vc-date-btn],
.vc[data-vc="calendar"] [data-vc-date].prestige-quote-day--turnover .vc-date__btn {
  background: rgba(244, 63, 94, 0.1) !important;
  color: #be123c !important;
  text-decoration: none !important;
  opacity: 1 !important;
  cursor: not-allowed;
}

.vc[data-vc="calendar"] [data-vc-date].prestige-quote-day--held [data-vc-date-btn],
.vc[data-vc="calendar"] [data-vc-date].prestige-quote-day--held .vc-date__btn {
  background: rgba(249, 115, 22, 0.1) !important;
  color: #c2410c !important;
  text-decoration: none !important;
  opacity: 1 !important;
  cursor: not-allowed;
}

.vc[data-vc="calendar"] [data-vc-date][data-vc-date-disabled]:not([class*="prestige-quote-day--"]) [data-vc-date-btn] {
  color: #94a3b8 !important;
  text-decoration: line-through;
  background: #f1f5f9 !important;
  cursor: not-allowed;
  opacity: 0.72;
}

.prestige-contact-body {
  padding: 0 0 3.25rem;
}

@media (min-width: 1024px) {
  .prestige-contact-body {
    padding: 0 0 3.75rem;
  }
}

.prestige-contact-channels {
  display: grid;
  gap: 0.85rem;
  margin-bottom: 1.5rem;
}

@media (min-width: 640px) {
  .prestige-contact-channels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .prestige-contact-channels {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 2rem;
  }
}

.prestige-contact-channel {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-height: 100%;
  padding: 1.05rem 1.1rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.25rem;
  background: var(--prestige-card);
  box-shadow: 0 10px 30px rgba(28, 25, 23, 0.04);
  text-decoration: none;
  color: inherit;
  transition: all 0.2s ease;
}

a.prestige-contact-channel:hover {
  transform: translateY(-2px);
  border-color: color-mix(in oklab, var(--color-primary) 28%, var(--prestige-line));
  box-shadow: 0 16px 36px -24px color-mix(in oklab, var(--color-primary) 45%, transparent);
}

.prestige-contact-channel--stat {
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--color-primary) 12%, white) 0%,
    var(--prestige-card) 100%
  );
}

.prestige-contact-channel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 0.45rem;
  border-radius: 0.85rem;
  background: color-mix(in oklab, var(--color-primary) 10%, white);
  color: var(--color-primary);
  font-size: 0.95rem;
}

.prestige-contact-channel__label {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-contact-channel__value {
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--prestige-ink);
}

a.prestige-contact-channel:hover .prestige-contact-channel__value {
  color: var(--color-primary);
}

.prestige-contact-split {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

@media (min-width: 1024px) {
  .prestige-contact-split {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
    align-items: stretch;
    gap: 1.25rem;
  }
}

.prestige-contact-workspace {
  min-width: 0;
  padding: 1.35rem 1.25rem 1.5rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.25rem;
  background: var(--prestige-card);
  box-shadow: 0 10px 30px rgba(28, 25, 23, 0.04);
}

@media (min-width: 768px) {
  .prestige-contact-workspace {
    padding: 1.65rem 1.75rem 1.85rem;
  }
}

.prestige-contact-workspace__head {
  margin-bottom: 1.35rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-contact-workspace__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.prestige-contact-workspace__title {
  margin: 0;
  font-size: clamp(1.2rem, 2.4vw, 1.55rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-contact-workspace__intro {
  margin: 0.4rem 0 0;
  max-width: 32rem;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--prestige-muted);
}

.prestige-contact-alerts {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1.15rem;
}

.prestige-contact-alert {
  margin: 0;
  padding: 0.8rem 1rem;
  border-radius: 0.9rem;
  border: 1px solid var(--prestige-line);
  background: #f8fafc;
  font-size: 0.875rem;
  color: var(--prestige-ink);
}

.prestige-contact-alert--success {
  border-color: rgba(16, 185, 129, 0.22);
  background: #ecfdf5;
  color: #047857;
}

.prestige-contact-alert--error {
  border-color: rgba(244, 63, 94, 0.22);
  background: #fff1f2;
  color: #be123c;
}

.prestige-contact-form {
  display: grid;
  gap: 1rem;
}

.prestige-contact-form__grid {
  display: grid;
  gap: 1rem;
}

@media (min-width: 640px) {
  .prestige-contact-form__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.prestige-contact-form__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 0.25rem;
}

.prestige-contact-form__consent {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  max-width: 36rem;
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-contact-form__consent input {
  margin-top: 0.2rem;
  accent-color: var(--color-primary);
}

.prestige-contact-form__consent a {
  color: var(--color-primary);
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--color-primary) 40%, #d6d3d1);
}

.prestige-contact-form__actions .prestige-cta {
  gap: 0.5rem;
}

.prestige-contact-map {
  position: relative;
  overflow: hidden;
  min-height: 18rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.25rem;
  background: #f1f5f9;
  box-shadow: 0 10px 30px rgba(28, 25, 23, 0.04);
}

.prestige-contact-map .prestige-product-map__canvas,
.prestige-contact-map .prestige-product-map__embed {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 18rem;
  border: 0;
}

@media (min-width: 1024px) {
  .prestige-contact-map {
    min-height: 100%;
  }

  .prestige-contact-map .prestige-product-map__canvas,
  .prestige-contact-map .prestige-product-map__embed {
    position: absolute;
    inset: 0;
    min-height: 0;
    height: 100%;
  }
}

.prestige-contact-map--empty {
  display: flex;
  align-items: flex-end;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--color-primary) 8%, #f8fafc) 0%,
    #eef2f7 100%
  );
}

.prestige-contact-map__pin {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  max-width: calc(100% - 2rem);
  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(8px);
  border: 1px solid var(--prestige-line);
  box-shadow: 0 8px 24px -16px rgba(28, 25, 23, 0.35);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-contact-map__pin i {
  color: var(--color-primary);
}

.prestige-contact-offices {
  margin: 0.25rem 0 1.25rem;
}

.prestige-contact-offices__grid {
  display: grid;
  gap: 0.9rem;
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 640px) {
  .prestige-contact-offices__grid {
    grid-template-columns: repeat(auto-fit, minmax(15.5rem, 1fr));
  }
}

.prestige-contact-office {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-height: 100%;
  padding: 1.15rem 1.2rem 1.25rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.25rem;
  background: var(--prestige-card);
  box-shadow: 0 10px 30px rgba(28, 25, 23, 0.04);
  transition: all 0.2s ease;
}

.prestige-contact-office:hover {
  border-color: color-mix(in oklab, var(--color-primary) 22%, var(--prestige-line));
}

.prestige-contact-office__tag {
  display: inline-flex;
  align-self: flex-start;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.prestige-contact-office__tag--hq {
  background: color-mix(in oklab, var(--color-primary) 12%, white);
  color: var(--color-primary);
}

.prestige-contact-office__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-contact-office__addr {
  margin: 0;
  font-style: normal;
  font-size: 0.86rem;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-contact-office__links {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-top: auto;
  padding-top: 0.65rem;
}

.prestige-contact-office__links a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--prestige-ink);
  font-size: 0.84rem;
  text-decoration: none;
  transition: all 0.2s ease;
}

.prestige-contact-office__links a:hover {
  color: var(--color-primary);
}

.prestige-contact-office__links i {
  width: 0.9rem;
  color: var(--color-primary);
}

.prestige-contact-hours {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.25rem;
  background: var(--prestige-card);
  box-shadow: 0 10px 30px rgba(28, 25, 23, 0.04);
}

@media (min-width: 768px) {
  .prestige-contact-hours {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.15rem 1.5rem;
  }
}

.prestige-contact-hours__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-contact-hours__list {
  display: grid;
  gap: 0.75rem 1.5rem;
  margin: 0;
}

@media (min-width: 640px) {
  .prestige-contact-hours__list {
    grid-auto-flow: column;
    grid-auto-columns: max-content;
  }
}

.prestige-contact-hours__list dt {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-contact-hours__list dd {
  margin: 0.2rem 0 0;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-page-destination main {
  padding-top: 0;
}

.prestige-page-destination .prestige-header {
  background: rgba(255, 255, 255, 0.64);
}

.prestige-destination-hero {
  --prestige-destination-hero-h: clamp(22rem, 58svh, 32rem);
  position: relative;
  display: flex;
  flex-direction: column;
  margin-top: calc(var(--prestige-header-h) * -1);
}

.prestige-destination-hero__stage {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: var(--prestige-destination-hero-h);
  overflow: hidden;
  pointer-events: none;
}

.prestige-destination-hero__media,
.prestige-destination-hero__fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.prestige-destination-hero__media {
  object-fit: cover;
  object-position: center 42%;
  transform: scale(1.06);
}

.prestige-destination-hero__fallback {
  background:
    radial-gradient(ellipse 72% 48% at 18% 18%, rgba(var(--color-primary-rgb), 0.38), transparent 58%),
    linear-gradient(165deg, #292524 0%, #1c1917 52%, #44403c 100%);
}

.prestige-destination-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(28, 25, 23, 0.42) 0%,
    rgba(28, 25, 23, 0.08) 34%,
    rgba(28, 25, 23, 0.18) 58%,
    rgba(28, 25, 23, 0.78) 100%
  );
}

.prestige-destination-hero__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: var(--prestige-destination-hero-h);
  padding-top: calc(var(--prestige-header-h) + 1rem);
  padding-bottom: 2.5rem;
}

.prestige-destination-hero--has-metrics .prestige-destination-hero__inner {
  padding-bottom: 3.75rem;
}

.prestige-destination-hero__crumb {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.72);
}

.prestige-destination-hero__crumb a {
  color: rgba(255, 255, 255, 0.86);
  border-bottom-color: rgba(255, 255, 255, 0.34);
  transition: all 0.2s ease;
}

.prestige-destination-hero__crumb a:hover {
  color: #fff;
  border-bottom-color: #fff;
}

.prestige-destination-hero__crumb [aria-current="page"] {
  color: #fff;
}

.prestige-destination-hero__content {
  max-width: 38rem;
  padding-bottom: 0.35rem;
}

.prestige-destination-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 1rem;
  padding: 0.28rem 0.9rem 0.28rem 0.28rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: rgba(255, 255, 255, 0.94);
}

.prestige-destination-hero__pin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  font-size: 0.78rem;
}

.prestige-destination-hero__title {
  margin: 0;
  font-size: clamp(2.35rem, 6vw, 4.15rem);
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: -0.045em;
  color: #fff;
  text-wrap: balance;
  text-shadow: 0 1px 2px rgba(28, 25, 23, 0.18);
}

.prestige-destination-hero__lead {
  margin: 1rem 0 0;
  max-width: 32rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.86);
  text-wrap: pretty;
}

.prestige-destination-hero__metrics {
  position: relative;
  z-index: 2;
  margin-top: -2.35rem;
  padding-bottom: 0.25rem;
}

.prestige-destination-stats {
  display: flex;
  flex-wrap: nowrap;
  margin: 0;
  padding: 0.35rem;
  list-style: none;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--prestige-line);
  border-radius: 1.25rem;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 18px 40px -24px rgba(28, 25, 23, 0.32);
}

.prestige-destination-stats li {
  display: flex;
  align-items: baseline;
  gap: 0.55rem;
  min-width: 7.5rem;
  flex: 1 1 8rem;
  padding: 0.9rem 1.2rem;
}

.prestige-destination-stats li + li {
  border-left: 1px solid var(--prestige-line);
}

.prestige-destination-stats__value {
  font-size: 1.55rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
  color: var(--prestige-ink);
}

.prestige-destination-stats__label {
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--prestige-muted);
}

.prestige-destination-eyebrow {
  margin: 0 0 0.4rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.prestige-destination-about {
  padding: 2.75rem 0 1.5rem;
}

.prestige-destination-hero--has-metrics + .prestige-destination-about {
  padding-top: 2rem;
}

.prestige-destination-about__grid {
  display: grid;
  gap: 1.5rem;
}

@media (min-width: 960px) {
  .prestige-destination-about__grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(17rem, 0.85fr);
    gap: 2rem;
    align-items: start;
  }

  .prestige-destination-about__grid--single {
    grid-template-columns: minmax(0, 1fr);
  }
}

.prestige-destination-about__title {
  margin: 0 0 1rem;
  font-size: clamp(1.45rem, 2.8vw, 1.9rem);
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--prestige-ink);
}

.prestige-destination-about__richtext {
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--prestige-muted);
}

.prestige-destination-about__richtext p {
  margin: 0 0 0.85rem;
}

.prestige-destination-about__richtext p:last-child {
  margin-bottom: 0;
}

.prestige-destination-about__richtext a {
  color: var(--color-primary);
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--color-primary) 45%, #ffffff);
  transition: all 0.2s ease;
}

.prestige-destination-about__richtext a:hover {
  border-bottom-style: solid;
}

.prestige-destination-about__richtext strong,
.prestige-destination-about__richtext b {
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-destination-about__richtext ul,
.prestige-destination-about__richtext ol {
  margin: 0 0 0.85rem;
  padding-left: 1.2rem;
}

.prestige-destination-about__richtext li {
  margin: 0.25rem 0;
}

.prestige-destination-about__richtext h2,
.prestige-destination-about__richtext h3,
.prestige-destination-about__richtext h4 {
  margin: 1.15rem 0 0.45rem;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-destination-about__richtext img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0.85rem 0;
  border-radius: 1rem;
}

.prestige-destination-highlights {
  display: grid;
  gap: 0.65rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 640px) {
  .prestige-destination-highlights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.prestige-destination-highlights li {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.8rem 0.95rem;
  border-radius: 1rem;
  background: var(--prestige-card);
  border: 1px solid var(--prestige-line);
  box-shadow: 0 4px 12px rgba(28, 25, 23, 0.02);
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-destination-highlights__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
  border-radius: 0.85rem;
  background: color-mix(in oklab, var(--color-primary) 10%, #ffffff);
  color: var(--color-primary);
  font-size: 0.85rem;
}

.prestige-destination-glance {
  display: grid;
  gap: 0.85rem;
}

.prestige-destination-glance__card {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  padding: 1.05rem 1.1rem;
  border-radius: 1.25rem;
  background: var(--prestige-card);
  border: 1px solid var(--prestige-line);
  box-shadow: 0 10px 30px rgba(28, 25, 23, 0.04);
}

.prestige-destination-glance__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 0.9rem;
  background: color-mix(in oklab, var(--color-primary) 10%, #ffffff);
  color: var(--color-primary);
  font-size: 0.95rem;
}

.prestige-destination-glance__title {
  margin: 0 0 0.2rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-destination-glance__card p {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-destination-jump {
  position: sticky;
  top: calc(var(--prestige-header-h) + 0.15rem);
  z-index: 30;
  padding: 0 0 0.85rem;
}

.prestige-destination-jump__bar {
  display: flex;
  align-items: center;
  min-height: 3.25rem;
  padding: 0.45rem 0.55rem;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid var(--prestige-line);
  border-radius: 1.15rem;
  backdrop-filter: blur(18px) saturate(1.35);
  -webkit-backdrop-filter: blur(18px) saturate(1.35);
  box-shadow: 0 12px 40px -24px rgba(var(--color-primary-rgb), 0.28);
}

.prestige-destination-jump__list {
  display: flex;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  scrollbar-width: none;
  width: 100%;
}

.prestige-destination-jump__list::-webkit-scrollbar {
  display: none;
}

.prestige-destination-jump__link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.62rem 0.95rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid color-mix(in oklab, var(--color-primary) 14%, var(--prestige-line));
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--prestige-ink);
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.prestige-destination-jump__link:hover,
.prestige-destination-jump__link:focus-visible {
  background: color-mix(in oklab, var(--color-primary) 8%, #ffffff);
  border-color: color-mix(in oklab, var(--color-primary) 32%, #ffffff);
  color: var(--color-primary);
}

.prestige-destination-jump__link i {
  color: var(--color-primary);
  font-size: 0.82rem;
}

.prestige-destination-services {
  padding: 2.5rem 0 3rem;
  scroll-margin-top: calc(var(--prestige-header-h) + 4.75rem);
  background: #ffffff;
}

.prestige-destination-services--alt {
  background: color-mix(in oklab, var(--color-primary) 3.5%, #ffffff);
}

.prestige-destination-services__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.75rem;
}

.prestige-destination-services__title {
  margin: 0;
  font-size: clamp(1.45rem, 2.8vw, 1.9rem);
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--prestige-ink);
}

.prestige-destination-see-all {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--color-primary) 40%, #ffffff);
  transition: all 0.2s ease;
}

.prestige-destination-see-all:hover {
  border-bottom-style: solid;
}

.prestige-destination-empty {
  padding: 2rem 1.5rem;
  text-align: center;
  font-size: 0.9rem;
  color: var(--prestige-muted);
  background: var(--prestige-card);
  border: 1px dashed color-mix(in oklab, var(--prestige-line) 70%, #d6d3d1);
  border-radius: 1.25rem;
}

@media (min-width: 768px) {
  .prestige-destination-about {
    padding-top: 3.25rem;
  }
}

/* ─── Prestige account + auth (Aegean layout, Prestige tokens) ─── */
.prestige-account-notifications__row {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem 1.15rem;
  text-decoration: none;
  transition: background 0.2s;
}

.prestige-account-notifications__row:hover {
  background: rgba(var(--color-primary-rgb), 0.04);
}

.prestige-account-notifications__row.is-unread {
  background: rgba(var(--color-primary-rgb), 0.05);
}

.prestige-account-notifications__title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--prestige-ink);
}

.prestige-account-notifications__body,
.prestige-account-notifications__time {
  font-size: 0.8rem;
  color: var(--prestige-muted);
}

.prestige-account-crumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  margin: 0 0 0.85rem;
  padding: 0;
  list-style: none;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-account-crumb a {
  color: var(--color-primary);
  text-decoration: none;
}

.prestige-account-crumb a:hover {
  text-decoration: underline;
}

.prestige-account-crumb [aria-current="page"] {
  color: var(--prestige-ink);
}

.prestige-account-sort {
  position: relative;
  min-width: 0;
  flex: 1 1 auto;
}

.prestige-account-sort__native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.prestige-account-sort__trigger {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  min-height: 2.65rem;
  padding: 0.45rem 0.7rem 0.45rem 0.55rem;
  border: 1px solid var(--prestige-line);
  border-radius: 9999px;
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.85) inset,
    0 8px 22px -14px rgba(var(--color-primary-rgb), 0.35);
  color: var(--prestige-ink);
  cursor: pointer;
  text-align: left;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.prestige-account-sort__trigger:hover {
  border-color: rgba(var(--color-primary-rgb), 0.35);
}

.prestige-account-sort.is-open .prestige-account-sort__trigger,
.prestige-account-sort__trigger:focus-visible {
  outline: none;
  border-color: var(--color-primary);
  box-shadow:
    0 0 0 3px rgba(var(--color-primary-rgb), 0.16),
    0 10px 26px -14px rgba(var(--color-primary-rgb), 0.4);
}

.prestige-account-sort__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  background: var(--color-primary-light);
  color: var(--color-primary);
  font-size: 0.8rem;
}

.prestige-account-sort__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.05rem;
  min-width: 0;
  flex: 1 1 auto;
}

.prestige-account-sort__hint {
  font-size: 0.5625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--prestige-muted);
  line-height: 1.2;
}

.prestige-account-sort__value {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--prestige-ink);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.prestige-account-sort__chevron {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  font-size: 0.65rem;
  color: var(--prestige-muted);
  transition: transform 0.22s ease, color 0.2s ease;
}

.prestige-account-sort.is-open .prestige-account-sort__chevron {
  transform: rotate(180deg);
  color: var(--color-primary);
}

.prestige-account-sort__menu {
  position: absolute;
  top: calc(100% + 0.45rem);
  left: 0;
  right: 0;
  z-index: 40;
  margin: 0;
  padding: 0.35rem;
  list-style: none;
  background: #ffffff;
  border: 1px solid var(--prestige-line);
  border-radius: 1rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px) scale(0.98);
  transform-origin: top center;
  pointer-events: none;
  transition:
    opacity 0.2s ease,
    transform 0.22s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0.2s;
}

.prestige-account-sort.is-open .prestige-account-sort__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.prestige-account-sort__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  width: 100%;
  padding: 0.62rem 0.75rem;
  border: none;
  border-radius: 0.7rem;
  background: transparent;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--prestige-ink);
  text-align: left;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.prestige-account-sort__option:hover,
.prestige-account-sort__option:focus-visible {
  background: #f8f8f7;
  color: var(--color-primary);
  outline: none;
}

.prestige-account-sort__option.is-selected {
  background: var(--color-primary-light);
  color: var(--color-primary);
}

.prestige-account-sort__check {
  font-size: 0.7rem;
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.prestige-account-sort__option.is-selected .prestige-account-sort__check {
  opacity: 1;
  transform: scale(1);
}

@media (min-width: 640px) {
  .prestige-account-sort {
    flex: 0 1 auto;
    min-width: 11rem;
  }
}

.prestige-contact-field {
  margin-bottom: 0.85rem;
}

.prestige-contact-field__label {
  display: block;
  margin-bottom: 0.38rem;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-contact-field__input {
  width: 100%;
  min-height: 2.85rem;
  padding: 0.65rem 0.95rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.95rem;
  background: #ffffff;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--prestige-ink);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.prestige-contact-field__input:hover {
  border-color: color-mix(in oklab, var(--color-primary) 28%, #ffffff);
}

.prestige-contact-field__input:focus {
  outline: none;
  border-color: var(--color-primary);
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(var(--color-primary-rgb), 0.12);
}

.prestige-contact-field__select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.95rem center;
  padding-right: 2.25rem;
  cursor: pointer;
}

.prestige-contact-field__textarea {
  min-height: 9rem;
  resize: vertical;
  line-height: 1.55;
}

.prestige-contact-field__hint {
  margin: 0.35rem 0 0;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--prestige-muted);
}

/* ─── Account page ─── */
.prestige-page-account main {
  padding-top: 0px;
}

.prestige-account-hero,
.prestige-auth-hero {
  position: relative;
  padding: 1.35rem 0 1.85rem;
  background: linear-gradient(
    0deg,
    color-mix(in oklab, var(--color-primary) 18%, #ffffff) 0%,
    color-mix(in oklab, var(--color-primary) 7%, #ffffff) 42%,
    #ffffff 100%
  );
  border-bottom: 1px solid color-mix(in oklab, var(--color-primary) 22%, var(--prestige-line));
}

.prestige-account-hero--compact {
  padding: 1.25rem 0 1.15rem;
}

.prestige-account-hero .prestige-account-crumb ol {
  margin-bottom: 0.85rem;
}

.prestige-account-hero__profile {
  display: grid;
  gap: 1.25rem;
  align-items: start;
}

@media (min-width: 768px) {
  .prestige-account-hero__profile {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1.35rem 1.5rem;
    align-items: center;
  }
}

.prestige-account-hero__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 1.25rem;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #fff;
  background: var(--color-primary);
  box-shadow: 0 12px 28px -12px rgba(var(--color-primary-rgb), 0.55);
}

.prestige-account-hero__title {
  margin: 0;
  font-size: clamp(1.65rem, 4vw, 2.2rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-account-hero__lead {
  margin: 0.45rem 0 0;
  max-width: 38rem;
  font-size: 0.88rem;
  line-height: 1.6;
  color: var(--prestige-muted);
}

.prestige-account-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1rem;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-account-hero__meta li {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.prestige-account-hero__meta i {
  color: var(--color-primary);
}

.prestige-account-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.prestige-account-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  padding: 0 1.1rem;
  border: 0;
  border-radius: 0.9rem;
  font-family: inherit;
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  color: var(--prestige-ink);
  background: #ffffff;
  transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.2s, box-shadow 0.2s;
}

.prestige-account-hero__btn--primary {
  color: var(--color-on-primary);
  background: var(--color-primary);
}

.prestige-account-hero__btn--primary:hover {
  background: var(--color-primary-dark);
}

.prestige-account-hero__btn--ghost {
  color: var(--prestige-ink);
  border: 1px solid var(--prestige-line);
  background: #ffffff;
}

.prestige-account-hero__btn--ghost:hover {
  border-color: rgba(var(--color-primary-rgb), 0.25);
  background: rgba(var(--color-primary-rgb), 0.05);
}

.prestige-account-body {
  padding-block: 1.5rem 3rem;
}

@media (min-width: 1024px) {
  .prestige-account-body {
    padding-block: 2rem 3.5rem;
  }
}

.prestige-account-layout {
  display: grid;
  gap: 1.25rem;
  align-items: start;
}

@media (min-width: 1024px) {
  .prestige-account-layout {
    grid-template-columns: 15.5rem minmax(0, 1fr);
    column-gap: 2rem;
  }
}

.prestige-account-nav {
  padding: 1rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.15rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

@media (min-width: 1024px) {
  .prestige-account-nav {
    position: sticky;
    top: calc(0px + 1rem);
  }
}

.prestige-account-nav__title {
  margin: 0 0 0.75rem;
  padding-inline: 0.55rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--prestige-ink);
}

.prestige-account-nav__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-account-nav__link {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  padding: 0.65rem 0.7rem;
  border: 0;
  border-radius: 0.75rem;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--prestige-muted);
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.prestige-account-nav__link i {
  width: 1rem;
  text-align: center;
  color: var(--color-primary);
}

.prestige-account-nav__link:hover,
.prestige-account-nav__link.is-active {
  background: rgba(var(--color-primary-rgb), 0.08);
  color: var(--prestige-ink);
}

.prestige-account-nav__logout {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-top: 0.85rem;
  padding: 0.65rem 0.7rem;
  border-top: 1px solid var(--prestige-line);
  font-size: 0.78rem;
  font-weight: 700;
  color: #dc2626;
  text-decoration: none;
  transition: color 0.2s ease, background 0.2s ease;
}

.prestige-account-nav__logout:hover {
  color: #b91c1c;
}

.prestige-account-main {
  min-width: 0;
}

.prestige-account-panel {
  display: none;
}

.prestige-account-panel.is-active {
  display: block;
}

.prestige-account-tier {
  margin-bottom: 1.25rem;
  padding: 1rem 1.05rem 1.1rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-account-tier__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-bottom: 0.85rem;
}

.prestige-account-tier__identity {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.75rem;
}

.prestige-account-tier__heading {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-account-tier__meta {
  margin: 0;
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-account-tier__meta strong {
  color: var(--prestige-ink);
  font-weight: 600;
}

.prestige-account-tier__points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  margin-bottom: 0.55rem;
}

.prestige-account-tier__point {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.75rem;
  background: #f8f8f7;
}

.prestige-account-tier__point.is-pending {
  border-color: rgba(245, 158, 11, 0.28);
  background: rgba(245, 158, 11, 0.08);
}

.prestige-account-tier__point-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-account-tier__point-value {
  font-size: 1rem;
  font-weight: 600;
  color: var(--prestige-ink);
  letter-spacing: -0.02em;
}

.prestige-account-tier__points-note {
  margin: 0 0 0.75rem;
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--prestige-muted);
}

.prestige-account-tier__progress {
  --tier-progress: 0.7;
  height: 0.5rem;
  margin-bottom: 0.75rem;
  padding: 0.125rem;
  border-radius: 9999px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.65) 0%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(
      90deg,
      rgba(251, 146, 60, 0.1) 0%,
      rgba(148, 163, 184, 0.08) 32%,
      rgba(250, 204, 21, 0.1) 66%,
      rgba(129, 140, 248, 0.12) 100%
    ),
    #f8f8f7;
  border: 1px solid rgba(15, 23, 42, 0.06);
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

.prestige-account-tier__progress-fill {
  display: block;
  height: 100%;
  width: calc(var(--tier-progress) * 100%);
  border-radius: inherit;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, 0.42) 0%, rgba(255, 255, 255, 0.08) 38%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(
      90deg,
      #f97316 0%,
      #fb923c 10%,
      #fdba74 18%,
      #cbd5e1 30%,
      #94a3b8 38%,
      #fde047 52%,
      #facc15 60%,
      #c4b5fd 74%,
      #818cf8 86%,
      #6366f1 94%,
      #4f46e5 100%
    );
  background-size: 100% 100%, calc(100% / var(--tier-progress)) 100%;
  background-repeat: no-repeat;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    0 0 0 1px rgba(255, 255, 255, 0.12) inset,
    0 2px 8px -3px rgba(79, 70, 229, 0.35);
  transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.prestige-account-tier__levels {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(4.5rem, 1fr));
  gap: 0.35rem;
  margin-bottom: 0.85rem;
}

.prestige-account-tier__level {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.12rem;
  padding: 0.45rem 0.25rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.55rem;
  font-size: 0.62rem;
  font-weight: 700;
  text-align: center;
  color: var(--prestige-muted);
  background: #f8f8f7;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s;
}

.prestige-account-tier__level-name {
  display: block;
  line-height: 1.2;
}

.prestige-account-tier__level-threshold {
  display: block;
  font-size: 0.58rem;
  font-weight: 600;
  opacity: 0.78;
}

.prestige-account-tier__level:hover {
  border-color: rgba(var(--color-primary-rgb), 0.2);
  color: var(--prestige-ink);
}

.prestige-account-tier__level.is-unlocked {
  color: var(--prestige-ink);
}

.prestige-account-tier__level.is-member:not(.is-selected) {
  box-shadow: inset 0 0 0 1px rgba(var(--color-primary-rgb), 0.12);
}

.prestige-account-tier__level.is-selected[data-tier-style="bronze"] {
  color: #92400e;
  background: #fef3c7;
  border-color: rgba(180, 83, 9, 0.35);
  box-shadow: 0 4px 14px -10px rgba(180, 83, 9, 0.45);
}

.prestige-account-tier__level.is-selected[data-tier-style="silver"] {
  color: #334155;
  background: #e2e8f0;
  border-color: rgba(100, 116, 139, 0.35);
  box-shadow: 0 4px 14px -10px rgba(100, 116, 139, 0.35);
}

.prestige-account-tier__level.is-selected[data-tier-style="gold"] {
  color: #92400e;
  background: #fde68a;
  border-color: rgba(245, 158, 11, 0.45);
  box-shadow: 0 4px 14px -10px rgba(245, 158, 11, 0.45);
}

.prestige-account-tier__level.is-selected[data-tier-style="platinum"] {
  color: #4338ca;
  background: #e0e7ff;
  border-color: rgba(99, 102, 241, 0.35);
  box-shadow: 0 4px 14px -10px rgba(99, 102, 241, 0.35);
}

.prestige-account-tier.is-tier-bronze {
  --tier-accent: #d97706;
  --tier-accent-soft: rgba(217, 119, 6, 0.1);
  --tier-accent-border: rgba(180, 83, 9, 0.22);
}

.prestige-account-tier.is-tier-silver {
  --tier-accent: #64748b;
  --tier-accent-soft: rgba(100, 116, 139, 0.1);
  --tier-accent-border: rgba(100, 116, 139, 0.22);
}

.prestige-account-tier.is-tier-gold {
  --tier-accent: #d97706;
  --tier-accent-soft: rgba(245, 158, 11, 0.1);
  --tier-accent-border: rgba(245, 158, 11, 0.25);
}

.prestige-account-tier.is-tier-platinum {
  --tier-accent: #6366f1;
  --tier-accent-soft: rgba(99, 102, 241, 0.1);
  --tier-accent-border: rgba(99, 102, 241, 0.22);
}

.prestige-account-tier__perks-wrap {
  padding-top: 0.85rem;
  border-top: 1px solid var(--prestige-line);
}

.prestige-account-tier__perks-panel {
  display: none;
}

.prestige-account-tier__perks-panel.is-active {
  display: block;
}

.prestige-account-tier__perks-lead {
  margin: 0 0 0.65rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--tier-accent, var(--color-primary));
}

.prestige-account-tier__perks-inherited {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0 0 0.85rem;
  padding: 0.55rem 0.65rem;
  border-radius: 0.65rem;
  font-size: 0.74rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--prestige-muted);
  background: #f8f8f7;
}

.prestige-account-tier__perks-inherited::before {
  content: "✓";
  flex-shrink: 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--prestige-muted);
  opacity: 0.55;
}

.prestige-account-tier__perks-group + .prestige-account-tier__perks-group {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px dashed var(--prestige-line);
}

.prestige-account-tier__perks-group-title {
  margin: 0 0 0.55rem;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-account-tier__perks-group--exclusive .prestige-account-tier__perks-group-title {
  color: var(--tier-accent, var(--color-primary));
}

.prestige-account-tier-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.22rem 0.55rem;
  border-radius: 9999px;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid transparent;
}

.prestige-account-tier-badge--sm {
  padding: 0.2rem 0.5rem;
  font-size: 0.62rem;
}

.prestige-account-tier-badge--bronze {
  color: #92400e;
  background: #fef3c7;
  border-color: rgba(180, 83, 9, 0.15);
}

.prestige-account-tier-badge--silver {
  color: #475569;
  background: #f1f5f9;
  border-color: rgba(100, 116, 139, 0.15);
}

.prestige-account-tier-badge--gold {
  color: #92400e;
  background: #fef3c7;
  border-color: rgba(180, 83, 9, 0.18);
}

.prestige-account-tier-badge--platinum {
  color: #4338ca;
  background: #eef2ff;
  border-color: rgba(79, 70, 229, 0.15);
}

.prestige-account-tier__perks {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-account-tier__perks li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.45rem 0.6rem;
  border-radius: 0.65rem;
  font-size: 0.74rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--prestige-ink);
  background: #f8f8f7;
}

.prestige-account-tier__perks li::before {
  content: "✓";
  flex-shrink: 0;
  width: 0.85rem;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--tier-accent, var(--color-primary));
}

.prestige-account-tier__perks-group--exclusive {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.prestige-account-tier__perks-inherited + .prestige-account-tier__perks-group--exclusive {
  margin-top: 0;
  padding-top: 0.85rem;
  border-top: 1px dashed var(--prestige-line);
}

.prestige-account-tier__perks-group--exclusive .prestige-account-tier__perks li {
  background: var(--tier-accent-soft, rgba(var(--color-primary-rgb), 0.08));
  border: 1px solid var(--tier-accent-border, rgba(var(--color-primary-rgb), 0.15));
}

.prestige-account-stats {
  display: grid;
  gap: 0.85rem;
  margin-bottom: 1.25rem;
}

@media (min-width: 640px) {
  .prestige-account-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .prestige-account-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.prestige-account-stat {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1rem 1.05rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.1rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-account-stat__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.85rem;
  font-size: 0.95rem;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.1);
}

.prestige-account-stat__icon--green {
  color: #059669;
  background: rgba(5, 150, 105, 0.1);
}

.prestige-account-stat__icon--rose {
  color: #e11d48;
  background: rgba(225, 29, 72, 0.1);
}

.prestige-account-stat__label {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-account-stat__value {
  margin: 0.15rem 0 0;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-account-stat__hint {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--prestige-muted);
}

.prestige-account-card,
.prestige-account-highlight {
  border: 1px solid var(--prestige-line);
  border-radius: 1.25rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-account-card {
  padding: 1.25rem 1.2rem 1.35rem;
}

.prestige-account-card--spaced {
  margin-top: 1.25rem;
}

@media (min-width: 768px) {
  .prestige-account-card {
    padding: 1.45rem 1.5rem 1.55rem;
  }
}

.prestige-account-card__head {
  margin-bottom: 1.15rem;
}

.prestige-account-card__head--split {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

@media (min-width: 768px) {
  .prestige-account-card__head--split {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }
}

.prestige-account-card__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-account-card__intro {
  margin: 0.35rem 0 0;
  font-size: 0.82rem;
  line-height: 1.55;
  color: var(--prestige-muted);
}

.prestige-account-referral {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  margin-bottom: 1.25rem;
  padding: 1.25rem 1.2rem 1.35rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.25rem;
  background:
    linear-gradient(135deg, rgba(var(--color-primary-rgb), 0.06) 0%, transparent 42%),
    #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

@media (min-width: 768px) {
  .prestige-account-referral {
    padding: 1.45rem 1.5rem 1.55rem;
  }
}

.prestige-account-referral__intro {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
}

.prestige-account-referral__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.65rem;
  height: 2.65rem;
  border-radius: 0.9rem;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.12);
  font-size: 1rem;
}

.prestige-account-referral__copy {
  min-width: 0;
}

.prestige-account-referral__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--prestige-ink);
}

.prestige-account-referral__lead {
  margin: 0.3rem 0 0;
  max-width: 36rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: var(--prestige-muted);
}

.prestige-account-referral__body {
  display: grid;
  gap: 0.9rem;
}

@media (min-width: 768px) {
  .prestige-account-referral__body {
    grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr);
    gap: 1rem;
    align-items: end;
  }
}

.prestige-account-referral__code-block,
.prestige-account-referral__link-block {
  min-width: 0;
}

.prestige-account-referral__label {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-account-referral__code-row,
.prestige-account-referral__link-row {
  display: flex;
  align-items: stretch;
  gap: 0.5rem;
  min-width: 0;
}

.prestige-account-referral__code {
  display: inline-flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 0.7rem 0.9rem;
  border: 1px dashed rgba(var(--color-primary-rgb), 0.28);
  border-radius: 0.85rem;
  background: rgba(var(--color-primary-rgb), 0.05);
  color: var(--prestige-ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prestige-account-referral__link-input {
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.85rem;
  background: #f8f8f7;
  color: var(--prestige-ink);
  font-size: 0.78rem;
  line-height: 1.35;
}

.prestige-account-referral__link-input:focus {
  outline: none;
  border-color: rgba(var(--color-primary-rgb), 0.45);
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.12);
}

.prestige-account-referral__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  flex-shrink: 0;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.85rem;
  background: #ffffff;
  color: var(--prestige-ink);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.prestige-account-referral__action:hover {
  border-color: rgba(var(--color-primary-rgb), 0.35);
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.06);
}

.prestige-account-referral__action:active {
  transform: translateY(1px);
}

.prestige-account-referral__action--primary {
  border-color: transparent;
  background: var(--color-primary);
  color: #fff;
}

.prestige-account-referral__action--primary:hover {
  background: var(--color-primary-dark, color-mix(in srgb, var(--color-primary) 88%, #000));
  color: #fff;
  border-color: transparent;
}

.prestige-account-referral__action.is-copied {
  border-color: rgba(16, 185, 129, 0.35);
  background: rgba(16, 185, 129, 0.1);
  color: #047857;
}

.prestige-account-referral__action--primary.is-copied {
  border-color: transparent;
  background: #059669;
  color: #fff;
}

@media (max-width: 480px) {
  .prestige-account-referral__code-row,
  .prestige-account-referral__link-row {
    flex-direction: column;
  }

  .prestige-account-referral__action {
    width: 100%;
  }
}

.prestige-account-highlight {
  display: grid;
  gap: 0;
  overflow: hidden;
  margin-bottom: 1.25rem;
}

@media (min-width: 768px) {
  .prestige-account-highlight {
    grid-template-columns: 16rem minmax(0, 1fr);
  }
}

.prestige-account-highlight__media {
  display: block;
  overflow: hidden;
  background: #f8f8f7;
}

@media (max-width: 767px) {
  .prestige-account-highlight__media {
    aspect-ratio: 16 / 10;
  }
}

.prestige-account-highlight__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 11rem;
  object-fit: cover;
}

.prestige-account-highlight__body {
  padding: 1.15rem 1.2rem 1.25rem;
}

@media (min-width: 768px) {
  .prestige-account-highlight__body {
    padding: 1.35rem 1.45rem;
  }
}

.prestige-account-highlight__eyebrow {
  margin: 0;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.prestige-account-highlight__title {
  margin: 0.35rem 0 0;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--prestige-ink);
}

.prestige-account-highlight__meta {
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.4rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-account-highlight__meta li {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.prestige-account-highlight__meta i {
  width: 0.9rem;
  color: var(--color-primary);
}

.prestige-account-highlight__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--prestige-line);
}

.prestige-account-highlight__price {
  margin-left: auto;
  font-size: 1rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-account-highlight__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
}

.prestige-account-highlight__link:hover {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.prestige-account-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.55rem;
  border-radius: 9999px;
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.prestige-account-badge--success {
  color: #047857;
  background: rgba(16, 185, 129, 0.12);
}

.prestige-account-badge--warning {
  color: #b45309;
  background: rgba(245, 158, 11, 0.14);
}

.prestige-account-badge--muted {
  color: var(--prestige-muted);
  background: #f8f8f7;
}

.prestige-account-activity {
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-account-activity li {
  display: flex;
  gap: 0.85rem;
  padding: 0.85rem 0;
  border-top: 1px solid var(--prestige-line);
}

.prestige-account-activity li:first-child {
  padding-top: 0;
  border-top: 0;
}

.prestige-account-activity__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.7rem;
  flex-shrink: 0;
  color: #059669;
  background: rgba(16, 185, 129, 0.12);
}

.prestige-account-activity__icon--muted {
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.1);
}

.prestige-account-activity__text {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--prestige-ink);
}

.prestige-account-activity__time {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-account-filter {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  padding: 0.25rem;
  border: 1px solid var(--prestige-line);
  border-radius: 9999px;
  background: #f8f8f7;
}

.prestige-account-filter__btn {
  padding: 0.45rem 0.85rem;
  border: 0;
  border-radius: 9999px;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--prestige-muted);
  background: transparent;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.prestige-account-filter__btn.is-active {
  color: var(--prestige-ink);
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-account-status-sort {
  flex: 0 1 14.5rem;
  min-width: 11.5rem;
  max-width: 16rem;
}

.prestige-account-bookings-pagination,
.prestige-account-reviews-pagination {
  margin-top: 1.25rem;
}

#review {
  scroll-margin-top: 5.5rem;
}

.prestige-my-reviews-head__range {
  font-weight: 500;
  color: var(--prestige-muted);
}

.prestige-account-reservations {
  display: grid;
  gap: 1rem;
}

.prestige-account-reservations__empty {
  margin: 1rem 0 0;
  padding: 1rem 1.1rem;
  border: 1px dashed var(--prestige-line);
  border-radius: 0.95rem;
  background: #f8f8f7;
  font-size: 0.82rem;
  color: var(--prestige-muted);
  text-align: center;
}

.prestige-account-reservation {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--prestige-line);
  border-radius: 1.15rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

@media (min-width: 640px) {
  .prestige-account-reservation {
    grid-template-columns: 9.5rem minmax(0, 1fr);
  }
}

.prestige-account-reservation.is-hidden {
  display: none;
}

.prestige-account-reservation__media {
  background: #f8f8f7;
  min-height: 7.5rem;
}

.prestige-account-reservation__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 7.5rem;
  object-fit: cover;
}

.prestige-account-reservation__media-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 7.5rem;
  height: 100%;
  color: var(--color-primary);
  background:
    linear-gradient(145deg, rgba(var(--color-primary-rgb), 0.12), rgba(var(--color-primary-rgb), 0.04));
  font-size: 1.45rem;
}

.prestige-account-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.65rem;
  padding: 2rem 1.25rem;
  text-align: center;
}

.prestige-account-empty__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 0.95rem;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.1);
  font-size: 1.05rem;
}

.prestige-account-empty__title {
  margin: 0.25rem 0 0;
  font-size: 1rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-account-empty__lead {
  margin: 0;
  max-width: 28rem;
  font-size: 0.84rem;
  line-height: 1.55;
  color: var(--prestige-muted);
}

.prestige-account-reservation__body {
  padding: 1rem 1.05rem 1.1rem;
}

.prestige-account-reservation__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.prestige-account-reservation__badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.35rem;
}

.prestige-account-reservation__type {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.prestige-account-reservation__type i {
  margin-right: 0.3rem;
}

.prestige-account-reservation__title {
  margin: 0.45rem 0 0;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--prestige-ink);
}

.prestige-account-reservation__meta {
  margin: 0.35rem 0 0;
  font-size: 0.76rem;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-account-reservation__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.65rem;
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--prestige-line);
}

.prestige-account-reservation__price {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-account-reservation__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.prestige-account-reservation__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 2.2rem;
  padding: 0 0.85rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.7rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--prestige-ink);
  text-decoration: none;
  background: #f8f8f7;
  transition: border-color 0.2s, background 0.2s;
}

.prestige-account-reservation__link:hover {
  border-color: rgba(var(--color-primary-rgb), 0.25);
  background: rgba(var(--color-primary-rgb), 0.06);
}

.prestige-account-reservation__link--primary {
  color: #fff;
  border-color: transparent;
  background: var(--color-primary);
}

.prestige-account-reservation__link--primary:hover {
  background: var(--color-primary-dark);
}

.prestige-account-favorites {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
}

.prestige-account-favorite {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--prestige-line);
  border-radius: 1.05rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
  transition:
    transform 0.25s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.prestige-account-favorite:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--color-primary-rgb), 0.3);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

@media (min-width: 640px) {
  .prestige-account-favorite {
    flex-direction: row;
    align-items: stretch;
  }
}

.prestige-account-favorite__media-wrap {
  position: relative;
  overflow: hidden;
  background: #f8f8f7;
}

@media (min-width: 640px) {
  .prestige-account-favorite__media-wrap {
    flex: 0 0 32%;
    max-width: 11.5rem;
    min-height: 7.75rem;
  }
}

.prestige-account-favorite__media {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.prestige-account-favorite__media:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}

.prestige-account-favorite__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 8.25rem;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (min-width: 640px) {
  .prestige-account-favorite__media img {
    aspect-ratio: auto;
    min-height: 100%;
  }
}

.prestige-account-favorite:hover .prestige-account-favorite__media img {
  transform: scale(1.04);
}

.prestige-account-favorite__badge {
  position: absolute;
  top: 0.55rem;
  left: 0.55rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--prestige-ink);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.prestige-account-favorite__badge i {
  font-size: 0.62rem;
  color: var(--color-primary);
}

.prestige-account-favorite__remove {
  position: absolute;
  top: 0.55rem;
  right: 0.55rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  border: 0;
  border-radius: 9999px;
  font-size: 0.75rem;
  color: #e11d48;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
  cursor: pointer;
  transition: transform 0.2s ease, color 0.2s ease;
}

.prestige-account-favorite__remove:hover {
  color: #be123c;
  transform: scale(1.06);
}

.prestige-account-favorite__remove:disabled {
  opacity: 0.65;
  cursor: wait;
}

.prestige-account-favorite__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: center;
  gap: 0.22rem;
  min-width: 0;
  padding: 0.75rem 0.9rem 0.85rem;
}

@media (min-width: 640px) {
  .prestige-account-favorite__body {
    padding: 0.8rem 1rem 0.9rem;
  }
}

.prestige-account-favorite__title {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--prestige-ink);
}

.prestige-account-favorite__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.prestige-account-favorite__title a:hover,
.prestige-account-favorite:hover .prestige-account-favorite__title a {
  color: var(--color-primary);
}

.prestige-account-favorite__meta {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.1rem 0;
  font-size: 0.72rem;
  line-height: 1.35;
  color: var(--prestige-muted);
}

.prestige-account-favorite__meta-sep {
  display: inline-block;
  margin: 0 0.4rem;
  font-size: 0.7em;
  font-weight: 600;
  opacity: 0.8;
}

.prestige-account-favorite__foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.7rem;
  margin-top: 0.4rem;
  padding-top: 0.55rem;
  border-top: 1px solid var(--prestige-line);
}

.prestige-account-favorite__price {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  min-width: 0;
}

.prestige-account-favorite__price-label {
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--prestige-muted);
}

.prestige-account-favorite__price-value {
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--prestige-ink);
  line-height: 1.2;
}

.prestige-account-favorite__price-unit {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-account-favorite__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
  padding: 0.42rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.72rem;
  font-weight: 700;
  color: #fff;
  background: var(--color-primary);
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}

.prestige-account-favorite__cta i {
  font-size: 0.62rem;
  transition: transform 0.2s ease;
}

.prestige-account-favorite__cta:hover {
  background: var(--color-primary-dark);
}

.prestige-account-favorite__cta:hover i {
  transform: translateX(2px);
}

.prestige-account-favorites-pagination {
  margin-top: 1.25rem;
}

.prestige-account-empty--favorites {
  padding: 2.75rem 1.5rem;
}

.prestige-account-empty--favorites .prestige-account-empty__icon {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 1.1rem;
  font-size: 1.2rem;
}

.prestige-account-empty--favorites .prestige-account-empty__title {
  font-size: 1.15rem;
}

.prestige-account-empty--favorites .prestige-account-reservation__link {
  margin-top: 0.35rem;
}

.prestige-account-form-note {
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-account-booking-stack {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

.prestige-account-booking-cover {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--prestige-line);
  border-radius: 1.25rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

@media (min-width: 900px) {
  .prestige-account-booking-cover {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  }
}

.prestige-account-booking-cover__media {
  min-height: 12rem;
  background: #f8f8f7;
}

.prestige-account-booking-cover__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 12rem;
  object-fit: cover;
}

.prestige-account-booking-cover__fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 12rem;
  height: 100%;
  font-size: 2rem;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.08);
}

.prestige-account-booking-cover__body {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem 1.2rem 1.35rem;
}

@media (min-width: 768px) {
  .prestige-account-booking-cover__body {
    padding: 1.45rem 1.5rem 1.55rem;
  }
}

.prestige-account-booking-cover__eyebrow {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-account-booking-cover__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem 1rem;
}

.prestige-account-booking-cover__title {
  margin: 0;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-account-booking-cover__lead {
  margin: 0;
  font-size: 0.92rem;
  color: var(--prestige-muted);
}

.prestige-account-booking-cover__meta {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.prestige-account-booking-cover__meta li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-account-booking-cover__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 0.7rem;
  flex-shrink: 0;
  font-size: 0.78rem;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.1);
}

.prestige-account-booking-grid {
  display: grid;
  gap: 1.1rem;
}

@media (min-width: 900px) {
  .prestige-account-booking-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.prestige-account-card__heading-with-icon {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
}

.prestige-account-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.85rem;
  flex-shrink: 0;
  font-size: 0.95rem;
}

.prestige-account-card__icon--blue {
  color: #2563eb;
  background: rgba(37, 99, 235, 0.1);
}

.prestige-account-card__icon--emerald {
  color: #059669;
  background: rgba(5, 150, 105, 0.1);
}

.prestige-account-card__icon--amber {
  color: #d97706;
  background: rgba(217, 119, 6, 0.1);
}

.prestige-account-card__icon--violet {
  color: #7c3aed;
  background: rgba(124, 58, 237, 0.1);
}

.prestige-account-kv__emphasis {
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.prestige-account-kv__row--discount dd {
  color: #059669;
  font-weight: 700;
}

.prestige-account-kv__row--total {
  margin-top: 0.25rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.prestige-account-kv__row--total dt,
.prestige-account-kv__row--total dd {
  font-weight: 600;
}

.prestige-account-amount-due {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  margin-top: 1rem;
  padding: 0.9rem 1rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(16, 185, 129, 0.22);
  background: linear-gradient(
    135deg,
    rgba(16, 185, 129, 0.12) 0%,
    rgba(16, 185, 129, 0.04) 100%
  );
}

.prestige-account-amount-due__copy {
  min-width: 0;
}

.prestige-account-amount-due__label {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #047857;
}

.prestige-account-amount-due__meta {
  margin: 0.2rem 0 0;
  font-size: 0.72rem;
  color: var(--prestige-muted);
}

.prestige-account-amount-due__amount {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #065f46;
  white-space: nowrap;
}

.prestige-account-table-wrap {
  overflow-x: auto;
}

.prestige-account-table {
  width: 100%;
  border-collapse: collapse;
}

.prestige-account-table th,
.prestige-account-table td {
  padding: 0.85rem 0.75rem;
  text-align: left;
  font-size: 0.84rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  vertical-align: top;
}

.prestige-account-table th {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-account-table tbody tr:last-child th,
.prestige-account-table tbody tr:last-child td {
  border-bottom: 0;
}

.prestige-account-table__num {
  text-align: right;
  font-weight: 700;
  white-space: nowrap;
}

.prestige-account-booking-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem 1.25rem;
}

.prestige-account-booking-hero__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.prestige-account-booking-hero__copy {
  min-width: 0;
  flex: 1 1 16rem;
}

.prestige-account-kv {
  margin: 0;
  display: flex;
  flex-direction: column;
}

.prestige-account-kv__row {
  display: grid;
  grid-template-columns: minmax(7rem, 9.5rem) minmax(0, 1fr);
  gap: 0.75rem 1rem;
  padding: 0.85rem 0;
  border-top: 1px solid var(--prestige-line);
}

.prestige-account-kv__row:first-child {
  border-top: 0;
  padding-top: 0.15rem;
}

.prestige-account-kv--compact .prestige-account-kv__row {
  padding: 0.55rem 0;
}

.prestige-account-kv dt {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--prestige-muted);
}

.prestige-account-kv dd {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--prestige-ink);
  word-break: break-word;
}

.prestige-account-kv__mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.84rem;
  letter-spacing: 0.02em;
}

.prestige-account-booking-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid var(--prestige-line);
}

.prestige-account-booking-note {
  margin: 0.85rem 0 0;
  padding: 0.85rem 0.95rem;
  border-radius: 0.95rem;
  border: 1px solid var(--prestige-line);
  background: #f8f8f7;
  font-size: 0.84rem;
  line-height: 1.55;
  color: var(--prestige-muted);
}

.prestige-account-booking-note--body {
  white-space: pre-line;
  color: var(--prestige-ink);
}

.prestige-account-bank {
  margin-top: 1rem;
  padding: 1rem;
  border-radius: 1.05rem;
  border: 1px solid rgba(var(--color-primary-rgb), 0.14);
  background: linear-gradient(180deg, rgba(var(--color-primary-rgb), 0.05) 0%, #ffffff 72%);
}

.prestige-account-bank__head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}

.prestige-account-bank__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.85rem;
  flex-shrink: 0;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.12);
}

.prestige-account-bank__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-account-bank__lead {
  margin: 0.2rem 0 0;
  font-size: 0.76rem;
  color: var(--prestige-muted);
}

.prestige-account-bank__status {
  margin-top: 0.75rem;
  padding: 0.75rem 0.85rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(245, 158, 11, 0.28);
  background: rgba(245, 158, 11, 0.08);
  font-size: 0.8rem;
  color: var(--prestige-muted);
}

.prestige-account-bank__status p {
  margin: 0;
}

.prestige-account-bank__status--rejected {
  border-color: rgba(225, 29, 72, 0.22);
  background: rgba(255, 241, 242, 0.9);
}

.prestige-account-bank__reject {
  margin-top: 0.45rem !important;
  font-weight: 700;
  color: #9f1239;
}

.prestige-account-stars {
  display: flex;
  align-items: center;
  gap: 0.28rem;
  margin: 0;
  color: #d97706;
  font-size: 0.95rem;
}

.prestige-account-stars span {
  margin-left: 0.35rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-account-card--review {
  border-color: rgba(16, 185, 129, 0.18);
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.06) 0%, #ffffff 70%);
}

.prestige-account-booking-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.prestige-account-rating {
  margin: 0;
  padding: 0;
  border: 0;
}

.prestige-account-rating__options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.55rem;
}

.prestige-account-rating__option {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.75rem;
  border-radius: 9999px;
  border: 1px solid var(--prestige-line);
  background: #ffffff;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--prestige-ink);
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.prestige-account-rating__option i {
  font-size: 0.7rem;
  color: #d97706;
}

.prestige-account-rating__option:has(input:checked) {
  border-color: rgba(var(--color-primary-rgb), 0.35);
  background: rgba(var(--color-primary-rgb), 0.08);
  color: var(--color-primary);
}

.prestige-account-rating__option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.prestige-account-alert--warning {
  border: 1px solid rgba(245, 158, 11, 0.28);
  background: rgba(255, 251, 235, 0.95);
  color: #92400e;
}

.prestige-account-hero__btn--danger {
  color: #9f1239;
  background: rgba(255, 241, 242, 0.98);
  border: 1px solid rgba(225, 29, 72, 0.22);
}

.prestige-account-hero__btn--danger:hover {
  background: rgba(255, 228, 230, 0.98);
}

.prestige-account-profile-form {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.prestige-account-alert {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin-bottom: 1rem;
  padding: 0.9rem 1rem;
  border-radius: 0.95rem;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.45;
}

.prestige-account-alert--error {
  border: 1px solid rgba(225, 29, 72, 0.2);
  background: rgba(255, 241, 242, 0.95);
  color: #9f1239;
}

.prestige-account-alert--success {
  border: 1px solid rgba(5, 150, 105, 0.2);
  background: rgba(236, 253, 245, 0.95);
  color: #047857;
}

.prestige-account-profile-summary {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
}

.prestige-account-profile-summary__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.85rem;
  height: 2.85rem;
  border-radius: 0.95rem;
  background: rgba(var(--color-primary-rgb), 0.12);
  color: var(--color-primary);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.prestige-contact-field__input--readonly {
  background: #f8f8f7;
  color: var(--prestige-muted);
  cursor: default;
}

.prestige-account-prefs {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

.prestige-account-pref {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
  padding: 0.95rem 1rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1rem;
  background: #f8f8f7;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.prestige-account-pref:hover {
  border-color: rgba(var(--color-primary-rgb), 0.28);
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-account-pref__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 0.8rem;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.12);
  font-size: 0.9rem;
}

.prestige-account-pref__icon--green {
  color: #059669;
  background: rgba(16, 185, 129, 0.12);
}

.prestige-account-pref__icon--slate {
  color: #475569;
  background: rgba(100, 116, 139, 0.12);
}

.prestige-account-pref__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.prestige-account-pref__title {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-account-pref__lead {
  font-size: 0.76rem;
  line-height: 1.45;
  color: var(--prestige-muted);
}

.prestige-account-pref__control {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.prestige-account-pref__control input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 1;
}

.prestige-account-pref__switch {
  position: relative;
  display: inline-block;
  width: 2.65rem;
  height: 1.5rem;
  border-radius: 9999px;
  background: #cbd5e1;
  transition: background 0.2s ease;
}

.prestige-account-pref__switch::after {
  content: "";
  position: absolute;
  top: 0.18rem;
  left: 0.18rem;
  width: 1.14rem;
  height: 1.14rem;
  border-radius: 9999px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.18);
  transition: transform 0.2s ease;
}

.prestige-account-pref__control input:checked + .prestige-account-pref__switch {
  background: var(--color-primary);
}

.prestige-account-pref__control input:checked + .prestige-account-pref__switch::after {
  transform: translateX(1.15rem);
}

.prestige-account-pref__control input:focus-visible + .prestige-account-pref__switch {
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
}

.prestige-account-prefs--readonly {
  margin-bottom: 0.85rem;
}

.prestige-account-pref--static {
  cursor: default;
}

.prestige-account-pref--static:hover {
  border-color: var(--prestige-line);
  background: #f8f8f7;
  box-shadow: none;
}

.prestige-account-pref__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(16, 185, 129, 0.25);
  background: rgba(16, 185, 129, 0.1);
  color: #047857;
  font-size: 0.72rem;
  font-weight: 600;
  white-space: nowrap;
}

.prestige-account-form-error {
  margin: 0 0 0.85rem;
  padding: 0.75rem 0.9rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(244, 63, 94, 0.25);
  background: rgba(244, 63, 94, 0.08);
  color: #be123c;
  font-size: 0.85rem;
}

.prestige-text-link {
  color: var(--color-primary);
  text-decoration: underline;
  text-decoration-style: dashed;
  text-underline-offset: 0.18em;
  transition: color 0.2s ease;
}

.prestige-text-link:hover {
  color: var(--prestige-ink);
}

@media (max-width: 480px) {
  .prestige-account-pref {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .prestige-account-pref__control,
  .prestige-account-pref__badge {
    grid-column: 2;
    justify-self: start;
  }
}

.prestige-account-mfa {
  display: grid;
  gap: 0.85rem;
  margin-top: 0.35rem;
}

.prestige-account-mfa-panel {
  padding: 1rem 1.05rem 1.05rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.1rem;
  background: #f8f8f7;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.prestige-account-mfa-panel.is-active {
  background: #ffffff;
  border-color: rgba(var(--color-primary-rgb), 0.22);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}

.prestige-account-mfa-panel__summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
}

.prestige-account-mfa-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.55rem;
  height: 2.55rem;
  border-radius: 0.85rem;
  font-size: 0.95rem;
  flex-shrink: 0;
}

.prestige-account-mfa-panel__icon--totp {
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.12);
}

.prestige-account-mfa-panel__icon--email {
  color: #0f766e;
  background: rgba(13, 148, 136, 0.12);
}

.prestige-account-mfa-panel__copy {
  min-width: 0;
}

.prestige-account-mfa-panel__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.65rem;
}

.prestige-account-mfa-panel__title {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-account-mfa-panel__lead {
  margin: 0.28rem 0 0;
  font-size: 0.76rem;
  line-height: 1.45;
  color: var(--prestige-muted);
}

.prestige-account-mfa-status {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.22rem 0.55rem;
  border-radius: 9999px;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1;
}

.prestige-account-mfa-status__dot {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 9999px;
  background: currentColor;
}

.prestige-account-mfa-status--on {
  color: #047857;
  background: rgba(16, 185, 129, 0.12);
}

.prestige-account-mfa-status--off {
  color: #64748b;
  background: rgba(100, 116, 139, 0.12);
}

.prestige-account-mfa-panel__body {
  margin-top: 0.95rem;
  padding-top: 0.95rem;
  border-top: 1px solid var(--prestige-line);
}

.prestige-account-mfa-form {
  margin: 0;
}

.prestige-account-mfa-form .prestige-contact-form__grid {
  margin-bottom: 0.35rem;
}

.prestige-account-mfa-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  margin-top: 0.85rem;
}

.prestige-account-mfa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2.55rem;
  padding: 0.55rem 1rem;
  border-radius: 0.85rem;
  border: 1px solid transparent;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.prestige-account-mfa-btn i {
  font-size: 0.72rem;
}

.prestige-account-mfa-btn--primary {
  color: #fff;
  background: var(--color-primary);
}

.prestige-account-mfa-btn--primary:hover {
  background: var(--color-primary-dark);
}

.prestige-account-mfa-btn--ghost {
  color: var(--prestige-muted);
  background: #ffffff;
  border-color: var(--prestige-line);
}

.prestige-account-mfa-btn--ghost:hover {
  color: var(--prestige-ink);
  border-color: rgba(var(--color-primary-rgb), 0.28);
}

.prestige-account-mfa-btn--danger {
  color: #b91c1c;
  background: rgba(244, 63, 94, 0.08);
  border-color: rgba(244, 63, 94, 0.18);
}

.prestige-account-mfa-btn--danger:hover {
  background: rgba(244, 63, 94, 0.14);
  border-color: rgba(244, 63, 94, 0.28);
}

.prestige-account-mfa-details {
  margin: 0;
}

.prestige-account-mfa-details summary {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  list-style: none;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--prestige-muted);
  border-bottom: 1px dashed var(--prestige-line);
  transition: color 0.2s ease, border-color 0.2s ease;
}

.prestige-account-mfa-details summary::-webkit-details-marker {
  display: none;
}

.prestige-account-mfa-details summary::after {
  content: "\f078";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.62rem;
  opacity: 0.7;
  transition: transform 0.2s ease;
}

.prestige-account-mfa-details[open] summary {
  color: var(--prestige-ink);
  border-bottom-color: rgba(var(--color-primary-rgb), 0.35);
  margin-bottom: 0.85rem;
}

.prestige-account-mfa-details[open] summary::after {
  transform: rotate(180deg);
}

.prestige-account-mfa-details summary:hover {
  color: var(--color-primary);
}

.prestige-account-fold {
  margin: 0;
}

.prestige-account-fold__summary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  box-sizing: border-box;
  list-style: none;
  cursor: pointer;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  transition: opacity 0.2s ease;
}

.prestige-account-fold__summary::-webkit-details-marker {
  display: none;
}

.prestige-account-fold__summary:hover {
  opacity: 0.88;
}

.prestige-account-fold[open] .prestige-account-fold__summary {
  margin-bottom: 1.15rem;
}

.prestige-account-fold__copy {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 0.2rem;
}

.prestige-account-fold__copy .prestige-account-card__title {
  display: block;
  margin: 0;
}

.prestige-account-fold__copy .prestige-account-card__intro {
  display: block;
  margin: 0;
}

.prestige-account-fold__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.65rem;
  color: var(--prestige-muted, #64748b);
  font-size: 0.75rem;
  transition: transform 0.2s ease;
}

.prestige-account-fold[open] .prestige-account-fold__chevron {
  transform: rotate(180deg);
}

.prestige-account-fold__body {
  display: grid;
  gap: 1rem;
}

.prestige-account-refund-preview {
  display: grid;
  gap: 0.65rem;
}

.prestige-account-refund-preview__amount {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-account-refund-preview__percent {
  margin-left: 0.35rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--prestige-muted);
}

.prestige-account-cancel-refund__heading {
  min-width: 0;
  flex: 1;
}

.prestige-account-cancel-refund__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
}

.prestige-account-cancel-refund__body {
  display: grid;
  gap: 1rem;
}

.prestige-account-cancel-refund__status {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
  padding: 1rem 1.05rem;
  border-radius: 1rem;
  border: 1px solid var(--prestige-line);
  background: #f8f8f7;
}

.prestige-account-cancel-refund__status--warning {
  border-color: rgba(245, 158, 11, 0.28);
  background: rgba(255, 251, 235, 0.9);
}

.prestige-account-cancel-refund__status--success {
  border-color: rgba(16, 185, 129, 0.22);
  background: rgba(236, 253, 245, 0.9);
}

.prestige-account-cancel-refund__status--muted {
  border-color: var(--prestige-line);
  background: #f8f8f7;
}

.prestige-account-cancel-refund__status-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.85rem;
  flex-shrink: 0;
  font-size: 0.9rem;
  background: rgba(255, 255, 255, 0.75);
  color: var(--prestige-muted);
}

.prestige-account-cancel-refund__status--warning .prestige-account-cancel-refund__status-icon {
  color: #b45309;
  background: rgba(251, 191, 36, 0.18);
}

.prestige-account-cancel-refund__status--success .prestige-account-cancel-refund__status-icon {
  color: #047857;
  background: rgba(16, 185, 129, 0.14);
}

.prestige-account-cancel-refund__status-copy {
  min-width: 0;
  display: grid;
  gap: 0.35rem;
}

.prestige-account-cancel-refund__status-title {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--prestige-ink);
}

.prestige-account-cancel-refund__status-text {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-account-cancel-refund__reason {
  margin: 0.35rem 0 0;
  padding: 0.7rem 0.85rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(15, 23, 42, 0.06);
  background: rgba(255, 255, 255, 0.72);
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--prestige-ink);
}

.prestige-account-cancel-refund__reason span {
  display: block;
  margin-bottom: 0.2rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-account-cancel-refund__preview {
  display: grid;
  gap: 0.55rem;
  padding: 1rem 1.05rem;
  border-radius: 1rem;
  border: 1px solid rgba(16, 185, 129, 0.2);
  background:
    linear-gradient(180deg, rgba(236, 253, 245, 0.85), rgba(255, 255, 255, 0.55));
}

.prestige-account-cancel-refund__preview-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
}

.prestige-account-cancel-refund__preview-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.85rem;
  flex-shrink: 0;
  color: #047857;
  background: rgba(16, 185, 129, 0.14);
  font-size: 0.9rem;
}

.prestige-account-cancel-refund__preview-label {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  color: #065f46;
}

.prestige-account-cancel-refund__preview-policy {
  margin: 0.15rem 0 0;
  font-size: 0.8rem;
  color: var(--prestige-muted);
}

.prestige-account-cancel-refund__preview-amount {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--prestige-ink);
}

.prestige-account-cancel-refund__preview-amount span {
  margin-left: 0.35rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--prestige-muted);
}

.prestige-account-cancel-refund__preview-detail,
.prestige-account-cancel-refund__preview-note {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-account-cancel-refund__preview-note {
  padding-top: 0.15rem;
  border-top: 1px dashed rgba(15, 23, 42, 0.08);
}

.prestige-account-cancel-refund__action {
  display: grid;
  gap: 0.9rem;
  padding: 1rem 1.05rem;
  border-radius: 1rem;
  border: 1px solid rgba(244, 63, 94, 0.16);
  background: rgba(255, 241, 242, 0.45);
}

.prestige-account-cancel-refund__action-copy {
  min-width: 0;
}

.prestige-account-cancel-refund__action-title {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--prestige-ink);
}

.prestige-account-cancel-refund__action-text {
  margin: 0.3rem 0 0;
  font-size: 0.84rem;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-account-cancel-refund__form {
  display: grid;
  gap: 0.85rem;
}

@media (max-width: 640px) {
  .prestige-account-cancel-refund__preview-amount {
    font-size: 1.25rem;
  }
}

.prestige-account-mfa-callout {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
  margin-bottom: 0.9rem;
  padding: 0.85rem 0.95rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(16, 185, 129, 0.18);
  background: rgba(236, 253, 245, 0.9);
}

.prestige-account-mfa-callout--info {
  border-color: rgba(var(--color-primary-rgb), 0.18);
  background: rgba(var(--color-primary-rgb), 0.07);
}

.prestige-account-mfa-callout__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.7rem;
  color: #047857;
  background: rgba(16, 185, 129, 0.14);
  font-size: 0.78rem;
}

.prestige-account-mfa-callout--info .prestige-account-mfa-callout__icon {
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.14);
}

.prestige-account-mfa-callout__title {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-account-mfa-callout__text {
  margin: 0.2rem 0 0;
  font-size: 0.74rem;
  line-height: 1.45;
  color: var(--prestige-muted);
}

.prestige-account-mfa-recovery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0 0 0.35rem;
  padding: 0;
  list-style: none;
}

.prestige-account-mfa-recovery li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.4rem;
  padding: 0.45rem 0.55rem;
  border-radius: 0.7rem;
  border: 1px solid var(--prestige-line);
  background: #ffffff;
}

.prestige-account-mfa-recovery code {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--prestige-ink);
}

.prestige-account-mfa-setup {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem 1.15rem;
  align-items: start;
}

.prestige-account-mfa-setup__qr {
  display: inline-flex;
  padding: 0.65rem;
  border-radius: 1rem;
  border: 1px solid var(--prestige-line);
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.prestige-account-mfa-setup__qr img {
  display: block;
  width: 10.5rem;
  height: 10.5rem;
  border-radius: 0.35rem;
}

.prestige-account-mfa-setup__meta {
  display: grid;
  gap: 0.35rem;
}

.prestige-account-mfa-setup__step {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-account-mfa-setup__hint {
  margin: 0.45rem 0 0.35rem;
  font-size: 0.74rem;
  color: var(--prestige-muted);
}

.prestige-account-mfa-setup__secret {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.85rem;
  border-radius: 0.8rem;
  border: 1px dashed rgba(var(--color-primary-rgb), 0.28);
  background: rgba(var(--color-primary-rgb), 0.05);
  word-break: break-all;
}

.prestige-account-mfa-setup__secret code {
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--prestige-ink);
}

@media (max-width: 640px) {
  .prestige-account-mfa-setup {
    grid-template-columns: 1fr;
  }

  .prestige-account-mfa-setup__qr {
    justify-self: start;
  }

  .prestige-account-mfa-recovery {
    grid-template-columns: 1fr;
  }
}

.prestige-account-sessions {
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-account-session {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.95rem 0;
  border-top: 1px solid var(--prestige-line);
}

.prestige-account-session:first-child {
  padding-top: 0;
  border-top: 0;
}

.prestige-account-session__device {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-account-session__device i {
  margin-right: 0.4rem;
  color: var(--color-primary);
}

.prestige-account-session__meta {
  margin: 0.2rem 0 0;
  font-size: 0.74rem;
  color: var(--prestige-muted);
}

.prestige-account-session__revoke {
  padding: 0.45rem 0.75rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.65rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--prestige-muted);
  background: #f8f8f7;
  cursor: pointer;
}

.prestige-account-session__revoke:hover {
  color: #dc2626;
  border-color: rgba(220, 38, 38, 0.25);
  background: rgba(220, 38, 38, 0.06);
}

@media (max-width: 1023px) {
  .prestige-account-body {
    padding-block: 1.15rem calc(2.5rem + var(--prestige-bottom-nav-height));
  }

  .prestige-account-hero {
    padding-block: 1rem 1.15rem;
  }

  .prestige-account-hero__profile {
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: 0.85rem 1rem;
    align-items: center;
  }

  .prestige-account-hero__avatar {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 1rem;
    font-size: 0.95rem;
  }

  .prestige-account-hero__info {
    min-width: 0;
  }

  .prestige-account-hero__title {
    font-size: 1.35rem;
  }

  .prestige-account-hero__lead {
    display: none;
  }

  .prestige-account-hero__meta {
    gap: 0.4rem 0.65rem;
    margin-top: 0.5rem;
    font-size: 0.7rem;
  }

  .prestige-account-hero__actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    width: 100%;
  }

  .prestige-account-hero__btn {
    width: 100%;
    min-height: 2.5rem;
    padding-inline: 0.75rem;
    font-size: 0.72rem;
  }

  .prestige-account-nav {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    gap: 0.55rem;
    padding: 0.55rem;
    border-radius: 1.25rem;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.98));
    box-shadow:
      0 1px 2px rgba(15, 23, 42, 0.04),
      0 8px 24px -18px rgba(15, 23, 42, 0.28);
  }

  .prestige-account-nav::after {
    content: "";
    position: absolute;
    top: 0.55rem;
    right: calc(0.55rem + 2.85rem + 0.55rem);
    bottom: 0.55rem;
    width: 1.35rem;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(248, 250, 252, 0), rgba(248, 250, 252, 0.96));
    border-radius: 0 0.9rem 0.9rem 0;
    z-index: 1;
  }

  .prestige-account-nav__list {
    display: flex;
    min-width: 0;
    gap: 0.35rem;
    margin: 0;
    padding: 0.1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0.35rem;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .prestige-account-nav__list::-webkit-scrollbar {
    display: none;
  }

  .prestige-account-nav__list li {
    flex-shrink: 0;
  }

  .prestige-account-nav__link {
    flex-direction: column;
    justify-content: center;
    gap: 0.35rem;
    min-width: 4.6rem;
    min-height: 4.15rem;
    padding: 0.45rem 0.5rem 0.5rem;
    border: 1px solid transparent;
    border-radius: 0.95rem;
    font-size: 0.64rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.2;
    text-align: center;
    color: var(--prestige-muted);
    background: transparent;
    scroll-snap-align: start;
    transition:
      background 0.2s ease,
      border-color 0.2s ease,
      color 0.2s ease,
      box-shadow 0.2s ease,
      transform 0.2s ease;
  }

  .prestige-account-nav__link span {
    display: -webkit-box;
    max-width: 4.5rem;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }

  .prestige-account-nav__link i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 0.75rem;
    font-size: 0.88rem;
    color: var(--color-primary);
    background: rgba(var(--color-primary-rgb), 0.1);
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
  }

  .prestige-account-nav__link:hover {
    color: var(--prestige-ink);
    background: rgba(255, 255, 255, 0.8);
  }

  .prestige-account-nav__link.is-active {
    color: var(--prestige-ink);
    border-color: rgba(var(--color-primary-rgb), 0.18);
    background: #fff;
    box-shadow:
      0 1px 2px rgba(15, 23, 42, 0.04),
      0 8px 18px -14px rgba(15, 23, 42, 0.35);
  }

  .prestige-account-nav__link.is-active i {
    color: #fff;
    background: var(--color-primary);
    box-shadow: 0 6px 14px -8px rgba(var(--color-primary-rgb), 0.9);
  }

  .prestige-account-nav__title {
    display: none;
  }

  .prestige-account-nav__logout {
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    width: 2.85rem;
    height: 2.85rem;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(244, 63, 94, 0.14);
    border-radius: 0.95rem;
    border-top: 1px solid rgba(244, 63, 94, 0.14);
    border-left: 1px solid rgba(244, 63, 94, 0.14);
    color: #e11d48;
    background: rgba(255, 241, 242, 0.95);
    box-shadow: none;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  }

  .prestige-account-nav__logout span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .prestige-account-nav__logout i {
    margin: 0;
    font-size: 0.92rem;
  }

  .prestige-account-nav__logout:hover {
    color: #be123c;
    border-color: rgba(244, 63, 94, 0.28);
    background: rgba(255, 228, 230, 0.98);
  }

  .prestige-account-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }

  .prestige-account-stat {
    padding: 0.85rem 0.9rem;
  }

  .prestige-account-stat__value {
    font-size: 1.05rem;
  }

  .prestige-account-tier {
    padding: 0.9rem 0.95rem;
  }

  .prestige-account-tier__top {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
  }

  .prestige-account-tier__meta {
    font-size: 0.72rem;
  }

  .prestige-account-tier__points {
    gap: 0.35rem;
  }

  .prestige-account-tier__point {
    padding: 0.45rem 0.5rem;
  }

  .prestige-account-tier__point-value {
    font-size: 0.92rem;
  }

  .prestige-account-tier__levels {
    gap: 0.2rem;
  }

  .prestige-account-tier__level {
    font-size: 0.58rem;
    padding: 0.4rem 0.15rem;
  }

  .prestige-account-tier__perks li {
    font-size: 0.72rem;
  }

  .prestige-account-highlight__media img {
    min-height: 0;
  }

  .prestige-account-highlight__foot {
    flex-direction: column;
    align-items: stretch;
    gap: 0.55rem;
  }

  .prestige-account-highlight__price {
    margin-left: 0;
    font-size: 0.95rem;
  }

  .prestige-account-highlight__link {
    justify-content: center;
    min-height: 2.45rem;
    padding: 0.55rem 0.85rem;
    border: 1px solid rgba(var(--color-primary-rgb), 0.18);
    border-radius: 0.75rem;
    background: rgba(var(--color-primary-rgb), 0.06);
  }

  .prestige-account-card__head--split {
    gap: 0.85rem;
  }

  .prestige-account-filter {
    display: flex;
    width: 100%;
    justify-content: stretch;
    border-radius: 0.85rem;
  }

  .prestige-account-filter__btn {
    flex: 1;
    padding-inline: 0.5rem;
    text-align: center;
  }

  .prestige-account-status-sort {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    width: 100%;
  }

  .prestige-account-reservation__media img {
    min-height: 10rem;
    max-height: 12rem;
  }

  .prestige-account-reservation__foot {
    flex-direction: column;
    align-items: stretch;
  }

  .prestige-account-reservation__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
  }

  .prestige-account-reservation__actions .prestige-account-reservation__link:only-child {
    grid-column: 1 / -1;
  }

  .prestige-account-reservation__link {
    justify-content: center;
  }

  .prestige-account-favorite__media img {
    min-height: 7.5rem;
  }

  .prestige-account-favorite__body {
    padding: 0.7rem 0.85rem 0.8rem;
  }

  .prestige-account-favorite__foot {
    flex-wrap: wrap;
  }

  .prestige-account-favorite__cta {
    margin-left: auto;
  }

  .prestige-contact-form__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .prestige-contact-form__submit {
    width: 100%;
  }
}

@media (max-width: 639px) {
  .prestige-account-hero__meta li:not(:first-child):not(:nth-child(2)) {
    display: none;
  }

  .prestige-account-hero__meta li:nth-child(2) {
    width: 100%;
    flex-basis: 100%;
  }

  .prestige-account-stats {
    grid-template-columns: 1fr;
  }

  .prestige-account-stat:last-child {
    grid-column: auto;
  }

  .prestige-account-reservation__actions {
    grid-template-columns: 1fr;
  }
}

/* ─── Account reservation detail ─── */
.prestige-page-account-reservation main,
.prestige-page-guest-reservation main {
  padding-top: 0px;
}

.prestige-reservation-hero {
  padding: 1.25rem 0 1.35rem;
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #f8f8f7 100%
  );
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-reservation-hero .prestige-account-crumb ol {
  margin-bottom: 0.75rem;
}

.prestige-reservation-back {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
}

.prestige-reservation-back:hover {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.prestige-reservation-hero__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem 1.25rem;
}

.prestige-reservation-hero__ref {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-reservation-hero__ref strong {
  color: var(--prestige-ink);
}

.prestige-reservation-hero__title {
  margin: 0.35rem 0 0;
  font-size: clamp(1.45rem, 3.5vw, 2rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-reservation-hero__lead {
  margin: 0.45rem 0 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--prestige-muted);
}

.prestige-reservation-body {
  padding-block: 1.5rem 3rem;
}

@media (min-width: 1024px) {
  .prestige-reservation-body {
    padding-block: 2rem 3.5rem;
  }
}

.prestige-reservation-layout {
  display: grid;
  gap: 1.25rem;
  align-items: start;
}

@media (min-width: 1024px) {
  .prestige-reservation-layout {
    grid-template-columns: minmax(0, 1fr) 20rem;
    column-gap: 2rem;
  }
}

.prestige-reservation-main {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.prestige-reservation-sidebar {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

@media (min-width: 1024px) {
  .prestige-reservation-sidebar {
    position: sticky;
    top: calc(0px + 1rem);
  }
}

.prestige-reservation-card {
  padding: 1.2rem 1.15rem 1.3rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.2rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-reservation-card--compact {
  padding: 1.05rem 1.1rem 1.15rem;
}

@media (min-width: 768px) {
  .prestige-reservation-card {
    padding: 1.35rem 1.4rem 1.45rem;
  }
}

.prestige-reservation-card__title {
  margin: 0 0 1rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-reservation-card__subtitle {
  margin: 1.15rem 0 0.55rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-reservation-timeline {
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-reservation-timeline__item {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.85rem;
  position: relative;
  padding-bottom: 1.1rem;
}

.prestige-reservation-timeline__item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 0.95rem;
  top: 2rem;
  bottom: 0;
  width: 2px;
  background: var(--prestige-line);
}

.prestige-reservation-timeline__item.is-done:not(:last-child)::before {
  background: rgba(var(--color-primary-rgb), 0.25);
}

.prestige-reservation-timeline__dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  font-size: 0.72rem;
  color: var(--prestige-muted);
  background: #f8f8f7;
  border: 2px solid var(--prestige-line);
}

.prestige-reservation-timeline__item.is-done .prestige-reservation-timeline__dot {
  color: #fff;
  background: var(--color-primary);
  border-color: var(--color-primary);
}

.prestige-reservation-timeline__item.is-current .prestige-reservation-timeline__dot {
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.12);
  border-color: rgba(var(--color-primary-rgb), 0.35);
}

.prestige-reservation-timeline__label {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-reservation-timeline__time {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-reservation-details {
  margin: 0;
}

.prestige-reservation-details__row {
  display: grid;
  gap: 0.2rem;
  padding: 0.75rem 0;
  border-top: 1px solid var(--prestige-line);
}

.prestige-reservation-details__row:first-child {
  padding-top: 0;
  border-top: 0;
}

@media (min-width: 640px) {
  .prestige-reservation-details__row {
    grid-template-columns: 11rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
  }
}

.prestige-reservation-details__row dt {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-reservation-details__row dd {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--prestige-ink);
}

.prestige-reservation-details__sub {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-reservation-guests {
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-reservation-guests li {
  display: flex;
  gap: 0.85rem;
  padding: 0.85rem 0;
  border-top: 1px solid var(--prestige-line);
}

.prestige-reservation-guests li:first-child {
  padding-top: 0;
  border-top: 0;
}

.prestige-reservation-guests__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.75rem;
  flex-shrink: 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: #fff;
  background: var(--color-primary);
}

.prestige-reservation-guests__avatar--muted {
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.12);
}

.prestige-reservation-guests__name {
  margin: 0;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-reservation-guests__tag {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.15rem 0.45rem;
  border-radius: 9999px;
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.1);
}

.prestige-reservation-guests__meta {
  margin: 0.2rem 0 0;
  font-size: 0.76rem;
  color: var(--prestige-muted);
}

.prestige-reservation-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-reservation-tags li {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.65rem;
  border-radius: 9999px;
  font-size: 0.74rem;
  font-weight: 700;
  color: var(--prestige-ink);
  background: #f8f8f7;
}

.prestige-reservation-tags i {
  color: #059669;
}

.prestige-reservation-note {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.6;
  color: var(--prestige-muted);
}

.prestige-reservation-summary {
  overflow: hidden;
  border: 1px solid var(--prestige-line);
  border-radius: 1.2rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-reservation-summary__media {
  display: block;
}

.prestige-reservation-summary__media img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.prestige-reservation-summary__body {
  padding: 1rem 1.05rem 1.1rem;
}

.prestige-reservation-summary__type {
  margin: 0;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.prestige-reservation-summary__type i {
  margin-right: 0.3rem;
}

.prestige-reservation-summary__title {
  margin: 0.35rem 0 0;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.4;
}

.prestige-reservation-summary__title a {
  color: var(--prestige-ink);
  text-decoration: none;
}

.prestige-reservation-summary__title a:hover {
  color: var(--color-primary);
}

.prestige-reservation-summary__meta {
  margin: 0.3rem 0 0;
  font-size: 0.76rem;
  color: var(--prestige-muted);
}

.prestige-reservation-payment {
  margin: 0;
}

.prestige-reservation-payment__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.55rem 0;
  border-top: 1px solid var(--prestige-line);
}

.prestige-reservation-payment__row:first-child {
  padding-top: 0;
  border-top: 0;
}

.prestige-reservation-payment__row dt,
.prestige-reservation-payment__row dd {
  margin: 0;
  font-size: 0.78rem;
}

.prestige-reservation-payment__row dt {
  color: var(--prestige-muted);
  font-weight: 600;
}

.prestige-reservation-payment__row dd {
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-reservation-payment__row--total {
  margin-top: 0.35rem;
  padding-top: 0.75rem;
  border-top-width: 2px;
}

.prestige-reservation-payment__row--total dt,
.prestige-reservation-payment__row--total dd {
  font-size: 0.88rem;
  color: var(--prestige-ink);
}

.prestige-reservation-payment__row--paid dd {
  color: #059669;
}

.prestige-reservation-payment__note {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0.85rem 0 0;
  padding-top: 0.85rem;
  border-top: 1px solid var(--prestige-line);
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-reservation-payment__note i {
  color: #059669;
}

.prestige-reservation-docs {
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-reservation-docs li + li {
  margin-top: 0.55rem;
}

.prestige-reservation-doc {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.85rem;
  text-decoration: none;
  background: #f8f8f7;
  transition: border-color 0.2s, background 0.2s;
}

.prestige-reservation-doc:hover {
  border-color: rgba(var(--color-primary-rgb), 0.25);
  background: rgba(var(--color-primary-rgb), 0.05);
}

.prestige-reservation-doc__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 0.65rem;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.12);
}

.prestige-reservation-doc__label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-reservation-doc__meta {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-reservation-doc__action {
  color: var(--color-primary);
}

.prestige-reservation-actions {
  display: grid;
  gap: 0.55rem;
}

.prestige-reservation-actions__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  min-height: 2.75rem;
  padding: 0 1rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.85rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--prestige-ink);
  text-decoration: none;
  background: #ffffff;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}

.prestige-reservation-actions__btn:hover {
  border-color: rgba(var(--color-primary-rgb), 0.25);
  background: rgba(var(--color-primary-rgb), 0.05);
}

.prestige-reservation-actions__btn--primary {
  color: #fff;
  border-color: transparent;
  background: var(--color-primary);
  box-shadow: 0 10px 24px -12px rgba(var(--color-primary-rgb), 0.55);
}

.prestige-reservation-actions__btn--primary:hover {
  color: #fff;
  background: var(--color-primary-dark);
}

.prestige-reservation-actions__btn--ghost {
  color: #dc2626;
  border-color: rgba(220, 38, 38, 0.15);
  background: rgba(220, 38, 38, 0.04);
}

.prestige-reservation-actions__btn--ghost:hover {
  border-color: rgba(220, 38, 38, 0.25);
  background: rgba(220, 38, 38, 0.08);
}

@media (max-width: 1023px) {
  .prestige-reservation-body {
    padding-block: 1.15rem calc(2.5rem + var(--prestige-bottom-nav-height));
  }

  .prestige-reservation-hero {
    padding-block: 1rem 1.15rem;
  }

  .prestige-reservation-hero__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.65rem;
  }

  .prestige-reservation-hero__title {
    font-size: 1.25rem;
  }

  .prestige-reservation-hero__lead {
    font-size: 0.82rem;
  }

  .prestige-reservation-card {
    padding: 1rem 1.05rem 1.1rem;
  }

  .prestige-reservation-details__row {
    padding: 0.65rem 0;
  }

  .prestige-reservation-payment__row dt {
    max-width: 62%;
  }

  .prestige-reservation-actions__btn {
    min-height: 2.65rem;
  }
}

@media (max-width: 639px) {
  .prestige-reservation-back {
    font-size: 0.72rem;
  }

  .prestige-reservation-hero .prestige-account-crumb ol {
    font-size: 0.72rem;
  }

  .prestige-reservation-timeline__item {
    grid-template-columns: 1.75rem minmax(0, 1fr);
    gap: 0.7rem;
  }

  .prestige-reservation-timeline__dot {
    width: 1.75rem;
    height: 1.75rem;
    font-size: 0.62rem;
  }

  .prestige-reservation-guests__tag {
    display: block;
    margin-left: 0;
    margin-top: 0.25rem;
    width: fit-content;
  }
}


/* ─── Auth pages (login / register / password reset) ─── */
.prestige-page-auth main {
  padding-top: 0px;
  padding-bottom: 2.5rem;
}

.prestige-auth-hero {
  padding: 1.25rem 0 1.35rem;
}

.prestige-auth-hero .prestige-account-crumb ol {
  margin-bottom: 0.65rem;
}

.prestige-auth-hero__title {
  margin: 0.35rem 0 0;
  font-size: clamp(1.75rem, 4vw, 2.35rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-auth-hero__lead {
  margin: 0.5rem 0 0;
  max-width: 42rem;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.6;
  color: var(--prestige-muted);
}

.prestige-auth-body {
  padding-block: 1.75rem 2rem;
}

@media (min-width: 1024px) {
  .prestige-auth-body {
    padding-block: 2rem 2.5rem;
  }
}

.prestige-auth-grid {
  display: grid;
  gap: 1.25rem;
  align-items: start;
}

@media (min-width: 1024px) {
  .prestige-auth-grid {
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: 1.5rem;
  }
}

.prestige-auth-single {
  max-width: 28rem;
  margin-inline: auto;
}

.prestige-auth-card {
  padding: 1.25rem 1.15rem 1.35rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.1rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

@media (min-width: 768px) {
  .prestige-auth-card {
    padding: 1.5rem 1.45rem 1.6rem;
  }
}

.prestige-auth-card--narrow {
  width: 100%;
}

.prestige-auth-card__head {
  margin-bottom: 1.25rem;
  padding-bottom: 1.1rem;
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-auth-card__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.prestige-auth-card__title {
  margin: 0;
  font-size: clamp(1.2rem, 2.5vw, 1.55rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-auth-card__intro {
  margin: 0.4rem 0 0;
  font-size: 0.86rem;
  line-height: 1.55;
  color: var(--prestige-muted);
}

.prestige-auth-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.prestige-auth-form > .prestige-contact-field,
.prestige-auth-form > .prestige-auth-consent,
.prestige-auth-form > .prestige-auth-form__row {
  display: block;
  margin: 0;
  width: 100%;
}

.prestige-auth-form > .prestige-auth-form__grid {
  margin: 0;
  width: 100%;
}

.prestige-auth-form__grid {
  display: grid;
  gap: 1rem;
}

@media (min-width: 520px) {
  .prestige-auth-form__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.prestige-auth-form__grid .prestige-contact-field {
  display: block;
  margin: 0;
  width: 100%;
}

.prestige-contact-field__label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
}

.prestige-contact-field__label-row .prestige-auth-form__link {
  flex-shrink: 0;
  text-transform: none;
  letter-spacing: 0.01em;
  font-size: 0.72rem;
}

.prestige-auth-password {
  display: block;
  position: relative;
  width: 100%;
}

.prestige-auth-password__input {
  display: block;
  width: 100%;
  padding-right: 2.75rem;
}

.prestige-auth-password__toggle {
  position: absolute;
  top: 50%;
  right: 0.55rem;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: none;
  border-radius: 0.55rem;
  color: var(--prestige-muted);
  background: transparent;
  cursor: pointer;
  transition: color 0.2s, background 0.2s;
}

.prestige-auth-password__toggle:hover {
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.08);
}

.prestige-auth-form__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  margin-bottom: 1rem;
}

.prestige-auth-check {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--prestige-muted);
  cursor: pointer;
}

.prestige-auth-check--block {
  display: flex;
  margin-bottom: 1rem;
}

.prestige-auth-check input {
  margin-top: 0.15rem;
  accent-color: var(--color-primary);
}

.prestige-auth-check a {
  color: var(--color-primary);
  font-weight: 600;
  text-decoration: none;
}

.prestige-auth-check a:hover {
  text-decoration: underline;
}

.prestige-auth-form__link {
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
}

.prestige-auth-form__link:hover {
  text-decoration: underline;
}

.prestige-auth-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  margin-top: 0.15rem;
  min-height: 2.85rem;
  padding: 0.65rem 1rem;
  border: none;
  border-radius: 0.85rem;
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
  color: #fff;
  background: var(--color-primary);
  cursor: pointer;
  transition: background 0.2s;
}

.prestige-auth-form__submit:hover {
  background: var(--color-primary-dark);
  color: #fff;
}

.prestige-auth-form__submit--inline {
  width: auto;
  min-width: 12rem;
  margin-top: 0.5rem;
}

.prestige-auth-divider {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 1.1rem 0;
  color: var(--prestige-muted);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.prestige-auth-divider::before,
.prestige-auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--prestige-line);
}

.prestige-auth-form__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  min-height: 2.65rem;
  padding: 0.6rem 0.85rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.85rem;
  font-size: 0.76rem;
  font-weight: 600;
  text-decoration: none;
  color: var(--prestige-ink);
  background: #f8f8f7;
  transition: border-color 0.2s, color 0.2s;
}

.prestige-auth-form__secondary:hover {
  border-color: rgba(var(--color-primary-rgb), 0.25);
  color: var(--color-primary);
}

.prestige-auth-card__foot {
  margin: 1.15rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--prestige-line);
  font-size: 0.76rem;
  font-weight: 600;
  text-align: center;
  color: var(--prestige-muted);
}

.prestige-auth-card__foot a {
  color: var(--color-primary);
  font-weight: 600;
  text-decoration: none;
}

.prestige-auth-card__foot a:hover {
  text-decoration: underline;
}

.prestige-auth-aside {
  display: grid;
}

@media (min-width: 1024px) {
  .prestige-auth-aside {
    position: sticky;
    top: 5.5rem;
  }
}

.prestige-auth-benefits {
  padding: 1.05rem 1rem 1.1rem;
  border: 1px solid rgba(var(--color-primary-rgb), 0.14);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(var(--color-primary-rgb), 0.06) 0%, #ffffff 100%);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-auth-benefits__title {
  margin: 0 0 0.75rem;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-auth-benefits__list {
  margin: 0 0 0.85rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.prestige-auth-benefits__list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--prestige-muted);
}

.prestige-auth-benefits__list i {
  margin-top: 0.15rem;
  color: var(--color-primary);
}

.prestige-auth-benefits__note {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--prestige-muted);
}

.prestige-auth-benefits__note i {
  color: var(--color-primary);
  margin-right: 0.2rem;
}

.prestige-auth-success {
  text-align: center;
  padding: 0.5rem 0 0.25rem;
}

.prestige-auth-success[hidden] {
  display: none !important;
}

.prestige-auth-success__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  margin-bottom: 0.85rem;
  border-radius: 9999px;
  font-size: 1.35rem;
  color: #059669;
  background: rgba(5, 150, 105, 0.1);
  box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.16);
}

.prestige-auth-success__title {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-auth-success__text {
  margin: 0 0 0.65rem;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.55;
  color: var(--prestige-muted);
}

.prestige-auth-success__hint {
  margin: 0 0 1rem;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--prestige-muted);
}

.prestige-auth-success__hint a {
  color: var(--color-primary);
  font-weight: 600;
}

.prestige-auth-token-note {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 1rem;
  padding: 0.65rem 0.75rem;
  border-radius: 0.75rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--prestige-muted);
  background: #f8f8f7;
  border: 1px dashed var(--prestige-line);
}

.prestige-auth-token-note i {
  color: var(--color-primary);
}

.prestige-auth-password-rules {
  margin: -0.35rem 0 1rem;
  padding: 0 0 0 1rem;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-auth-form.is-hidden {
  display: none;
}


/* ─── Account review page ─── */
.prestige-review-layout {
  display: grid;
  gap: 1.25rem;
  align-items: start;
}

@media (min-width: 1024px) {
  .prestige-review-layout {
    grid-template-columns: minmax(0, 1fr) 18rem;
    column-gap: 2rem;
  }
}

.prestige-review-card { min-width: 0; }

.prestige-review-reservation {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: 0.85rem;
  align-items: center;
  margin-bottom: 1.25rem;
  padding: 0.85rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.95rem;
  background: #f8f8f7;
}

.prestige-review-reservation__media {
  overflow: hidden;
  border-radius: 0.75rem;
  aspect-ratio: 4 / 3;
}

.prestige-review-reservation__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.prestige-review-reservation__type {
  margin: 0 0 0.2rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.prestige-review-reservation__title {
  margin: 0 0 0.25rem;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--prestige-ink);
}

.prestige-review-reservation__meta {
  margin: 0;
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-review-form { display: grid; gap: 1rem; }

.prestige-review-field { display: grid; gap: 0.45rem; }

.prestige-review-field--compact {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
}

.prestige-review-field__label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-review-criteria {
  display: grid;
  gap: 0.65rem;
  padding: 0.85rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.95rem;
  background: #f8f8f7;
}

.prestige-review-stars {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2rem;
}

.prestige-review-stars__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  padding: 0;
  border: 0;
  border-radius: 0.55rem;
  font-size: 1.15rem;
  color: #f59e0b;
  background: transparent;
  cursor: pointer;
  transition: transform 0.15s, background 0.2s;
}

.prestige-review-stars--sm .prestige-review-stars__btn {
  width: 1.85rem;
  height: 1.85rem;
  font-size: 0.95rem;
}

.prestige-review-stars__btn:hover,
.prestige-review-stars__btn.is-active {
  background: rgba(245, 158, 11, 0.12);
}

.prestige-review-stars__btn.is-active { transform: scale(1.05); }

.prestige-review-stars__hint {
  margin-left: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--prestige-muted);
}

.prestige-review-aside { display: grid; gap: 1rem; }

@media (min-width: 1024px) {
  .prestige-review-aside {
    position: sticky;
    top: calc(0px + 1rem);
  }
}

[data-review-form-wrap][hidden] { display: none !important; }

/* ─── My reviews list (account) ─── */
.prestige-my-reviews-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.prestige-my-reviews-head__count {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-my-reviews-head__count strong { color: var(--prestige-ink); }

.prestige-my-reviews-head__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
}

.prestige-my-reviews-head__link:hover { text-decoration: underline; }

.prestige-my-reviews-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.85rem;
}

.prestige-my-reviews-card {
  padding: 1rem 1.05rem 1.1rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-my-reviews-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.prestige-my-reviews-card__identity {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  min-width: 0;
}

.prestige-my-reviews-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.75rem;
  font-size: 0.95rem;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.1);
}

.prestige-my-reviews-card__type {
  margin: 0 0 0.15rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-my-reviews-card__title {
  margin: 0 0 0.2rem;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--prestige-ink);
}

.prestige-my-reviews-card__meta {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-my-reviews-card__rating {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.65rem;
}

.prestige-my-reviews-stars {
  display: inline-flex;
  gap: 0.1rem;
  font-size: 0.82rem;
  color: #f59e0b;
}

.prestige-my-reviews-card__score {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-my-reviews-card__quote {
  margin: 0 0 0.75rem;
  padding: 0.75rem 0.85rem;
  border-left: 3px solid rgba(var(--color-primary-rgb), 0.35);
  border-radius: 0 0.65rem 0.65rem 0;
  font-size: 0.8rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.55;
  color: var(--prestige-muted);
  background: #f8f8f7;
}

.prestige-my-reviews-card__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-my-reviews-card__action {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
}

.prestige-my-reviews-card__action:hover { text-decoration: underline; }

.prestige-my-reviews-card__actions {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
}

.prestige-my-reviews-card__delete {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0;
  border: 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: #e11d48;
  background: transparent;
  cursor: pointer;
  transition: color 0.2s;
}

.prestige-my-reviews-card__delete:hover { color: #be123c; }

.prestige-my-reviews-empty {
  padding: 2.5rem 1.25rem;
  border: 1px dashed var(--prestige-line);
  border-radius: 1rem;
  text-align: center;
  background: #ffffff;
}

.prestige-my-reviews-empty[hidden] { display: none !important; }

.prestige-my-reviews-empty__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.75rem;
  border-radius: 9999px;
  font-size: 1.2rem;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.1);
}

.prestige-my-reviews-empty__title {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-my-reviews-empty__text {
  margin: 0 0 1rem;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.55;
  color: var(--prestige-muted);
}

.prestige-review-delete-modal {
  position: fixed;
  inset: 0;
  z-index: 110;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.prestige-review-delete-modal[hidden] { display: none !important; }

.prestige-review-delete-modal__backdrop {
  position: absolute;
  inset: 0;
  padding: 0;
  border: 0;
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(3px);
  cursor: pointer;
}

.prestige-review-delete-modal__panel {
  position: relative;
  width: min(100%, 22rem);
  padding: 1.35rem 1.25rem 1.2rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.15rem;
  text-align: center;
  background: #ffffff;
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
}

.prestige-review-delete-modal__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 0.75rem;
  border-radius: 9999px;
  font-size: 1.1rem;
  color: #e11d48;
  background: rgba(225, 29, 72, 0.1);
}

.prestige-review-delete-modal__title {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-review-delete-modal__text {
  margin: 0 0 1.1rem;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.55;
  color: var(--prestige-muted);
}

.prestige-review-delete-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}

.prestige-review-delete-modal__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 2.45rem;
  padding: 0.55rem 0.95rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.75rem;
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--prestige-ink);
  background: #f8f8f7;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}

.prestige-review-delete-modal__btn:hover {
  border-color: rgba(var(--color-primary-rgb), 0.25);
}

.prestige-review-delete-modal__btn--danger {
  border-color: transparent;
  color: #fff;
  background: #e11d48;
}

.prestige-review-delete-modal__btn--danger:hover { background: #be123c; }

body.prestige-modal-open { overflow: hidden; }


/* ─── Prestige account extras (pagination, forms) ─── */
.prestige-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.prestige-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 2rem;
  padding-top: 0.5rem;
}

.prestige-pagination__pages {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-pagination__pages a,
.prestige-pagination__edge {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.35rem;
  height: 2.35rem;
  padding: 0 0.5rem;
  border-radius: 0.75rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--prestige-muted);
  text-decoration: none;
  border: 1px solid transparent;
  background: #ffffff;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.prestige-pagination__pages a:hover,
.prestige-pagination__edge:not(.is-disabled):hover {
  border-color: var(--prestige-line);
  color: var(--color-primary);
}

.prestige-pagination__pages a.is-current {
  background: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);
}

.prestige-pagination__edge.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}

.prestige-pagination__ellipsis {
  padding: 0 0.25rem;
  color: var(--prestige-muted);
  font-weight: 700;
}

.prestige-contact-form__grid {
  display: grid;
  gap: 0.85rem;
}

@media (min-width: 768px) {
  .prestige-contact-form__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
}

.prestige-contact-form__actions {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 0.35rem;
  padding-top: 1.15rem;
  border-top: 1px solid var(--prestige-line);
}

@media (min-width: 768px) {
  .prestige-contact-form__actions {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.prestige-contact-form-alerts {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}

.prestige-contact-form-alert {
  margin: 0;
  padding: 0.75rem 1rem;
  border-radius: 0.85rem;
  border: 1px solid var(--prestige-line);
  background: #f8f8f7;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-contact-form-alert--success {
  border-color: rgba(16, 185, 129, 0.25);
  background: rgba(16, 185, 129, 0.08);
  color: #047857;
}

.prestige-contact-form-alert--error {
  border-color: rgba(244, 63, 94, 0.25);
  background: rgba(244, 63, 94, 0.08);
  color: #be123c;
}

.prestige-contact-form__consent {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  max-width: 36rem;
  font-size: 0.76rem;
  line-height: 1.5;
  color: var(--prestige-muted);
  cursor: pointer;
}

.prestige-contact-form__consent input {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  margin-top: 0.12rem;
  accent-color: var(--color-primary);
}

.prestige-contact-form__consent a {
  color: var(--color-primary);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.prestige-contact-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex-shrink: 0;
  min-height: 2.75rem;
  padding: 0 1.1rem;
  border: 0;
  border-radius: 0.9rem;
  background: var(--color-primary);
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--color-on-primary);
  cursor: pointer;
  transition: background 0.2s ease;
}

.prestige-contact-form__submit:hover {
  background: var(--color-primary-dark);
  transform: none;
  box-shadow: none;
}

.prestige-text-link {
  color: var(--color-primary);
  text-decoration: underline;
  text-decoration-style: dashed;
  text-underline-offset: 0.18em;
  transition: color 0.2s ease;
}

.prestige-text-link:hover {
  color: var(--prestige-ink);
}

.prestige-account-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2.75rem;
  padding: 0.6rem 1rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.85rem;
  font-size: 0.78rem;
  font-weight: 600;
  text-decoration: none;
  color: var(--prestige-ink);
  background: #f8f8f7;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.prestige-account-btn--primary { border-color: transparent; color: #fff; background: var(--color-primary); }
.prestige-account-btn--primary:hover { background: var(--color-primary-dark); color: #fff; }
.prestige-account-btn--danger { border-color: transparent; color: #fff; background: #e11d48; }
.prestige-account-btn--ghost { background: transparent; }



/* ─── Prestige checkout funnel (quote / booking / voucher) ─── */
/* ─── Booking checkout ─── */
.prestige-page-booking main {
  padding-bottom: 2.5rem;
}

.prestige-booking-hero {
  padding: calc(0px + 1.25rem) 0 1.5rem;
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #f8f8f7 100%
  );
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-booking-hero .prestige-account-crumb ol {
  margin-bottom: 0.65rem;
}

.prestige-booking-hero__title {
  margin: 0.35rem 0 0;
  font-size: clamp(1.75rem, 4vw, 2.35rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-booking-hero__lead {
  margin: 0.5rem 0 0;
  max-width: 42rem;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.6;
  color: var(--prestige-muted);
}

.prestige-booking-body {
  padding-block: 1.75rem 2rem;
}

@media (min-width: 1024px) {
  .prestige-booking-body {
    padding-block: 2rem 2.5rem;
  }
}

.prestige-booking-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0 0 1.35rem;
  padding: 0;
  list-style: none;
}

.prestige-booking-steps__item {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.85rem;
  background: #ffffff;
  color: var(--prestige-muted);
  transition: border-color 0.2s, background 0.2s, color 0.2s;
}

.prestige-booking-steps__item.is-active {
  border-color: rgba(var(--color-primary-rgb), 0.25);
  color: var(--prestige-ink);
}

.prestige-booking-steps__item.is-current {
  background: rgba(var(--color-primary-rgb), 0.06);
  box-shadow: inset 0 0 0 1px rgba(var(--color-primary-rgb), 0.12);
}

.prestige-booking-steps__item.is-done {
  color: var(--color-primary);
}

.prestige-booking-steps__index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 9999px;
  font-size: 0.68rem;
  font-weight: 600;
  background: #f8f8f7;
}

.prestige-booking-steps__item.is-active .prestige-booking-steps__index,
.prestige-booking-steps__item.is-current .prestige-booking-steps__index {
  color: #fff;
  background: var(--color-primary);
}

.prestige-booking-steps__item.is-done .prestige-booking-steps__index {
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.12);
}

.prestige-booking-steps__label {
  font-size: 0.72rem;
  font-weight: 700;
}

.prestige-booking-layout {
  display: grid;
  gap: 1.25rem;
  align-items: start;
}

@media (min-width: 1024px) {
  .prestige-booking-layout {
    grid-template-columns: minmax(0, 1fr) 24rem;
    gap: 1.5rem;
  }
}

.prestige-booking-panel {
  display: none;
  padding: 1.15rem 1.1rem 1.25rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.1rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-booking-panel.is-active {
  display: block;
}

.prestige-booking-panel__eyebrow {
  margin: 0 0 0.25rem;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.prestige-booking-panel__title {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-booking-panel__intro {
  margin: 0 0 1rem;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-booking-checkout-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin-bottom: 1rem;
}

.prestige-booking-checkout-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.7rem;
  border-radius: 9999px;
  border: 1px solid rgba(16, 185, 129, 0.22);
  background: rgba(16, 185, 129, 0.1);
  color: #047857;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.prestige-booking-checkout-badge--request {
  border-color: rgba(245, 158, 11, 0.28);
  background: rgba(245, 158, 11, 0.1);
  color: #b45309;
}

.prestige-booking-status-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem 1rem;
  margin-bottom: 0.85rem;
}

.prestige-booking-status-head__title {
  margin-bottom: 0;
}

.prestige-booking-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.65rem 0.35rem 0.35rem;
  border-radius: 9999px;
  border: 1px solid transparent;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.2;
  white-space: nowrap;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.prestige-booking-status-badge__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 9999px;
  font-size: 0.72rem;
}

.prestige-booking-status-badge__label {
  padding-right: 0.25rem;
}

.prestige-booking-status-badge--info {
  border-color: rgba(var(--color-primary-rgb), 0.22);
  background: rgba(var(--color-primary-rgb), 0.08);
  color: var(--color-primary-dark);
}

.prestige-booking-status-badge--info .prestige-booking-status-badge__icon {
  background: rgba(var(--color-primary-rgb), 0.16);
  color: var(--color-primary);
}

.prestige-booking-status-badge--success {
  border-color: rgba(16, 185, 129, 0.22);
  background: rgba(16, 185, 129, 0.08);
  color: #047857;
}

.prestige-booking-status-badge--success .prestige-booking-status-badge__icon {
  background: rgba(16, 185, 129, 0.16);
  color: #059669;
}

.prestige-booking-status-badge--warning {
  border-color: rgba(245, 158, 11, 0.28);
  background: rgba(245, 158, 11, 0.1);
  color: #b45309;
}

.prestige-booking-status-badge--warning .prestige-booking-status-badge__icon {
  background: rgba(245, 158, 11, 0.18);
  color: #d97706;
}

.prestige-booking-status-badge--danger {
  border-color: rgba(244, 63, 94, 0.22);
  background: rgba(244, 63, 94, 0.08);
  color: #be123c;
}

.prestige-booking-status-badge--danger .prestige-booking-status-badge__icon {
  background: rgba(244, 63, 94, 0.14);
  color: #e11d48;
}

.prestige-booking-status-badge--muted {
  border-color: rgba(15, 23, 42, 0.08);
  background: rgba(148, 163, 184, 0.12);
  color: #475569;
}

.prestige-booking-status-badge--muted .prestige-booking-status-badge__icon {
  background: rgba(148, 163, 184, 0.2);
  color: #64748b;
}

.prestige-booking-panel--payment {
  border-color: rgba(16, 185, 129, 0.16);
  background: linear-gradient(
    180deg,
    rgba(16, 185, 129, 0.05) 0%,
    #ffffff 42%
  );
}

.prestige-booking-payment-panel__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem 1.1rem;
  margin-bottom: 1rem;
}

.prestige-booking-payment-panel__heading {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
}

.prestige-booking-payment-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 auto;
  border-radius: 0.9rem;
  background: rgba(16, 185, 129, 0.12);
  color: #059669;
  font-size: 0.95rem;
}

.prestige-booking-payment-panel__title {
  margin-bottom: 0;
}

.prestige-booking-payment-panel__due {
  min-width: 9rem;
  padding: 0.7rem 0.9rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(16, 185, 129, 0.2);
  background: rgba(236, 253, 245, 0.85);
  text-align: right;
}

.prestige-booking-payment-panel__due-label {
  margin: 0;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #047857;
}

.prestige-booking-payment-panel__due-amount {
  margin: 0.2rem 0 0;
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #065f46;
  white-space: nowrap;
}

.prestige-booking-payment-panel__alert {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin: 0 0 1rem;
  padding: 0.75rem 0.85rem;
  border-radius: 0.9rem;
  border: 1px solid rgba(244, 63, 94, 0.22);
  background: rgba(244, 63, 94, 0.06);
  color: #be123c;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.45;
}

.prestige-booking-payment-panel__alert i {
  margin-top: 0.1rem;
}

.prestige-booking-summary-accordion {
  margin: 1rem 0 0;
  border-radius: 1rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(
    180deg,
    rgba(248, 250, 252, 0.95) 0%,
    rgba(255, 255, 255, 0.98) 100%
  );
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
  overflow: visible;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.prestige-booking-summary-accordion[open] {
  border-color: rgba(var(--color-primary-rgb), 0.18);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.8) inset,
    0 8px 20px rgba(15, 23, 42, 0.04);
}

.prestige-booking-summary-accordion__summary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  list-style: none;
  cursor: pointer;
  padding: 0.8rem 0.85rem;
  user-select: none;
  transition: background-color 0.2s ease;
}

.prestige-booking-summary-accordion__summary::-webkit-details-marker {
  display: none;
}

.prestige-booking-summary-accordion__summary:hover {
  background: rgba(148, 163, 184, 0.06);
}

.prestige-booking-summary-accordion__summary:focus-visible {
  outline: 2px solid rgba(var(--color-primary-rgb), 0.35);
  outline-offset: -2px;
}

.prestige-booking-summary-accordion__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.75rem;
  background: rgba(var(--color-primary-rgb), 0.08);
  color: var(--color-primary);
  font-size: 0.8rem;
  flex-shrink: 0;
  box-shadow: inset 0 0 0 1px rgba(var(--color-primary-rgb), 0.08);
}

.prestige-booking-summary-accordion__copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  flex: 1 1 auto;
}

.prestige-booking-summary-accordion__title {
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--prestige-ink);
  line-height: 1.25;
}

.prestige-booking-summary-accordion__meta {
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--prestige-muted);
  line-height: 1.3;
}

.prestige-booking-summary-accordion__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 9999px;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, 0.28);
  color: rgb(100, 116, 139);
  font-size: 0.58rem;
  flex-shrink: 0;
  transition:
    transform 0.22s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    background-color 0.2s ease;
}

.prestige-booking-summary-accordion[open] .prestige-booking-summary-accordion__chevron {
  transform: rotate(180deg);
  border-color: rgba(var(--color-primary-rgb), 0.28);
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.06);
}

.prestige-booking-summary-accordion__body {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 0.75rem 0.85rem;
  animation: prestige-summary-accordion-in 0.2s ease;
}

@keyframes prestige-summary-accordion-in {
  from {
    opacity: 0;
    transform: translateY(-0.2rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.prestige-booking-summary-accordion__body > .prestige-booking-incentive {
  padding: 0.75rem 0.15rem;
  border-top: 1px solid rgba(148, 163, 184, 0.16);
}

.prestige-booking-summary-accordion__body > .prestige-booking-incentive:first-child {
  border-top: 0;
  padding-top: 0.15rem;
}

.prestige-booking-incentive {
  min-width: 0;
}

.prestige-booking-incentive .prestige-contact-field {
  gap: 0.35rem;
}

.prestige-booking-incentive .prestige-contact-field__label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: rgb(100, 116, 139);
}

.prestige-field-tip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.1rem;
  height: 1.1rem;
  padding: 0;
  border: 0;
  border-radius: 9999px;
  background: transparent;
  color: rgb(148, 163, 184);
  font-size: 0.72rem;
  cursor: help;
  transition: color 0.2s ease;
}

.prestige-field-tip:hover,
.prestige-field-tip:focus-visible {
  color: var(--color-primary);
}

.prestige-field-tip:focus-visible {
  outline: 2px solid rgba(var(--color-primary-rgb), 0.35);
  outline-offset: 2px;
}

.prestige-field-tip::after {
  content: attr(data-tip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 0.45rem);
  z-index: 30;
  width: max-content;
  max-width: min(16.5rem, 70vw);
  padding: 0.55rem 0.65rem;
  border-radius: 0.65rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgb(30, 41, 59);
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.4;
  text-align: left;
  white-space: normal;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(0.15rem);
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
}

.prestige-field-tip::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 0.2rem);
  z-index: 31;
  width: 0.45rem;
  height: 0.45rem;
  background: rgb(30, 41, 59);
  border-right: 1px solid rgba(148, 163, 184, 0.22);
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) rotate(45deg);
  transition: opacity 0.16s ease, visibility 0.16s ease;
}

.prestige-field-tip:hover::after,
.prestige-field-tip:focus-visible::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.prestige-field-tip:hover::before,
.prestige-field-tip:focus-visible::before {
  opacity: 1;
  visibility: visible;
}

.prestige-booking-incentive .prestige-contact-field__input {
  min-height: 2.4rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: #fff;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.prestige-booking-incentive .prestige-contact-field__input:focus {
  outline: none;
  border-color: rgba(var(--color-primary-rgb), 0.45);
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.12);
}

.prestige-booking-incentive .prestige-contact-field__hint {
  margin-top: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--prestige-muted);
}

.prestige-booking-incentive__row {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.45rem;
  align-items: stretch;
}

.prestige-booking-incentive__row .prestige-contact-field__input {
  flex: 1 1 auto;
  min-width: 0;
}

.prestige-booking-incentive__apply {
  flex: 0 0 auto;
  min-height: 2.4rem;
  padding: 0 0.85rem;
  border: 1px solid rgba(var(--color-primary-rgb), 0.2);
  border-radius: 0.75rem;
  background: rgba(var(--color-primary-rgb), 0.06);
  color: var(--color-primary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prestige-booking-incentive__apply:hover {
  border-color: rgba(var(--color-primary-rgb), 0.4);
  background: rgba(var(--color-primary-rgb), 0.12);
  color: var(--color-primary-dark, var(--color-primary));
}

.prestige-booking-incentive__apply:active {
  transform: translateY(1px);
}

/* Legacy promo card styles kept for any remaining usages */
.prestige-booking-promo-form {
  margin: 0;
  padding: 0.85rem 0.9rem;
  border-radius: 1rem;
  border: 1px solid var(--prestige-line);
  background: #f8f8f7;
  min-width: 0;
}

.prestige-booking-promo-form__row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: stretch;
}

.prestige-booking-promo-form__row .prestige-contact-field__input {
  flex: 1 1 8rem;
  min-width: 0;
}

.prestige-booking-promo-form__row .prestige-booking-nav__btn {
  flex: 0 0 auto;
  min-height: 2.75rem;
}

.prestige-booking-hero .prestige-account-crumb,
.prestige-booking-result-hero .prestige-account-crumb {
  margin: 0 0 0.65rem;
}

.prestige-booking-hero .prestige-account-crumb ol,
.prestige-booking-result-hero .prestige-account-crumb ol {
  margin-bottom: 0;
}

.prestige-booking-trip {
  display: grid;
  gap: 0.65rem;
  margin: 0 0 1rem;
  padding: 0.85rem 0.9rem;
  border-radius: 1rem;
  border: 1px solid var(--prestige-line);
  background: #f8f8f7;
}

@media (min-width: 768px) {
  .prestige-booking-trip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1.25rem;
  }
}

@media (min-width: 1100px) {
  .prestige-booking-trip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.prestige-booking-trip__item {
  min-width: 0;
}

.prestige-booking-trip__item dt {
  margin: 0 0 0.2rem;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-booking-trip__item dd {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--prestige-ink);
}

.prestige-booking-conditions {
  display: grid;
  gap: 0.75rem;
  margin: 0 0 0.25rem;
  padding: 0.85rem;
  border-radius: 1rem;
  border: 1px solid var(--prestige-line);
  background: linear-gradient(180deg, #f8f8f7 0%, #ffffff 100%);
}

@media (min-width: 768px) {
  .prestige-booking-conditions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 0.35rem;
  }

  .prestige-booking-conditions__item + .prestige-booking-conditions__item {
    border-left: 1px solid var(--prestige-line);
  }
}

.prestige-booking-conditions__item {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  padding: 0.7rem 0.75rem;
}

.prestige-booking-conditions__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 0.8rem;
  flex-shrink: 0;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.1);
  font-size: 0.85rem;
}

.prestige-booking-conditions__label {
  margin: 0 0 0.2rem;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-booking-conditions__value {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--prestige-ink);
}

.prestige-booking-conditions__meta {
  margin: 0.2rem 0 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-booking-conditions__countdown {
  margin: 0.35rem 0 0;
  font-size: 1.05rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--color-primary);
}

.prestige-booking-conditions__rules {
  margin: 0.4rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.prestige-booking-conditions__rules li {
  position: relative;
  padding-left: 0.9rem;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--prestige-muted);
}

.prestige-booking-conditions__rules li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 9999px;
  background: rgba(16, 185, 129, 0.85);
}

.prestige-booking-conditions__extra {
  margin: 0.45rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.prestige-booking-conditions__extra li {
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--prestige-muted);
}

.prestige-booking-checkout-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1.1rem;
  padding-top: 1.05rem;
  border-top: 1px dashed var(--prestige-line);
}

.prestige-booking-review {
  display: grid;
  gap: 0.85rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px dashed var(--prestige-line);
}

@media (min-width: 640px) {
  .prestige-booking-review {
    grid-template-columns: 7.5rem minmax(0, 1fr);
    align-items: start;
  }
}

.prestige-booking-review__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0.85rem;
}

.prestige-booking-review__type {
  margin: 0 0 0.25rem;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-booking-review__type i {
  color: var(--color-primary);
}

.prestige-booking-review__title {
  margin: 0 0 0.45rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
}

.prestige-booking-review__title a {
  color: inherit;
  text-decoration: none;
}

.prestige-booking-review__title a:hover {
  color: var(--color-primary);
}

.prestige-booking-review__meta {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.35rem;
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-booking-review__meta i {
  width: 1rem;
  color: var(--color-primary);
}

.prestige-booking-review-list {
  margin: 0 0 1rem;
}

.prestige-booking-review-list__row {
  display: grid;
  gap: 0.15rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--prestige-line);
}

@media (min-width: 640px) {
  .prestige-booking-review-list__row {
    grid-template-columns: 9rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
  }
}

.prestige-booking-review-list__row:first-child {
  padding-top: 0;
}

.prestige-booking-review-list__row dt {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-booking-review-list__row dd {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-booking-edit-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.74rem;
  font-weight: 700;
  color: var(--color-primary);
  text-decoration: none;
}

.prestige-booking-edit-link:hover {
  text-decoration: underline;
}

.prestige-booking-mode {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.prestige-booking-mode__btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.85rem;
  font-size: 0.74rem;
  font-weight: 700;
  text-align: left;
  color: var(--prestige-muted);
  background: #f8f8f7;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s, color 0.2s, box-shadow 0.2s;
}

.prestige-booking-mode__btn i {
  font-size: 0.9rem;
  color: var(--color-primary);
}

.prestige-booking-mode__btn.is-active {
  border-color: rgba(var(--color-primary-rgb), 0.35);
  color: var(--prestige-ink);
  background: rgba(var(--color-primary-rgb), 0.06);
  box-shadow: inset 0 0 0 1px rgba(var(--color-primary-rgb), 0.1);
}

.prestige-booking-mode-panel {
  display: none;
  margin-bottom: 1rem;
}

.prestige-booking-mode-panel.is-active {
  display: block;
}

.prestige-booking-member-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 1rem;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-radius: 0.95rem;
  background: linear-gradient(135deg, rgba(254, 243, 199, 0.55) 0%, rgba(255, 255, 255, 0.9) 100%);
}

.prestige-booking-member-card__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 9999px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #fff;
  background: var(--color-primary);
}

.prestige-booking-member-card__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.2rem;
}

.prestige-booking-member-card__name {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
}

.prestige-booking-member-card__meta {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-booking-member-card__perk {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 700;
  color: #92400e;
}

.prestige-booking-member-card__perk i {
  margin-right: 0.25rem;
}

.prestige-booking-member-card__link {
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--color-primary);
  text-decoration: none;
  white-space: nowrap;
}

.prestige-booking-guest-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  margin-bottom: 1rem;
  padding: 0.75rem 0.85rem;
  border-radius: 0.85rem;
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--prestige-ink);
  background: rgba(var(--color-primary-rgb), 0.06);
  border: 1px solid rgba(var(--color-primary-rgb), 0.12);
}

.prestige-booking-guest-banner__link {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
}

.prestige-booking-guest-lookup-note {
  margin: -0.35rem 0 1rem;
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-booking-guest-lookup-note a {
  color: var(--color-primary);
  font-weight: 600;
  text-decoration: none;
}

.prestige-booking-guest-lookup-note a:hover {
  text-decoration: underline;
}

.prestige-booking-form__grid {
  display: grid;
  gap: 0.85rem;
}

@media (min-width: 640px) {
  .prestige-booking-form__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .prestige-booking-form__grid--full {
    grid-column: 1 / -1;
  }
}

.prestige-booking-guests-extra {
  margin: 1rem 0 0;
  padding: 0.85rem 0.95rem;
  border: 1px dashed var(--prestige-line);
  border-radius: 0.85rem;
}

.prestige-booking-guests-extra__legend {
  padding: 0 0.25rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-booking-payplan {
  margin: 0 0 1rem;
  padding: 0;
  border: none;
  display: grid;
  gap: 0.65rem;
}

.prestige-booking-payplan__legend,
.prestige-booking-paymethod__legend {
  margin: 0 0 0.65rem;
  padding: 0;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-booking-payplan__option {
  display: block;
  cursor: pointer;
}

.prestige-booking-payplan__option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.prestige-booking-payplan__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.35rem 1rem;
  padding: 0.85rem 0.95rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.9rem;
  background: #f8f8f7;
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}

.prestige-booking-payplan__option.is-selected .prestige-booking-payplan__content,
.prestige-booking-payplan__option:has(input:checked) .prestige-booking-payplan__content {
  border-color: rgba(var(--color-primary-rgb), 0.35);
  background: rgba(var(--color-primary-rgb), 0.05);
  box-shadow: inset 0 0 0 1px rgba(var(--color-primary-rgb), 0.1);
}

.prestige-booking-payplan__title {
  grid-column: 1;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-booking-payplan__desc {
  grid-column: 1;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-booking-payplan__amount {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--color-primary);
  white-space: nowrap;
}

.prestige-booking-paymethod {
  margin: 0 0 1rem;
  padding: 0;
  border: none;
}

.prestige-booking-paymethod__grid {
  display: grid;
  gap: 0.55rem;
}

@media (min-width: 768px) {
  .prestige-booking-paymethod__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.prestige-booking-paymethod__option {
  display: block;
  cursor: pointer;
}

.prestige-booking-paymethod__option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.prestige-booking-paymethod__content {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  height: 100%;
  padding: 0.8rem 0.85rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.9rem;
  background: #f8f8f7;
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}

.prestige-booking-paymethod__option.is-selected .prestige-booking-paymethod__content,
.prestige-booking-paymethod__option:has(input:checked) .prestige-booking-paymethod__content {
  border-color: rgba(var(--color-primary-rgb), 0.35);
  background: rgba(var(--color-primary-rgb), 0.05);
  box-shadow: inset 0 0 0 1px rgba(var(--color-primary-rgb), 0.1);
}

.prestige-booking-paymethod__brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 1.35rem;
  padding: 0.15rem 0.45rem;
  border-radius: 0.4rem;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.prestige-booking-paymethod__brand--iyzico {
  color: #0f766e;
  background: rgba(20, 184, 166, 0.14);
}

.prestige-booking-paymethod__brand--stripe {
  color: #4338ca;
  background: rgba(99, 102, 241, 0.12);
}

.prestige-booking-paymethod__brand--wire {
  color: #475569;
  background: rgba(100, 116, 139, 0.12);
  font-size: 0.75rem;
}

.prestige-booking-paymethod__title {
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--prestige-ink);
}

.prestige-booking-paymethod__desc {
  font-size: 0.66rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--prestige-muted);
}

.prestige-booking-paymethod-panels {
  display: grid;
  gap: 0;
}

.prestige-booking-payment-card {
  display: none;
  padding: 1.05rem 1.1rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 1.05rem;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.prestige-booking-payment-card.is-active {
  display: grid;
  gap: 0.9rem;
}

.prestige-booking-payment-card--start,
.prestige-booking-payment-card--idle {
  background: linear-gradient(
    180deg,
    rgba(248, 250, 252, 0.95) 0%,
    #ffffff 100%
  );
}

.prestige-booking-payment-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 0.75rem;
  margin-bottom: 0;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.prestige-booking-payment-card__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.55rem;
  border-radius: 9999px;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #0f766e;
  background: rgba(20, 184, 166, 0.12);
}

.prestige-booking-payment-card__badge--stripe {
  color: #4338ca;
  background: rgba(99, 102, 241, 0.12);
}

.prestige-booking-payment-card__badge--wire {
  color: #92400e;
  background: rgba(245, 158, 11, 0.14);
}

.prestige-booking-payment-card__attempt {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-booking-payment-card__intro {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.55;
  color: var(--prestige-muted);
}

.prestige-booking-payment-meta {
  margin: 0;
  display: grid;
  gap: 0.45rem;
}

.prestige-booking-payment-meta__row {
  display: grid;
  gap: 0.15rem;
}

@media (min-width: 520px) {
  .prestige-booking-payment-meta__row {
    grid-template-columns: 7.5rem minmax(0, 1fr);
    gap: 0.65rem;
    align-items: baseline;
  }
}

.prestige-booking-payment-meta__row dt {
  margin: 0;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-booking-payment-meta__row dd {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--prestige-ink);
}

.prestige-booking-payment-meta__mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.74rem;
  word-break: break-all;
}

.prestige-booking-payment-card__methods {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.85rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-booking-payment-card__methods li {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--prestige-muted);
}

.prestige-booking-payment-card__methods i {
  font-size: 0.85rem;
  color: #059669;
}

.prestige-booking-payment-card__cta {
  display: inline-flex;
  width: fit-content;
}

.prestige-booking-payment-form {
  display: grid;
  gap: 0.85rem;
  margin: 0;
}

.prestige-booking-payment-form--compact {
  gap: 0.65rem;
}

.prestige-booking-nav--flush {
  border-top: none;
  margin-top: 0;
  padding-top: 0;
}

.prestige-booking-payment-review {
  display: grid;
  gap: 0.45rem;
  padding: 0.8rem 0.9rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(245, 158, 11, 0.28);
  background: rgba(245, 158, 11, 0.07);
}

.prestige-booking-payment-review--rejected {
  border-color: rgba(244, 63, 94, 0.28);
  background: rgba(244, 63, 94, 0.06);
}

.prestige-booking-payment-review__head {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
}

.prestige-booking-payment-review__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  border-radius: 0.7rem;
  background: rgba(245, 158, 11, 0.16);
  color: #d97706;
  font-size: 0.8rem;
}

.prestige-booking-payment-review--rejected .prestige-booking-payment-review__icon {
  background: rgba(244, 63, 94, 0.14);
  color: #e11d48;
}

.prestige-booking-payment-review__title {
  margin: 0;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-booking-payment-review__status {
  margin: 0.15rem 0 0;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-booking-payment-review__meta {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-booking-payment-review__note {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: #be123c;
}

.prestige-booking-wire-details {
  margin: 0;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 0.95rem;
  background: rgba(248, 250, 252, 0.9);
}

.prestige-booking-pay-providers {
  display: grid;
  gap: 0.55rem;
}

@media (min-width: 640px) {
  .prestige-booking-pay-providers {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.prestige-booking-pay-provider {
  display: block;
  cursor: pointer;
  margin: 0;
}

.prestige-booking-pay-provider input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.prestige-booking-pay-provider__content {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  height: 100%;
  padding: 0.8rem 0.85rem;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 0.95rem;
  background: linear-gradient(
    180deg,
    rgba(248, 250, 252, 0.95) 0%,
    rgba(255, 255, 255, 0.98) 100%
  );
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

.prestige-booking-pay-provider:hover .prestige-booking-pay-provider__content {
  border-color: rgba(148, 163, 184, 0.45);
}

.prestige-booking-pay-provider.is-selected .prestige-booking-pay-provider__content,
.prestige-booking-pay-provider:has(input:checked) .prestige-booking-pay-provider__content {
  border-color: rgba(var(--color-primary-rgb), 0.4);
  background: linear-gradient(
    180deg,
    rgba(var(--color-primary-rgb), 0.08) 0%,
    rgba(255, 255, 255, 0.98) 100%
  );
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.8) inset,
    0 8px 20px rgba(15, 23, 42, 0.04);
}

.prestige-booking-pay-provider__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
  border-radius: 0.7rem;
  background: rgba(var(--color-primary-rgb), 0.1);
  color: var(--color-primary);
  font-size: 0.9rem;
}

.prestige-booking-pay-provider__icon--brand {
  background: #fff;
  border: 1px solid rgba(148, 163, 184, 0.22);
  overflow: hidden;
}

.prestige-booking-pay-provider__icon--brand img {
  width: 1.35rem;
  height: 1.35rem;
  object-fit: contain;
}

.prestige-booking-pay-provider-empty {
  margin: 0;
  padding: 0.85rem 0.95rem;
  border: 1px dashed rgba(148, 163, 184, 0.45);
  border-radius: 0.95rem;
  background: rgba(248, 250, 252, 0.9);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-booking-pay-provider-empty[hidden] {
  display: none;
}

.prestige-booking-online-trust {
  display: grid;
  gap: 0.95rem;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 1.05rem;
  background: linear-gradient(
    165deg,
    rgba(248, 250, 252, 0.98) 0%,
    rgba(255, 255, 255, 0.98) 55%,
    rgba(236, 253, 245, 0.35) 100%
  );
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.03);
}

.prestige-booking-online-trust--stripe {
  background: linear-gradient(
    165deg,
    rgba(248, 250, 252, 0.98) 0%,
    rgba(255, 255, 255, 0.98) 55%,
    rgba(238, 242, 255, 0.45) 100%
  );
}

.prestige-booking-online-trust__brand {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
}

.prestige-booking-online-trust__logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  flex-shrink: 0;
  border-radius: 0.9rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: #fff;
  color: var(--color-primary);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
}

.prestige-booking-online-trust__logo img {
  width: 1.7rem;
  height: 1.7rem;
  object-fit: contain;
}

.prestige-booking-online-trust__brand-copy {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.prestige-booking-online-trust__eyebrow {
  margin: 0;
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #0f766e;
}

.prestige-booking-online-trust--stripe .prestige-booking-online-trust__eyebrow {
  color: #4338ca;
}

.prestige-booking-online-trust__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-booking-online-trust__lead {
  margin: 0.15rem 0 0;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.55;
  color: var(--prestige-muted);
}

.prestige-booking-online-trust__points {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-booking-online-trust__points li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
}

.prestige-booking-online-trust__point-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.7rem;
  background: rgba(16, 185, 129, 0.1);
  color: #059669;
  font-size: 0.78rem;
}

.prestige-booking-online-trust--stripe .prestige-booking-online-trust__point-icon {
  background: rgba(99, 102, 241, 0.1);
  color: #4f46e5;
}

.prestige-booking-online-trust__points li > span:last-child {
  display: grid;
  gap: 0.08rem;
}

.prestige-booking-online-trust__points strong {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-booking-online-trust__points li > span:last-child > span {
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--prestige-muted);
}

.prestige-booking-online-trust__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem 0.85rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.prestige-booking-online-trust__cards-label {
  margin: 0;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-booking-online-trust__cards {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 1.35rem;
  color: #64748b;
}

.prestige-booking-online-trust__cards .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.prestige-booking-pay-provider__text {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.prestige-booking-pay-provider__title {
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--prestige-ink);
}

.prestige-booking-pay-provider__meta {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-booking-pay-provider-panels {
  display: grid;
  gap: 0;
}

.prestige-booking-pay-provider-panel {
  display: none;
}

.prestige-booking-pay-provider-panel.is-active {
  display: grid;
  gap: 0.85rem;
  animation: prestige-summary-accordion-in 0.2s ease;
}

.prestige-booking-wire-list {
  display: grid;
  gap: 0.75rem;
}

.prestige-booking-wire-list > .prestige-booking-wire-details__legend {
  margin-bottom: 0;
}

.prestige-booking-wire-providers {
  display: grid;
  gap: 0.55rem;
}

@media (min-width: 640px) {
  .prestige-booking-wire-providers {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.prestige-booking-wire-provider {
  display: block;
  cursor: pointer;
  margin: 0;
}

.prestige-booking-wire-provider input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.prestige-booking-wire-provider__content {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  height: 100%;
  padding: 0.75rem 0.8rem;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 0.95rem;
  background: linear-gradient(
    180deg,
    rgba(248, 250, 252, 0.95) 0%,
    rgba(255, 255, 255, 0.98) 100%
  );
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

.prestige-booking-wire-provider:hover .prestige-booking-wire-provider__content {
  border-color: rgba(148, 163, 184, 0.45);
}

.prestige-booking-wire-provider.is-selected .prestige-booking-wire-provider__content,
.prestige-booking-wire-provider:has(input:checked) .prestige-booking-wire-provider__content {
  border-color: rgba(245, 158, 11, 0.45);
  background: linear-gradient(
    180deg,
    rgba(255, 251, 235, 0.9) 0%,
    rgba(255, 255, 255, 0.98) 100%
  );
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.8) inset,
    0 8px 20px rgba(15, 23, 42, 0.04);
}

.prestige-booking-wire-provider__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  flex-shrink: 0;
  border-radius: 0.7rem;
  background: rgba(245, 158, 11, 0.1);
  color: #b45309;
  font-size: 0.85rem;
}

.prestige-booking-wire-provider.is-selected .prestige-booking-wire-provider__icon,
.prestige-booking-wire-provider:has(input:checked) .prestige-booking-wire-provider__icon {
  background: rgba(245, 158, 11, 0.16);
  color: #92400e;
}

.prestige-booking-wire-provider__text {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.prestige-booking-wire-provider__title {
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--prestige-ink);
}

.prestige-booking-wire-provider__meta {
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--prestige-muted);
  word-break: break-all;
}

.prestige-booking-wire-panels {
  display: grid;
  gap: 0;
}

.prestige-booking-wire-panel {
  display: none;
  padding: 0.85rem 0.9rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 0.95rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
}

.prestige-booking-wire-panel.is-active {
  display: grid;
  gap: 0.75rem;
  animation: prestige-summary-accordion-in 0.2s ease;
}

.prestige-booking-wire-panel__head {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.prestige-booking-wire-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  flex-shrink: 0;
  border-radius: 0.7rem;
  background: rgba(245, 158, 11, 0.1);
  color: #b45309;
  font-size: 0.85rem;
}

.prestige-booking-wire-panel__title {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-booking-wire-panel__subtitle {
  margin: 0.1rem 0 0;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-booking-wire-panel .prestige-booking-wire-details__list {
  margin: 0;
}

.prestige-booking-wire-panel .prestige-booking-wire-details__list .prestige-booking-wire-details__row:first-child {
  padding-top: 0.45rem;
}

.prestige-booking-wire-account-hint {
  margin: 0.2rem 0 0;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--prestige-muted);
}

.prestige-booking-wire-accordions {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.prestige-booking-wire-accordion {
  border-radius: 0.95rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(
    180deg,
    rgba(248, 250, 252, 0.95) 0%,
    rgba(255, 255, 255, 0.98) 100%
  );
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
  overflow: visible;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.prestige-booking-wire-accordion[open] {
  border-color: rgba(245, 158, 11, 0.35);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.8) inset,
    0 8px 20px rgba(15, 23, 42, 0.04);
}

.prestige-booking-wire-accordion__summary {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  list-style: none;
  cursor: pointer;
  padding: 0.75rem 0.8rem;
  user-select: none;
  transition: background-color 0.2s ease;
}

.prestige-booking-wire-accordion__summary::-webkit-details-marker {
  display: none;
}

.prestige-booking-wire-accordion__summary:hover {
  background: rgba(148, 163, 184, 0.06);
}

.prestige-booking-wire-accordion__summary:focus-visible {
  outline: 2px solid rgba(245, 158, 11, 0.45);
  outline-offset: -2px;
}

.prestige-booking-wire-accordion__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 0.7rem;
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
  font-size: 0.78rem;
  flex-shrink: 0;
  box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.12);
}

.prestige-booking-wire-accordion__copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  flex: 1 1 auto;
}

.prestige-booking-wire-accordion__title {
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--prestige-ink);
  line-height: 1.25;
}

.prestige-booking-wire-accordion__meta {
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--prestige-muted);
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
}

.prestige-booking-wire-accordion__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 9999px;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, 0.28);
  color: rgb(100, 116, 139);
  font-size: 0.58rem;
  flex-shrink: 0;
  transition:
    transform 0.22s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    background-color 0.2s ease;
}

.prestige-booking-wire-accordion[open] .prestige-booking-wire-accordion__chevron {
  transform: rotate(180deg);
  border-color: rgba(245, 158, 11, 0.4);
  color: #b45309;
  background: rgba(245, 158, 11, 0.08);
}

.prestige-booking-wire-accordion__body {
  padding: 0.8rem 0.85rem;
  animation: prestige-summary-accordion-in 0.2s ease;
}

.prestige-booking-wire-accordion__body .prestige-booking-wire-details__list {
  padding-top: 0.7rem;
  border-top: 1px solid rgba(148, 163, 184, 0.16);
}

.prestige-booking-wire-accordion__body .prestige-booking-wire-details__list .prestige-booking-wire-details__row:first-child {
  padding-top: 0;
}

.prestige-booking-wire-iban {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  max-width: 100%;
  flex-wrap: wrap;
}

.prestige-booking-wire-iban__copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  flex-shrink: 0;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 0.55rem;
  background: rgba(248, 250, 252, 0.95);
  color: var(--prestige-muted);
  cursor: pointer;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease;
}

.prestige-booking-wire-iban__copy:hover,
.prestige-booking-wire-iban__copy:focus-visible {
  background: rgba(var(--color-primary-rgb), 0.08);
  border-color: rgba(var(--color-primary-rgb), 0.35);
  color: var(--color-primary);
  outline: none;
}

.prestige-booking-wire-iban__copy.is-copied {
  background: rgba(5, 150, 105, 0.1);
  border-color: rgba(5, 150, 105, 0.35);
  color: #047857;
}

.prestige-booking-wire-iban__copy i {
  font-size: 0.78rem;
  line-height: 1;
}

.prestige-booking-wire-details--next {
  margin-top: 0;
}

.prestige-booking-wire-details__legend {
  margin: 0 0 0.65rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #0f766e;
}

.prestige-booking-wire-details__list {
  margin: 0;
}

.prestige-booking-wire-details__row {
  display: grid;
  gap: 0.15rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-booking-wire-details__row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.prestige-booking-wire-details__list .prestige-booking-wire-details__row:first-child {
  padding-top: 0;
}

@media (min-width: 520px) {
  .prestige-booking-wire-details__row {
    grid-template-columns: 8.5rem minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
  }
}

.prestige-booking-wire-details__row dt {
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-booking-wire-details__row dd {
  margin: 0;
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-booking-wire-details__row dd code {
  padding: 0.1rem 0.35rem;
  border-radius: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.08);
  word-break: break-all;
}

.prestige-booking-wire-details__row--highlight {
  padding: 0.55rem 0.65rem;
  margin: 0.15rem 0;
  border: 1px dashed rgba(var(--color-primary-rgb), 0.25);
  border-radius: 0.65rem;
  background: rgba(var(--color-primary-rgb), 0.04);
}

.prestige-booking-wire-details__row--highlight dt,
.prestige-booking-wire-details__row--highlight dd {
  color: var(--color-primary);
}

.prestige-booking-summary__line--method dd {
  font-size: 0.72rem;
  text-align: right;
}

.prestige-booking-payment-card__title {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  font-size: 0.88rem;
  font-weight: 600;
}

.prestige-booking-payment-card__secure {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  margin: 0.85rem 0 0;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--prestige-muted);
}

.prestige-booking-payment-card__secure a {
  color: var(--color-primary);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.prestige-booking-checklist {
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.prestige-booking-checklist li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-booking-checklist i {
  margin-top: 0.1rem;
  color: #059669;
}

.prestige-booking-legal {
  display: grid;
  gap: 0.65rem;
}

.prestige-booking-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.65rem;
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid var(--prestige-line);
}

.prestige-booking-nav__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2.75rem;
  padding: 0.65rem 1.15rem;
  border-radius: 0.85rem;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.15s;
}

.prestige-booking-nav__btn--ghost {
  margin-right: auto;
  border: 1px solid var(--prestige-line);
  color: var(--prestige-ink);
  background: #ffffff;
}

.prestige-booking-nav__btn--ghost:hover {
  border-color: rgba(var(--color-primary-rgb), 0.25);
  color: var(--color-primary);
}

.prestige-booking-nav__btn--primary,
.prestige-booking-nav__btn--submit {
  border: none;
  color: #fff;
  background: var(--color-primary);
}

.prestige-booking-nav__btn--primary:hover,
.prestige-booking-nav__btn--submit:hover {
  background: var(--color-primary-dark);
}

.prestige-booking-summary__card {
  padding: 1rem 1.05rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.1rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

@media (min-width: 1024px) {
  .prestige-booking-summary {
    position: sticky;
    top: 5.5rem;
  }
}

.prestige-booking-summary__title {
  margin: 0 0 0.85rem;
  font-size: 0.92rem;
  font-weight: 600;
}

.prestige-booking-summary__product {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  gap: 0.65rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px dashed var(--prestige-line);
}

.prestige-booking-summary__product--text-only {
  grid-template-columns: minmax(0, 1fr);
}

.prestige-booking-summary__product img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0.65rem;
}

.prestige-booking-summary__type {
  margin: 0 0 0.15rem;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-booking-summary__name {
  margin: 0 0 0.2rem;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.35;
}

.prestige-booking-summary__dates {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-booking-summary__facts {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  padding: 0 0 0.85rem;
  border-bottom: 1px dashed var(--prestige-line);
}

.prestige-booking-summary__fact {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.prestige-booking-summary__fact dt {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--prestige-muted);
}

.prestige-booking-summary__fact dd {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  text-align: right;
  color: var(--prestige-ink);
}

.prestige-booking-summary__fomo {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.75rem;
  border: 1px solid rgba(var(--color-primary-rgb), 0.18);
  border-radius: 0.85rem;
  background: rgba(var(--color-primary-rgb), 0.05);
}

.prestige-booking-summary__fomo-title {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-booking-summary__fomo-meta {
  margin: 0.2rem 0 0;
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-booking-summary__fomo-countdown {
  margin: 0.35rem 0 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--color-primary);
}

.prestige-booking-summary__lines {
  margin: 0 0 0.85rem;
}

.prestige-booking-summary__line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.35rem 0;
  font-size: 0.74rem;
  font-weight: 600;
}

.prestige-booking-summary__line dt {
  color: var(--prestige-muted);
}

.prestige-booking-summary__line dd {
  margin: 0;
  font-weight: 700;
  color: var(--prestige-ink);
  white-space: nowrap;
}

.prestige-booking-summary__line--discount dd {
  color: #059669;
}

.prestige-booking-summary__line--discount.is-hidden {
  display: none;
}

.prestige-booking-summary__line--total {
  margin-top: 0.35rem;
  padding-top: 0.55rem;
  border-top: 1px solid var(--prestige-line);
  font-size: 0.82rem;
}

.prestige-booking-summary__line--total dt,
.prestige-booking-summary__line--total dd {
  font-weight: 600;
}

.prestige-booking-summary__due {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  margin: 0.15rem 0 0.85rem;
  padding: 0.9rem 1rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(var(--color-primary-rgb), 0.22);
  background: linear-gradient(
    135deg,
    rgba(var(--color-primary-rgb), 0.12) 0%,
    rgba(var(--color-primary-rgb), 0.05) 100%
  );
  box-shadow: 0 8px 20px rgba(var(--color-primary-rgb), 0.08);
}

.prestige-booking-summary__due-copy {
  min-width: 0;
}

.prestige-booking-summary__due-label {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.prestige-booking-summary__due-meta {
  margin: 0.2rem 0 0;
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-booking-summary__due-amount {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.1;
  white-space: nowrap;
  color: var(--color-primary);
}

.prestige-booking-summary__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.65rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.prestige-booking-summary-accordion + .prestige-booking-summary__trust {
  margin-top: 0.75rem;
}

.prestige-booking-summary__trust li {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.66rem;
  font-weight: 700;
  color: var(--prestige-muted);
}

.prestige-booking-summary__trust i {
  color: var(--color-primary);
}

.prestige-booking-pay-choice {
  margin: 1rem 0 0;
  padding: 0;
  border: 0;
}

.prestige-booking-pay-choice__options {
  display: grid;
  gap: 0.75rem;
  margin-top: 0.55rem;
}

@media (min-width: 640px) {
  .prestige-booking-pay-choice__options {
    grid-template-columns: 1fr 1fr;
  }
}

.prestige-booking-pay-choice__option {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.9rem 1rem;
  border: 1px solid color-mix(in srgb, var(--color-border, #e2e8f0) 90%, transparent);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.prestige-booking-pay-choice__option:hover,
.prestige-booking-pay-choice__option.is-selected {
  border-color: color-mix(in srgb, var(--color-primary, #0f766e) 55%, #cbd5e1);
  box-shadow: 0 6px 16px rgba(15, 118, 110, 0.08);
}

.prestige-booking-pay-choice__option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.prestige-booking-pay-choice__title {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--color-text, #1e293b);
}

.prestige-booking-pay-choice__amount {
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--color-text, #1e293b);
}

.prestige-booking-pay-choice__hint {
  font-size: 0.72rem;
  line-height: 1.4;
  color: var(--color-text-muted, #64748b);
}

@media (max-width: 639px) {
  .prestige-booking-steps__label {
    display: none;
  }

  .prestige-booking-steps {
    gap: 0.35rem;
  }

  .prestige-booking-steps__item {
    justify-content: center;
    padding: 0.55rem;
  }

  .prestige-booking-member-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .prestige-booking-member-card__link {
    grid-column: 1 / -1;
  }

  .prestige-booking-nav__btn {
    flex: 1 1 auto;
  }

  .prestige-booking-nav__btn--ghost {
    flex: 1 1 100%;
    margin-right: 0;
  }
}

.prestige-booking-field-label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
}

.prestige-booking-info-link {
  padding: 0;
  border: none;
  background: none;
  font-size: 0.66rem;
  font-weight: 700;
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 0.15em;
  cursor: pointer;
}

.prestige-booking-info-link:hover {
  color: var(--color-primary-dark);
}

.prestige-booking-info-modal {
  position: fixed;
  inset: 0;
  z-index: 110;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.prestige-booking-info-modal[hidden] {
  display: none;
}

.prestige-booking-info-modal.is-open {
  display: flex;
}

.prestige-booking-info-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(4px);
}

.prestige-booking-info-modal__panel {
  position: relative;
  z-index: 1;
  width: min(100%, 32rem);
  max-height: min(88vh, 36rem);
  display: flex;
  flex-direction: column;
  border: 1px solid var(--prestige-line);
  border-radius: 1.15rem;
  background: #ffffff;
  box-shadow: 0 24px 60px -28px rgba(15, 23, 42, 0.45);
  overflow: hidden;
}

.prestige-booking-info-modal__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.05rem 0.85rem;
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-booking-info-modal__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-booking-info-modal__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--prestige-line);
  border-radius: 9999px;
  color: var(--prestige-muted);
  background: #f8f8f7;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}

.prestige-booking-info-modal__close:hover {
  color: var(--color-primary);
  border-color: rgba(var(--color-primary-rgb), 0.25);
}

.prestige-booking-info-modal__body {
  padding: 1rem 1.05rem;
  overflow-y: auto;
}

.prestige-booking-info-modal__lead {
  margin: 0 0 0.85rem;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.55;
  color: var(--prestige-ink);
}

.prestige-booking-info-modal__list {
  margin: 0;
  padding: 0 0 0 1.1rem;
  display: grid;
  gap: 0.75rem;
}

.prestige-booking-info-modal__list li {
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.55;
  color: var(--prestige-muted);
}

.prestige-booking-info-modal__list li strong {
  display: block;
  margin-bottom: 0.2rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-booking-info-modal__foot {
  padding: 0.85rem 1.05rem 1rem;
  border-top: 1px solid var(--prestige-line);
}

.prestige-booking-info-modal__btn {
  width: 100%;
  min-height: 2.65rem;
  border: none;
  border-radius: 0.8rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: #fff;
  background: var(--color-primary);
  cursor: pointer;
  transition: background 0.2s;
}

.prestige-booking-info-modal__btn:hover {
  background: var(--color-primary-dark);
}


/* ─── Booking result (success / failed) ─── */
.prestige-page-booking-result main {
  padding-bottom: 2.5rem;
}

.prestige-booking-result-hero {
  padding: calc(0px + 1.25rem) 0 1.5rem;
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-booking-result-hero--success {
  background: linear-gradient(180deg, rgba(5, 150, 105, 0.08) 0%, #f8f8f7 100%);
}

.prestige-booking-result-hero--failed {
  background: linear-gradient(180deg, rgba(225, 29, 72, 0.07) 0%, #f8f8f7 100%);
}

.prestige-booking-result-hero .prestige-account-crumb ol {
  margin-bottom: 0.85rem;
}

.prestige-booking-result-hero__content {
  display: grid;
  gap: 1rem;
  align-items: start;
}

@media (min-width: 640px) {
  .prestige-booking-result-hero__content {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1.15rem;
  }
}

.prestige-booking-result-hero__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 9999px;
  font-size: 1.55rem;
}

.prestige-booking-result-hero--success .prestige-booking-result-hero__icon {
  color: #059669;
  background: rgba(5, 150, 105, 0.12);
  box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.18);
}

.prestige-booking-result-hero--failed .prestige-booking-result-hero__icon {
  color: #e11d48;
  background: rgba(225, 29, 72, 0.1);
  box-shadow: inset 0 0 0 1px rgba(225, 29, 72, 0.16);
}

.prestige-booking-result-hero__eyebrow {
  margin: 0 0 0.25rem;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.prestige-booking-result-hero--success .prestige-booking-result-hero__eyebrow {
  color: #059669;
}

.prestige-booking-result-hero--failed .prestige-booking-result-hero__eyebrow {
  color: #e11d48;
}

.prestige-booking-result-hero__title {
  margin: 0 0 0.45rem;
  font-size: clamp(1.65rem, 3.5vw, 2.2rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-booking-result-hero__lead {
  margin: 0 0 0.65rem;
  max-width: 44rem;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.6;
  color: var(--prestige-muted);
}

.prestige-booking-result-hero__ref {
  margin: 0;
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-booking-result-hero__ref strong {
  font-weight: 600;
  color: var(--color-primary);
}

.prestige-booking-result-body {
  padding-block: 1.75rem 2rem;
}

@media (min-width: 1024px) {
  .prestige-booking-result-body {
    padding-block: 2rem 2.5rem;
  }
}

.prestige-booking-result-layout {
  display: grid;
  gap: 1.25rem;
  align-items: start;
}

@media (min-width: 1024px) {
  .prestige-booking-result-layout {
    grid-template-columns: minmax(0, 1fr) 18.5rem;
    gap: 1.5rem;
  }
}

.prestige-booking-result-main {
  display: grid;
  gap: 1rem;
}

.prestige-booking-result-sidebar {
  display: grid;
  gap: 1rem;
}

@media (min-width: 1024px) {
  .prestige-booking-result-sidebar {
    position: sticky;
    top: 5.5rem;
  }
}

.prestige-booking-result-card {
  padding: 1.1rem 1.05rem 1.15rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.1rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-booking-result-card--compact {
  padding: 1rem;
}

.prestige-booking-result-card--alert {
  border-color: rgba(225, 29, 72, 0.18);
  background: linear-gradient(180deg, rgba(255, 241, 242, 0.65) 0%, #ffffff 100%);
}

.prestige-booking-result-card__title {
  margin: 0 0 0.85rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-booking-result-card .prestige-booking-review {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.prestige-booking-result-details {
  margin: 0;
}

.prestige-booking-result-details__row {
  display: grid;
  gap: 0.15rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-booking-result-details__row:first-child {
  padding-top: 0;
}

.prestige-booking-result-details__row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

@media (min-width: 520px) {
  .prestige-booking-result-details__row {
    grid-template-columns: 9.5rem minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
  }
}

.prestige-booking-result-details__row dt {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-booking-result-details__row dd {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--prestige-ink);
}

.prestige-booking-result-details__sub {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-booking-result-details__row dd code {
  padding: 0.1rem 0.35rem;
  border-radius: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: #be123c;
  background: rgba(225, 29, 72, 0.08);
}

.prestige-booking-result-alert__message {
  margin: 0 0 0.85rem;
  padding: 0.75rem 0.85rem;
  border-radius: 0.75rem;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.5;
  color: #9f1239;
  background: rgba(225, 29, 72, 0.08);
  border: 1px solid rgba(225, 29, 72, 0.12);
}

.prestige-booking-result-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0;
}

.prestige-booking-result-steps__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.75rem 0;
  border-bottom: 1px dashed var(--prestige-line);
}

.prestige-booking-result-steps__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.prestige-booking-result-steps__dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 9999px;
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--prestige-muted);
  background: #f8f8f7;
  border: 1px solid var(--prestige-line);
}

.prestige-booking-result-steps__item.is-done .prestige-booking-result-steps__dot {
  color: #fff;
  background: #059669;
  border-color: #059669;
}

.prestige-booking-result-steps__item.is-current .prestige-booking-result-steps__dot {
  color: #fff;
  background: var(--color-primary);
  border-color: var(--color-primary);
  box-shadow: 0 0 0 4px rgba(var(--color-primary-rgb), 0.12);
}

.prestige-booking-result-steps__label {
  margin: 0 0 0.15rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-booking-result-steps__meta {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--prestige-muted);
}

.prestige-booking-result-reasons,
.prestige-booking-result-tips {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.prestige-booking-result-reasons li,
.prestige-booking-result-tips li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-booking-result-reasons i {
  margin-top: 0.35rem;
  font-size: 0.42rem;
  color: #e11d48;
}

.prestige-booking-result-tips li {
  padding-left: 0.85rem;
  position: relative;
}

.prestige-booking-result-tips li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--color-primary);
  font-weight: 600;
}

.prestige-booking-result-note {
  margin: 0.85rem 0 0;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--prestige-muted);
}

.prestige-booking-result-actions {
  display: grid;
  gap: 0.55rem;
}

.prestige-booking-result-actions__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2.65rem;
  padding: 0.6rem 0.85rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.8rem;
  font-size: 0.76rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  color: var(--prestige-ink);
  background: #f8f8f7;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.prestige-booking-result-actions__btn:hover {
  border-color: rgba(var(--color-primary-rgb), 0.25);
  color: var(--color-primary);
}

.prestige-booking-result-actions__btn--primary {
  border-color: transparent;
  color: #fff;
  background: var(--color-primary);
}

.prestige-booking-result-actions__btn--primary:hover {
  color: #fff;
  background: var(--color-primary-dark);
}

.prestige-booking-result-actions__btn--ghost {
  background: transparent;
}

.prestige-booking-result-help {
  margin: 0 0 0.75rem;
  font-size: 0.74rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-booking-result-help-links {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.45rem;
}

.prestige-booking-result-help-links a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.74rem;
  font-weight: 700;
  color: var(--color-primary);
  text-decoration: none;
}

.prestige-booking-result-help-links a:hover {
  text-decoration: underline;
}

@media (max-width: 639px) {
  .prestige-booking-result-hero__icon {
    width: 3rem;
    height: 3rem;
    font-size: 1.35rem;
  }
}


/* ─── Receipt document (mirrors invoice) ─── */
.prestige-page-receipt main {
  padding-bottom: 2.5rem;
}

.prestige-receipt-hero {
  padding: calc(0px + 1.25rem) 0 1.35rem;
  border-bottom: 1px solid var(--prestige-line);
  background: linear-gradient(180deg, rgba(14, 165, 233, 0.06) 0%, #f8f8f7 100%);
}

.prestige-receipt-hero .prestige-account-crumb ol {
  margin-bottom: 0.85rem;
}

.prestige-receipt-hero .prestige-account-crumb {
  margin: 0 0 0.65rem;
}

.prestige-receipt-hero .prestige-account-crumb ol {
  margin-bottom: 0;
}

.prestige-receipt-hero__row {
  display: grid;
  gap: 1rem;
  align-items: start;
}

@media (min-width: 768px) {
  .prestige-receipt-hero__row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.25rem;
    align-items: center;
  }
}

.prestige-receipt-hero__title {
  margin: 0 0 0.4rem;
  font-size: clamp(1.65rem, 3.5vw, 2.15rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-receipt-hero__lead {
  margin: 0;
  max-width: 42rem;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.6;
  color: var(--prestige-muted);
}

.prestige-receipt-hero__lead strong {
  font-weight: 600;
  color: var(--color-primary);
}

.prestige-receipt-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.prestige-receipt-toolbar__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2.55rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid var(--prestige-line);
  border-radius: 0.8rem;
  font-size: 0.76rem;
  font-weight: 600;
  text-decoration: none;
  color: var(--prestige-ink);
  background: #ffffff;
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.prestige-receipt-toolbar__btn:hover {
  border-color: rgba(var(--color-primary-rgb), 0.25);
  color: var(--color-primary);
}

.prestige-receipt-toolbar__btn--ghost {
  background: transparent;
}

.prestige-receipt-toolbar__btn--primary {
  border-color: transparent;
  color: #fff;
  background: var(--color-primary);
}

.prestige-receipt-toolbar__btn--primary:hover {
  color: #fff;
  background: var(--color-primary-dark);
}

.prestige-receipt-body {
  padding-block: 1.75rem 2rem;
}

@media (min-width: 1024px) {
  .prestige-receipt-body {
    padding-block: 2rem 2.5rem;
  }
}

.prestige-receipt-document {
  padding: 1.35rem 1.2rem 1.5rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.15rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

@media (min-width: 768px) {
  .prestige-receipt-document {
    padding: 1.75rem 1.65rem 1.85rem;
  }
}

.prestige-receipt-document__head {
  display: grid;
  gap: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--prestige-line);
}

@media (min-width: 768px) {
  .prestige-receipt-document__head {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
  }
}

.prestige-receipt-document__brand {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
}

.prestige-receipt-document__logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.85rem;
  font-size: 1.15rem;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.1);
  box-shadow: inset 0 0 0 1px rgba(var(--color-primary-rgb), 0.14);
}

.prestige-receipt-document__company {
  margin: 0 0 0.25rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-receipt-document__company-meta {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-receipt-document__meta {
  display: grid;
  gap: 0.65rem;
  justify-items: start;
}

@media (min-width: 768px) {
  .prestige-receipt-document__meta {
    justify-items: end;
    text-align: right;
  }
}

.prestige-receipt-document__type {
  display: inline-flex;
  align-items: center;
  min-height: 1.65rem;
  padding: 0.15rem 0.55rem;
  border-radius: 9999px;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.08);
  border: 1px solid rgba(var(--color-primary-rgb), 0.14);
}

.prestige-receipt-document__meta-list {
  margin: 0;
  display: grid;
  gap: 0.35rem;
}

.prestige-receipt-document__meta-list div {
  display: grid;
  gap: 0.1rem;
}

@media (min-width: 768px) {
  .prestige-receipt-document__meta-list div {
    grid-template-columns: auto auto;
    gap: 0.75rem;
    align-items: center;
  }
}

.prestige-receipt-document__meta-list dt {
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-receipt-document__meta-list dd {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-receipt-parties {
  display: grid;
  gap: 1rem;
  padding-block: 1.15rem;
  border-bottom: 1px solid var(--prestige-line);
}

@media (min-width: 640px) {
  .prestige-receipt-parties {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
}

.prestige-receipt-party__title {
  margin: 0 0 0.45rem;
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-receipt-party__name {
  margin: 0 0 0.35rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-receipt-party__text {
  margin: 0 0 0.25rem;
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.55;
  color: var(--prestige-muted);
}

.prestige-receipt-service {
  padding-block: 1.1rem;
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-receipt-service__title {
  margin: 0 0 0.4rem;
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-receipt-service__desc {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.55;
  color: var(--prestige-ink);
}

.prestige-receipt-table-wrap {
  overflow-x: auto;
  margin-block: 1.1rem;
}

.prestige-receipt-table {
  width: 100%;
  min-width: 36rem;
  border-collapse: collapse;
}

.prestige-receipt-table th,
.prestige-receipt-table td {
  padding: 0.7rem 0.55rem;
  border-bottom: 1px solid var(--prestige-line);
  font-size: 0.76rem;
  font-weight: 600;
  text-align: left;
  vertical-align: top;
  color: var(--prestige-muted);
}

.prestige-receipt-table th {
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
  background: #f8f8f7;
}

.prestige-receipt-table td strong {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-receipt-table__sub {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-receipt-table__amount {
  text-align: right;
  white-space: nowrap;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-receipt-totals {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 1.1rem;
}

.prestige-receipt-totals__list {
  margin: 0;
  width: min(100%, 20rem);
  display: grid;
  gap: 0.35rem;
}

.prestige-receipt-totals__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.35rem 0;
  border-bottom: 1px dashed var(--prestige-line);
}

.prestige-receipt-totals__row dt,
.prestige-receipt-totals__row dd {
  margin: 0;
  font-size: 0.76rem;
  font-weight: 700;
  color: var(--prestige-muted);
}

.prestige-receipt-totals__row dd {
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-receipt-totals__row--grand {
  padding-top: 0.55rem;
  border-bottom: none;
}

.prestige-receipt-totals__row--grand dt,
.prestige-receipt-totals__row--grand dd {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-receipt-totals__row--paid {
  padding: 0.55rem 0.65rem;
  border: none;
  border-radius: 0.75rem;
  background: rgba(5, 150, 105, 0.08);
}

.prestige-receipt-totals__row--paid dt,
.prestige-receipt-totals__row--paid dd {
  color: #047857;
}

.prestige-receipt-payment {
  padding: 1rem 0 0.25rem;
  border-top: 1px solid var(--prestige-line);
}

.prestige-receipt-payment__title {
  margin: 0 0 0.55rem;
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-receipt-payment__list {
  margin: 0;
  display: grid;
  gap: 0.45rem;
}

@media (min-width: 640px) {
  .prestige-receipt-payment__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
  }
}

.prestige-receipt-payment__list div {
  display: grid;
  gap: 0.15rem;
}

.prestige-receipt-payment__list dt {
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-receipt-payment__list dd {
  margin: 0;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.45;
  color: var(--prestige-ink);
}

.prestige-receipt-document__foot {
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--prestige-line);
}

.prestige-receipt-document__foot p {
  margin: 0 0 0.45rem;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.55;
  color: var(--prestige-muted);
}

.prestige-receipt-document__foot-note {
  font-size: 0.62rem !important;
  letter-spacing: 0.02em;
}

@media print {
  @page {
    size: A4 portrait;
    margin: 14mm 12mm 16mm;
  }

  *,
  *::before,
  *::after {
    box-shadow: none !important;
    text-shadow: none !important;
  }

  .prestige-header,
  .prestige-bottom-nav,
  .prestige-mobile,
  #global-modal,
  .prestige-footer,
  .prestige-receipt-hero,
  #prestige-back-to-top {
    display: none !important;
  }

  html {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    color: #111 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .prestige-receipt-body {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .prestige-receipt-document {
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    background: #fff !important;
    page-break-before: avoid;
  }

  .prestige-receipt-document__head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 5mm;
    align-items: start;
    padding-bottom: 4mm;
    margin-bottom: 4mm;
    border-bottom: 0.2mm solid #bbb;
    page-break-inside: avoid;
  }

  .prestige-receipt-document__brand {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 3mm;
  }

  .prestige-receipt-document__logo {
    width: 8mm;
    height: 8mm;
    border-radius: 1.5mm;
    font-size: 9pt;
    color: #111 !important;
    background: #fff !important;
    border: 0.25mm solid #999;
    box-shadow: none !important;
  }

  .prestige-receipt-document__company {
    font-size: 10pt;
    color: #111 !important;
  }

  .prestige-receipt-document__company-meta {
    font-size: 7.5pt;
    color: #444 !important;
  }

  .prestige-receipt-document__meta {
    justify-items: end !important;
    text-align: right;
  }

  .prestige-receipt-document__type {
    min-height: auto;
    padding: 0.8mm 2.5mm;
    border-radius: 1mm;
    font-size: 6.5pt;
    color: #111 !important;
    background: #f2f2f2 !important;
    border: 0.2mm solid #999;
  }

  .prestige-receipt-document__meta-list {
    gap: 1mm;
  }

  .prestige-receipt-document__meta-list div {
    display: grid !important;
    grid-template-columns: auto auto !important;
    gap: 3mm;
    align-items: baseline;
  }

  .prestige-receipt-document__meta-list dt {
    font-size: 6.5pt;
    color: #666 !important;
  }

  .prestige-receipt-document__meta-list dd {
    font-size: 8.5pt;
    color: #111 !important;
  }

  .prestige-account-badge {
    padding: 0.6mm 2mm;
    border: 0.2mm solid #666;
    border-radius: 1mm;
    font-size: 6.5pt;
    color: #111 !important;
    background: #f5f5f5 !important;
  }

  .prestige-receipt-parties {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5mm;
    padding-block: 4mm;
    margin-bottom: 4mm;
    border-bottom: 0.2mm solid #bbb;
    page-break-inside: avoid;
  }

  .prestige-receipt-party__title {
    margin-bottom: 1.5mm;
    font-size: 6.5pt;
    color: #666 !important;
  }

  .prestige-receipt-party__name {
    font-size: 9pt;
    color: #111 !important;
  }

  .prestige-receipt-party__text {
    font-size: 7.5pt;
    color: #444 !important;
  }

  .prestige-receipt-service {
    padding-block: 3mm;
    margin-bottom: 3mm;
    border-bottom: 0.2mm solid #bbb;
    page-break-inside: avoid;
  }

  .prestige-receipt-service__title {
    font-size: 6.5pt;
    color: #666 !important;
  }

  .prestige-receipt-service__desc {
    font-size: 8pt;
    color: #111 !important;
  }

  .prestige-receipt-table-wrap {
    overflow: visible !important;
    margin-block: 3mm 4mm;
  }

  .prestige-receipt-table {
    width: 100% !important;
    min-width: 0 !important;
    border-collapse: collapse;
    page-break-inside: auto;
  }

  .prestige-receipt-table thead {
    display: table-header-group;
  }

  .prestige-receipt-table tr {
    page-break-inside: avoid;
    page-break-after: auto;
  }

  .prestige-receipt-table th,
  .prestige-receipt-table td {
    padding: 2mm 2.5mm;
    border: 0.2mm solid #bbb;
    font-size: 7.5pt;
    color: #444 !important;
    vertical-align: top;
  }

  .prestige-receipt-table th {
    font-size: 6.5pt;
    font-weight: 600;
    color: #111 !important;
    background: #efefef !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .prestige-receipt-table td strong {
    font-size: 7.5pt;
    color: #111 !important;
  }

  .prestige-receipt-table__sub {
    font-size: 6.5pt;
    color: #666 !important;
  }

  .prestige-receipt-table__amount {
    text-align: right;
    font-weight: 600;
    color: #111 !important;
  }

  .prestige-receipt-totals {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 4mm;
    page-break-inside: avoid;
  }

  .prestige-receipt-totals__list {
    width: 62mm;
    gap: 1mm;
  }

  .prestige-receipt-totals__row {
    padding: 1mm 0;
    border-bottom: 0.15mm dashed #bbb;
  }

  .prestige-receipt-totals__row dt,
  .prestige-receipt-totals__row dd {
    font-size: 7.5pt;
    color: #444 !important;
  }

  .prestige-receipt-totals__row dd {
    font-weight: 600;
    color: #111 !important;
  }

  .prestige-receipt-totals__row--grand {
    padding-top: 2mm;
    margin-top: 1mm;
    border-top: 0.25mm solid #111;
    border-bottom: none;
  }

  .prestige-receipt-totals__row--grand dt,
  .prestige-receipt-totals__row--grand dd {
    font-size: 9pt;
    font-weight: 600;
    color: #111 !important;
  }

  .prestige-receipt-totals__row--paid {
    padding: 1.5mm 2mm;
    border: 0.2mm solid #666;
    border-radius: 1mm;
    background: #f7f7f7 !important;
  }

  .prestige-receipt-totals__row--paid dt,
  .prestige-receipt-totals__row--paid dd {
    color: #111 !important;
  }

  .prestige-receipt-payment {
    padding: 3mm 0 0;
    margin-top: 1mm;
    border-top: 0.2mm solid #bbb;
    page-break-inside: avoid;
  }

  .prestige-receipt-payment__title {
    font-size: 6.5pt;
    color: #666 !important;
  }

  .prestige-receipt-payment__list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4mm;
  }

  .prestige-receipt-payment__list dt {
    font-size: 6.5pt;
    color: #666 !important;
  }

  .prestige-receipt-payment__list dd {
    font-size: 7.5pt;
    color: #111 !important;
  }

  .prestige-receipt-document__foot {
    margin-top: 5mm;
    padding-top: 3mm;
    border-top: 0.15mm dashed #bbb;
    page-break-inside: avoid;
  }

  .prestige-receipt-document__foot p {
    font-size: 6.5pt;
    line-height: 1.5;
    color: #555 !important;
  }

  .prestige-receipt-document__foot-note {
    font-size: 6pt !important;
    color: #777 !important;
  }

  a {
    color: inherit !important;
    text-decoration: none !important;
  }
}



.prestige-page-voucher main {
  padding-bottom: 2.5rem;
}

[data-cancel-form-wrap][hidden] {
  display: none !important;
}

.prestige-voucher-document {
  padding: 1.35rem 1.2rem 1.5rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.15rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-voucher-document__head {
  display: grid;
  gap: 1rem;
  padding-bottom: 1.15rem;
  margin-bottom: 1.15rem;
  border-bottom: 1px solid var(--prestige-line);
}

@media (min-width: 768px) {
  .prestige-voucher-document__head { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
}

.prestige-voucher-document__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  min-width: 0;
}

.prestige-voucher-document__brand-logo {
  display: block;
  max-width: min(11rem, 100%);
  max-height: 2.75rem;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: left center;
}

.prestige-voucher-document__company { margin: 0; font-size: 0.95rem; font-weight: 600; }
.prestige-voucher-document__tag { margin: 0; font-size: 0.72rem; font-weight: 600; color: var(--prestige-muted); }
.prestige-voucher-document__tenant-contact {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-voucher-document__meta { text-align: left; }
@media (min-width: 768px) { .prestige-voucher-document__meta { text-align: right; } }

.prestige-voucher-document__status {
  display: inline-flex;
  margin-bottom: 0.45rem;
  padding: 0.15rem 0.55rem;
  border-radius: 9999px;
  font-size: 0.62rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #047857;
  background: rgba(16, 185, 129, 0.12);
}

.prestige-voucher-document__meta dl { margin: 0; display: grid; gap: 0.3rem; font-size: 0.76rem; }
.prestige-voucher-document__meta div { display: flex; gap: 0.65rem; justify-content: flex-end; }
.prestige-voucher-document__meta dt { font-weight: 700; color: var(--prestige-muted); }
.prestige-voucher-document__meta dd { margin: 0; font-weight: 600; }

.prestige-voucher-highlight {
  display: grid;
  gap: 0.85rem;
  margin-bottom: 1.15rem;
  padding: 0.85rem 1rem;
  border-radius: 0.85rem;
  background: rgba(var(--color-primary-rgb), 0.06);
  border: 1px solid rgba(var(--color-primary-rgb), 0.12);
}

@media (min-width: 640px) {
  .prestige-voucher-highlight--media {
    grid-template-columns: 5.5rem minmax(0, 1fr);
    align-items: center;
  }
}

.prestige-voucher-highlight__media {
  overflow: hidden;
  width: 5.5rem;
  aspect-ratio: 4 / 3;
  border-radius: 0.7rem;
  background: #ffffff;
}

.prestige-voucher-highlight__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.prestige-voucher-highlight h2 { margin: 0 0 0.25rem; font-size: 0.92rem; font-weight: 600; }
.prestige-voucher-highlight p { margin: 0; font-size: 0.78rem; font-weight: 600; color: var(--prestige-muted); }

.prestige-voucher-grid {
  display: grid;
  gap: 0.85rem;
  margin-bottom: 1.15rem;
}

@media (min-width: 640px) { .prestige-voucher-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.prestige-voucher-grid h3 {
  margin: 0 0 0.35rem;
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-voucher-grid p { margin: 0; font-size: 0.76rem; font-weight: 600; line-height: 1.5; color: var(--prestige-ink); }

.prestige-voucher-contact {
  margin-bottom: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--prestige-line);
}

.prestige-voucher-contact h3,
.prestige-voucher-operator h3 {
  margin: 0 0 0.55rem;
  font-size: 0.64rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--prestige-muted);
}

.prestige-voucher-contact__list {
  margin: 0;
  display: grid;
  gap: 0.7rem;
}

@media (min-width: 640px) {
  .prestige-voucher-contact__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem 1rem;
  }
}

.prestige-voucher-contact__list div {
  min-width: 0;
}

.prestige-voucher-contact__list dt {
  margin: 0 0 0.2rem;
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--prestige-muted);
}

.prestige-voucher-contact__list dd {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--prestige-ink);
  word-break: break-word;
}

.prestige-voucher-operator {
  margin-bottom: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--prestige-line);
}

.prestige-voucher-operator p {
  margin: 0;
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--prestige-ink);
}

.prestige-voucher-operator p + p {
  margin-top: 0.25rem;
  color: var(--prestige-muted);
}

.prestige-voucher-document__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--prestige-line);
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--prestige-muted);
}

.prestige-voucher-qr {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  padding: 0.45rem 0.55rem;
  border: 1px dashed var(--prestige-line);
  border-radius: 0.65rem;
  font-size: 1.35rem;
  color: var(--prestige-ink);
  background: #ffffff;
}

.prestige-voucher-qr img {
  width: 5.5rem;
  height: 5.5rem;
  object-fit: contain;
}

.prestige-voucher-qr span { font-size: 0.62rem; font-weight: 600; letter-spacing: 0.04em; }

.prestige-voucher-document__foot-copy {
  flex: 1 1 12rem;
  min-width: 0;
}

.prestige-voucher-document__checkin {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--prestige-ink);
}

.prestige-voucher-document__foot-note {
  margin: 0;
  font-size: 0.62rem !important;
  letter-spacing: 0.02em;
}

@media print {
  body.prestige-page-voucher {
    background: #fff !important;
    color: #111 !important;
    -webkit-print-color-adjust: economy;
    print-color-adjust: economy;
  }

  body.prestige-page-voucher .prestige-header,
  body.prestige-page-voucher .prestige-bottom-nav,
  body.prestige-page-voucher .prestige-mobile,
  body.prestige-page-voucher #global-modal,
  body.prestige-page-voucher .prestige-footer,
  body.prestige-page-voucher #prestige-back-to-top,
  body.prestige-page-voucher .prestige-receipt-hero,
  body.prestige-page-voucher .prestige-receipt-toolbar {
    display: none !important;
  }

  body.prestige-page-voucher main.prestige-receipt-body {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.prestige-page-voucher .prestige-voucher-document {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.prestige-page-voucher .prestige-voucher-document__head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 4mm !important;
    padding-bottom: 3mm !important;
    margin-bottom: 3mm !important;
    border-bottom: 0.2mm solid #bbb !important;
    page-break-inside: avoid;
  }

  body.prestige-page-voucher .prestige-voucher-document__brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 1mm !important;
  }

  body.prestige-page-voucher .prestige-voucher-document__brand-logo {
    max-width: 36mm !important;
    max-height: 10mm !important;
  }

  body.prestige-page-voucher .prestige-voucher-document__meta {
    text-align: right !important;
    justify-self: end !important;
  }

  body.prestige-page-voucher .prestige-voucher-document__meta dl {
    gap: 1mm !important;
    font-size: 8pt !important;
  }

  body.prestige-page-voucher .prestige-voucher-document__meta div {
    justify-content: flex-end !important;
  }

  body.prestige-page-voucher .prestige-voucher-document__status {
    display: inline-block !important;
    margin-bottom: 1.5mm !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #047857 !important;
    font-size: 8pt !important;
    letter-spacing: 0.04em;
  }

  body.prestige-page-voucher .prestige-voucher-highlight {
    display: block !important;
    margin-bottom: 3mm !important;
    padding: 0 0 2.5mm !important;
    border: none !important;
    border-bottom: 0.2mm solid #ddd !important;
    border-radius: 0 !important;
    background: transparent !important;
    page-break-inside: avoid;
  }

  body.prestige-page-voucher .prestige-voucher-highlight__media {
    display: none !important;
  }

  body.prestige-page-voucher .prestige-voucher-highlight h2 {
    font-size: 11pt !important;
    margin-bottom: 1mm !important;
  }

  body.prestige-page-voucher .prestige-voucher-highlight p {
    font-size: 8pt !important;
  }

  body.prestige-page-voucher .prestige-voucher-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2.5mm 4mm !important;
    margin-bottom: 3mm !important;
  }

  body.prestige-page-voucher .prestige-voucher-grid h3 {
    font-size: 7pt !important;
    margin-bottom: 0.8mm !important;
  }

  body.prestige-page-voucher .prestige-voucher-grid p {
    font-size: 8pt !important;
    line-height: 1.35 !important;
  }

  body.prestige-page-voucher .prestige-voucher-contact,
  body.prestige-page-voucher .prestige-voucher-operator {
    margin-bottom: 2.5mm !important;
    padding-top: 2.5mm !important;
  }

  body.prestige-page-voucher .prestige-voucher-contact h3,
  body.prestige-page-voucher .prestige-voucher-operator h3 {
    font-size: 7pt !important;
    margin-bottom: 1mm !important;
  }

  body.prestige-page-voucher .prestige-voucher-contact__list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 2mm 3mm !important;
  }

  body.prestige-page-voucher .prestige-voucher-contact__list dt {
    font-size: 6.5pt !important;
    margin-bottom: 0.5mm !important;
  }

  body.prestige-page-voucher .prestige-voucher-contact__list dd,
  body.prestige-page-voucher .prestige-voucher-operator p {
    font-size: 8pt !important;
  }

  body.prestige-page-voucher .prestige-voucher-document__foot {
    gap: 3mm !important;
    padding-top: 2.5mm !important;
    align-items: center !important;
    page-break-inside: avoid;
  }

  body.prestige-page-voucher .prestige-voucher-qr {
    padding: 1mm !important;
    border-color: #bbb !important;
    background: transparent !important;
  }

  body.prestige-page-voucher .prestige-voucher-qr img {
    width: 18mm !important;
    height: 18mm !important;
  }

  body.prestige-page-voucher .prestige-voucher-document__checkin {
    font-size: 8pt !important;
    margin-bottom: 1mm !important;
  }

  body.prestige-page-voucher .prestige-voucher-document__foot-note {
    font-size: 7pt !important;
  }

  body.prestige-page-voucher .prestige-voucher-document__company,
  body.prestige-page-voucher .prestige-voucher-document__tag,
  body.prestige-page-voucher .prestige-voucher-document__tenant-contact {
    background: transparent !important;
  }

  body.prestige-page-voucher .prestige-voucher-document__tag,
  body.prestige-page-voucher .prestige-voucher-document__tenant-contact {
    font-size: 7.5pt !important;
  }
}


.prestige-booking-hero,
.prestige-receipt-hero,
.prestige-booking-result-hero {
  position: relative;
  padding: 1.35rem 0 1.85rem;
  background: linear-gradient(
    0deg,
    color-mix(in oklab, var(--color-primary) 18%, #ffffff) 0%,
    color-mix(in oklab, var(--color-primary) 7%, #ffffff) 42%,
    #ffffff 100%
  );
  border-bottom: 1px solid color-mix(in oklab, var(--color-primary) 22%, var(--prestige-line));
}

.prestige-booking-hero .prestige-account-crumb ol,
.prestige-receipt-hero .prestige-account-crumb ol {
  margin-bottom: 0.65rem;
}

.prestige-booking-nav__btn {
  font-family: inherit;
  cursor: pointer;
}

.prestige-booking-nav__btn--primary,
.prestige-booking-nav__btn--submit,
.prestige-receipt-toolbar__btn--primary {
  background: var(--color-primary);
  color: var(--color-on-primary);
  border: 0;
}

.prestige-booking-nav__btn--primary:hover,
.prestige-booking-nav__btn--submit:hover,
.prestige-receipt-toolbar__btn--primary:hover {
  background: var(--color-primary-dark);
}

/* ─── Prestige legal / newsletter ─── */
.prestige-legal-hero {
  position: relative;
  padding: 1.35rem 0 1.85rem;
  background: linear-gradient(
    0deg,
    color-mix(in oklab, var(--color-primary) 18%, #ffffff) 0%,
    color-mix(in oklab, var(--color-primary) 7%, #ffffff) 42%,
    #ffffff 100%
  );
  border-bottom: 1px solid color-mix(in oklab, var(--color-primary) 22%, var(--prestige-line));
}

.prestige-legal-hero .prestige-account-crumb ol {
  margin-bottom: 0.65rem;
}

.prestige-legal-hero__title {
  margin: 0.35rem 0 0;
  font-size: clamp(1.75rem, 4vw, 2.35rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--prestige-ink);
}

.prestige-legal-hero__lead {
  margin: 0.5rem 0 0;
  max-width: 40rem;
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--prestige-muted);
}

.prestige-legal-hero__meta {
  margin: 0.75rem 0 0;
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--prestige-muted);
}

.prestige-legal-hero__cta {
  margin-top: 1rem;
}

.prestige-legal-body {
  padding-block: 1.75rem 3rem;
}

@media (min-width: 1024px) {
  .prestige-legal-body {
    padding-block: 2rem 3.5rem;
  }
}

.prestige-legal-document {
  padding: 1.35rem 1.25rem 1.5rem;
  border: 1px solid var(--prestige-line);
  border-radius: 1.35rem;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

@media (min-width: 768px) {
  .prestige-legal-document {
    padding: 1.65rem 1.75rem 1.85rem;
  }
}

.prestige-legal-document__intro {
  margin-bottom: 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--prestige-line);
}

.prestige-legal-document__intro p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.7;
  color: var(--prestige-muted);
}

.prestige-legal-section {
  scroll-margin-top: calc(var(--prestige-header-h) + 1rem);
}

.prestige-legal-section + .prestige-legal-section {
  margin-top: 1.75rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--prestige-line);
}

.prestige-legal-section h2 {
  margin: 0 0 0.75rem;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--prestige-ink);
}

.prestige-legal-section p {
  margin: 0 0 0.85rem;
  font-size: 0.88rem;
  line-height: 1.7;
  color: var(--prestige-muted);
}

.prestige-legal-section p:last-child {
  margin-bottom: 0;
}

.prestige-legal-section ul {
  margin: 0 0 0.85rem;
  padding-left: 1.15rem;
  font-size: 0.88rem;
  line-height: 1.65;
  color: var(--prestige-muted);
}

.prestige-legal-section li {
  margin-bottom: 0.4rem;
}

.prestige-legal-section li strong {
  color: var(--prestige-ink);
}

.prestige-legal-section a {
  color: var(--color-primary);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.prestige-legal-document__richtext > :first-child {
  margin-top: 0;
}

.prestige-legal-document__richtext > :last-child {
  margin-bottom: 0;
}

.prestige-legal-document__richtext h2 {
  margin: 1.75rem 0 0.75rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--prestige-line);
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--prestige-ink);
  scroll-margin-top: calc(var(--prestige-header-h) + 1rem);
}

.prestige-legal-document__richtext > h2:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.prestige-legal-document__richtext h3 {
  margin: 1.25rem 0 0.55rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--prestige-ink);
}

.prestige-legal-document__richtext p {
  margin: 0 0 0.85rem;
  font-size: 0.92rem;
  line-height: 1.7;
  color: var(--prestige-muted);
}

.prestige-legal-document__richtext ul,
.prestige-legal-document__richtext ol {
  margin: 0 0 0.85rem;
  padding-left: 1.15rem;
  font-size: 0.92rem;
  line-height: 1.7;
  color: var(--prestige-muted);
}

.prestige-legal-document__richtext li {
  margin: 0.35rem 0;
}

.prestige-legal-document__richtext li strong {
  color: var(--prestige-ink);
}

.prestige-legal-document__richtext a {
  color: var(--color-primary);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.prestige-legal-document__richtext table {
  width: 100%;
  margin: 0 0 1rem;
  border-collapse: collapse;
  font-size: 0.88rem;
}

.prestige-legal-document__richtext th,
.prestige-legal-document__richtext td {
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--prestige-line);
  text-align: left;
  color: var(--prestige-muted);
}

.prestige-legal-document__richtext th {
  font-weight: 600;
  color: var(--prestige-ink);
  background: #f8f8f7;
}

@media (max-width: 1023px) {
  .prestige-legal-body {
    padding-bottom: calc(2.5rem + var(--prestige-bottom-nav-height));
  }
}

/* —— Transfer detail (car-parity product page) —— */
.prestige-product-detail--transfer {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media (min-width: 1024px) {
  .prestige-product-detail--transfer {
    display: flex;
    flex-direction: column;
    grid-template-columns: unset;
  }

  .prestige-product-detail--transfer > .prestige-crumb,
  .prestige-product-detail--transfer > .prestige-transfer-detail__layout {
    grid-column: unset;
    width: 100%;
  }
}

.prestige-transfer-detail__media {
  position: relative;
  overflow: hidden;
  border: 1px solid rgb(241 245 249);
  border-radius: 1.5rem;
  background: #0f172a;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-transfer-detail__gallery.prestige-gallery--cover {
  margin: 0;
  --gallery-cover-ratio: 16 / 10;
}

@media (min-width: 1024px) {
  .prestige-transfer-detail__gallery.prestige-gallery--cover {
    --gallery-cover-ratio: 16 / 10;
  }
}

.prestige-transfer-detail__gallery .prestige-gallery__cover {
  border-radius: 0;
}

.prestige-transfer-detail__gallery .prestige-gallery__all-photos {
  right: 0.85rem;
  bottom: 0.85rem;
  border-radius: 0.75rem;
  pointer-events: none;
}

.prestige-transfer-detail__media-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 10;
  min-height: 12rem;
  color: rgba(255, 255, 255, 0.55);
  font-size: 2rem;
  background:
    radial-gradient(circle at 20% 20%, color-mix(in oklab, var(--color-primary) 28%, transparent), transparent 55%),
    linear-gradient(145deg, #1e293b, #0f172a);
}

.prestige-transfer-detail__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}

@media (min-width: 1024px) {
  .prestige-transfer-detail__layout {
    grid-template-columns: minmax(0, 1.55fr) minmax(19rem, 22.5rem);
    gap: 1.75rem;
  }

  .prestige-transfer-detail__booking {
    position: sticky;
    top: 5.5rem;
  }

  .prestige-transfer-detail__booking .prestige-product-booking__drawer-head {
    display: none;
  }
}

.prestige-transfer-detail__main {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  min-width: 0;
}

.prestige-transfer-detail__identity {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 1.15rem 1.2rem;
  background: #fff;
  border: 1px solid rgb(241 245 249);
  border-radius: 1.35rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-transfer-detail__identity-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.prestige-transfer-detail__identity-signals {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.prestige-transfer-detail__category,
.prestige-transfer-detail__instant {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.2;
}

.prestige-transfer-detail__category {
  background: color-mix(in oklab, var(--color-primary) 9%, #ffffff);
  color: var(--color-primary);
  border: 1px solid color-mix(in oklab, var(--color-primary) 16%, transparent);
}

.prestige-transfer-detail__instant {
  background: #fff7ed;
  color: #c2410c;
  border: 1px solid rgba(249, 115, 22, 0.2);
}

.prestige-transfer-detail__title {
  margin: 0;
}

.prestige-transfer-detail__glance {
  margin: 0;
}

@media (min-width: 640px) {
  .prestige-transfer-detail__glance.prestige-glance {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  .prestige-transfer-detail__glance.prestige-glance {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.prestige-transfer-detail__card {
  padding: 1.15rem 1.2rem 1.25rem;
  border-radius: 1.35rem;
  border: 1px solid rgb(241 245 249);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.prestige-transfer-detail__card .prestige-product-section__title {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.95rem;
}

.prestige-transfer-detail__section-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.75rem;
  background: color-mix(in oklab, var(--color-primary) 10%, #ffffff);
  color: var(--color-primary);
  font-size: 0.85rem;
}

.prestige-transfer-detail__empty {
  margin: 0;
  color: #64748b;
  font-size: 0.88rem;
  line-height: 1.45;
}

.prestige-transfer-detail__muted {
  color: #64748b;
  font-weight: 500;
}

.prestige-transfer-detail__policy {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.1rem;
  padding-top: 1rem;
  border-top: 1px solid #e2e8f0;
}

.prestige-transfer-detail__policy-label {
  margin: 0 0 0.25rem;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.prestige-transfer-detail__policy-name {
  margin: 0;
  color: #0f172a;
  font-size: 0.95rem;
  font-weight: 700;
}

.prestige-transfer-detail__addons {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.prestige-transfer-detail__addon {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.85rem 0.9rem;
  border-radius: 1rem;
  border: 1px solid rgb(241 245 249);
  background: #f8fafc;
}

.prestige-transfer-detail__addon-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  flex-shrink: 0;
  border-radius: 0.75rem;
  background: #fff;
  color: var(--color-primary);
  border: 1px solid rgb(241 245 249);
}

.prestige-transfer-detail__addon-body {
  flex: 1;
  min-width: 0;
}

.prestige-transfer-detail__addon-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

.prestige-transfer-detail__addon-name {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #0f172a;
}

.prestige-transfer-detail__addon-desc {
  margin: 0.35rem 0 0;
  color: #64748b;
  font-size: 0.85rem;
  line-height: 1.45;
}

.prestige-transfer-detail__addon-price {
  margin: 0;
  flex-shrink: 0;
  font-size: 0.9rem;
  font-weight: 700;
  color: #0f172a;
}

.prestige-transfer-detail__rec + .prestige-transfer-detail__rec {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgb(241 245 249);
}


/* Hotel product detail — modern hospitality (Prestige) */
.prestige-page-hotel-detail {
  --hotel-surface: #f4f6f8;
  --hotel-panel: #ffffff;
  --hotel-line: color-mix(in oklab, #94a3b8 28%, transparent);
  --hotel-muted: #64748b;
  --hotel-ink: var(--prestige-ink, #1e293b);
}

.prestige-page-tour-detail {
  --hotel-surface: #f4f6f8;
  --hotel-panel: #ffffff;
  --hotel-line: color-mix(in oklab, #94a3b8 28%, transparent);
  --hotel-muted: #64748b;
  --hotel-ink: var(--prestige-ink, #1e293b);
}

.prestige-tour-badge--rating {
  cursor: pointer;
  border: 0;
  font: inherit;
}


/* Hotel tabs (availability results + content) */
.prestige-hotel-tabs,
.prestige-tour-tabs {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
}

.prestige-hotel-tabs__list,
.prestige-tour-tabs__list {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.35rem;
  margin: 0;
  padding: 0.35rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 1.1rem;
  border: 1px solid var(--hotel-line);
  background: color-mix(in oklab, var(--hotel-surface) 90%, #fff);
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.prestige-hotel-tabs__list::-webkit-scrollbar,
.prestige-tour-tabs__list::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.prestige-hotel-tabs__tab,
.prestige-tour-tabs__tab {
  flex: 0 0 auto;
  margin: 0;
  padding: 0.55rem 0.9rem;
  border: 0;
  border-radius: 0.85rem;
  background: transparent;
  color: var(--hotel-muted);
  font-size: 0.84rem;
  font-weight: 650;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease;
}

.prestige-hotel-tabs__tab:hover,
.prestige-tour-tabs__tab:hover {
  color: var(--hotel-ink);
  background: #fff;
}

.prestige-hotel-tabs__tab.is-active,
.prestige-tour-tabs__tab.is-active {
  background: #fff;
  color: var(--color-primary);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
}

.prestige-hotel-tabs__panel,
.prestige-tour-tabs__panel {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  min-width: 0;
}

.prestige-hotel-tabs__panel[hidden],
.prestige-tour-tabs__panel[hidden] {
  display: none !important;
}

.prestige-hotel-tabs__panel > .prestige-product-section,
.prestige-hotel-tabs__panel > .prestige-hotel-section,
.prestige-tour-tabs__panel > .prestige-product-section,
.prestige-tour-tabs__panel > .prestige-tour-section {
  margin: 0;
}

.prestige-hotel-quote__search {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  margin-top: 0.15rem;
}

.prestige-hotel-quote__status {
  margin: 0.35rem 0 0;
  color: var(--hotel-muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.prestige-hotel-quote__status.is-error {
  color: #b91c1c;
}

.prestige-hotel-quote .prestige-hotel-engine__selection {
  margin-top: 0.85rem;
  padding-top: 0.95rem;
  border-top: 1px solid #f1f5f9;
}

.prestige-hotel-room-card__link {
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  padding: 0;
}

button.prestige-hotel-signal {
  font: inherit;
  cursor: pointer;
}

.prestige-product-detail--hotel .prestige-product__main,
.prestige-hotel-main {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

/* Hotel cover gallery sits in the left column above identity */
.prestige-product-detail--hotel .prestige-hotel-main > .prestige-gallery--cover {
  --gallery-cover-ratio: 16 / 10;
  border-radius: 1.35rem;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.04);
}

.prestige-product-detail--hotel .prestige-gallery__cover {
  border-radius: inherit;
}

.prestige-product-detail--hotel .prestige-gallery__all-photos {
  right: 0.85rem;
  bottom: 0.85rem;
  border-radius: 999px;
  pointer-events: none;
}

/* Identity */
.prestige-hotel-identity {
  margin: 0;
}

.prestige-hotel-identity__place {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0 0 0.55rem;
}

.prestige-hotel-identity__title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.prestige-hotel-identity__title {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  font-size: clamp(1.65rem, 3.8vw, 2.35rem);
  letter-spacing: -0.04em;
  line-height: 1.12;
}

.prestige-hotel-identity__signals {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.85rem;
}

.prestige-hotel-stars {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  margin: 0;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  border: 1px solid #fde68a;
  background: #fffbeb;
  color: #d97706;
  font-size: 0.82rem;
  line-height: 1;
}

.prestige-hotel-stars .fa-light {
  color: #fcd34d;
}

.prestige-hotel-stars__label {
  margin-left: 0.3rem;
  color: #92400e;
  font-size: 0.72rem;
  font-weight: 650;
}

.prestige-hotel-signal {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
  padding: 0.32rem 0.7rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.75rem;
  font-weight: 650;
  line-height: 1.25;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.prestige-hotel-signal--rating {
  border-color: #fde68a;
  background: #fffbeb;
  color: #92400e;
}

a.prestige-hotel-signal--rating:hover {
  background: #fef3c7;
}

.prestige-hotel-signal--instant {
  border-color: #bbf7d0;
  background: #ecfdf5;
  color: #047857;
}

.prestige-hotel-signal--policy {
  border-color: #bae6fd;
  background: #f0f9ff;
  color: #0369a1;
}

.prestige-hotel-identity__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.85rem 0 0;
  padding: 0;
  list-style: none;
}

.prestige-hotel-identity__cats li {
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  border: 1px solid var(--hotel-line);
  background: var(--hotel-surface);
  color: var(--hotel-muted);
  font-size: 0.72rem;
  font-weight: 650;
}

/* Gallery breathing room on hotel */
.prestige-product-detail--hotel-engine > .prestige-gallery {
  border-radius: 1.35rem;
  overflow: hidden;
  box-shadow: 0 10px 36px rgba(15, 23, 42, 0.06);
}

/* Section rail */
.prestige-hotel-rail {
  position: sticky;
  top: 0.65rem;
  z-index: 30;
  margin: 0.15rem 0 0.25rem;
}

.prestige-hotel-rail__track {
  display: flex;
  gap: 0.35rem;
  overflow-x: auto;
  padding: 0.4rem;
  border-radius: 999px;
  border: 1px solid var(--hotel-line);
  background: color-mix(in oklab, #ffffff 88%, transparent);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
  scrollbar-width: none;
}

.prestige-hotel-rail__track::-webkit-scrollbar {
  display: none;
}

.prestige-hotel-rail__track a {
  flex: 0 0 auto;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  color: var(--hotel-muted);
  font-size: 0.78rem;
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease;
}

.prestige-hotel-rail__track a:hover {
  background: var(--hotel-surface);
  color: var(--hotel-ink);
}

.prestige-hotel-rail__cta {
  margin-left: auto;
  background: color-mix(in oklab, var(--color-primary) 12%, #ffffff);
  color: var(--color-primary) !important;
}

.prestige-hotel-rail__cta:hover {
  background: color-mix(in oklab, var(--color-primary) 18%, #ffffff) !important;
}

/* Facts strip */
.prestige-hotel-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

@media (min-width: 720px) {
  .prestige-hotel-facts {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.prestige-hotel-fact {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
  padding: 0.95rem 1rem;
  border-radius: 1.15rem;
  border: 1px solid var(--hotel-line);
  background: var(--hotel-panel);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
}

.prestige-hotel-fact__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-bottom: 0.2rem;
  border-radius: 0.7rem;
  background: color-mix(in oklab, var(--color-primary) 10%, #ffffff);
  color: var(--color-primary);
  font-size: 0.85rem;
}

.prestige-hotel-fact__label {
  color: var(--hotel-muted);
  font-size: 0.7rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.prestige-hotel-fact__value {
  color: var(--hotel-ink);
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* Sections */
.prestige-hotel-section-title {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.prestige-hotel-section-title__icon,
.prestige-hotel-section-title .prestige-tour-section-title__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 0.75rem;
  background: color-mix(in oklab, var(--color-primary) 10%, #ffffff);
  color: var(--color-primary);
  font-size: 0.85rem;
}

.prestige-hotel-section__intro {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 0.35rem;
}

.prestige-hotel-section-note {
  margin: 0;
  color: var(--hotel-muted);
  font-size: 0.875rem;
  line-height: 1.45;
}

.prestige-hotel-about,
.prestige-hotel-amenities-card,
.prestige-hotel-location,
.prestige-hotel-notes {
  border-radius: 1.35rem;
  border-color: var(--hotel-line);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
}

.prestige-hotel-amenities-stack {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

.prestige-hotel-amenities-card {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.prestige-hotel-amenities-card .prestige-hotel-section-title {
  margin: 0;
}

.prestige-hotel-amenities-list.is-collapsible:not(.is-expanded) > li:nth-child(n + 9) {
  display: none;
}

.prestige-hotel-amenities-toggle {
  align-self: flex-start;
  margin-top: 0.15rem;
}

/* Room type catalog grid */
.prestige-hotel-room-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1rem;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: stretch;
}

@media (min-width: 768px) {
  .prestige-hotel-room-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.prestige-hotel-room-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border-radius: 1.35rem;
  border: 1px solid var(--hotel-line);
  background: #fff;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.prestige-hotel-room-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in oklab, var(--hotel-line) 70%, var(--color-primary));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.07);
}

.prestige-hotel-room-card__media {
  aspect-ratio: 16 / 10;
  background: var(--hotel-surface);
  overflow: hidden;
}

.prestige-hotel-room-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.prestige-hotel-room-card:hover .prestige-hotel-room-card__media img {
  transform: scale(1.03);
}

.prestige-hotel-room-card__media--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(160deg, color-mix(in oklab, var(--hotel-surface) 70%, #fff) 0%, #f1f5f9 100%);
}

.prestige-hotel-room-card__media-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.1);
  font-size: 1.15rem;
}

.prestige-hotel-room-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.65rem;
  padding: 1.05rem 1.15rem 1.2rem;
}

.prestige-hotel-room-card__name {
  margin: 0;
  color: var(--hotel-ink);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.prestige-hotel-room-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-hotel-room-card__meta li {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.28rem 0.62rem;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--hotel-line) 85%, transparent);
  background: color-mix(in oklab, var(--hotel-surface) 75%, #fff);
  color: var(--hotel-muted);
  font-size: 0.72rem;
  font-weight: 600;
}

.prestige-hotel-room-card__meta li i {
  color: var(--color-primary);
  font-size: 0.78rem;
}

.prestige-hotel-room-card__desc {
  margin: 0;
  color: #64748b;
  font-size: 0.84rem;
  line-height: 1.5;
}

.prestige-hotel-room-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  align-self: flex-start;
  margin-top: auto;
  padding-top: 0.35rem;
  color: var(--color-primary);
  font-size: 0.82rem;
  font-weight: 650;
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--color-primary) 40%, transparent);
  transition: color 0.2s ease, border-color 0.2s ease, gap 0.2s ease;
}

.prestige-hotel-room-card__link i {
  font-size: 0.72rem;
  transition: transform 0.2s ease;
}

.prestige-hotel-room-card__link:hover {
  color: color-mix(in oklab, var(--color-primary) 80%, #0f172a);
  border-bottom-color: color-mix(in oklab, var(--color-primary) 70%, transparent);
  gap: 0.55rem;
}

.prestige-hotel-room-card__link:hover i {
  transform: translateX(2px);
}

.prestige-hotel-location__label {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.85rem;
  color: var(--hotel-ink);
  font-weight: 650;
}

.prestige-hotel-location__pin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.7rem;
  background: #eff6ff;
  color: #2563eb;
}

.prestige-hotel-status {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  color: #475569;
  font-size: 0.75rem;
  font-weight: 650;
}

.prestige-hotel-status--ok {
  border-color: #a7f3d0;
  background: #ecfdf5;
  color: #047857;
}

/* Booking desk */
.prestige-hotel-stay {
  width: 100%;
  max-width: none;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.prestige-hotel-stay__inner {
  padding: 0 !important;
}

.prestige-hotel-desk {
  overflow: hidden;
  border-radius: 1.5rem;
  border: 1px solid var(--hotel-line);
  background:
    radial-gradient(120% 80% at 100% 0%, color-mix(in oklab, var(--color-primary) 10%, transparent), transparent 55%),
    var(--hotel-panel);
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.06);
}

.prestige-hotel-desk__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.25rem 0.35rem;
}

.prestige-hotel-desk__eyebrow {
  margin: 0 0 0.3rem;
  color: var(--color-primary);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.prestige-hotel-desk__title {
  margin: 0;
  color: var(--hotel-ink);
  font-size: clamp(1.2rem, 2.4vw, 1.45rem);
  font-weight: 700;
  letter-spacing: -0.03em;
}

.prestige-hotel-desk__copy {
  margin: 0.35rem 0 0;
  max-width: 34rem;
  color: var(--hotel-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.prestige-hotel-desk__price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.15rem;
  text-align: right;
}

.prestige-hotel-desk__price-label {
  color: var(--hotel-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.prestige-hotel-desk__price-value {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-end;
  gap: 0.35rem;
  color: var(--hotel-ink);
  font-size: 1.35rem;
  font-weight: 750;
  letter-spacing: -0.03em;
}

.prestige-hotel-desk__price-unit {
  color: var(--hotel-muted);
  font-size: 0.78rem;
  font-weight: 600;
}

.prestige-hotel-desk__body {
  padding: 0.85rem 1.25rem 1.25rem;
}

.prestige-hotel-engine,
.prestige-hotel-engine__form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.prestige-hotel-engine__search {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem;
  padding: 0.85rem;
  border-radius: 1.2rem;
  border: 1px solid var(--hotel-line);
  background: color-mix(in oklab, var(--hotel-surface) 88%, #ffffff);
}

@media (min-width: 640px) {
  .prestige-hotel-engine__search {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .prestige-hotel-engine__search {
    grid-template-columns: 1.15fr 1.15fr 0.7fr 0.7fr 0.65fr auto;
    align-items: end;
  }
}

.prestige-hotel-engine__field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}

.prestige-hotel-engine__label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--hotel-muted);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.prestige-hotel-engine__label i {
  color: var(--color-primary);
  opacity: 0.85;
}

.prestige-hotel-engine__input {
  width: 100%;
  min-height: 2.75rem;
  border-radius: 0.9rem !important;
  background: #ffffff;
}

.prestige-hotel-engine__search-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  min-height: 2.75rem;
  white-space: nowrap;
}

@media (min-width: 1100px) {
  .prestige-hotel-engine__search-btn {
    width: auto;
    padding-inline: 1.2rem;
  }
}

.prestige-hotel-engine__status {
  margin: 0;
  color: var(--hotel-muted);
  font-size: 0.875rem;
}

.prestige-hotel-engine__status.is-error {
  color: #b91c1c;
}

.prestige-hotel-engine__results {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.prestige-hotel-engine__results-summary {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  padding: 0.45rem 0.85rem;
  width: fit-content;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--hotel-line) 85%, transparent);
  background: color-mix(in oklab, var(--hotel-surface) 80%, #fff);
  color: var(--hotel-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.prestige-hotel-engine__results-summary i {
  color: var(--color-primary);
  font-size: 0.82rem;
}

.prestige-hotel-engine__empty,
.prestige-hotel-engine__loading {
  margin: 0;
  padding: 1.1rem 1.2rem;
  border-radius: 1.1rem;
  border: 1px dashed #cbd5e1;
  background: #fff;
  color: var(--hotel-muted);
  font-size: 0.9rem;
}

.prestige-hotel-engine__idle {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.65rem;
  padding: 2.25rem 1.5rem;
  text-align: center;
  border-radius: 1.35rem;
  border: 1px solid var(--hotel-line);
  background:
    linear-gradient(180deg, color-mix(in oklab, var(--hotel-surface) 88%, #fff) 0%, #fff 55%);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
}

.prestige-hotel-engine__idle-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.1rem;
  height: 3.1rem;
  border-radius: 1rem;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.1);
  font-size: 1.15rem;
}

.prestige-hotel-engine__idle-title {
  margin: 0.15rem 0 0;
  color: var(--hotel-ink);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.prestige-hotel-engine__idle-copy {
  margin: 0;
  max-width: 28rem;
  color: var(--hotel-muted);
  font-size: 0.875rem;
  line-height: 1.55;
}

.prestige-hotel-engine__idle-link {
  margin-top: 0.35rem;
  color: var(--color-primary);
  font-size: 0.84rem;
  font-weight: 650;
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--color-primary) 40%, transparent);
  transition: color 0.2s ease, border-color 0.2s ease;
}

.prestige-hotel-engine__idle-link:hover {
  color: color-mix(in oklab, var(--color-primary) 80%, #0f172a);
  border-bottom-color: color-mix(in oklab, var(--color-primary) 70%, transparent);
}

.prestige-hotel-stay-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 1.35rem;
  border: 1px solid var(--hotel-line);
  background: #fff;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.035);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.prestige-hotel-stay-card:hover {
  border-color: color-mix(in oklab, var(--hotel-line) 70%, var(--color-primary));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

@media (min-width: 720px) {
  .prestige-hotel-stay-card {
    grid-template-columns: minmax(0, 18rem) minmax(0, 1fr);
    align-items: stretch;
  }
}

.prestige-hotel-stay-card__media {
  position: relative;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border-radius: 0;
  aspect-ratio: 16 / 11;
  background: var(--hotel-surface);
  isolation: isolate;
}

@media (min-width: 720px) {
  .prestige-hotel-stay-card__media {
    align-self: stretch;
    height: 100%;
    min-height: 14.5rem;
    aspect-ratio: auto;
  }
}

.prestige-hotel-stay-card__media img,
.prestige-hotel-stay-card__media-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.prestige-hotel-stay-card__media--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(160deg, color-mix(in oklab, var(--hotel-surface) 70%, #fff) 0%, #f1f5f9 100%);
}

.prestige-hotel-stay-card__media-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.9rem;
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.1);
  font-size: 1.05rem;
}

.prestige-hotel-stay-card__media-controls {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.45rem;
  pointer-events: none;
}

.prestige-hotel-stay-card__media-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  border: 0;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.55);
  color: #fff;
  font-size: 0.72rem;
  cursor: pointer;
  pointer-events: auto;
  transition: background 0.2s ease, transform 0.2s ease;
}

.prestige-hotel-stay-card__media-btn:hover {
  background: rgba(15, 23, 42, 0.75);
  transform: scale(1.04);
}

.prestige-hotel-stay-card__dots {
  position: absolute;
  left: 50%;
  bottom: 0.55rem;
  z-index: 2;
  display: flex;
  gap: 0.3rem;
  transform: translateX(-50%);
}

.prestige-hotel-stay-card__dot {
  width: 0.4rem;
  height: 0.4rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.prestige-hotel-stay-card__dot.is-active {
  background: #fff;
  transform: scale(1.15);
}

.prestige-hotel-stay-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 0;
  padding: 0.85rem 1rem 0.95rem;
}

.prestige-hotel-stay-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem 0.75rem;
}

.prestige-hotel-stay-card__name {
  margin: 0;
  color: var(--hotel-ink);
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.prestige-hotel-stay-card__remain {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, #10b981 25%, #e2e8f0);
  background: #ecfdf5;
  color: #047857;
  font-size: 0.72rem;
  font-weight: 700;
}

.prestige-hotel-stay-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-hotel-stay-card__meta li {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.28rem 0.62rem;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--hotel-line) 85%, transparent);
  background: color-mix(in oklab, var(--hotel-surface) 75%, #fff);
  color: var(--hotel-muted);
  font-size: 0.72rem;
  font-weight: 600;
}

.prestige-hotel-stay-card__meta li i {
  color: var(--color-primary);
  font-size: 0.78rem;
}

.prestige-hotel-stay-card__rates {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin: 0.05rem 0 0;
  padding: 0;
  list-style: none;
}

.prestige-hotel-rate-row {
  display: grid;
  gap: 0.7rem;
  padding: 0.75rem 0.9rem;
  border-radius: 1.1rem;
  border: 1px solid var(--hotel-line);
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.prestige-hotel-rate-row.is-selected {
  border-color: color-mix(in oklab, var(--color-primary) 45%, var(--hotel-line));
  background:
    linear-gradient(
      180deg,
      color-mix(in oklab, var(--color-primary) 6%, #fff) 0%,
      #fff 100%
    );
  box-shadow: 0 0 0 1px color-mix(in oklab, var(--color-primary) 18%, transparent);
}

@media (min-width: 640px) {
  .prestige-hotel-rate-row {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }
}

.prestige-hotel-rate-row__main {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
}

.prestige-hotel-rate-row__name {
  margin: 0;
  color: var(--hotel-ink);
  font-size: 0.94rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.prestige-hotel-rate-row__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.prestige-hotel-rate-row__tag {
  display: inline-flex;
  align-items: center;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #475569;
  font-size: 0.7rem;
  font-weight: 650;
}

.prestige-hotel-rate-row__discount {
  margin: 0;
  color: #047857;
  font-size: 0.78rem;
  font-weight: 700;
}

.prestige-hotel-rate-row__nightly {
  margin: 0;
  color: #94a3b8;
  font-size: 0.75rem;
}

.prestige-hotel-rate-row__side {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}

@media (min-width: 640px) {
  .prestige-hotel-rate-row__side {
    align-items: flex-end;
  }
}

.prestige-hotel-rate-row__price {
  margin: 0;
  color: var(--hotel-ink);
  font-size: 1.15rem;
  font-weight: 750;
  letter-spacing: -0.03em;
}

.prestige-hotel-rate-row__select {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 5.75rem;
  padding: 0.55rem 1rem;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--color-primary) 35%, #cbd5e1);
  background: #fff;
  color: var(--color-primary);
  font-size: 0.8rem;
  font-weight: 750;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease,
    box-shadow 0.2s ease;
}

.prestige-hotel-rate-row__select:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px color-mix(in oklab, var(--color-primary) 18%, transparent);
}

.prestige-hotel-rate-row__select:hover,
.prestige-hotel-rate-row__select.is-selected {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

/* Sticky offer / selection panel */
.prestige-hotel-offer__inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.15rem 1.2rem 1.25rem;
  border-radius: 1.5rem;
  border: 1px solid var(--hotel-line);
  background:
    radial-gradient(120% 90% at 100% 0%, color-mix(in oklab, var(--color-primary) 8%, transparent), transparent 55%),
    var(--hotel-panel);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.prestige-hotel-offer__price {
  padding-bottom: 0.95rem;
  border-bottom: 1px solid #f1f5f9;
}

.prestige-hotel-offer__kicker {
  margin: 0 0 0.25rem;
  color: var(--hotel-muted);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.prestige-hotel-offer__amount-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.45rem;
}

.prestige-hotel-offer__amount {
  color: var(--color-primary);
  font-size: 1.4rem;
  font-weight: 750;
  letter-spacing: -0.03em;
}

.prestige-hotel-offer__unit {
  margin-left: 0.2rem;
  color: var(--hotel-muted);
  font-size: 0.8rem;
  font-weight: 600;
}

.prestige-hotel-offer__empty {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.prestige-hotel-offer__empty[hidden] {
  display: none !important;
}

.prestige-hotel-offer__empty-title {
  margin: 0;
  color: var(--hotel-ink);
  font-size: 1rem;
  font-weight: 700;
}

.prestige-hotel-offer__empty-copy {
  margin: 0;
  color: var(--hotel-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.prestige-hotel-offer__empty-link {
  align-self: flex-start;
  margin-top: 0.35rem;
  color: var(--color-primary);
  font-size: 0.82rem;
  font-weight: 650;
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--color-primary) 40%, transparent);
  transition: color 0.2s ease, border-color 0.2s ease;
}

.prestige-hotel-offer__empty-link:hover {
  color: color-mix(in oklab, var(--color-primary) 80%, #0f172a);
}

.prestige-hotel-engine__selection {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.prestige-hotel-engine__selection[hidden] {
  display: none !important;
}

.prestige-hotel-engine__selection-head {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  min-height: 0;
}

.prestige-hotel-engine__selection-head:empty,
.prestige-hotel-engine__selection-head:not(:has([data-hotel-add-room]:not([hidden]))) {
  display: none;
}

.prestige-hotel-engine__add {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 650;
  border-bottom: 1px dashed #cbd5e1;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.prestige-hotel-engine__add:hover {
  color: var(--color-primary);
  border-bottom-color: color-mix(in oklab, var(--color-primary) 45%, #cbd5e1);
}

.prestige-hotel-engine__picked-line dd {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
}

.prestige-hotel-engine__picked-amount {
  color: inherit;
  font-weight: inherit;
}

.prestige-hotel-engine__remove {
  padding: 0;
  border: 0;
  background: transparent;
  color: #94a3b8;
  font-size: 0.72rem;
  font-weight: 650;
  border-bottom: 1px dashed #cbd5e1;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.prestige-hotel-engine__remove:hover {
  color: #b91c1c;
  border-bottom-color: #fecaca;
}

.prestige-hotel-quote .prestige-product-booking__note,
.prestige-hotel-quote__note {
  margin: 0;
  color: var(--hotel-muted);
  font-size: 0.8rem;
  line-height: 1.4;
}

.prestige-hotel-quote__note {
  margin: 0;
  color: var(--hotel-muted);
  font-size: 0.8rem;
  line-height: 1.4;
}

.prestige-hotel-quote__error {
  padding: 0.75rem 0.9rem;
  border-radius: 0.95rem;
  border: 1px solid #fecaca;
  background: #fef2f2;
  color: #991b1b;
  font-size: 0.875rem;
}

/* Legacy hotel room/rate list leftovers (if referenced elsewhere) */
.prestige-hotel-room-list {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prestige-hotel-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  background: var(--hotel-surface);
  color: var(--hotel-muted);
  font-size: 0.72rem;
  font-weight: 600;
}

/* Mobile / touch: keep form controls at 16px to avoid iOS Safari focus zoom. */
@media (pointer: coarse), (max-width: 767.98px) {
  body.prestige-body input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]),
  body.prestige-body select,
  body.prestige-body textarea,
  body.prestige-body .prestige-input,
  body.prestige-body .prestige-hero-date-input,
  body.prestige-body .prestige-hero-route-input,
  body.prestige-body .prestige-location-picker__search-input,
  body.prestige-body .prestige-contact-field__input,
  body.prestige-body .prestige-filter-dates__input,
  body.prestige-body .prestige-filter-capacity__input,
  body.prestige-body .prestige-transfer-pax-stepper__value,
  body.prestige-body .prestige-account-referral__link-input,
  body.prestige-body .prestige-transfer-route__input,
  body.prestige-body .ts-control,
  body.prestige-body .ts-control input,
  body.prestige-body > .ts-dropdown .dropdown-input,
  body.prestige-body .ts-dropdown .dropdown-input,
  .ts-dropdown.prestige-select-dropdown .dropdown-input {
    font-size: 16px !important;
  }
}
