:root {
  --museum-blue: #294f68;
  --museum-blue-dark: #18384c;
  --museum-bronze: #9b633d;
  --museum-jade: #55766a;
  --museum-sand: #c8a873;
}

.sunday-page { background: #f4f6f7; }
.sunday-page .brand-mark,
.sunday-page .topbar-date span,
.sunday-page .page-link,
.sunday-page .section-nav a:hover,
.sunday-page .section-nav a.active { background: var(--museum-blue); }
.sunday-page .page-link:hover { background: var(--museum-blue-dark); }
.sunday-page .eyebrow,
.sunday-page .section-number,
.sunday-page .hero h1 span,
.sunday-page .map-focus,
.sunday-page .mobile-nav span { color: var(--museum-blue); }
.sunday-page .hero::before { content: "国博"; color: rgba(41,79,104,.05); }
.sunday-page .hero-photo::before { border-color: rgba(41,79,104,.4); }
.sunday-page .hero-photo figcaption span { color: var(--museum-blue); }
.sunday-page .hero-facts strong { color: var(--museum-blue-dark); }
.sunday-page .museum-alert { border-color: #b9cbd5; background: #f3f8fa; }
.sunday-page .museum-alert .alert-icon { background: var(--museum-blue); font-family: "Songti SC", serif; }
.sunday-page .museum-alert p { color: #516a77; }

.museum-block > div { color: #fff; border-color: var(--museum-blue) !important; background: var(--museum-blue) !important; }
.museum-block p, .museum-block .duration { color: rgba(255,255,255,.86) !important; }
.museum-block .duration { background: rgba(255,255,255,.13) !important; }

.sunday-page .metro-line { background: repeating-linear-gradient(90deg, #7654a5 0 6px, transparent 6px 10px); }
.sunday-page .walk-line { background: repeating-linear-gradient(90deg, var(--museum-sand) 0 3px, transparent 3px 7px); }
.museum-line { background: var(--museum-blue); }
.sunday-page .map-key .wc-dot { background: #1683a0; }
.sunday-page .route-switch.active { color: #fff; border-color: var(--museum-blue); background: var(--museum-blue); }
.sunday-switches { grid-template-columns: repeat(4, 1fr); }
.sunday-page .route-pin { background: var(--museum-blue); }
.sunday-page .route-pin.transport { background: #7654a5; }
.sunday-page .hotel-pin { background: var(--museum-blue-dark); }
.sunday-page .wc-pin { background: #1683a0; }

.museum-route { padding-top: 96px; }
.indoor-card {
  overflow: hidden; border: 1px solid #cfd9de; border-radius: 24px; background: #fff; box-shadow: var(--shadow);
}
.indoor-head {
  padding: 20px 24px; display: flex; align-items: center; justify-content: space-between;
  color: #fff; background: var(--museum-blue-dark);
}
.indoor-head > div:first-child { display: flex; flex-direction: column; }
.indoor-head strong { font: 700 20px/1.3 Georgia, "Songti SC", serif; }
.indoor-head span { margin-top: 4px; color: rgba(255,255,255,.65); font-size: 12px; }
.indoor-north { width: 70px; display: grid; grid-template-columns: auto auto; align-items: center; justify-content: end; gap: 5px; }
.indoor-north b { font-size: 13px; }
.indoor-north > span { margin: 0; color: #fff; font-size: 24px; }
.indoor-north small { grid-column: 1 / -1; color: rgba(255,255,255,.65); font-size: 9px; text-align: right; }
.indoor-track {
  position: relative; padding: 40px 28px 30px; display: grid; grid-template-columns: repeat(9, minmax(92px, 1fr)); gap: 12px;
  overflow-x: auto; overscroll-behavior-inline: contain;
}
.indoor-track::before { content: ""; position: absolute; left: 70px; right: 70px; top: 61px; height: 3px; background: #d9e0e3; }
.indoor-track button {
  position: relative; min-width: 92px; padding: 0 7px 12px; display: flex; flex-direction: column; align-items: center;
  border: 0; border-radius: 12px; color: var(--ink); background: transparent; cursor: pointer;
}
.indoor-track button:hover, .indoor-track button.active { background: #eef4f6; }
.indoor-track i {
  position: relative; z-index: 1; width: 44px; height: 44px; margin-bottom: 10px; display: grid; place-items: center;
  border: 4px solid #fff; border-radius: 50%; color: #fff; background: var(--museum-blue); box-shadow: 0 3px 12px rgba(41,79,104,.23); font-style: normal; font-weight: 800;
}
.indoor-track .rest-node i { color: #5d431c; background: #e5c88f; }
.indoor-track b { font-size: 13px; }
.indoor-track small { color: var(--muted); font-size: 11px; }
.indoor-note { min-height: 74px; padding: 15px 22px; display: flex; align-items: baseline; gap: 12px; border-top: 1px solid #e4e9eb; background: #f7f9fa; }
.indoor-note strong { color: var(--museum-blue-dark); white-space: nowrap; }
.indoor-note span { color: var(--muted); font-size: 13px; }
.museum-rules { margin-top: 14px; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.museum-rules article { padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.8); }
.museum-rules b { color: var(--museum-blue-dark); }
.museum-rules p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }

.museum-axis i { background: linear-gradient(var(--museum-blue), var(--museum-bronze)); }
.sunday-page .stop-number { background: var(--museum-blue); }
.sunday-page .stop-card.open { border-color: rgba(41,79,104,.42); }
.sunday-page .stop-actions button { color: var(--museum-blue); border-color: var(--museum-blue); }
.sunday-page .elder-tip strong { color: var(--museum-blue-dark); }
.sunday-page .care-grid article > span { background: var(--museum-blue); }

.artifact-gallery { min-height: 320px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: #e8e2d8; }
.artifact-gallery figure { position: relative; min-height: 200px; margin: 0; overflow: hidden; }
.artifact-gallery figure:first-child:last-child { grid-column: 1 / -1; }
.artifact-gallery img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; }
.artifact-gallery figcaption {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 12px 9px; color: #fff;
  background: linear-gradient(transparent, rgba(0,0,0,.78)); font-size: 11px;
}
.sunday-page .stop-card.open .stop-detail { grid-template-columns: minmax(300px, .92fr) 1.08fr; }

@media (max-width: 900px) {
  .sunday-page .stop-card.open .stop-detail { grid-template-columns: 1fr; }
  .museum-rules { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .sunday-page .print-button { display: none; }
  .sunday-page .hero::before { content: "国博"; }
  .sunday-switches { grid-template-columns: 1fr 1fr; }
  .museum-route { padding-top: 70px; }
  .indoor-head { padding: 15px; }
  .indoor-head strong { font-size: 16px; }
  .indoor-track { padding-inline: 16px; }
  .indoor-note { display: block; }
  .indoor-note span { display: block; margin-top: 3px; }
  .artifact-gallery { min-height: 220px; }
  .artifact-gallery img { min-height: 220px; }
}

@media print {
  .indoor-card, .museum-rules { break-inside: avoid; }
  .indoor-track { grid-template-columns: repeat(9, 1fr); overflow: visible; padding-inline: 8px; }
  .indoor-track button { min-width: 0; }
}
