/* GoMay: lựa chọn liên hệ đặt lịch; không hiển thị thanh nổi riêng. */
.gomay-booking-overlay[hidden], .gomay-booking-result[hidden], .gomay-social-pending[hidden], .gomay-social-link[hidden] { display:none !important; }
.gomay-booking-overlay { position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(7,25,46,.6); backdrop-filter:blur(2px); }
.gomay-booking-dialog { width:min(100%,490px); max-height:min(88vh,800px); overflow:auto; background:#fff; color:#183149; border-radius:20px; box-shadow:0 22px 70px rgba(0,28,65,.25); padding:25px; position:relative; }
.gomay-booking-dialog * { box-sizing:border-box; }
.gomay-booking-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:6px; }
.gomay-booking-title { font-size:25px; line-height:1.2; margin:0; color:#114a7b; }
.gomay-booking-subtitle { color:#5c7082; margin:3px 0 19px; font-size:14px; }
.gomay-booking-close { flex:0 0 auto; border:0; background:#f0f5f9; color:#214d72; font-weight:700; font-size:25px; width:39px; height:39px; border-radius:11px; cursor:pointer; }
.gomay-booking-menu { display:grid; gap:10px; }
.gomay-booking-menu .gomay-booking-action { display:flex; align-items:center; gap:12px; width:100%; padding:14px; border:1px solid #d9e7ef; border-radius:13px; background:#f8fbfd; color:#143e61; text-decoration:none; transition:background .15s,border-color .15s; min-height:62px; }
.gomay-booking-menu .gomay-booking-action:hover { background:#eef8fb; border-color:#70b6ca; }
.gomay-booking-menu .gomay-booking-icon { width:41px; height:41px; border-radius:11px; background:#e0f5f5; color:#067e91; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:20px; flex:0 0 auto; }
.gomay-booking-menu .gomay-booking-copy { flex:1; min-width:0; }
.gomay-booking-menu .gomay-booking-copy b { display:block; font-size:15px; }
.gomay-booking-menu .gomay-booking-copy small { display:block; font-size:12px; font-weight:400; color:#607386; margin-top:2px; line-height:1.4; }
.gomay-booking-menu .gomay-booking-arrow { color:#668498; font-size:23px; }
.gomay-booking-menu .gomay-booking-action.is-disabled { background:#f6f7f9; color:#778998; opacity:.83; cursor:default; }
.gomay-booking-menu .gomay-booking-action.is-disabled .gomay-booking-icon { color:#8191a1; background:#e9edf2; }
.gomay-booking-note { margin:17px 0 0; padding-top:12px; border-top:1px solid #e5ecf1; font-size:12px; line-height:1.55; color:#617486; }
body.gomay-booking-open { overflow:hidden; }
.gomay-booking-page .gomay-booking-intro { max-width:780px; margin:0 auto 23px; text-align:center; }
.gomay-booking-page .gomay-booking-intro h1 { color:#134a7d; margin-bottom:8px; font-size:clamp(27px,4vw,38px); }
.gomay-booking-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-width:960px; margin:0 auto 28px; }
.gomay-booking-card { border:1px solid #dbe7f0; border-radius:17px; padding:23px; background:#fff; box-shadow:0 6px 18px rgba(20,63,104,.05); }
.gomay-booking-card h2 { font-size:21px; margin:0 0 8px; color:#144c7c; }
.gomay-booking-card p { font-size:14px; color:#52697c; line-height:1.6; margin:0 0 14px; }
.gomay-booking-card .gomay-booking-card-actions { display:flex; gap:9px; flex-wrap:wrap; align-items:center; }
.gomay-booking-card .gomay-booking-card-actions a, .gomay-booking-card .gomay-booking-card-actions button { min-height:44px; padding:10px 14px; background:#087f98; color:white; border:1px solid #087f98; border-radius:9px; font-size:14px; line-height:1.4; font-family:inherit; font-weight:700; text-decoration:none; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.gomay-booking-card .gomay-booking-card-actions a:hover, .gomay-booking-card .gomay-booking-card-actions button:hover { background:#086b83; }
.gomay-booking-card .gomay-social-pending { font-size:13px; padding:10px 12px; border:1px solid #dbe3eb; border-radius:9px; background:#f5f7f9; color:#657689; }
.gomay-booking-form-wrap { max-width:860px; border:1px solid #dbe7f0; border-radius:18px; padding:25px; margin:0 auto; background:#f9fcfe; scroll-margin-top:30px; }
.gomay-booking-form-wrap h2 { color:#154c7a; font-size:23px; margin:0 0 8px; }
.gomay-booking-form-wrap p { color:#536d80; font-size:14px; line-height:1.6; }
.gomay-booking-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.gomay-booking-fields label { display:block; font-size:13px; font-weight:700; color:#264961; }
.gomay-booking-fields input, .gomay-booking-fields select { display:block; width:100%; min-height:44px; margin-top:6px; border:1px solid #b8cedd; border-radius:9px; background:#fff; color:#173850; padding:9px 12px; font:inherit; font-weight:400; }
.gomay-booking-fields label.gomay-booking-full { grid-column:1/-1; }
.gomay-booking-primary { margin-top:17px; background:#0b8297; border:0; border-radius:9px; padding:12px 18px; min-height:46px; font-size:15px; font-weight:700; color:#fff; cursor:pointer; }
.gomay-booking-result { margin-top:20px; background:#ecf8fa; border:1px solid #bbe2e8; border-radius:13px; padding:18px; }
.gomay-booking-result textarea { display:block; width:100%; padding:12px; border:1px solid #b7d4e0; background:#fff; border-radius:9px; min-height:160px; resize:vertical; font:14px/1.6 Arial,sans-serif; }
.gomay-booking-result .gomay-booking-card-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.gomay-booking-result .gomay-booking-card-actions a, .gomay-booking-result .gomay-booking-card-actions button { display:inline-flex; align-items:center; justify-content:center; padding:11px 15px; min-height:44px; border:0; border-radius:9px; background:#0b8297; color:#fff; font-weight:700; font-size:14px; cursor:pointer; text-decoration:none; }
.gomay-booking-result .gomay-booking-card-actions button { background:#174b7a; }
.gomay-booking-help { color:#597182; font-size:13px; line-height:1.6; }
.gomay-booking-overlay :is(a,button):focus-visible, .gomay-booking-page :is(a,button,input,select,textarea):focus-visible { outline:3px solid #00a8bc; outline-offset:3px; }
@media (max-width:640px){
 .gomay-booking-overlay { align-items:flex-end; padding:0; }
 .gomay-booking-dialog { width:100%; max-height:92dvh; padding:22px 18px 26px; border-radius:23px 23px 0 0; }
 .gomay-booking-grid, .gomay-booking-fields { grid-template-columns:1fr; }
 .gomay-booking-fields label.gomay-booking-full { grid-column:auto; }
 .gomay-booking-form-wrap, .gomay-booking-card { padding:19px; }
}
@media (prefers-reduced-motion:reduce) { .gomay-booking-menu .gomay-booking-action { transition:none; } }

/* Zalo: mot nut chon hai so; khong them thanh noi. */
.gomay-booking-zalo-choices[hidden] { display:none !important; }
.gomay-booking-zalo-choices { display:grid; gap:8px; margin:-2px 0 4px 18px; padding-left:10px; border-left:3px solid #b6e4eb; }
.gomay-booking-dialog button.gomay-booking-action { text-align:left; font:inherit; cursor:pointer; }
.gomay-booking-dialog button.gomay-booking-action .gomay-booking-copy b { font-weight:700; }
.gomay-booking-dialog button.gomay-booking-action .gomay-booking-copy small { font-weight:400; }

/* GoMay Zalo App V6 - cach mo du phong khi trinh duyet khong mo duoc app. */
.gomay-zalo-web-fallback { display:inline-block; color:#12558b; font-size:12px; line-height:1.5; text-decoration:underline; margin:0 0 9px 12px; }
.gomay-booking-zalo-choices > .gomay-zalo-web-fallback { margin:-6px 0 8px 10px; }
.gomay-zalo-web-fallback:hover { color:#087a9c; }
