/* AWKN Booking — gallery + detail page styles */

/* Custom display rules below override the user-agent [hidden] {display:none}.
   Restore the hidden behavior so JS-toggled visibility actually works. */
.mode-toggle[hidden],
.payment-mode-toggle[hidden],
.book-short-lead-hint[hidden],
.book-staff-hours[hidden],
.book-addons[hidden],
.book-time[hidden],
.book-total[hidden] { display: none; }

/* ── FILTER TABS ──────────────────────────────────────── */
.book-tabs {
  display: inline-flex;
  gap: 0.5rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 0.4rem;
  margin: 0 auto 3rem;
  display: flex;
  width: fit-content;
}
.book-tab {
  font-family: 'Inter', sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 0.7rem 1.6rem;
  border: none;
  background: transparent;
  border-radius: 999px;
  color: var(--grey);
  cursor: pointer;
  transition: background 0.25s, color 0.25s;
}
.book-tab.active { background: var(--dark); color: var(--cream); }
.book-tab:not(.active):hover { color: var(--dark); }

/* ── LISTING GRID ─────────────────────────────────────── */
.listing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media (max-width: 1100px) { .listing-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px)  { .listing-grid { grid-template-columns: 1fr; } }

.listing-card {
  display: flex;
  flex-direction: column;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
  color: inherit;
}
.listing-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: rgba(201,148,62,0.3);
}
.listing-card-img {
  position: relative;
  width: 100%;
  height: 240px;
  background-size: cover;
  background-position: center;
}
.listing-card-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  font-family: 'Inter', sans-serif;
  font-size: 0.55rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--dark);
  background: var(--gold);
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(33,24,16,0.18);
}
.listing-card.is-coming-soon .listing-card-img { filter: saturate(0.85) brightness(0.96); }
/* Body is a flex column with the description absorbing the slack, so every
   card's foot (divider, price, CTA) pins to the card bottom and the row
   renders uniformly no matter how long each description or price line is. */
.listing-card-body {
  padding: 1.6rem 1.85rem 1.85rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.listing-card-meta {
  font-size: 0.6rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
  margin-bottom: 0.6rem;
}
.listing-card-name {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.55rem;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 0.45rem;
  line-height: 1.2;
}
.listing-card-desc {
  font-size: 0.88rem;
  color: var(--grey);
  line-height: 1.7;
  margin-bottom: 1.4rem;
  min-height: 3.6em;
  flex: 1;
}
/* Fixed two-row foot: price block, then CTA bottom-right — identical
   placement on every card (baseline/wrap flex made the CTA position depend
   on each card's price-text width). */
.listing-card-foot {
  display: flex;
  flex-direction: column;
  row-gap: 0.55rem;
  border-top: 1px solid var(--border);
  padding-top: 1rem;
  margin-top: auto;
}
.listing-card-price {
  font-size: 0.88rem;
  color: var(--dark);
  line-height: 1.5;
}
.listing-card-price .price-prefix {
  display: block;
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--grey);
  margin-bottom: 0.2rem;
}
.listing-card-price strong {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.3rem;
  font-weight: 700;
}
.listing-card-cta {
  font-size: 0.6rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
  white-space: nowrap;
  align-self: flex-end;
}

/* ── DETAIL LAYOUT ────────────────────────────────────── */
.detail-hero {
  height: 56vh;
  min-height: 380px;
  background-size: cover;
  background-position: center;
  position: relative;
}
.detail-hero::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.45) 100%);
}

.detail-wrap {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 3.5rem;
  max-width: 1200px;
  margin: -6rem auto 0;
  padding: 0 2rem 6rem;
  position: relative;
  z-index: 2;
}
@media (max-width: 960px) {
  .detail-wrap { grid-template-columns: 1fr; gap: 2.5rem; }
}

.detail-main {
  background: var(--white);
  border-radius: var(--radius);
  padding: 3rem 3rem 2.5rem;
  box-shadow: var(--shadow-lg);
}
.detail-eyebrow {
  font-size: 0.6rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
  margin-bottom: 0.6rem;
}
.detail-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 700;
  color: var(--dark);
  line-height: 1.15;
  margin-bottom: 0.4rem;
}
.detail-tagline {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: 1.1rem;
  color: var(--gold);
  margin-bottom: 1.5rem;
}
.detail-description {
  color: var(--grey);
  line-height: 1.8;
  margin-bottom: 2rem;
  font-size: 0.95rem;
}

