/* ===== Global header/footer alignment update ===== */
.header__inner--centered {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto;
  align-items: center;
  gap: 18px;
  min-height: auto;
  padding-top: 18px;
}
.brand--center { justify-self: center; align-items: center; padding: 0; }
.brand__logo { height: 60px; width: auto; }
.nav--desktop-left { justify-content: flex-end; }
.nav--desktop-right { justify-content: flex-start; }
.nav--desktop-left, .nav--desktop-right { display: flex; align-items: center; gap: 18px; }
.footer-content--compact { max-width: 980px; }
footer { margin-top: 0; padding: 28px 0 24px; border-top: none; background: #050505; }
.footer-sections { gap: 32px; margin-bottom: 22px; }
.footer-section,
.footer-section::before,
.footer-sections::before,
.footer-section__title::before,
.footer-section__title::after {
  border-top: none !important;
  box-shadow: none !important;
  content: unset;
}
.footer-section__title { margin-bottom: 12px; }
.footer-section__text, .footer-contact__item, .footer-contact__name { margin-top: 0; }
.footer-section__text--tight { margin-bottom: 12px; }
.footer-social { margin-top: 0; }
.footer-bottom--compact { padding-top: 16px; }

/* ===== Lodge page variables ===== */
:root {
  --lodge-bg: #000;
  --lodge-text: #f4efe4;
  --lodge-copy: rgba(255,255,255,.88);
}

/* ===== Body ===== */
body.lodge-page {
  background: #000;
  color: #fff;
}
body.lodge-page main,
body.lodge-page section,
body.lodge-page div,
body.lodge-page img,
body.lodge-page a,
body.lodge-page button {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}
body.lodge-page .nav--mobile {
  background: #000 !important;
  border: none !important;
  box-shadow: none !important;
  padding: 18px 24px 24px;
}
body.lodge-page .nav--mobile .nav__link {
  border: none !important;
  box-shadow: none !important;
  color: #fff;
  padding: 10px 0;
}

/* ===== HERO — matches other pages at 70vh ===== */
.lodge-hero {
  position: relative;
  height: 94vh;
  min-height: 94vh;
  background: url("../../editimages/AccomodationTravel/hero.webp") center center / cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.lodge-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,.30) 0%, rgba(0,0,0,.55) 100%);
}
.lodge-hero__inner {
  position: relative;
  z-index: 1;
  padding: 40px 24px;
}
.lodge-hero h1 {
  margin: 0;
  font-family: "Alta";
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .06em;
  line-height: 1.08;
  color: var(--lodge-text);
  font-size: clamp(2.4rem, 5.5vw, 5rem);
}

/* ===== ACCOMMODATION HEADING ===== */
.lodge-heading {
  background: #000;
  text-align: center;
  padding: 54px 20px 38px;
}
.lodge-heading h2 {
  margin: 0 0 14px;
  font-family: "Alta";
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--lodge-text);
  font-size: clamp(1.9rem, 4vw, 3.6rem);
}
.lodge-heading p {
  margin: 0 auto;
  max-width: 700px;
  color: rgba(255,255,255,.72);
  line-height: 1.6;
  font-size: .97rem;
  letter-spacing: .01em;
}

/* ===== TIMELINE ===== */
.lodge-timeline {
  position: relative;
  background: #000;
  padding: 20px 0 40px;
}
/* Vertical line */
.lodge-timeline::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  transform: translateX(-50%);
  background: rgba(255,255,255,.50);
}

/* Each row — tight centre column so content columns get maximum space */
.timeline-row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 48px 1fr;
  align-items: center;
  padding: 40px 0;
}

/* Centre column — dot */
.timeline-row__center {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}
.timeline-row__dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
}

/* Media column — image fills the column, no artificial max-width cap */
.timeline-row__media {
  padding: 0 48px 0 52px;
}
.timeline-row__media img {
  width: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 4/3;
}

/* Copy column */
.timeline-row__copy {
  padding: 0 52px 0 48px;
  color: #fff;
}
.timeline-row__copy h3 {
  margin: 0 0 14px;
  font-family: "Alta";
  font-weight: 400;
  font-size: clamp(1.05rem, 1.8vw, 1.65rem);
  text-transform: uppercase;
  letter-spacing: .06em;
  line-height: 1.3;
  color: var(--lodge-text);
}
.timeline-row__copy p,
.timeline-row__copy li {
  margin: 0;
  color: var(--lodge-copy);
  line-height: 1.75;
  font-size: clamp(.88rem, 1.1vw, 1rem);
}
.timeline-row__copy ul {
  margin: 0;
  padding-left: 20px;
  list-style: disc;
}
/* Text-only rows: vertically centred */
.timeline-row__copy--center {
  display: flex;
  align-items: center;
}

