/* Persistent contact actions at every viewport width, independent of scroll. */
html{scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
body{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
.reservation-bar{position:fixed;inset:auto 0 0;z-index:1000;box-sizing:border-box;padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:#fff;border-top:1px solid #d6e2df;box-shadow:0 -3px 18px #2942470d}
.reservation-bar-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;max-width:680px;margin:0 auto}
.reservation-bar .reservation-bar-inner>a{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:54px;padding:12px 8px;border:1px solid #255d5b;border-radius:5px;font-family:'Yu Gothic','Meiryo',sans-serif;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:0;text-decoration:none;text-align:center}
.reservation-bar-phone{background:#fff;color:#255d5b}
.reservation-bar-line{background:#255d5b;color:#fff}
.reservation-bar-phone:hover{background:#edf6f5}
.reservation-bar-line:hover{background:#1b4847}
.reservation-bar a:focus-visible{outline:3px solid #b18a4e;outline-offset:3px}
.reservation-bar svg{width:20px;height:20px;flex-shrink:0}
@media(max-width:360px){.reservation-bar-inner{gap:8px}.reservation-bar .reservation-bar-inner>a{font-size:12px;gap:5px;padding-inline:5px}.reservation-bar svg{width:17px;height:17px}}
@media print{.reservation-bar{display:none}body{padding-bottom:0}}