.detail-amenities {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6rem 1.5rem;
  list-style: none;
  padding: 1.5rem 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  margin-bottom: 2rem;
}
.detail-amenities li {
  font-size: 0.85rem;
  color: var(--dark);
  padding-left: 1.2rem;
  position: relative;
  line-height: 1.6;
}
.detail-amenities li::before {
  content: '';
  position: absolute;
  left: 0; top: 0.55rem;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  opacity: 0.7;
}

.detail-gallery-wrap {
  position: relative;
  margin-bottom: 2.5rem;
}
.detail-gallery {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.detail-gallery::-webkit-scrollbar { display: none; }
.detail-gallery img {
  flex: 1 0 calc((100% - 1rem) / 3);
  min-width: calc((100% - 1rem) / 3);
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius);
  cursor: zoom-in;
  scroll-snap-align: start;
  transition: opacity 0.15s ease;
}
.detail-gallery img:hover { opacity: 0.9; }
.detail-gallery-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid var(--border);
  color: var(--ink);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  line-height: 1;
  z-index: 5;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
  transition: opacity 0.15s ease, background 0.15s ease;
}
.detail-gallery-nav:hover { background: white; }
.detail-gallery-nav:disabled { opacity: 0; pointer-events: none; }
.detail-gallery-prev { left: 0.5rem; }
.detail-gallery-next { right: 0.5rem; }
@media (max-width: 700px) {
  .detail-gallery img {
    flex: 1 0 calc((100% - 0.5rem) / 2);
    min-width: calc((100% - 0.5rem) / 2);
  }
}

/* ── LIGHTBOX ─────────────────────────────────────────── */
.detail-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  cursor: zoom-out;
}
.detail-lightbox.hidden { display: none; }
.detail-lightbox img {
  max-width: 90vw;
  max-height: 90vh;
  object-fit: contain;
  border-radius: var(--radius);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
  cursor: default;
}
.detail-lightbox-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  color: white;
  font-size: 2rem;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease;
}
.detail-lightbox-close:hover { background: rgba(255, 255, 255, 0.2); }
.detail-lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.5);
  border: 2px solid rgba(255, 255, 255, 0.3);
  color: white;
  font-size: 2rem;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
  z-index: 2001;
}
.detail-lightbox-nav:hover {
  background: rgba(0, 0, 0, 0.7);
  border-color: rgba(255, 255, 255, 0.5);
  transform: translateY(-50%) scale(1.08);
}
.detail-lightbox-nav:disabled { opacity: 0.3; cursor: default; }
.detail-lightbox-nav:disabled:hover {
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.5);
}
.detail-lightbox-prev { left: 1.5rem; }
.detail-lightbox-next { right: 1.5rem; }

/* ── BOOKING SIDEBAR ──────────────────────────────────── */
.book-sidebar {
  position: sticky;
  top: 100px;
  align-self: start;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.85rem;
  box-shadow: var(--shadow-md);
}
.book-side-price {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.85rem;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 0.2rem;
}
.book-side-price small {
  font-family: 'Inter', sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--grey);
  font-weight: 500;
  margin-left: 0.4rem;
}
.book-side-capacity {
  font-size: 0.78rem;
  color: var(--grey);
  margin-bottom: 1.2rem;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid var(--border);
}

.book-inquire-note {
  font-size: 0.78rem;
  color: var(--grey);
  margin: -0.4rem 0 1.3rem;
  line-height: 1.5;
}
.book-inquire-note a { color: var(--gold); font-weight: 600; }

.book-stay-blurb {
  font-size: 0.78rem;
  color: var(--grey);
  line-height: 1.6;
  margin: 0 0 1.4rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--border);
}
.book-stay-blurb strong { color: var(--gold); }

.mode-toggle {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 0.4rem;
  background: var(--cream);
  padding: 0.35rem;
  border-radius: 10px;
  margin-bottom: 1.2rem;
}
.mode-toggle button {
  font-family: 'Inter', sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 0.7rem;
  border: none;
  background: transparent;
  border-radius: 7px;
  color: var(--grey);
  cursor: pointer;
  transition: background 0.25s, color 0.25s;
}
.mode-toggle button.active { background: var(--white); color: var(--dark); box-shadow: var(--shadow-sm); }

/* Payment-mode toggle (retreat listings) — shares visual language with .mode-toggle. */
.payment-mode-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem;
  background: var(--cream);
  padding: 0.35rem;
  border-radius: 10px;
  margin-bottom: 1.2rem;
}
.payment-mode-toggle button {
  font-family: 'Inter', sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 0.7rem;
  border: none;
  background: transparent;
  border-radius: 7px;
  color: var(--grey);
  cursor: pointer;
  transition: background 0.25s, color 0.25s;
}
.payment-mode-toggle button.active { background: var(--white); color: var(--dark); box-shadow: var(--shadow-sm); }
.payment-mode-toggle button[hidden] { display: none !important; }

