/* =============================================================
   Serena Valley — Lodging Page
   ============================================================= */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300&family=Jost:wght@300;400;500&display=swap');

:root {
  --sv-cream: #f5f0e8;
  --sv-warm-white: #faf8f4;
  --sv-dark: #1c1a17;
  --sv-muted: #6b6560;
  --sv-accent: #7a3f2e;
  --sv-accent-light: #c4856a;
  --sv-border: #ddd8cf;
  --sv-radius: 16px;
  --sv-gap: 56px;
  /* gap between image and content */
  --sv-row-gap: 80px;
  /* vertical gap between rows */
  --sv-img-width: 52%;
  /* image column width */
}

/* ── Hero ────────────────────────────────────────────────────── */

.lodging-page {
  
}

.lodging-hero {
  padding: 56px 10% 32px;
}

.lodging-breadcrumb {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.lodging-breadcrumb>* {
  font-size: 0.875rem;
}

.lodging-breadcrumb a {
  text-decoration: none;
  color: var(--neutral-1);
}

.lodging-breadcrumb a:hover {
  color: var(--primary-1);
}

.lodging-hero__title {}

/* ── List wrapper ─────────────────────────────────────────────── */

.lodging-list {
  display: flex;
  flex-direction: column;
  gap: var(--sv-row-gap);
}

/* ── Row ──────────────────────────────────────────────────────── */

.lodging-row {
  display: grid;
  grid-template-columns: var(--sv-img-width) 1fr;
  gap: var(--sv-gap);
  align-items: center;
}

/* Image right — swap columns */
.lodging-row--image-right {
  grid-template-columns: 1fr var(--sv-img-width);
}

.lodging-row--image-right .lodging-row__image-wrap {
  order: 2;
}

.lodging-row--image-right .lodging-row__content {
  order: 1;
}

/* ── Image ────────────────────────────────────────────────────── */

.lodging-row__image-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  padding: 0 8px;
}

.lodging-row__image {
  width: 100%;
  height: 100%;
  border-radius: var(--sv-radius);
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.lodging-row__image-wrap:hover .lodging-row__image {
  /* transform: scale(1.03); */
}

/* Dots */
.lodging-row__image-dots {
  position: absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
}

.dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  transition: background 0.2s;
}

.dot--active {
  background: #fff;
}

/* ── Content ──────────────────────────────────────────────────── */

.lodging-row__content {
  display: flex;
  flex-direction: column;
  padding: 0px 10%;
}

.lodging-row__title {}

.lodging-row__description {
  margin-bottom: 32px;
}

/* ── Units list ───────────────────────────────────────────────── */

.lodging-row__units {
  list-style: none;
  margin: 0;
  border-top: 1px solid var(--sv-border);
  padding-left: 0;
}

.lodging-unit {
  border-bottom: 1px solid var(--sv-border);
}

.lodging-unit__link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 0;
  text-decoration: none;
  transition: color 0.3s ease-in-out;
}

.lodging-unit__link:hover {
  color: var(--primary-3);
}

.lodging-unit__icon {
  color: var(--primary-3);
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.lodging-unit__icon  img {
  background-color: var(--primary-1);
  object-position: -99999px 99999px;
  transition: background-color 0.3s ease-in-out;
}

.lodging-unit__link:hover .lodging-unit__icon  img {
  background-color: var(--primary-3);
}

.lodging-unit__link:hover .lodging-unit__arrow  svg path {
  stroke: var(--primary-3);
}

.lodging-unit__name {
  flex: 1;
  margin-bottom: 0;
}

.lodging-unit__arrow {
  color: var(--primary-3);
  font-size: 0.8rem;
  transition: transform 0.2s;
}

.lodging-unit__link:hover .lodging-unit__arrow {
  transform: translate(2px, -2px);
}

/* ── Responsive ───────────────────────────────────────────────── */

@media (max-width: 639px) {

  .lodging-row,
  .lodging-row--image-right {
    grid-template-columns: 1fr;
  }

  .lodging-row--image-right .lodging-row__image-wrap {
    order: 0;
  }

  .lodging-row--image-right .lodging-row__content {
    order: 0;
  }

  .lodging-hero {
    padding: 56px 10% 32px;
  }

  :root {
    --sv-row-gap: 56px;
    --sv-gap: 28px;
  }

  .lodging-row__content {
    padding: 0px 10%;
  }

  .lodging-row__image-wrap {
    padding: 0 8px;
  }
}

@media (max-width:1023px) {
  .lodging-row__content {
    padding: 0px 10%;
  }

  .lodging-row__image-wrap {
    padding: 0 16px;
  }

  .lodging-row,
  .lodging-row--image-right {
    grid-template-columns: 1fr;
  }

  .lodging-row--image-right .lodging-row__image-wrap {
    order: 0;
  }

  .lodging-row--image-right .lodging-row__content {
    order: 0;
  }
}

@media (min-width: 1024px) {
  .lodging-hero {
    padding: 56px 10% 56px;
  }
  .lodging-row {
    padding-right: 90px;
  }

  /* Image right — swap columns */
  .lodging-row--image-right {
    padding-left: 90px;
    padding-right: unset;
  }
}