/* Scoped to the tour page and its shared modal; uses the existing MAC palette. */
.mac-tour-page {
  --tour-cream: var(--mac-cream, #f7f5ef);
  --tour-ink: var(--mac-dark, #252820);
  --tour-olive: var(--mac-primary, #6c7954);
  max-width: 1000px;
  padding: clamp(1.5rem, 4vw, 3.5rem);
  color: var(--tour-ink);
  font: 18px/1.7 Arial, Helvetica, sans-serif;
}
.mac-tour-page h1, .mac-tour-page h2, .mac-tour-page .tour-person-title {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  color: var(--tour-ink);
}
.mac-tour-page h1 { font-size: clamp(2.2rem, 4.5vw, 3.5rem); line-height: 1.12; margin: 0 0 1.25rem; }
.mac-tour-page h2 { font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.2; margin-top: 2rem; }
.mac-tour-page .eyebrow { color: var(--tour-olive); font-size: .9rem; letter-spacing: .13em; margin-bottom: 1rem; }
.mac-tour-page .form-label { font-size: 1.1rem; font-weight: 600; margin-bottom: .5rem; }
.mac-tour-page .form-control, .mac-tour-page .form-select {
  min-height: 54px; padding: .8rem 1rem; font: inherit; line-height: 1.4;
  border: 1px solid #9a9d91; border-radius: 0; background-color: #fff; color: var(--tour-ink);
}
.mac-tour-page .form-select { padding-right: 2.5rem; }
.mac-tour-page .form-control:focus, .mac-tour-page .form-select:focus {
  border-color: var(--tour-olive); box-shadow: 0 0 0 3px rgba(108,121,84,.2);
}
.mac-tour-page .form-text, .mac-tour-page .small { font-size: 1rem; color: #555b4e; }
.mac-tour-page .tour-person { min-width: 0; padding: clamp(1rem, 3vw, 1.75rem); margin: 1.5rem 0; border: 1px solid #d5d5c9; background: var(--tour-cream); }
.mac-tour-page .tour-person-title { float: none; width: auto; padding: 0 .5rem; margin: 0; font-size: 1.65rem; }
.mac-tour-page .tour-required { margin: 1.75rem 0; padding: 1rem 1.25rem; border-left: 4px solid var(--tour-olive); background: var(--tour-cream); color: var(--tour-ink); }
.mac-tour-page .tour-notice { padding: clamp(1.25rem, 3vw, 2rem); margin: 2rem 0; background: var(--tour-cream); border-top: 4px solid var(--tour-olive); }
.mac-tour-page .tour-notice h2 { margin-top: 0; }
.mac-tour-page .tour-contact { margin-bottom: 0; overflow-wrap: anywhere; }
.mac-tour-page a { text-underline-offset: .2em; }
.mac-tour-page .btn { font-size: 1.05rem; border-radius: 0; padding: .85rem 1.25rem; }
.mac-tour-page [data-remove] { font-size: 1rem; padding: .5rem .8rem; }
.mac-tour-page [type=submit] { padding: 1rem 2rem; font-size: 1.15rem; }
#mac-tour-modal .modal-dialog { width: calc(100% - 2rem); max-width: 1080px; }
#mac-tour-modal .modal-content { border: 0; border-radius: 0; overflow: hidden; }
#mac-tour-modal .modal-header { padding: 1.15rem 1.75rem; background: var(--mac-cream, #f7f5ef); border-bottom: 1px solid #d5d5c9; }
#mac-tour-modal .modal-title { font: 400 1.65rem/1.2 Georgia, serif; color: var(--mac-dark, #252820); }
#mac-tour-modal .btn-close { padding: .8rem; }
#mac-tour-modal iframe { display: block; width: 100%; height: 78vh; height: 78dvh; border: 0; background: #fff; }
@media(max-width:575.98px) {
  #mac-tour-modal .modal-dialog { width: 100%; max-width: none; margin: 0; }
  #mac-tour-modal .modal-content { height: 100dvh; }
  #mac-tour-modal .modal-body { flex: 1; min-height: 0; }
  #mac-tour-modal iframe { height: 100%; }
  .mac-tour-page { padding: 1.5rem 1rem; }
}

/* Embedded content fills the iframe; only standalone pages have a reading-width cap. */
.mac-tour-page { width: 100%; box-sizing: border-box; margin-inline: auto; }
.mac-tour-page.mac-tour-embedded { max-width: none; margin: 0; padding: clamp(1.25rem, 3vw, 2.5rem); }

/* Keep all levels of the embedded layout stretched, including in flex layouts. */
#mac-tour-modal .modal-body { display: block; width: 100%; max-width: none; }
#mac-tour-modal iframe { width: 100% !important; max-width: none !important; min-width: 100%; align-self: stretch; box-sizing: border-box; }
#main-content.mac-tour-embedded { display: block; width: 100%; max-width: none; box-sizing: border-box; }
#main-content.mac-tour-embedded > .tour-notice { display: block; width: 100%; max-width: none; box-sizing: border-box; }
/* Bootstrap's focus-visible state uses these variables when focus returns. */
.btn.btn-mac {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--mac-primary, #6c7954);
  --bs-btn-border-color: var(--mac-primary, #6c7954);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--mac-dark, #252820);
  --bs-btn-hover-border-color: var(--mac-dark, #252820);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--mac-dark, #252820);
  --bs-btn-active-border-color: var(--mac-dark, #252820);
}
.btn.btn-mac:focus, .btn.btn-mac:focus-visible {
  color: #fff; background-color: var(--mac-primary, #6c7954);
  border-color: var(--mac-primary, #6c7954);
}
.btn.btn-mac:focus-visible { outline: 3px solid var(--mac-dark, #252820); outline-offset: 3px; box-shadow: none; }
