/* Hotel notes and the journey gallery. Scoped to the Private Rider Pack. */
.hotel-body {
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
}
.hotel-note { min-width:0; border-right:1px solid var(--line); }
.hotel-note:nth-child(2) { border-right:0; }
.hotel-note summary {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  min-height:68px; padding:20px 26px; cursor:pointer; list-style:none;
  color:var(--gold); -webkit-tap-highlight-color:transparent;
}
.hotel-note summary::-webkit-details-marker { display:none; }
.hotel-note summary h4 { margin:0; font-size:25px; line-height:1.2; }
.hotel-note summary::after {
  content:'+'; flex:0 0 24px; text-align:center;
  font:400 25px/1 Arial,sans-serif; color:var(--gold);
}
.hotel-note[open] summary::after { content:'−'; }
.hotel-note summary:focus-visible,
.journey-controls button:focus-visible,
.journey-rail:focus-visible { outline:2px solid var(--gold); outline-offset:-4px; }
.hotel-note summary:hover { background:rgba(216,180,106,.045); }
.hotel-note-content { padding:0 26px 22px; }
.hotel-note-content p { margin:0 0 14px; font-size:17px; line-height:1.55; }
.hotel-note-content :is(.ticks,.notes) {
  display:grid; gap:9px; padding-left:19px; margin:0;
  font-size:17px; line-height:1.5;
}
.hotel-body>.hotel-notes-map {
  grid-column:1/-1; padding:2px 26px 20px; border:0;
}
.hotel-notes-map .hotel-map-link { margin-top:0; font-size:13px; line-height:1.5; }

.journey-controls {
  display:flex; align-items:center; justify-content:flex-end; gap:8px;
  margin:0 2px 14px; color:var(--gold);
}
.journey-controls[hidden] { display:none; }
.journey-controls button {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-width:44px; min-height:44px; padding:10px 13px;
  border:1px solid rgba(216,180,106,.32); border-radius:999px;
  background:rgba(255,255,255,.035); color:#e8cf97;
  font:600 13px/1.1 Arial,sans-serif; cursor:pointer;
}
.journey-controls button:hover { background:rgba(216,180,106,.12); border-color:#d8b46a; }
.journey-controls [data-gallery-toggle] { min-width:100px; }
.journey-controls [data-gallery-direction] { font-size:21px; font-weight:400; }
.journey-position { min-width:55px; margin-right:7px; font:500 12px/1.2 Arial,sans-serif; letter-spacing:.08em; color:#d1c2a1; }
.journey-gallery.is-enhanced .journey-rail {
  position:relative; scroll-snap-type:none; scroll-behavior:auto;
  scrollbar-width:none; padding-bottom:4px; overflow-x:auto;
}
.journey-gallery.is-enhanced .journey-rail::-webkit-scrollbar { display:none; }
.journey-slide { min-width:0; }
.journey-slide[data-gallery-clone] { pointer-events:none; }

@media(max-width:900px) {
  .hotel-body { grid-template-columns:minmax(0,1fr); }
  .hotel-note, .hotel-note:nth-child(2) { border-right:0; border-bottom:1px solid var(--line); }
  .hotel-note summary { min-height:58px; padding:16px 20px; gap:12px; }
  .hotel-note summary h4 { font-size:23px; }
  .hotel-body .hotel-note h4::before { width:16px; margin-right:8px; }
  .hotel-note-content { padding:0 20px 20px; }
  .hotel-note-content p, .hotel-note-content :is(.ticks,.notes) { font-size:17px; }
  .hotel-body>.hotel-notes-map { padding:13px 20px 16px; }
  .journey-controls { margin-bottom:12px; }
}
@media(max-width:380px) {
  .hotel-note summary h4 { font-size:21px; }
  .hotel-body .hotel-note h4::before { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .journey-gallery .journey-rail { scroll-behavior:auto; }
}
@media print {
  .journey-controls, .journey-slide[data-gallery-clone] { display:none!important; }
  .hotel-note summary::after { display:none; }
  .hotel-note summary { padding-bottom:10px; }
}