/* Short-lead hint shown when checkIn is within 14 days of today —
   forces paid-in-full + warns the customer why deposit isn't offered. */
.book-short-lead-hint {
  background: rgba(201,148,62,0.08);
  border-left: 3px solid var(--gold);
  padding: 0.6rem 0.8rem;
  margin: -0.6rem 0 1rem;
  font-size: 0.75rem;
  color: var(--brown);
  border-radius: 0 6px 6px 0;
}

/* Honeypot — hidden from real users; bots fill it and the server soft-drops. */
.book-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.book-field {
  display: block;
  font-size: 0.6rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--grey);
  font-weight: 600;
  margin-bottom: 0.5rem;
  margin-top: 1rem;
}
.book-input,
.book-sidebar input,
.book-sidebar select,
.book-sidebar textarea {
  width: 100%;
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--white);
  color: var(--dark);
  outline: none;
  transition: border-color 0.2s;
}
.book-input:focus,
.book-sidebar input:focus,
.book-sidebar select:focus,
.book-sidebar textarea:focus {
  border-color: var(--gold);
}
.book-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; }

.book-time {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
}
.book-time select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23888' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.85rem center;
  padding-right: 2rem;
}

.book-addons {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
}
.book-addon {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  padding: 0.55rem 0;
  font-size: 0.85rem;
  cursor: pointer;
}
.book-addon input { width: auto; margin-top: 0.25rem; }
.book-addon-label { display: block; color: var(--dark); font-weight: 500; }
.book-addon-note { display: block; font-size: 0.76rem; color: var(--grey); margin-top: 0.15rem; }
.book-addon-price {
  margin-left: auto;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 700;
  color: var(--dark);
}
.book-staff-hours {
  margin-top: 0.4rem;
  margin-left: 1.7rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.8rem;
  color: var(--grey);
}
.book-staff-hours input { width: 70px; padding: 0.45rem 0.6rem; }

.book-addon-stepper {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-left: 0.8rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 0.15rem 0.25rem;
  background: #fff;
}
.book-addon-stepper button {
  width: 22px;
  height: 22px;
  border: none;
  background: transparent;
  color: var(--dark);
  font-size: 1.05rem;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  border-radius: 50%;
}
.book-addon-stepper button:hover { background: var(--cream); }
.book-addon-stepper button:disabled { color: var(--border); cursor: not-allowed; }
.book-addon-stepper button:disabled:hover { background: transparent; }
.book-addon-qty-display {
  min-width: 1.2rem;
  text-align: center;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--dark);
}
.book-addon-selected .book-addon-label { color: var(--accent); }
.book-addon-selected .book-addon-price { color: var(--accent); }

.book-total {
  margin-top: 1.5rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--border);
}
.book-total-empty {
  margin-top: 1.5rem;
  padding: 0.95rem 1rem;
  border: 1px dashed rgba(201,148,62,0.4);
  border-radius: 10px;
  background: rgba(201,148,62,0.05);
  color: var(--brown);
  font-size: 0.82rem;
  text-align: center;
  font-style: italic;
}
.book-total-empty[hidden] { display: none; }
.book-total-line {
  display: flex;
  justify-content: space-between;
  font-size: 0.85rem;
  color: var(--grey);
  padding: 0.35rem 0;
}
.book-total-final {
  display: flex;
  justify-content: space-between;
  margin-top: 0.7rem;
  padding-top: 0.7rem;
  border-top: 1px solid var(--border);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 700;
  color: var(--dark);
}
.book-total-final span:last-child { font-size: 1.4rem; }

