/* ESV 6.4 – first-visit disclosure. Isolated from heroes, fees, forms and campaign.
   Loaded after the existing theme/mobile layers, with a content-based version. */
.esv-first-visit,
.esv-first-visit *,
.esv-first-visit *::before,
.esv-first-visit *::after { box-sizing: border-box; }
.esv-first-visit {
  --esv-visit-ink: var(--esv-color-text,#153e2b);
  --esv-visit-muted: var(--esv-color-muted,#495e53);
  --esv-visit-edge: var(--esv-color-border,#cbded2);
  width: 100%; max-width: 100%; min-width: 0;
  margin: 16px 0 0;
  border: 1px solid var(--esv-visit-edge);
  border-radius: 12px;
  background: var(--esv-color-surface-2,#f4f9f6);
  color: var(--esv-visit-ink);
  text-align: left;
  overflow: visible;
}
.esv-trial-team-card > .esv-first-visit { grid-column: 1 / -1; grid-row: 2; margin: 0; }
@media(min-width:901px) {
  .esv-trial-team-card:has(> .esv-first-visit) > .esv-trial-team-main { grid-row: 1; grid-column: 1; }
  .esv-trial-team-card:has(> .esv-first-visit) > .esv-trial-team-cta { grid-row: 1; grid-column: 2; align-self: start; }
}
.esv-trial-quick-item > .esv-first-visit { margin-top: 8px; }
.esv-first-visit > summary {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  min-height: 48px;
  gap: 10px !important;
  width: 100%; margin: 0 !important;
  padding: 10px 14px !important;
  border: 0 !important; border-radius: 11px;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--esv-visit-ink) !important;
  font: inherit;
  list-style: none !important;
  cursor: pointer;
}
.esv-first-visit > summary::marker { content: '' !important; }
.esv-first-visit > summary::-webkit-details-marker { display: none !important; }
/* Ancestor sport accordions must not add their +/− to this disclosure. */
.esv-first-visit > summary::before,
.esv-first-visit > summary::after { content: none !important; display: none !important; }
.esv-first-visit > summary:hover { background: var(--esv-color-surface-2,#e9f3ed) !important; }
.esv-first-visit > summary:focus-visible,
.esv-first-visit a:focus-visible { outline: 3px solid var(--esv-color-focus,#007a38); outline-offset: 3px; }
.esv-first-visit[open] > summary { border-radius: 11px 11px 0 0; border-bottom: 1px solid var(--esv-visit-edge) !important; }
.esv-first-visit__pin, .esv-first-visit__chevron { display: block; width: 20px; height: 20px; flex: 0 0 20px; color: var(--esv-color-link,#087e3e); }
.esv-first-visit__chevron { margin-left: auto; }
.esv-first-visit[open] > summary > .esv-first-visit__chevron { transform: rotate(180deg); }
.esv-first-visit .esv-first-visit__summary { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 12px; min-width: 0; }
.esv-first-visit .esv-first-visit__summary > strong { font-size: .95rem !important; line-height: 1.35 !important; font-weight: 800; color: var(--esv-visit-ink); }
.esv-first-visit .esv-first-visit__summary > span { font-size: .82rem !important; line-height: 1.4 !important; font-weight: 450; color: var(--esv-visit-muted); }
.esv-first-visit__body { padding: 16px; min-width: 0; }
/* Keep native details behavior even if another layout rule addresses children. */
.esv-first-visit:not([open]) > .esv-first-visit__body { display: none !important; }
.esv-first-visit .esv-first-visit__places { display: grid; grid-template-columns: 1fr; gap: 14px; min-width: 0; }
.esv-first-visit .esv-first-visit__place { min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
.esv-first-visit .esv-first-visit__place + .esv-first-visit__place { border-top: 1px solid var(--esv-visit-edge); padding-top: 14px; }
.esv-first-visit .esv-first-visit__days { font-size: .82rem !important; font-weight: 800; line-height: 1.4; color: var(--esv-color-link,#006b30); margin: 0 0 4px !important; }
.esv-first-visit .esv-first-visit__place-name { font-weight: 800; font-size: 1rem !important; line-height: 1.4 !important; color: var(--esv-visit-ink); margin: 0 0 8px !important; }
.esv-first-visit .esv-first-visit__facts { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 0 !important; }
.esv-first-visit .esv-first-visit__facts > div { display: grid; grid-template-columns: 1fr; gap: 3px; min-width: 0; }
.esv-first-visit .esv-first-visit__facts dt { color: var(--esv-color-muted,#346147); font-size: .78rem; line-height: 1.4; font-weight: 800; margin: 0; }
.esv-first-visit .esv-first-visit__facts dd { color: var(--esv-color-text,#1f3328); font-size: .93rem; line-height: 1.5; font-weight: 400; margin: 0; padding: 0; }
.esv-first-visit .esv-first-visit__extra { margin-top: 16px !important; padding-top: 14px; border-top: 1px solid var(--esv-visit-edge); }
.esv-first-visit .esv-first-visit__route {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; max-width: 100%; width: auto; padding: 10px 14px;
  margin: 12px 0 0;
  border: 1px solid var(--esv-color-link,#007a38); border-radius: 10px;
  background: var(--esv-color-primary,#007a38); color: var(--esv-color-on-primary,#fff) !important; text-decoration: none !important;
  font-size: .87rem; font-weight: 800; line-height: 1.35;
  white-space: normal; text-align: center;
}
.esv-first-visit .esv-first-visit__route:hover { background: var(--esv-color-primary-hover,#005e2b); }
.esv-first-visit .esv-first-visit__contacts { margin-top: 16px; border-top: 1px solid var(--esv-visit-edge); padding-top: 14px; }
.esv-first-visit .esv-first-visit__label { margin: 0 0 6px !important; font-size: .79rem !important; line-height: 1.35; color: var(--esv-color-muted,#346147); font-weight: 800; }
.esv-first-visit .esv-first-visit__person { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 14px; margin-top: 6px; }
.esv-first-visit .esv-first-visit__person > div:first-child { min-width: 0; flex: 1 1 150px; display: grid; gap: 3px; }
.esv-first-visit .esv-first-visit__person strong { font-size: .95rem !important; line-height: 1.4; }
.esv-first-visit .esv-first-visit__person span { font-size: .83rem !important; line-height: 1.4; color: var(--esv-visit-muted); }
.esv-first-visit .esv-first-visit__contact-links { display: flex; flex-wrap: wrap; gap: 8px; }
.esv-first-visit .esv-first-visit__contact-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; border: 1px solid var(--esv-color-border,#aac9b6); border-radius: 8px; color: var(--esv-color-link,#075b2c) !important; font-size: .84rem; font-weight: 750; background: var(--esv-color-surface,#fff); text-decoration: none !important; }
.esv-first-visit .esv-first-visit__pending, .esv-first-visit .esv-first-visit__welcome { margin: 9px 0 0 !important; font-size: .88rem !important; line-height: 1.5 !important; color: var(--esv-visit-muted); }
.esv-first-visit .esv-first-visit__question { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; max-width: 100%; padding: 10px 0; margin: 4px 0 0; color: var(--esv-color-link,#05642d) !important; text-decoration: underline; text-underline-offset: 3px; font-size: .86rem; line-height: 1.4; font-weight: 650; }
.esv-first-visit .esv-first-visit__external { margin: 2px 0 0 !important; color: var(--esv-visit-muted); font-size: .77rem !important; line-height: 1.45 !important; }
.esv-first-visit :is(p, dt, dd, a, span, strong) { overflow-wrap: anywhere; min-width: 0; }
.esv-first-visit .esv-visit-sr { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%); white-space: nowrap !important; padding: 0 !important; margin: -1px !important; border: 0 !important; }
@media(max-width:620px) {
  .esv-first-visit { margin-top: 12px; }
  .esv-first-visit > summary { padding: 10px 12px !important; gap: 8px !important; }
  .esv-first-visit .esv-first-visit__summary { display: grid; gap: 2px; }
  .esv-first-visit__body { padding: 12px; }
  .esv-first-visit .esv-first-visit__route { width: 100%; }
  .esv-first-visit .esv-first-visit__facts dd { font-size: .94rem; }
}
@media(min-width:901px) {
  .esv-first-visit .esv-first-visit__places { grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr)); gap: 22px; }
  .esv-first-visit .esv-first-visit__place + .esv-first-visit__place { border-top: 0; padding-top: 0; }
  .esv-first-visit .esv-first-visit__extra { grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr)); gap: 18px; }
}
@media print {
  .esv-first-visit > summary { color: var(--esv-color-text,#000) !important; background: var(--esv-color-surface,#fff) !important; }
  .esv-first-visit:not([open]) > .esv-first-visit__body { display: block !important; }
}
