/* 4029 Rainier — Book a Tour widget. Uses the site theme variables. */
.r4tour-launch {
  position: fixed; right: 20px; bottom: 90px; z-index: 9997;
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
  padding: 11px 16px; border: 0; border-radius: 999px;
  background: var(--gold, #c8a45e); color: #2b2b28; font: 700 14px/1 inherit;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .26);
  transition: transform .15s ease, filter .15s ease;
}
.r4tour-launch:hover { filter: brightness(1.05); transform: translateY(-2px); }
.r4tour-launch svg { display: block; }

/* Top-nav "Book a Tour" — a sub-menu item UNDER Contact: a hover dropdown on desktop and an
   indented sub-item in the stacked mobile menu, echoing beta.leerealtyllc.net. */
.nav-dd { position: relative; }
.nav-dd > a { white-space: nowrap; }              /* keep "Contact ▾" on one row */
.nav-dd-caret { font-size: 9px; opacity: .75; }
.nav-dd-menu {
  position: absolute; top: 100%; left: 0; min-width: 178px; z-index: 1000;
  background: var(--green-dark, #1f3f27); border-radius: 0 0 10px 10px;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .28); padding: 6px 0; display: none;
}
.nav-dd:hover .nav-dd-menu, .nav-dd:focus-within .nav-dd-menu { display: block; }
.nav-dd-menu a { display: block; position: relative; padding: 10px 18px 10px 28px; font-size: 14px; white-space: nowrap; }
/* Gold "›" chevron prefix — same sub-item style as beta.leerealtyllc.net. */
.nav-dd-menu a::before { content: "\203A"; position: absolute; left: 13px; color: var(--gold, #c8a45e); font-weight: 700; }
.nav-dd-menu a:hover { background: rgba(255, 255, 255, .07); }
@media (max-width: 860px) {
  /* Stacked mobile menu: show the sub-item indented under Contact (no hover dropdown). */
  .nav-dd-menu { position: static; display: block; background: transparent; box-shadow: none; padding: 0; min-width: 0; margin-top: 12px; }
  .nav-dd-menu a { padding: 0 0 0 22px; }
  .nav-dd-menu a::before { left: 4px; }
  .nav-dd-caret { display: none; }
}

html.r4tour-lock { overflow: hidden; }

.r4tour-modal {
  position: fixed; inset: 0; z-index: 10000;
  background: rgba(0, 0, 0, .55); display: flex; align-items: center; justify-content: center;
  padding: 20px;
}
/* display:flex above otherwise overrides the [hidden] attribute, leaving the modal open on load. */
.r4tour-modal[hidden] { display: none; }
.r4tour-box {
  width: 460px; max-width: 100%; max-height: 92vh; overflow: hidden;
  background: #fff; border-radius: 16px; display: flex; flex-direction: column;
  box-shadow: 0 16px 50px rgba(0, 0, 0, .35); font-family: inherit;
}
.r4tour-head {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 15px 18px; background: var(--green, #2f5d3a); color: #fff;
}
.r4tour-title { font-weight: 700; font-size: 16px; }
.r4tour-type { font-size: 12.5px; opacity: .9; margin-top: 2px; }
.r4tour-close { background: transparent; border: 0; color: #fff; font-size: 26px; line-height: 1; cursor: pointer; padding: 0 4px; }

.r4tour-body { padding: 16px 18px; overflow-y: auto; }
.r4tour-label { font-weight: 700; font-size: 13px; color: var(--green, #2f5d3a); margin: 4px 0 8px; }
.r4tour-step { margin-bottom: 16px; }
.r4tour-muted { color: #777; font-size: 13px; margin: 6px 0; }
.r4tour-tznote { color: #888; font-size: 12px; font-style: italic; margin: 8px 0 0; }
.r4tour-footnote { color: #777; font-size: 12.5px; line-height: 1.45; margin: 14px 0 2px; padding-top: 12px; border-top: 1px solid #eee; }

/* calendar */
.r4tour-calhead { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.r4tour-month { font-weight: 700; font-size: 14px; color: #2b2b28; }
.r4tour-nav { width: 32px; height: 32px; border: 1px solid #ddd; background: #fff; border-radius: 8px; cursor: pointer; font-size: 18px; line-height: 1; color: var(--green, #2f5d3a); }
.r4tour-nav:disabled { opacity: .3; cursor: default; }
.r4tour-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.r4tour-dow { text-align: center; font-size: 11px; color: #999; padding: 4px 0; font-weight: 600; }
.r4tour-day {
  aspect-ratio: 1 / 1; border: 1px solid transparent; border-radius: 8px; background: #f1efe8;
  color: #2b2b28; cursor: pointer; font-size: 13px;
}
.r4tour-day:hover { border-color: var(--green, #2f5d3a); }
.r4tour-off { background: transparent; color: #ccc; cursor: default; }
/* office closure / holiday — greyed like an off day but struck through so it reads as "closed" */
.r4tour-closed { color: #c96; text-decoration: line-through; cursor: not-allowed; }
.r4tour-day.r4tour-sel { background: var(--green, #2f5d3a); color: #fff; font-weight: 700; }

/* slots */
.r4tour-slotgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.r4tour-slot { padding: 9px 6px; border: 1px solid var(--green, #2f5d3a); background: #fff; color: var(--green, #2f5d3a); border-radius: 8px; cursor: pointer; font-size: 13px; font-weight: 600; }
.r4tour-slot:hover { background: #eef4ef; }
.r4tour-slot.r4tour-sel { background: var(--green, #2f5d3a); color: #fff; }
.r4tour-slot:disabled { border-color: #e3e0d6; color: #c4c0b4; background: #faf9f5; cursor: default; text-decoration: line-through; }

/* form */
.r4tour-form label { display: block; font-size: 12.5px; color: #555; font-weight: 600; margin-bottom: 10px; }
.r4tour-form input, .r4tour-form select {
  display: block; width: 100%; margin-top: 4px; padding: 9px 11px; font-size: 14px; font-family: inherit;
  border: 1px solid #ccc; border-radius: 8px; outline: none; box-sizing: border-box; background: #fff; font-weight: 400; color: #222;
}
.r4tour-form input:focus, .r4tour-form select:focus { border-color: var(--green, #2f5d3a); }
.r4tour-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.r4tour-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; }
.r4tour-err { background: #fdecea; color: #b3413a; border: 1px solid #f5c6c2; border-radius: 8px; padding: 9px 12px; font-size: 13px; margin-bottom: 10px; }
.r4tour-submit {
  width: 100%; padding: 12px; border: 0; border-radius: 8px; cursor: pointer;
  background: var(--green, #2f5d3a); color: #fff; font: 700 15px/1 inherit; margin-top: 2px;
}
.r4tour-submit:hover { background: var(--green-dark, #1f3f27); }
.r4tour-submit:disabled { opacity: .6; cursor: default; }

/* confirmation */
.r4tour-done { padding: 32px 24px; text-align: center; }
.r4tour-check { width: 56px; height: 56px; margin: 0 auto 12px; border-radius: 50%; background: var(--green, #2f5d3a); color: #fff; font-size: 30px; line-height: 56px; }
.r4tour-done h3 { margin: 0 0 6px; color: var(--green, #2f5d3a); font-size: 20px; }
.r4tour-done p { margin: 4px 0; font-size: 14px; color: #333; }
.r4tour-done .r4tour-submit { max-width: 200px; margin: 16px auto 0; }

@media (max-width: 480px) {
  .r4tour-modal { padding: 0; }
  .r4tour-box { width: 100%; height: 100dvh; max-height: 100dvh; border-radius: 0; }
  .r4tour-launch { right: 16px; bottom: 84px; }
  .r4tour-row2 { grid-template-columns: 1fr; }
}

/* Inline mount (the standalone /tour page) — the box renders as an in-page card, no overlay. */
.r4tour-inlinewrap { display: flex; justify-content: center; }
.r4tour-inlinewrap .r4tour-box { width: 500px; max-width: 100%; max-height: none;
  box-shadow: 0 8px 30px rgba(0, 0, 0, .10); border: 1px solid #e6e9f2; }
.r4tour-inlinewrap .r4tour-body { overflow: visible; }
.r4tour-inlinewrap .r4tour-close { display: none; }
@media (max-width: 480px) {
  .r4tour-inlinewrap .r4tour-box { width: 100%; height: auto; max-height: none; border-radius: 16px; }
}