/* ===== FULL-WIDTH CAMPFIRE IMAGE ===== */
.lodge-full-image {
  background: #000;
  line-height: 0;
}
.lodge-full-image img {
  width: 100%;
  display: block;
  max-height: 72vh;
  object-fit: cover;
}

/* ===== CUISINE HERO IMAGE ===== */
.lodge-cuisine {
  position: relative;
  height: 56vw;
  min-height: 320px;
  background: url("../../editimages/AccomodationTravel/ACCOMMODATION_CUISINE 01.png") center center / cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lodge-cuisine::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(0,0,0,.80) 0%, rgba(0,0,0,.10) 70%);
}
.lodge-cuisine__copy {
  position: relative;
  z-index: 1;
  width: min(60%, 520px);
  padding: 0 28px;
  text-align: center;
}
.lodge-cuisine__title {
  margin: 0 0 14px;
  font-family: "Alta";
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .06em;
  line-height: 1.08;
  color: var(--lodge-text);
  font-size: clamp(2.2rem, 4vw, 4.2rem);
}
.lodge-cuisine__copy p {
  margin: 0;
  color: var(--lodge-copy);
  line-height: 1.68;
  font-size: .97rem;
}

/* ===== CUISINE PHOTO GRIDS ===== */
.cuisine-grid-top {
  display: grid;
  grid-template-columns: 2fr 1fr;
  background: #000;
  gap: 0;
  line-height: 0;
}
.cuisine-grid-top__left img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cuisine-grid-top__right {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 0;
}
.cuisine-grid-top__right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cuisine-grid-bottom {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: #000;
  gap: 0;
  line-height: 0;
}
.cuisine-grid-bottom img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}

/* ===== TRAVEL & TRANSFERS — full-bleed bg + text overlay ===== */
.lodge-travel {
  position: relative;
  background: #000;
  line-height: 0;
  overflow: hidden;
}
.lodge-travel__bg {
  width: 100%;
  display: block;
  height: 52vw;
  min-height: 340px;
  max-height: 68vh;
  object-fit: cover;
  object-position: center;
}
/* Dark gradient fades from left so text is readable */
.lodge-travel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(0,0,0,.88) 0%,
    rgba(0,0,0,.72) 38%,
    rgba(0,0,0,.18) 70%,
    rgba(0,0,0,0) 100%
  );
  pointer-events: none;
}
.lodge-travel__overlay {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 52%;
  padding: 52px 32px 90px 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 1;
  line-height: normal;
}
.lodge-travel__title {
  margin: 0 0 20px;
  font-family: "Alta";
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .06em;
  line-height: 1.08;
  color: var(--lodge-text);
  font-size: clamp(2.2rem, 4.2vw, 4.4rem);
}
.lodge-travel__overlay p {
  margin: 0;
  color: var(--lodge-copy);
  line-height: 1.75;
  font-size: clamp(.88rem, 1.1vw, 1rem);
}
.lodge-travel__overlay p strong {
  color: #fff;
  font-weight: 700;
  display: block;
  margin-bottom: 4px;
}
/* Plane floats at bottom-left of the overlay */
.lodge-travel__plane {
  position: absolute;
  left: 32px;
  bottom: 18px;
  width: min(44%, 240px);
  z-index: 2;
}

/* ===== COMMERCIAL TRANSFER SECTION ===== */
.lodge-transfer {
  position: relative;
  background: #000;
  line-height: 0;
}
.lodge-transfer img {
  width: 100%;
  display: block;
  max-height: 60vh;
  object-fit: cover;
}
.lodge-transfer__copy {
  position: absolute;
  right: 6%;
  top: 50%;
  transform: translateY(-50%);
  width: min(34%, 380px);
  line-height: normal;
}
.lodge-transfer__copy h3 {
  margin: 0 0 10px;
  color: #fff;
  font-family: "Alta";
  font-weight: 600;
  font-size: clamp(.95rem, 1.6vw, 1.4rem);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.lodge-transfer__copy p {
  margin: 0;
  color: var(--lodge-copy);
  line-height: 1.65;
  font-size: clamp(.8rem, 1.1vw, .97rem);
}

/* ===== GALLERY GRIDS (6-image, 2×3) ===== */
.lodge-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  background: #111;
  gap: 3px;
  line-height: 0;
}
.lodge-gallery-grid img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}

