/* Lodging page: builds on index.css (nav, footer, variables) */
.nav__links a[aria-current="page"] { opacity: 1; border-bottom: 2px solid #fff; padding-bottom: 2px; }
h2 { font-size: 2.4rem; font-weight: 700; }
section[id] { scroll-margin-top: 130px; }

/* Hero */
.lhero { position: relative; min-height: 78vh; overflow: hidden; color: #fff; display: grid; align-items: end; background: var(--navy); }
.lhero__track { position: absolute; inset: 0; display: flex; transition: transform .8s ease; }
.lhero__slide { flex: 0 0 100%; background-size: cover; background-position: center; }
.lhero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(15,23,42,.75), rgba(15,23,42,.2) 60%); }
.lhero__eyebrow { font-size: .8rem; letter-spacing: .14em; font-weight: 500; opacity: .9; }
.lhero__text { position: relative; z-index: 2; max-width: 1200px; width: 100%; margin: 0 auto; padding: 0 24px 72px; }
.lhero__text h1 { font-size: clamp(2.6rem, 8vw, 4.6rem); font-weight: 600; margin-top: 6px; line-height: 1.05; }
.lhero__text p:last-child { margin-top: 10px; font-size: 1.1rem; opacity: .92; }

/* Filters */
.lodging { padding: 0 0 80px; }
.lodging__bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 20px 0; border-bottom: 1px solid #dde4ee; }
.lodging__tabs { display: flex; gap: 24px; flex-wrap: wrap; }
.lodging__tabs button { background: none; border: 0; padding: 4px 0; font: inherit; font-size: .95rem; color: var(--muted); cursor: pointer; border-bottom: 2px solid transparent; }
.lodging__tabs button.on { color: var(--text); border-bottom-color: var(--navy); font-weight: 500; }
.lodging__map { font-size: .9rem; font-weight: 500; }
.lodging__map:hover { text-decoration: underline; }

/* Plain rows, no cards */
.lodging__row { display: grid; grid-template-columns: 220px minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 20px 0; border-bottom: 1px solid #dde4ee; }
.lodging__row:hover .lodging__name { text-decoration: underline; }
.lodging__photo { height: 130px; background: #dde4ee center / cover no-repeat; border-radius: 4px; }
.lodging__name { font-size: 1.3rem; font-weight: 600; }
.lodging__meta { color: var(--muted); margin-top: 4px; }
.lodging__go { font-size: 1.5rem; }
.lodging__empty { padding: 40px 0; color: var(--muted); }

@media (max-width: 720px) {
  .lhero { min-height: 60vh; }
  .lodging__row { grid-template-columns: 110px minmax(0, 1fr); gap: 14px; }
  .lodging__photo { height: 90px; }
  .lodging__go { display: none; }
}