/* Shared resort cards and photo/map column for both multi-resort areas. */
:is(.v2-yuzawa-preview, .v2-mno-preview) .yuzawa-resort-card__summary {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem; padding: 1.2rem; min-height: 0; cursor: auto; align-items: start;
}
.yuzawa-resort-card__media-column { display: grid; min-width: 0; gap: .75rem; align-content: start; }
.yuzawa-resort-card__intro { margin: .75rem 0 0; color: #506b84; font-size: .85rem; line-height: 1.65; }
.v2-resort-guide-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .85rem; }
.v2-resort-guide-note { margin: .4rem 0 0; color: #63798a; font-size: .75rem; line-height: 1.5; }
:is(.v2-yuzawa-preview, .v2-mno-preview) .yuzawa-resort-card__media {
  width: 100%; height: auto; min-height: 0; max-height: none; aspect-ratio: 4 / 3;
  margin: 0; border-radius: .85rem; overflow: hidden;
}
:is(.v2-yuzawa-preview, .v2-mno-preview) .yuzawa-resort-card__media :is(img, .v2-snow-media-placeholder) {
  width: 100%; height: 100%; min-height: 0; object-fit: cover;
}
.yuzawa-resort-card__details > .yuzawa-resort-card__toggle {
  display: block; margin: 0; padding: .85rem 1.2rem; cursor: pointer;
  background: #fff4cc; color: #294d66; list-style: none; font-weight: 700;
}
.yuzawa-resort-card__toggle::-webkit-details-marker { display: none; }
.yuzawa-resort-card__details[open] > .yuzawa-resort-card__toggle::after { content: ' －'; }
.yuzawa-resort-card__toggle:focus-visible, .resort-index button:focus-visible { outline: 3px solid #1769a4; outline-offset: -3px; }
.resort-index { min-width: 0; overflow: hidden; border: 1px solid #d0e2ed; border-radius: .75rem; background: #f1f7fb; }
.resort-index__heading { margin: 0; padding: .45rem .6rem; color: #274c68; background: #eaf4fa; font-size: .8rem; line-height: 1.5; }
.resort-index__stage { position: relative; width: 100%; max-width: 100%; min-width: 0; aspect-ratio: 4 / 3; min-height: 165px; }
.resort-index .resort-index__canvas { position: absolute; inset: 0; width: 100%; min-width: 0; min-inline-size: 0; }
.resort-index__status { position: absolute; inset: 0; display: grid; place-content: center; margin: 0; padding: .75rem; color: #3e6077; font-size: .8rem; text-align: center; background: #edf5fae8; pointer-events: none; }
.resort-index__status[hidden], .resort-index__retry[hidden] { display: none; }
.resort-index__retry { position: absolute; left: 50%; bottom: .7rem; transform: translateX(-50%); min-height: 44px; padding: .4rem .6rem; white-space: nowrap; border: 1px solid #a6c9df; border-radius: .45rem; color: #194d74; background: #fff; cursor: pointer; }
.resort-index__note { margin: 0; padding: .45rem .6rem; color: #63798a; font-size: .65rem; line-height: 1.5; }
.resort-index .maplibregl-ctrl-attrib { font-size: 9px; }
.resort-index .maplibregl-ctrl-group button { width: 32px; height: 32px; }
/* The same four-part card layout is used in both resort guides. */
.yuzawa-resort-card__overview { display: grid; gap: .85rem; padding: 0 1.2rem 1.2rem; }
.yuzawa-resort-card__maps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; align-items: start; min-width: 0; }
.yuzawa-resort-card__overview > :is(.yuzawa-tag-list, .yuzawa-rating-grid, .yuzawa-resort-actions) { margin-top: 0; }
.yuzawa-resort-card__overview > :empty { display: none; }
.resort-trail-preview { min-width: 0; margin: 0; overflow: hidden; border: 1px solid #d0e2ed; border-radius: .75rem; background: #f1f7fb; }
.resort-trail-preview__stage { position: relative; width: 100%; aspect-ratio: 4 / 3; min-height: 165px; background: #fff; }
.resort-trail-preview__image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; background: #fff; }
.resort-trail-preview__status { display: grid; place-content: center; position: absolute; inset: 0; margin: 0; padding: 1rem; color: #49687e; font-size: .8rem; line-height: 1.7; text-align: center; }
.resort-trail-preview__status[hidden] { display: none; }
.yuzawa-resort-card__primary-actions { align-items: stretch; }
.yuzawa-resort-card__primary-actions > :is(a, span) { flex: 1 1 auto; justify-content: center; min-height: 44px; }
.yuzawa-resort-card__primary-actions > [aria-disabled="true"] { display: inline-flex; align-items: center; padding: .55rem .65rem; color: #536b7c; border: 1px solid #d6e0e6; border-radius: .5rem; background: #eef2f5; font-size: 14px; font-weight: 700; }
@media (max-width: 47.5rem) {
  :is(.v2-yuzawa-preview, .v2-mno-preview) .yuzawa-resort-card__summary { padding: 1.1rem; }
  .resort-index__stage { aspect-ratio: 16 / 10; }
  .resort-index .maplibregl-ctrl-group button { width: 44px; height: 44px; }
  .yuzawa-resort-card__overview { padding: 0 1.1rem 1.1rem; }
  .resort-trail-preview__stage { aspect-ratio: 16 / 10; }
}
@media (max-width: 37.5rem) {
  :is(.v2-yuzawa-preview, .v2-mno-preview) .yuzawa-resort-card__summary { grid-template-columns: minmax(0, 1fr); }
  .yuzawa-resort-card__maps { grid-template-columns: minmax(0, 1fr); }
  .yuzawa-resort-card__primary-actions > :is(a, span) { flex: 1 1 8rem; }
}
