/* V23: always-visible channel links. No third-party widget or tracking. */
body.direct-reserve-site-v23 { --direct-reserve-bottom-v23: 153px; padding-bottom: var(--direct-reserve-bottom-v23); }
html:has(body.direct-reserve-site-v23) { scroll-padding-bottom: calc(var(--direct-reserve-scroll-v23, 153px) + 16px); }
.direct-reserve-site-v23 #contact-dock,
.direct-reserve-site-v23 #contact-launcher,
.direct-reserve-site-v23 > .mobile-bar { display: none !important; }
.direct-reserve-v23 { position: fixed; z-index: 60; inset: auto 0 0; display: grid; grid-template-columns: 1fr auto; gap: 6px 14px; padding: 9px max(12px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); background: #fffdf8; color: #3f382e; border-top: 1px solid #cdbda4; box-shadow: 0 -5px 24px #35261812; font-family: var(--sans, sans-serif); line-height: 1.4; }
.direct-reserve-v23[hidden] { display: none !important; }
.direct-reserve-title-v23 { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; line-height: 1.5; }
.direct-reserve-title-v23 strong { font-weight: 600; letter-spacing: .06em; }
.direct-reserve-title-v23 > span { display: none; }
.direct-reserve-links-v23 { display: grid; grid-column: 1 / -1; grid-row: 2; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.direct-reserve-link-v23 { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 45px; min-width: 0; padding: 5px 4px; border: 1px solid #dcd4c7; border-radius: 10px; background: #fff; color: #3f382e; text-decoration: none; transition: border-color .15s, background .15s; }
.direct-reserve-link-v23 .contact-symbol { width: 25px; height: 25px; }
.direct-reserve-link-v23 .contact-icon { width: 21px; height: 21px; }
.direct-reserve-label-v23 { font-size: 12px; font-weight: 600; line-height: 1.35; white-space: nowrap; }
.direct-reserve-link-v23.contact-line { background: #eaf5eb; border-color: #b8d8bb; }
.direct-reserve-link-v23.contact-whatsapp { background: #f2f9f2; border-color: #c6dac7; }
.direct-reserve-link-v23.contact-messenger { background: #f4f1fc; border-color: #dcd4eb; }
.direct-reserve-link-v23.contact-wechat { background: #f2f8ee; border-color: #d1dfc5; }
.direct-reserve-link-v23.contact-kakaotalk { background: #fff9df; border-color: #e6dca9; }
.direct-reserve-link-v23:hover { border-color: #786c55; background: #f2eddf; }
.direct-reserve-v23 a:focus-visible { outline: 3px solid #235e52; outline-offset: 2px; }
.direct-reserve-form-v23 { display: flex; justify-content: space-between; align-items: center; gap: 8px; grid-column: 2; grid-row: 1; color: #735d3e; text-decoration: underline; text-underline-offset: 3px; font-size: 12px; min-height: 24px; }
.direct-reserve-link-v23.direct-unavailable-v23 { opacity: .66; flex-wrap: wrap; }
.direct-unavailable-label-v23 { font-size: 10px; }
@media(max-width:359px) { .direct-reserve-link-v23 { gap: 4px; } .direct-reserve-link-v23 .contact-symbol { width: 21px; height: 21px; } .direct-reserve-link-v23 .contact-icon { width: 18px; height: 18px; } .direct-reserve-label-v23 { font-size: 11px; } }
@media(min-width:700px) { body.direct-reserve-site-v23 { --direct-reserve-bottom-v23: 98px; } .direct-reserve-links-v23 { grid-template-columns: repeat(6,minmax(0,1fr)); } .direct-reserve-v23 { padding-inline: max(20px, env(safe-area-inset-right)); } }
@media(min-width:1200px) and (min-height:640px) {
  body.direct-reserve-site-v23 { padding-bottom: 0; }
  .direct-reserve-site-v23 .container { width: min(calc(100% - 198px),1280px); margin-right: 152px; margin-left: auto; }
  .direct-reserve-v23 { inset: 50% 12px auto auto; transform: translateY(-50%); width: 130px; display: block; border: 1px solid #cdbda4; border-radius: 17px; padding: 10px 8px 8px; box-shadow: 0 6px 24px #35261816; }
  .direct-reserve-title-v23 { padding: 5px 2px 11px; font-size: 14px; }
  .direct-reserve-title-v23 strong { font-weight: 500; letter-spacing: .025em; }
  .direct-reserve-title-v23 > span { display: block; }
  .direct-reserve-links-v23 { grid-template-columns: 1fr; gap: 7px; }
  .direct-reserve-link-v23 { justify-content: flex-start; padding: 7px 6px; min-height: 46px; gap: 7px; }
  .direct-reserve-label-v23 { font-size: 12px; }
  .direct-reserve-form-v23 { min-height: 38px; padding: 6px 4px 0; margin-top: 2px; font-size: 12px; }
}
/* When a virtual keyboard is in use, leave room for typing rather than cover the form. */
@media(prefers-reduced-motion:reduce) { .direct-reserve-v23 * { transition: none !important; } }
@media print { body.direct-reserve-site-v23 { padding-bottom:0!important; } .direct-reserve-v23 { display:none!important; } .direct-reserve-site-v23 .container { width:auto; margin:auto; } }