/* ===== FEATURED BED IMAGE ===== */
.lodge-gallery-feature {
  background: #000;
  line-height: 0;
  margin: 3px 0;
}
.lodge-gallery-feature img {
  width: 100%;
  display: block;
  max-height: 80vh;
  object-fit: cover;
}

/* ===== BOTTOM GALLERY (6 images, 2×3) ===== */
.lodge-gallery-bottom {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: #111;
  gap: 3px;
  line-height: 0;
}
.lodge-gallery-bottom img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}

/* ===== RESPONSIVE ===== */
@media (min-width: 1061px) {
  .header__actions { display: none; }
  .nav--desktop { display: flex; }
}
@media (min-width: 901px) {
  .timeline-row__copy h3 { font-size: clamp(1.2rem, 2.1vw, 1.95rem); }
  .timeline-row__copy p,
  .timeline-row__copy li { font-size: clamp(.98rem, 1.2vw, 1.12rem); }
  .timeline-row[data-timeline-right] .timeline-row__copy {
    text-align: right;
    padding: 0 8px 0 92px;
  }
  .timeline-row[data-timeline-right] .timeline-row__copy--center {
    justify-content: flex-end;
  }
}
@media (max-width: 1060px) {
  .header__inner--centered { grid-template-columns: 1fr auto; padding-top: 8px; }
  .header__inner--centered .brand--center { justify-self: start; }
  .brand__logo { height: 38px; }
  .nav--desktop-left, .nav--desktop-right { display: none; }
}
@media (max-width: 900px) {
  .lodge-hero { height: 52vh; }
  .timeline-row {
    grid-template-columns: 1fr 36px 1fr;
    padding: 24px 0;
  }
  .timeline-row__media { padding: 0 24px 0 28px; }
  .timeline-row__copy { padding: 0 28px 0 24px; }
  .timeline-row__dot { width: 18px; height: 18px; }
  .lodge-cuisine { height: 64vw; }
  .lodge-cuisine__copy { width: min(60%, 440px); padding: 0 18px; }
  /* Travel: reduce overlay width on tablet */
  .lodge-travel__overlay { width: 64%; padding: 36px 24px 72px 36px; }
  .lodge-travel__plane { left: 20px; bottom: 14px; width: 38%; }
  .lodge-transfer__copy { right: 4%; width: min(42%, 320px); }
}
@media (max-width: 680px) {
  .lodge-hero { height: 90svh; min-height: 280px; }
  .lodge-heading { padding: 36px 18px 26px; }
  .lodge-timeline::before { width: 2px; }
  .timeline-row {
    grid-template-columns: 1fr 28px 1fr;
    padding: 14px 0;
  }
  .timeline-row__media { padding: 0 10px 0 12px; }
  .timeline-row__copy { padding: 0 12px 0 10px; }
  .timeline-row__dot { width: 14px; height: 14px; }
  .timeline-row__copy h3 { font-size: .82rem; letter-spacing: .03em; }
  .timeline-row__copy p,
  .timeline-row__copy li { font-size: .72rem; line-height: 1.5; }
  .lodge-cuisine { height: 80vw; min-height: 240px; }
  .lodge-cuisine__copy { width: 70%; padding: 0 12px; }
  .lodge-cuisine__copy p { font-size: .78rem; line-height: 1.48; }
  .cuisine-grid-top { grid-template-columns: 1fr; }
  .cuisine-grid-top__right { grid-template-rows: 1fr 1fr; }
  .cuisine-grid-bottom { grid-template-columns: 1fr 1fr; }
  /* Travel: full overlay on mobile */
  .lodge-travel__bg { height: 70vw; max-height: none; }
  .lodge-travel__overlay { width: 80%; padding: 24px 16px 64px 24px; }
  .lodge-travel__title { font-size: 1.9rem; }
  .lodge-travel__overlay p { font-size: .78rem; }
  .lodge-travel__plane { left: 14px; bottom: 10px; width: 42%; }
  .lodge-transfer__copy { right: 3%; width: 52%; }
  .lodge-transfer__copy h3 { font-size: .85rem; }
  .lodge-transfer__copy p { font-size: .74rem; line-height: 1.4; }
  .lodge-gallery-grid,
  .lodge-gallery-bottom { grid-template-columns: 1fr 1fr; }
}