/* Shared action language: charcoal primary, quiet outlined secondary. */
body .btn, body .btn-solid, body .btn-line, body .more,
.home-service .more, .slide .more, .menu #plan-pdf, .subpage .btn {
  appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:42px;padding:12px 17px;border:1px solid #414348;border-radius:2px;
  background:#414348;color:#fff;font:500 11px/1.4 var(--sans);
  letter-spacing:.08em;text-transform:uppercase;text-decoration:none;text-align:center;
  cursor:pointer;transition:background .18s,color .18s,border-color .18s;
}
body .btn-line {background:transparent;color:#414348}
body .more::after {content:none}
body :is(.btn,.btn-solid,.btn-line,.more):hover,
.home-service .more:hover,.slide:hover .more,.menu #plan-pdf:hover,.subpage .btn:hover {
  background:#5b5d63;border-color:#5b5d63;color:#fff;transform:none;
}
body :is(.btn,.btn-solid,.btn-line,.more):focus-visible {outline:2px solid #94191e;outline-offset:4px}
body :is(.btn,.btn-solid,.btn-line):disabled {opacity:.5;cursor:wait}
.arrows button:disabled {opacity:.28;cursor:default}
.arrows button:disabled:hover {background:transparent;color:inherit}

/* A stable centered group: reserved mascot slot, readable two-line label. */
.menu .days{gap:8px;padding:3px 3px 12px;overflow-x:auto;scrollbar-width:none}
.menu .day{position:relative;flex:1 0 0;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;min-width:148px;min-height:76px;margin:0;padding:12px 16px;border:1px solid transparent;border-radius:3px;color:#606467;font:500 15px/1.25 var(--sans);letter-spacing:0;text-transform:none;box-shadow:none;transition:color .2s,background .2s,border-color .2s}
.menu .day-label{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;transform:none}
.menu .day .day-name{font-size:16px;letter-spacing:0}
.menu .day .day-date{font-size:13px;letter-spacing:.02em}
.menu .day-mark{position:static;display:block;flex:0 0 34px;width:34px;height:40px;object-fit:contain;visibility:hidden;pointer-events:none;z-index:2;transform:none}
.menu .day[aria-selected=true]{color:#94191e;background:#f5eeeb;border-color:#d6b9b9;box-shadow:none;font-weight:600}
.menu .day[aria-selected=true] .day-mark{visibility:visible;transform:none}
.menu .day:hover{background:#eeedeb;color:#34363a}
.menu .day:focus{outline:none}
.menu .day:focus-visible{outline:2px solid #414348;outline-offset:1px}
@media(max-width:760px){
  .menu .days{--day-width:164px;padding-inline:calc((100% - var(--day-width))/2);scroll-snap-type:x proximity;overscroll-behavior-x:contain}
  .menu .day{flex:0 0 var(--day-width);min-height:72px;padding:10px 12px;gap:10px;scroll-snap-align:center}
}

/* Native trackpad/touch scrolling plus mouse dragging, no page-scroll hijack. */
.slider {overscroll-behavior-x:contain;scroll-behavior:smooth;cursor:grab}
.slider .slide {cursor:grab;-webkit-user-drag:none}
.slider img {-webkit-user-drag:none;user-select:none}
.slider.is-dragging {scroll-behavior:auto;scroll-snap-type:none;cursor:grabbing;user-select:none}
.slider.is-dragging .slide {cursor:grabbing;pointer-events:none}
.slider.is-dragging .comic-art {transform:none}
.slider .more {cursor:pointer}
@media(prefers-reduced-motion:reduce){.slider{scroll-behavior:auto}body :is(.btn,.btn-solid,.btn-line,.more){transition:none}}