.book-submit {
  width: 100%;
  margin-top: 1.5rem;
  padding: 1.05rem;
  font-size: 0.62rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 600;
  border: none;
  border-radius: 999px;
  background: var(--gold);
  color: var(--dark);
  cursor: pointer;
  transition: background 0.25s, transform 0.25s;
  font-family: inherit;
}
.book-submit:hover:not(:disabled) { background: #e3aa50; transform: translateY(-1px); }
.book-submit:disabled { opacity: 0.5; cursor: not-allowed; }
.book-secure-note {
  margin-top: 0.85rem;
  font-size: 0.7rem;
  color: var(--grey);
  text-align: center;
  line-height: 1.5;
}

.book-success,
.book-error {
  padding: 1rem 1.1rem;
  border-radius: 8px;
  font-size: 0.88rem;
  line-height: 1.6;
  margin-top: 1rem;
}
.book-success { background: rgba(201,148,62,0.12); color: var(--brown); border: 1px solid rgba(201,148,62,0.3); }
.book-error   { background: rgba(180,40,40,0.08);  color: #983030;     border: 1px solid rgba(180,40,40,0.25); }

/* Tentative-date inputs for noCalendar listings (Maloka — coming soon).
   The calendar widget is replaced with two native date inputs that the
   submit handler reads instead of cal.getRange(). Both optional. */
.cal-host-tentative {
  padding: 1.25rem;
}
.book-tentative-dates {
  display: grid;
  gap: 0.5rem;
}
.book-tentative-dates input[type="date"] {
  width: 100%;
  padding: 0.6rem 0.75rem;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-family: inherit;
  font-size: 0.95rem;
  background: var(--white);
}

/* Soft conflict banner on venue-space inquiry forms (2026-06-27 audit) —
   surfaces "these dates may have a conflict, submit anyway" without
   blocking the submit. Distinct from .book-error (this isn't a failure
   state, just an FYI). */
.book-conflict-notice {
  margin-top: 0.85rem;
  margin-bottom: 0.1rem;
  padding: 0.75rem 0.95rem;
  border-radius: 8px;
  font-size: 0.82rem;
  line-height: 1.55;
  background: rgba(201,148,62,0.08);
  color: var(--brown);
  border: 1px solid rgba(201,148,62,0.22);
}

/* ── CALENDAR ─────────────────────────────────────────── */
.cal-host {
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 1rem;
  background: var(--white);
}
.cal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.85rem;
  font-size: 0.8rem;
  color: var(--dark);
}
.cal-summary { font-weight: 500; color: var(--brown); }
.cal-stay-note {
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--brown);
  background: var(--gold-glow);
  border-left: 3px solid var(--gold);
  padding: 0.7rem 0.9rem;
  border-radius: 4px;
  margin: 0 0 1.1rem;
}
.cal-stay-note strong { color: var(--dark); }
.cal-nav {
  background: transparent;
  border: 1px solid var(--border);
  width: 32px; height: 32px;
  border-radius: 50%;
  cursor: pointer;
  color: var(--dark);
  font-size: 0.95rem;
  transition: background 0.2s, border-color 0.2s;
}
.cal-nav:hover { background: var(--cream); border-color: var(--gold); }

.cal-months {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.2rem;
}
@media (max-width: 540px) { .cal-months { grid-template-columns: 1fr; } }

.cal-month-label {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.05rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.6rem;
}
.cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}
.cal-dow {
  text-align: center;
  font-size: 0.6rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--grey);
  padding: 0.3rem 0;
}
.cal-empty { aspect-ratio: 1; }
.cal-day {
  aspect-ratio: 1;
  border: none;
  background: transparent;
  font-family: 'Inter', sans-serif;
  font-size: 0.78rem;
  /* bookable nights (Thu–Sat / Thu–Sun) are gold; inquiry days are dark below */
  color: var(--gold);
  font-weight: 600;
  cursor: pointer;
  border-radius: 50%;
  transition: background 0.15s, color 0.15s;
}
.cal-day:not([aria-disabled="true"]):hover { background: var(--cream-deep); }
.cal-day.past, .cal-day.blocked {
  color: rgba(0,0,0,0.18);
  cursor: not-allowed;
  text-decoration: line-through;
}
/* fixedStay: days that aren't a valid arrival — visible but not selectable,
   and not struck through (they're closed days, not booked). */
.cal-day.off {
  color: rgba(0,0,0,0.22);
  cursor: default;
}
/* inquiryWeekdays: nights available by inquiry only (e.g. Sun–Wed on rooms).
   Shown in plain dark text (vs. gold bookable days), still clickable — a
   subtle dotted underline hints they're an "ask us" day. Clicking one flips
   the sidebar into inquire-only mode. */
.cal-day.inquiry:not(.past):not(.blocked) {
  color: var(--dark);
  font-weight: 400;
  text-decoration: underline dotted rgba(0,0,0,0.28);
  text-underline-offset: 3px;
}
.cal-day.inquiry:hover { background: var(--gold-glow); }
.cal-day.inquiry-selected {
  background: var(--gold);
  color: var(--dark);
  font-weight: 700;
  border-radius: 50%;
  text-decoration: none;
}
.cal-day.in-range { background: var(--gold-glow); border-radius: 0; }
.cal-day.check-in, .cal-day.check-out {
  background: var(--gold);
  color: var(--dark);
  font-weight: 700;
}
.cal-day.check-in { border-radius: 50% 0 0 50%; }
.cal-day.check-out { border-radius: 0 50% 50% 0; }
.cal-day.check-in.check-out { border-radius: 50%; }
