/* The body, centered shell, header, hero and cards use shared detail.css. */
.stay-back { align-self: flex-start; }
.stay-hero h1 a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.stay-intro { margin-top: 12px; }
.stay-hero-with-image { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 24px; align-items: center; }
.stay-location-visual { margin: 0; min-width: 0; }
.stay-location-image { display: block; width: 100%; height: auto; border-radius: 8px; }
.stay-search h2, .stay-notes h2 { margin: 0 0 12px; font-size: 1.05rem; font-weight: 700; color: #fff; }
.stay-small, .stay-source { font-size: .9rem; line-height: 1.6; color: #c7d6db; }
.stay-fields { display: grid; grid-template-columns: 1.7fr 1.2fr 1.2fr .65fr .65fr; gap: 12px; margin: 20px 0 16px; align-items: end; }
.stay-fields label { display: flex; flex-direction: column; gap: 8px; min-width: 0; font-weight: 600; font-size: .9rem; }
.stay-fields input, .stay-fields select { display: block; width: 100%; min-width: 0; min-height: 48px; padding: 10px; border: 1px solid #8da9ac; border-radius: 7px; background: white; color: #101b1f; font: inherit; font-weight: 400; }
.stay-fields input { color-scheme: light; }
.stay-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.stay-actions .button { min-height: 48px; }
.stay-fields :focus-visible, .stay-hero h1 a:focus-visible { outline: 2px solid var(--pao-color-standard); outline-offset: 3px; }
.stay-map { margin-top: 20px; border: 1px solid #ffffff24; border-radius: 10px; overflow: hidden; background: var(--detail-card-surface-elevated); }
.stay-map iframe { display: block; width: 100%; height: 580px; border: 0; }
#stay-error { color: #ffb4ab; font-weight: 600; margin-top: 12px; }
#stay-status { margin-top: 12px; }
#stay-status:empty { display: none; }
.stay-note-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 32px; }
.stay-note-grid article { border-top: 1px solid #ffffff24; padding-top: 16px; }
.stay-note-grid p { color: #c7d6db; }
.stay-page [hidden] { display: none !important; }
.stay-race-picker { margin-top: 20px; }
.stay-race-picker label { display: flex; flex-direction: column; gap: 8px; font-weight: 600; }
.stay-race-picker select { width: 100%; min-width: 0; min-height: 48px; padding: 10px; border: 1px solid #8da9ac; border-radius: 7px; background: white; color: #101b1f; font: inherit; }
.stay-race-picker select:focus-visible { outline: 2px solid var(--pao-color-standard); outline-offset: 3px; }
#stay-race-context { margin: 12px 0 0; color: #c7d6db; }
#stay-race-context:empty { display: none; }
.stay-group-fields { grid-template-columns: 1.2fr 1.2fr .65fr .65fr; }
.stay-races h2 { font-size: 1.05rem; }
.stay-races ul { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px 32px; }
.stay-races li { border-top: 1px solid #ffffff24; padding-top: 14px; min-width: 0; }
.stay-races li > a { font-weight: 600; }
.stay-races li p { margin: 8px 0 0; color: #c7d6db; font-size: .9rem; }
@media (max-width: 820px) { .stay-fields { grid-template-columns: repeat(4, 1fr); } .stay-category { grid-column: 1 / -1; } .stay-fields label:has(input[type=date]) { grid-column: span 2; } }
@media (max-width: 580px) {
  .stay-hero-with-image { grid-template-columns: 1fr; gap: 18px; }
  .stay-fields { grid-template-columns: 1fr 1fr; }
  .stay-fields label:has(input[type=date]) { grid-column: span 1; }
  .stay-map iframe { height: 540px; }
  .stay-note-grid { grid-template-columns: 1fr; gap: 22px; }
  .stay-races ul { grid-template-columns: 1fr; }
}

/* Stay22 switches to a map on narrow embeds: contain its minimum list width. */
.stay-hotels { overflow-x: auto; overscroll-behavior-x: contain; border-radius: 12px; }
.stay-hotels iframe { display: block; width: 100%; min-width: 420px; height: 660px; border: 0; }
.stay-parent-notes { margin-top: 2rem; }
.stay-parent-notes[hidden], .stay-location-visual[hidden] { display: none; }
/* The list belongs to the search card, without another nested card's padding. */
.stay-search #stay-hotels-section { padding: 0; border: 0; background: none; box-shadow: none; }
