/* Small persistent shortcuts, outside the supplied artwork. */
.quick-links{
  position:fixed;
  z-index:45;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  width:76px;
  display:grid;
  gap:5px;
  font-family:'Local Noto Sans TC',KaixinSans,sans-serif;
}
.quick-links a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border:1px solid #91abc7;
  border-radius:999px;
  background:#f8f3edee;
  box-shadow:0 3px 12px #35495d1f;
  color:#3e6f9f;
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
}
.quick-links a:hover,.quick-links a:focus-visible{
  background:#e8eef3;
  outline:2px solid #4c7ebb;
  outline-offset:2px;
}
.k-booking .request-form>.field{margin-top:22px}
.k-booking .request-form>.field textarea{min-height:116px;resize:vertical}
.k-booking .request-form>.form-submit{margin-top:24px}
@media(max-width:600px){
  html,body.k-design{background:#f8f3ed;scroll-padding-top:0}
  .m-plate{background:#f8f3ed}

  /* Keep the original mobile composition at its natural image dimensions. */
  .k-header.site-header{
    position:fixed;
    inset:0 0 auto;
    z-index:40;
    height:0;
    aspect-ratio:auto;
    padding:0;
    background:transparent;
    border:0;
    box-shadow:none;
    pointer-events:none;
  }
  .k-header .k-brand{
    display:flex;
    position:fixed;
    top:max(8px,env(safe-area-inset-top));
    left:2.4%;
    z-index:1;
    width:auto;
    height:52px;
    max-width:calc(100vw - 85px);
    margin:0;
    padding:5px 11px 5px 5px;
    gap:6px;
    border:1px solid #d6e1ea;
    border-radius:12px;
    background:#f8f3edee;
    box-shadow:0 3px 12px #35495d1f;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
  .k-header .k-brand>.k-crop{flex:0 0 42px;width:42px;height:42px}
  .k-header .m-brand-copy strong{font-size:12px;line-height:1.45}
  .k-header .m-brand-copy small{font-size:9px;margin-top:0}
  .k-design.has-fixed-logo .k-header .k-brand{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .k-header .menu-toggle{
    position:fixed;
    top:clamp(8px,calc(11.72vw - 25px),45px);
    right:2.4%;
    z-index:1;
    width:50px;
    height:50px;
    min-width:50px;
    min-height:50px;
    margin:0;
    padding:0;
    border:0;
    border-radius:10px;
    background:transparent;
    pointer-events:auto;
  }
  .k-design.is-scrolled .k-header .menu-toggle[aria-expanded=false]{
    background:
      linear-gradient(#4c7ebb 0 0) center calc(50% - 8px)/23px 1.5px no-repeat,
      linear-gradient(#4c7ebb 0 0) center/23px 1.5px no-repeat,
      linear-gradient(#4c7ebb 0 0) center calc(50% + 8px)/23px 1.5px no-repeat,
      #f8f3ed;
  }
  .k-header .menu-toggle span{display:none}
  .k-header .menu-toggle[aria-expanded=true]{background:#e8eef3}
  .k-header .menu-toggle[aria-expanded=true] span{
    display:block;
    width:23px;
    height:1.5px;
    margin:auto;
  }
  .k-header .mobile-nav:not([hidden]){
    position:fixed;
    top:75px;
    right:4%;
    left:auto;
    width:min(85vw,300px);
    max-height:calc(100dvh - 86px);
    overflow:auto;
    background:#f8f3ed;
    pointer-events:auto;
  }
  .quick-links{
    top:auto;
    right:max(9px,env(safe-area-inset-right));
    bottom:max(14px,env(safe-area-inset-bottom));
    transform:none;
    width:45px;
    gap:4px;
  }
  .quick-links a{min-height:43px;font-size:11px;box-shadow:0 2px 8px #35495d26}
  .quick-links .quick-long{display:none}
}
