.ebb-app{--ebb-accent:#e02b22;--ebb-dark:#172234;--ebb-green:#159447;--ebb-yellow:#f2b705;--ebb-muted:#667085;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ebb-dark);max-width:1480px;margin:0 auto;padding:24px 16px 56px;box-sizing:border-box}.ebb-app *{box-sizing:border-box}.ebb-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:18px}.ebb-kicker{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--ebb-accent);margin-bottom:6px}.ebb-hero h2{font-size:clamp(26px,4vw,44px);line-height:1.04;margin:0 0 8px}.ebb-hero p{max-width:760px;color:var(--ebb-muted);margin:0;line-height:1.55}.ebb-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:13px}.ebb-legend span{display:flex;align-items:center;gap:6px}.ebb-legend i{width:11px;height:11px;border-radius:50%;display:inline-block}.ebb-legend .available{background:#27ae60}.ebb-legend .hold{background:#f1c40f}.ebb-legend .booked{background:#e74c3c}.ebb-toolbar{display:flex;justify-content:space-between;gap:12px;margin:18px 0}.ebb-zone-filter{display:flex;gap:6px;flex-wrap:wrap}.ebb-zone-filter button,.ebb-map-controls button{border:1px solid #d9dee7;background:#fff;border-radius:10px;padding:9px 13px;cursor:pointer;font-weight:700}.ebb-zone-filter button.is-active{background:var(--ebb-dark);color:#fff;border-color:var(--ebb-dark)}.ebb-search-wrap input{width:min(330px,72vw);border:1px solid #d9dee7;border-radius:10px;padding:10px 13px}.ebb-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.ebb-map-card,.ebb-cart-card,.ebb-quick-section{background:#fff;border:1px solid #e5e8ef;border-radius:18px;box-shadow:0 10px 35px rgba(16,24,40,.07)}.ebb-map-card{overflow:hidden}.ebb-map-controls{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #edf0f4;background:#fafbfc}.ebb-map-controls span{font-size:13px;font-weight:800;min-width:46px;text-align:center}.ebb-map-scroll{overflow:auto;max-height:72vh;background:linear-gradient(45deg,#f6f8fb 25%,transparent 25%) 0 0/24px 24px}.ebb-map-stage{position:relative;width:100%;min-width:760px;transform-origin:0 0;transition:width .15s ease}.ebb-map-stage img{display:block;width:100%;height:auto;user-select:none}.ebb-hotspots{position:absolute;inset:0}.ebb-hotspot{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.26);cursor:pointer;padding:0;z-index:3}.ebb-hotspot span{position:absolute;left:50%;top:30px;transform:translateX(-50%);font-size:10px;font-weight:900;background:#fff;border-radius:5px;padding:1px 3px;white-space:nowrap;box-shadow:0 1px 4px rgba(0,0,0,.18)}.ebb-hotspot.status-available{background:#28b463}.ebb-hotspot.status-hold{background:#f4c430}.ebb-hotspot.status-booked{background:#e74c3c;cursor:not-allowed}.ebb-hotspot.status-blocked{background:#7f8c8d;cursor:not-allowed}.ebb-hotspot.is-selected{outline:4px solid rgba(32,101,209,.3);background:#2065d1}.ebb-map-note{padding:10px 14px;font-size:12px;color:#667085;border-top:1px solid #edf0f4}.ebb-cart-card{padding:16px;position:sticky;top:20px}.ebb-cart-head,.ebb-total{display:flex;justify-content:space-between;align-items:center}.ebb-cart-head{font-weight:800;padding-bottom:12px;border-bottom:1px solid #edf0f4}.ebb-cart-head strong{background:var(--ebb-dark);color:#fff;border-radius:999px;min-width:28px;height:28px;display:grid;place-items:center}.ebb-selected-list{display:grid;gap:8px;max-height:220px;overflow:auto;padding:12px 0}.ebb-empty{font-size:13px;color:#98a2b3;padding:10px 0}.ebb-selected-item{display:grid;grid-template-columns:1fr auto 26px;gap:8px;align-items:center;padding:9px;background:#f8fafc;border-radius:10px}.ebb-selected-item strong{display:block}.ebb-selected-item small{display:block;color:#667085}.ebb-selected-item span{font-size:13px;font-weight:800}.ebb-selected-item button{border:0;background:#fff;border-radius:50%;width:24px;height:24px;cursor:pointer}.ebb-addon-title{font-size:12px;font-weight:900;color:#667085;text-transform:uppercase;letter-spacing:.08em;margin:8px 0}.ebb-addon{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:9px 0;border-bottom:1px dashed #e5e7eb}.ebb-addon b{white-space:nowrap}.ebb-total{padding:14px 0 4px;font-size:15px}.ebb-total strong{font-size:22px;color:var(--ebb-accent)}.ebb-vat{font-size:11px;color:#667085;margin-bottom:12px}.ebb-primary{width:100%;border:0;border-radius:12px;background:var(--ebb-accent);color:#fff;font-weight:900;padding:13px 16px;cursor:pointer;letter-spacing:.02em}.ebb-primary:disabled{opacity:.4;cursor:not-allowed}.ebb-hold-timer{text-align:center;font-size:12px;color:#9a6700;font-weight:700;margin-top:8px}.ebb-quick-section{margin-top:18px;padding:18px}.ebb-section-title{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:14px}.ebb-section-title span{font-size:11px;letter-spacing:.12em;font-weight:900;color:var(--ebb-accent)}.ebb-section-title h3{margin:2px 0 0;font-size:24px}.ebb-section-title>div:last-child{color:#667085}.ebb-booth-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}.ebb-booth-card{border:1px solid #e0e5ec;background:#fff;border-radius:12px;padding:10px;text-align:left;cursor:pointer;min-height:78px;display:flex;flex-direction:column}.ebb-booth-card .code{font-size:18px;font-weight:900}.ebb-booth-card .state{font-size:11px;color:#667085;margin-bottom:auto}.ebb-booth-card strong{font-size:12px;margin-top:6px}.ebb-booth-card.status-available{border-left:4px solid #28b463}.ebb-booth-card.status-hold{border-left:4px solid #f4c430}.ebb-booth-card.status-booked{border-left:4px solid #e74c3c;opacity:.55}.ebb-booth-card.status-blocked{border-left:4px solid #7f8c8d;opacity:.55}.ebb-booth-card.is-selected{background:#eef4ff;border-color:#2065d1}.ebb-modal{position:fixed;inset:0;z-index:99999;display:none}.ebb-modal.is-open{display:block}.ebb-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.62);backdrop-filter:blur(4px)}.ebb-modal-card{position:relative;background:#fff;width:min(760px,calc(100% - 28px));max-height:92vh;overflow:auto;margin:4vh auto;border-radius:18px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.ebb-modal-card h3{margin:0 0 16px;font-size:26px}.ebb-modal-close{position:absolute;right:14px;top:12px;border:0;background:#f1f3f5;border-radius:50%;width:34px;height:34px;font-size:24px;cursor:pointer}.ebb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ebb-form-grid label{font-size:13px;font-weight:700;display:grid;gap:6px}.ebb-form-grid .wide{grid-column:1/-1}.ebb-form-grid input,.ebb-form-grid textarea{width:100%;border:1px solid #d9dee7;border-radius:10px;padding:10px;font:inherit}.ebb-order-box{display:flex;justify-content:space-between;gap:12px;background:#f8fafc;border-radius:12px;padding:14px;margin:16px 0;font-size:14px}.ebb-bank-note,.ebb-contact-note{font-size:13px;color:#475467;background:#fff8e7;border:1px solid #f7df9b;border-radius:10px;padding:10px 12px;margin-bottom:12px}.ebb-form-message{margin-top:10px;font-size:14px}.ebb-form-message.success{background:#eaf8ef;color:#126b35;padding:12px;border-radius:10px}.ebb-form-message.error{background:#fff0ef;color:#a1241d;padding:12px;border-radius:10px}
@media(max-width:980px){.ebb-layout{grid-template-columns:1fr}.ebb-cart-card{position:relative;top:auto}.ebb-hero{align-items:flex-start;flex-direction:column}.ebb-map-scroll{max-height:60vh}.ebb-map-stage{min-width:720px}}@media(max-width:620px){.ebb-app{padding:14px 10px 42px}.ebb-toolbar{flex-direction:column}.ebb-search-wrap input{width:100%}.ebb-form-grid{grid-template-columns:1fr}.ebb-form-grid .wide{grid-column:auto}.ebb-modal-card{padding:20px 14px}.ebb-order-box{flex-direction:column}.ebb-booth-grid{grid-template-columns:repeat(3,1fr)}.ebb-booth-card{min-width:0;padding:8px}.ebb-booth-card .code{font-size:16px}}

/* V2 - bản đồ HTML/SVG tương tác theo sơ đồ trang 4 */
.ebb-map-stage{position:relative;width:100%;min-width:900px;transform-origin:0 0;transition:width .15s ease;background:#eef3d0}
.ebb-vector-map-root{width:100%;line-height:0;background:#d9e9a1}
.ebb-vector-map{display:block;width:100%;height:auto;min-height:520px;user-select:none;-webkit-user-select:none}
.ebb-map-road{font-size:18px;font-weight:800;fill:#0a4697;letter-spacing:.02em}
.ebb-building-title{font-size:20px;font-weight:900;fill:#6e514c;text-anchor:middle}
.ebb-white-label{font-size:12px;font-weight:900;fill:#fff;text-anchor:middle}
.ebb-tiny-white{font-size:9px;font-weight:900;fill:#fff;text-anchor:middle}
.ebb-zone-big{font-size:68px;font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:2;filter:url(#ebbShadow)}
.ebb-zone-a-label{fill:#f4c21f;stroke:#996d00}.ebb-zone-b-label{fill:#6d9de7;stroke:#315b9d}.ebb-zone-c-label{fill:#8de6ef;stroke:#2c7e86}
.ebb-zone-sub{font-size:14px;font-weight:900;fill:#202020}.ebb-gate{font-size:17px;font-weight:900;fill:#ff7b00}
.ebb-svg-booth{cursor:pointer;transition:opacity .15s ease,filter .15s ease}.ebb-svg-booth .ebb-booth-face{stroke:#182230;stroke-width:2;vector-effect:non-scaling-stroke;transition:fill .15s ease,stroke .15s ease,stroke-width .15s ease}.ebb-svg-booth .ebb-booth-text{font-size:10px;font-weight:950;fill:#101828;text-anchor:middle;pointer-events:none;dominant-baseline:middle}.ebb-svg-booth.zone-A .ebb-booth-face{fill:#f8cc28}.ebb-svg-booth.zone-B .ebb-booth-face{fill:#6c9be5}.ebb-svg-booth.zone-C .ebb-booth-face{fill:#91e5ed}.ebb-svg-booth.status-available .ebb-booth-face{stroke:#16894f;stroke-width:2.6}.ebb-svg-booth.status-hold .ebb-booth-face{fill:#ffd54a;stroke:#ad7800;stroke-width:3}.ebb-svg-booth.status-booked .ebb-booth-face{fill:#e86158;stroke:#9d211a}.ebb-svg-booth.status-booked .ebb-booth-text{fill:#fff}.ebb-svg-booth.status-blocked .ebb-booth-face{fill:#9aa2ad;stroke:#58616d}.ebb-svg-booth.status-blocked .ebb-booth-text{fill:#fff}.ebb-svg-booth.is-selected .ebb-booth-face{fill:#126b3a;stroke:#fff;stroke-width:4}.ebb-svg-booth.is-selected .ebb-booth-text{fill:#fff}.ebb-svg-booth:hover:not(.status-booked):not(.status-blocked) .ebb-booth-face,.ebb-svg-booth:focus-visible .ebb-booth-face{stroke:#111827;stroke-width:4;filter:drop-shadow(0 2px 3px rgba(0,0,0,.26))}.ebb-svg-booth:focus-visible{outline:none}.ebb-svg-booth.is-filtered{opacity:.08;pointer-events:none}.ebb-svg-booth.is-search-hit .ebb-booth-face{stroke:#7c3aed;stroke-width:4}
.ebb-booth-card.zone-A{background-image:linear-gradient(90deg,rgba(248,204,40,.12),transparent 60%)}.ebb-booth-card.zone-B{background-image:linear-gradient(90deg,rgba(108,155,229,.12),transparent 60%)}.ebb-booth-card.zone-C{background-image:linear-gradient(90deg,rgba(145,229,237,.16),transparent 60%)}
@media(max-width:980px){.ebb-map-stage{min-width:980px}.ebb-vector-map{min-height:620px}}
@media(max-width:620px){.ebb-map-stage{min-width:1050px}.ebb-map-scroll{max-height:64vh}.ebb-map-note{font-size:11px}}

/* V2.1 - sơ đồ gốc + lớp click SVG 1:1 */
.ebb-vector-map-root{background:#f7f8f2}
.ebb-vector-map{min-height:0;aspect-ratio:1272/761;background:#f7f8f2}
.ebb-svg-booth{cursor:pointer;outline:none}
.ebb-svg-booth .ebb-booth-hit{fill:rgba(0,0,0,0);stroke:rgba(0,0,0,0);stroke-width:2;vector-effect:non-scaling-stroke;transition:fill .14s ease,stroke .14s ease,filter .14s ease}
.ebb-svg-booth.status-available:hover .ebb-booth-hit,.ebb-svg-booth.status-available:focus-visible .ebb-booth-hit{fill:rgba(22,137,79,.18);stroke:#16894f;stroke-width:3;filter:drop-shadow(0 1px 2px rgba(0,0,0,.28))}
.ebb-svg-booth.status-hold .ebb-booth-hit{fill:rgba(244,196,48,.48);stroke:#ad7800;stroke-width:2.5}
.ebb-svg-booth.status-booked .ebb-booth-hit{fill:rgba(231,76,60,.58);stroke:#a8271d;stroke-width:2.5;cursor:not-allowed}
.ebb-svg-booth.status-blocked .ebb-booth-hit{fill:rgba(82,92,105,.58);stroke:#4b5563;stroke-width:2.5;cursor:not-allowed}
.ebb-svg-booth.is-selected .ebb-booth-hit{fill:rgba(18,107,58,.62);stroke:#fff;stroke-width:3.5;filter:drop-shadow(0 1px 3px rgba(0,0,0,.45))}
.ebb-svg-booth.is-search-hit .ebb-booth-hit{fill:rgba(124,58,237,.18);stroke:#7c3aed;stroke-width:3.5}
.ebb-svg-booth.is-filtered{opacity:.1;pointer-events:none}

/* Modal V2.1: thoát khỏi mọi overflow/transform của theme, luôn thao tác được */
html.ebb-modal-open,body.ebb-modal-open{overflow:hidden!important}
body>.ebb-modal{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:2147483000!important;padding:12px!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;transform:none!important;filter:none!important;contain:none!important}
body>.ebb-modal.is-open{display:flex!important}
body>.ebb-modal .ebb-modal-backdrop{position:absolute!important;inset:0!important;background:rgba(15,23,42,.68)!important;backdrop-filter:blur(5px);z-index:0}
body>.ebb-modal .ebb-modal-card{position:relative!important;z-index:1!important;width:min(820px,100%)!important;max-width:820px!important;height:auto!important;max-height:calc(100dvh - 24px)!important;margin:0!important;padding:24px!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:18px!important;background:#fff!important;box-shadow:0 30px 90px rgba(0,0,0,.38)!important;transform:none!important}
body>.ebb-modal .ebb-modal-close{position:sticky!important;float:right;right:0;top:0;z-index:5;margin:-8px -8px 2px 10px;background:#eef1f4!important;box-shadow:0 1px 5px rgba(0,0,0,.12)}
body>.ebb-modal .ebb-primary[type=submit]{position:sticky;bottom:0;z-index:4;box-shadow:0 -10px 18px rgba(255,255,255,.96),0 6px 20px rgba(224,43,34,.22)}
body>.ebb-modal .ebb-form-message{padding-bottom:4px}
@media(max-width:620px){
  body>.ebb-modal{padding:0!important;align-items:stretch!important}
  body>.ebb-modal .ebb-modal-card{width:100%!important;max-width:none!important;max-height:100dvh!important;height:100dvh!important;border-radius:0!important;padding:16px 14px 20px!important}
  body>.ebb-modal .ebb-modal-card h3{font-size:22px;padding-right:42px}
  body>.ebb-modal .ebb-form-grid{grid-template-columns:1fr!important}
  body>.ebb-modal .ebb-order-box{flex-direction:column!important}
}

/* V2.2 - popup dễ đọc + bước chuyển khoản sau đăng ký */
body>.ebb-modal .ebb-modal-card,
body>.ebb-modal .ebb-modal-card *{box-sizing:border-box}
body>.ebb-modal .ebb-modal-card{color:#101828!important;background:#f8fafc!important}
body>.ebb-modal .ebb-modal-card h1,
body>.ebb-modal .ebb-modal-card h2,
body>.ebb-modal .ebb-modal-card h3,
body>.ebb-modal .ebb-modal-card h4,
body>.ebb-modal .ebb-modal-card p,
body>.ebb-modal .ebb-modal-card span,
body>.ebb-modal .ebb-modal-card strong,
body>.ebb-modal .ebb-modal-card small,
body>.ebb-modal .ebb-modal-card label{color:#101828}
body>.ebb-modal .ebb-modal-card .ebb-kicker{color:#c5221f!important;font-weight:900!important}
body>.ebb-modal .ebb-modal-card h3{color:#101828!important;font-weight:900!important;line-height:1.15}
body>.ebb-modal .ebb-form-grid label{color:#344054!important;font-weight:800!important;opacity:1!important}
body>.ebb-modal .ebb-form-grid input,
body>.ebb-modal .ebb-form-grid textarea{background:#fff!important;color:#101828!important;-webkit-text-fill-color:#101828!important;border:1px solid #cfd6e3!important;box-shadow:none!important;opacity:1!important;caret-color:#101828!important}
body>.ebb-modal .ebb-form-grid input::placeholder,
body>.ebb-modal .ebb-form-grid textarea::placeholder{color:#98a2b3!important;opacity:1!important}
body>.ebb-modal .ebb-form-grid input:focus,
body>.ebb-modal .ebb-form-grid textarea:focus{border-color:#2563eb!important;outline:3px solid rgba(37,99,235,.12)!important}
body>.ebb-modal .ebb-order-box{background:#eef4ff!important;border:1px solid #d9e5ff!important;color:#172b4d!important}
body>.ebb-modal .ebb-order-box strong,
body>.ebb-modal .ebb-order-box span{color:#172b4d!important}
body>.ebb-modal .ebb-modal-close{color:#101828!important;font-weight:800!important}
body>.ebb-modal .ebb-primary{background:#d62828!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:0!important}
body>.ebb-modal .ebb-primary:hover{filter:brightness(.96)}
body>.ebb-modal form[hidden],body>.ebb-modal .ebb-payment-result[hidden]{display:none!important}
.ebb-payment-preview{display:grid;gap:5px;margin:16px 0 14px;padding:14px 16px;border:1px solid #f2d38b;background:#fff8e6;border-radius:12px;line-height:1.45}
.ebb-payment-preview strong{color:#7a4b00!important;font-size:14px}
.ebb-payment-preview span{color:#664d21!important;font-size:13px}
.ebb-contact-note{color:#344054!important;background:#fff!important;border-color:#dfe4ec!important}

.ebb-payment-result{display:grid;gap:16px;color:#101828!important}
.ebb-payment-success-head{display:flex;gap:14px;align-items:flex-start;padding-right:48px}
.ebb-payment-success-head h3{margin:2px 0 7px!important}
.ebb-payment-success-head p{margin:0!important;color:#667085!important;line-height:1.5}
.ebb-payment-check{flex:0 0 46px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e8f7ee;color:#14804a!important;font-size:26px;font-weight:900}
.ebb-payment-deadline{display:grid;justify-items:center;gap:4px;padding:16px;border:1px solid #ffd5a3;background:#fff7ed;border-radius:14px;text-align:center}
.ebb-payment-deadline>span{font-size:11px!important;letter-spacing:.12em;font-weight:900;color:#9a5b00!important}
.ebb-payment-deadline>strong{font-size:34px!important;line-height:1;color:#b42318!important;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.ebb-payment-deadline>small{color:#7a4b00!important}
.ebb-payment-deadline.is-expired{background:#fff1f0;border-color:#ffb4ab}
.ebb-payment-deadline.is-expired>strong{font-size:18px!important}
.ebb-payment-warning{padding:13px 15px;border-radius:12px;background:#fff1f0;border:1px solid #ffc9c4;color:#7a271a!important;line-height:1.5;font-size:13px}
.ebb-payment-warning strong{color:#b42318!important}
.ebb-payment-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ebb-payment-summary>div{position:relative;display:grid;gap:5px;padding:14px 15px;border:1px solid #e4e7ec;border-radius:12px;background:#fff}
.ebb-payment-summary span{font-size:12px!important;color:#667085!important;font-weight:700}
.ebb-payment-summary strong{font-size:18px!important;color:#101828!important}
.ebb-payment-summary .ebb-payment-amount{font-size:23px!important;color:#b42318!important}
.ebb-copy-btn{justify-self:start;border:1px solid #d0d5dd;background:#fff;color:#344054!important;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:800;cursor:pointer}
.ebb-copy-btn:hover{background:#f2f4f7}
.ebb-copy-btn.is-primary{background:#101828;color:#fff!important;border-color:#101828;padding:9px 13px}
.ebb-booking-code-box{display:grid;justify-items:center;gap:8px;padding:18px;border:2px dashed #98a2b3;border-radius:14px;background:#fff;text-align:center}
.ebb-booking-code-box>span{font-size:11px!important;letter-spacing:.08em;color:#667085!important;font-weight:900}
.ebb-booking-code-box>strong{font-size:clamp(18px,3vw,28px)!important;color:#101828!important;word-break:break-word;line-height:1.3}
.ebb-booking-code-box>small{color:#667085!important}
.ebb-bank-section{display:grid;gap:12px;padding:16px;border:1px solid #e4e7ec;border-radius:14px;background:#fff}
.ebb-bank-section h4{margin:0!important;font-size:18px!important}
.ebb-bank-grid{display:grid;gap:10px}
.ebb-bank-grid>div{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #f0f2f5}
.ebb-bank-grid>div:last-child{border-bottom:0}
.ebb-bank-grid span{font-size:12px!important;color:#667085!important;font-weight:700}
.ebb-bank-grid strong{font-size:15px!important;color:#101828!important;word-break:break-word}
.ebb-payment-qr{text-align:center}
.ebb-payment-qr img{display:inline-block;max-width:240px;width:100%;height:auto;border:1px solid #e4e7ec;border-radius:12px;background:#fff;padding:8px}
.ebb-bank-missing{display:grid;gap:4px;padding:12px;border-radius:10px;background:#fff7ed;border:1px solid #ffd5a3}
.ebb-bank-missing strong{color:#9a5b00!important}
.ebb-bank-missing span{color:#7a4b00!important;font-size:13px!important}
.ebb-payment-note{padding:12px 14px;border-radius:12px;background:#eef4ff;border:1px solid #d9e5ff;color:#344054!important;font-size:13px;line-height:1.55}
.ebb-payment-note *{color:#344054!important}
.ebb-payment-close{margin-top:2px}

@media(max-width:620px){
  body>.ebb-modal .ebb-modal-card{background:#f8fafc!important}
  .ebb-payment-success-head{padding-right:36px}
  .ebb-payment-check{flex-basis:40px;width:40px;height:40px;font-size:22px}
  .ebb-payment-deadline>strong{font-size:30px!important}
  .ebb-payment-summary{grid-template-columns:1fr}
  .ebb-bank-grid>div{grid-template-columns:1fr;gap:5px}
  .ebb-bank-grid .ebb-copy-btn{margin-top:2px}
  .ebb-booking-code-box>strong{font-size:18px!important}
}
body>.ebb-modal .ebb-modal-card{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important}

/* V2.3 - cô lập giao diện khỏi theme + zoom/fit/fullscreen tối ưu */
#ebb-app.ebb-app{
  color:#172234!important;
  color-scheme:light;
  isolation:isolate;
}
#ebb-app .ebb-hero{
  align-items:center!important;
  padding:22px 24px!important;
  border:1px solid #e3e8ef!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f5f8f7 100%)!important;
  box-shadow:0 10px 30px rgba(16,24,40,.06)!important;
}
#ebb-app .ebb-kicker{color:#d92d20!important}
#ebb-app .ebb-hero h2,
#ebb-app .ebb-section-title h3,
#ebb-app .ebb-cart-head,
#ebb-app .ebb-total,
#ebb-app .ebb-booth-card .code{color:#101828!important;-webkit-text-fill-color:#101828!important}
#ebb-app .ebb-hero p{color:#475467!important;-webkit-text-fill-color:#475467!important}
#ebb-app .ebb-legend{padding:10px 12px;border:1px solid #e4e7ec;border-radius:12px;background:#fff!important}
#ebb-app .ebb-legend span{color:#344054!important;-webkit-text-fill-color:#344054!important;font-weight:700!important}
#ebb-app .ebb-toolbar{align-items:center}
#ebb-app .ebb-zone-filter button,
#ebb-app .ebb-map-controls button{color:#172234!important;-webkit-text-fill-color:#172234!important;background:#fff!important;border-color:#d0d5dd!important;line-height:1.1!important;text-shadow:none!important}
#ebb-app .ebb-zone-filter button.is-active{background:#172234!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#172234!important}
#ebb-app .ebb-search-wrap input{background:#fff!important;color:#101828!important;-webkit-text-fill-color:#101828!important;border-color:#d0d5dd!important}
#ebb-app .ebb-search-wrap input::placeholder{color:#667085!important;opacity:1!important}
#ebb-app .ebb-map-card,
#ebb-app .ebb-cart-card,
#ebb-app .ebb-quick-section{color:#172234!important;background:#fff!important}

#ebb-app .ebb-map-controls{
  position:sticky!important;
  top:0!important;
  z-index:40!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  padding:10px 12px!important;
  background:rgba(255,255,255,.97)!important;
  backdrop-filter:blur(10px);
  border-bottom:1px solid #e4e7ec!important;
  box-shadow:0 3px 10px rgba(16,24,40,.04);
}
#ebb-app .ebb-map-controls button{
  min-width:44px!important;
  min-height:42px!important;
  padding:9px 13px!important;
  border-radius:11px!important;
  font-size:14px!important;
  font-weight:800!important;
  cursor:pointer!important;
  transition:background .15s ease,border-color .15s ease,transform .08s ease!important;
}
#ebb-app .ebb-map-controls button:hover{background:#f2f4f7!important;border-color:#98a2b3!important}
#ebb-app .ebb-map-controls button:active{transform:translateY(1px)}
#ebb-app .ebb-map-controls button:disabled{opacity:.38!important;cursor:not-allowed!important}
#ebb-app .ebb-map-controls .ebb-zoom-label{
  min-width:68px!important;
  background:#f8fafc!important;
  font-variant-numeric:tabular-nums!important;
}
#ebb-app .ebb-map-controls .ebb-fit-btn{border-color:#172234!important}
#ebb-app .ebb-map-controls .ebb-fullscreen-btn{margin-left:auto!important}

#ebb-app .ebb-map-scroll{
  position:relative!important;
  overflow:auto!important;
  max-height:72vh!important;
  background:#f5f7f2!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable both-edges;
  touch-action:pan-x pan-y;
}
#ebb-app .ebb-map-scroll.is-zoomed{cursor:grab}
#ebb-app .ebb-map-scroll.is-panning{cursor:grabbing!important;user-select:none!important}
#ebb-app .ebb-map-stage{
  position:relative!important;
  width:100%;
  min-width:0!important;
  max-width:none!important;
  margin:0 auto!important;
  transform:none!important;
  transform-origin:0 0!important;
  transition:width .14s ease!important;
  background:#f7f8f2!important;
}
#ebb-app .ebb-vector-map-root,
#ebb-app .ebb-vector-map{width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;min-height:0!important}
#ebb-app .ebb-svg-booth{touch-action:manipulation}
#ebb-app .ebb-map-note{color:#475467!important;background:#fff!important;line-height:1.5!important}
#ebb-app .ebb-map-note strong,#ebb-app .ebb-map-note b{color:#101828!important}

html.ebb-map-fullscreen-open,body.ebb-map-fullscreen-open{overflow:hidden!important}
#ebb-app .ebb-map-card.is-map-fullscreen{
  position:fixed!important;
  inset:10px!important;
  z-index:2147482500!important;
  display:flex!important;
  flex-direction:column!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 30px 100px rgba(0,0,0,.42)!important;
}
#ebb-app .ebb-map-card.is-map-fullscreen .ebb-map-controls{flex:0 0 auto!important}
#ebb-app .ebb-map-card.is-map-fullscreen .ebb-map-scroll{flex:1 1 auto!important;max-height:none!important;min-height:0!important}
#ebb-app .ebb-map-card.is-map-fullscreen .ebb-map-note{flex:0 0 auto!important}

@media(max-width:980px){
  #ebb-app .ebb-hero{align-items:flex-start!important}
  #ebb-app .ebb-map-stage{min-width:0!important}
  #ebb-app .ebb-vector-map{min-height:0!important}
  #ebb-app .ebb-map-scroll{max-height:66vh!important}
}
@media(max-width:620px){
  #ebb-app .ebb-hero{padding:17px 16px!important;border-radius:16px!important}
  #ebb-app .ebb-hero h2{font-size:clamp(25px,9vw,34px)!important}
  #ebb-app .ebb-hero p{font-size:14px!important}
  #ebb-app .ebb-legend{width:100%!important;gap:10px!important}
  #ebb-app .ebb-toolbar{gap:10px!important}
  #ebb-app .ebb-map-controls{gap:6px!important;padding:8px!important}
  #ebb-app .ebb-map-controls button{min-width:40px!important;min-height:40px!important;padding:8px 10px!important;font-size:13px!important}
  #ebb-app .ebb-map-controls .ebb-zoom-label{min-width:62px!important}
  #ebb-app .ebb-map-controls .ebb-fullscreen-btn{margin-left:0!important}
  #ebb-app .ebb-map-scroll{max-height:62vh!important}
  #ebb-app .ebb-map-stage{min-width:0!important}
  #ebb-app .ebb-vector-map{min-height:0!important}
  #ebb-app .ebb-map-card.is-map-fullscreen{inset:0!important;border-radius:0!important}
  #ebb-app .ebb-map-card.is-map-fullscreen .ebb-map-scroll{max-height:none!important}
}

/* Trang do plugin tự tạo: tiêu đề WordPress thường trùng với tiêu đề bên trong hệ thống. */
body.ebb-booking-page .entry-header .entry-title,
body.ebb-booking-page h1.wp-block-post-title,
body.ebb-booking-page .page-header .page-title{
  display:none!important;
}
body.ebb-booking-page .entry-content,
body.ebb-booking-page .wp-block-post-content{
  margin-top:0!important;
}


/* V2.4 - iOS mobile refresh */
#ebb-app.ebb-app{
  --ebb-ios-bg:#f2f2f7;
  --ebb-ios-card:rgba(255,255,255,.88);
  --ebb-ios-stroke:rgba(15,23,42,.08);
  --ebb-ios-shadow:0 12px 40px rgba(15,23,42,.08);
  --ebb-ios-shadow-strong:0 20px 50px rgba(15,23,42,.14);
  --ebb-ios-blue:#0a84ff;
  --ebb-ios-text:#111827;
  --ebb-ios-sub:#6b7280;
  background:linear-gradient(180deg,#f8fafc 0%,#f2f4f7 42%,#eef2f6 100%);
  border-radius:30px;
}
#ebb-app .ebb-kicker{font-weight:900!important;letter-spacing:.16em!important}
#ebb-app .ebb-hero{
  background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.76) 100%)!important;
  backdrop-filter:saturate(180%) blur(22px)!important;
  -webkit-backdrop-filter:saturate(180%) blur(22px)!important;
  border:1px solid rgba(255,255,255,.9)!important;
  box-shadow:var(--ebb-ios-shadow)!important;
}
#ebb-app .ebb-hero h2{font-size:clamp(28px,4vw,48px)!important;letter-spacing:-.03em!important;font-weight:850!important}
#ebb-app .ebb-hero p{font-size:15px!important;max-width:860px!important}
#ebb-app .ebb-legend{background:rgba(255,255,255,.82)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important}
#ebb-app .ebb-zone-filter{gap:8px!important;padding:4px!important;background:rgba(255,255,255,.84)!important;border:1px solid rgba(15,23,42,.06)!important;border-radius:999px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 6px 18px rgba(15,23,42,.04)!important;overflow:auto;scrollbar-width:none}
#ebb-app .ebb-zone-filter::-webkit-scrollbar{display:none}
#ebb-app .ebb-zone-filter button{border-radius:999px!important;padding:11px 16px!important;min-height:42px!important;font-weight:800!important;border-color:transparent!important;background:transparent!important;white-space:nowrap}
#ebb-app .ebb-zone-filter button.is-active{background:linear-gradient(180deg,#0a84ff,#0066d6)!important;color:#fff!important;box-shadow:0 8px 20px rgba(10,132,255,.28)!important}
#ebb-app .ebb-toolbar{gap:14px!important;margin:18px 0 20px!important}
#ebb-app .ebb-search-wrap{position:relative;min-width:min(340px,100%)}
#ebb-app .ebb-search-wrap:before{content:"";position:absolute;left:14px;top:50%;width:16px;height:16px;transform:translateY(-50%);opacity:.52;background:no-repeat center/16px 16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E")}
#ebb-app .ebb-search-wrap input{min-height:48px!important;padding:12px 14px 12px 40px!important;border-radius:16px!important;border:1px solid rgba(15,23,42,.08)!important;background:rgba(255,255,255,.9)!important;box-shadow:0 6px 18px rgba(15,23,42,.04)!important}
#ebb-app .ebb-map-card,#ebb-app .ebb-cart-card,#ebb-app .ebb-quick-section{border:1px solid rgba(15,23,42,.06)!important;border-radius:28px!important;background:rgba(255,255,255,.88)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;box-shadow:var(--ebb-ios-shadow)!important}
#ebb-app .ebb-map-controls{padding:12px 14px!important;gap:10px!important;background:rgba(255,255,255,.84)!important}
#ebb-app .ebb-map-controls button{border-radius:15px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 6px 16px rgba(15,23,42,.05)!important;border:1px solid rgba(15,23,42,.08)!important}
#ebb-app .ebb-map-controls [data-map-action="minus"],#ebb-app .ebb-map-controls [data-map-action="plus"]{width:44px!important;padding:0!important;font-size:22px!important;font-weight:700!important}
#ebb-app .ebb-map-controls .ebb-fit-btn{background:#fff!important}
#ebb-app .ebb-map-controls .ebb-fullscreen-btn{background:linear-gradient(180deg,#fff,#f6f7fb)!important}
#ebb-app .ebb-map-scroll{background:linear-gradient(180deg,#f6f7f2 0%,#eef3da 100%)!important}
#ebb-app .ebb-cart-card{padding:18px!important}
#ebb-app .ebb-cart-head{font-size:16px!important}
#ebb-app .ebb-selected-item,#ebb-app .ebb-order-box,#ebb-app .ebb-payment-preview,#ebb-app .ebb-payment-summary,#ebb-app .ebb-booking-code-box,#ebb-app .ebb-bank-grid>div,#ebb-app .ebb-payment-deadline,#ebb-app .ebb-payment-warning,#ebb-app .ebb-payment-note{border-radius:18px!important}
#ebb-app .ebb-primary{min-height:52px!important;border-radius:18px!important;background:linear-gradient(180deg,#0a84ff,#0066d6)!important;box-shadow:0 14px 24px rgba(10,132,255,.26)!important;font-weight:850!important;font-size:15px!important}
#ebb-app .ebb-primary:disabled{box-shadow:none!important}
#ebb-app .ebb-modal-backdrop{background:rgba(17,24,39,.28)!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important}
body>.ebb-modal .ebb-modal-card{background:rgba(255,255,255,.94)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;border:1px solid rgba(255,255,255,.86)!important;border-radius:28px!important;box-shadow:var(--ebb-ios-shadow-strong)!important}
body>.ebb-modal .ebb-modal-card h3{letter-spacing:-.03em!important}
#ebb-app .ebb-form-grid label{font-size:12px!important;letter-spacing:.01em!important;color:#344054!important}
#ebb-app .ebb-form-grid input,#ebb-app .ebb-form-grid textarea{min-height:48px!important;padding:13px 14px!important;border-radius:16px!important;border:1px solid rgba(15,23,42,.09)!important;background:rgba(255,255,255,.92)!important;box-shadow:inset 0 1px 1px rgba(15,23,42,.03)!important;color:#101828!important}
#ebb-app .ebb-form-grid textarea{min-height:88px!important;resize:vertical}
#ebb-app .ebb-modal-close{width:40px!important;height:40px!important;top:16px!important;right:16px!important;background:rgba(243,244,246,.92)!important;box-shadow:0 6px 16px rgba(15,23,42,.08)!important}
#ebb-app .ebb-booth-grid{gap:10px!important}
#ebb-app .ebb-booth-card{border-radius:18px!important;padding:12px!important;box-shadow:0 4px 12px rgba(15,23,42,.03)!important}
#ebb-app .ebb-booth-card .code{letter-spacing:-.02em!important}
#ebb-app .ebb-section-title{align-items:center!important}
#ebb-app .ebb-section-title h3{letter-spacing:-.03em!important}
#ebb-app .ebb-map-note{padding:14px 16px!important}
#ebb-app .ebb-hold-timer{padding-top:6px!important;font-size:12px!important}

/* iOS mobile bottom CTA */
#ebb-app .ebb-mobile-bar{display:none}
@media(max-width:820px){
  #ebb-app.ebb-app{padding:12px 10px calc(112px + env(safe-area-inset-bottom))!important;border-radius:0!important;background:linear-gradient(180deg,#f7f8fb 0%,#eff2f6 100%)!important}
  #ebb-app .ebb-hero{display:grid!important;gap:12px!important;padding:18px 16px 16px!important;border-radius:24px!important}
  #ebb-app .ebb-hero h2{font-size:clamp(28px,9vw,38px)!important;line-height:.98!important}
  #ebb-app .ebb-legend{padding:10px 12px!important;border-radius:16px!important;width:100%!important;justify-content:space-between!important}
  #ebb-app .ebb-legend span{font-size:12px!important}
  #ebb-app .ebb-toolbar{display:grid!important;gap:12px!important}
  #ebb-app .ebb-zone-filter{padding:5px!important;gap:6px!important;flex-wrap:nowrap!important}
  #ebb-app .ebb-zone-filter button{padding:11px 14px!important;min-width:78px!important}
  #ebb-app .ebb-layout{display:block!important}
  #ebb-app .ebb-map-card{border-radius:24px!important;overflow:hidden!important}
  #ebb-app .ebb-map-controls{position:sticky!important;top:0!important;z-index:35!important;gap:8px!important;padding:10px!important}
  #ebb-app .ebb-map-controls .ebb-zoom-label{order:2;min-width:62px!important}
  #ebb-app .ebb-map-controls [data-map-action="minus"]{order:1}
  #ebb-app .ebb-map-controls [data-map-action="plus"]{order:3}
  #ebb-app .ebb-map-controls .ebb-fit-btn{order:4;flex:1 1 auto!important}
  #ebb-app .ebb-map-controls .ebb-fullscreen-btn{order:5;flex:1 1 auto!important;margin-left:0!important}
  #ebb-app .ebb-map-scroll{max-height:58vh!important;border-top:1px solid rgba(15,23,42,.04)!important}
  #ebb-app .ebb-cart-card{margin-top:14px!important;padding:14px!important;border-radius:24px!important}
  #ebb-app .ebb-selected-list{display:flex!important;gap:8px!important;overflow:auto!important;padding:10px 0 6px!important;scroll-snap-type:x proximity}
  #ebb-app .ebb-selected-item{min-width:170px!important;grid-template-columns:1fr auto 24px!important;scroll-snap-align:start}
  #ebb-app .ebb-addon{font-size:12px!important}
  #ebb-app .ebb-total{align-items:flex-end!important}
  #ebb-app .ebb-total strong{font-size:24px!important}
  #ebb-app .ebb-quick-section{margin-top:14px!important;padding:16px!important;border-radius:24px!important}
  #ebb-app .ebb-section-title{align-items:flex-start!important}
  #ebb-app .ebb-section-title h3{font-size:22px!important}
  #ebb-app .ebb-booth-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  body>.ebb-modal .ebb-modal-card{width:100%!important;max-height:min(92dvh,92vh)!important;margin:auto 0 0!important;border-radius:28px 28px 0 0!important;padding:20px 14px 24px!important}
  body>.ebb-modal .ebb-modal-card h3{font-size:28px!important;line-height:1.02!important;margin-bottom:14px!important}
  #ebb-app .ebb-form-grid{gap:10px!important}
  #ebb-app .ebb-payment-summary{grid-template-columns:1fr!important}
  #ebb-app .ebb-booking-code-box>strong{font-size:17px!important;word-break:break-word!important}
  #ebb-app .ebb-mobile-bar{display:block;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:2147482400;pointer-events:none;opacity:0;transform:translateY(18px);transition:opacity .2s ease,transform .2s ease}
  #ebb-app .ebb-mobile-bar.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
  #ebb-app .ebb-mobile-bar__inner{display:flex;align-items:center;gap:12px;padding:12px;background:rgba(255,255,255,.88);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.92);border-radius:22px;box-shadow:0 18px 44px rgba(15,23,42,.16)}
  #ebb-app .ebb-mobile-bar__meta{min-width:0;flex:1 1 auto;display:grid;gap:2px}
  #ebb-app .ebb-mobile-bar__meta span{font-size:12px;font-weight:700;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #ebb-app .ebb-mobile-bar__meta strong{font-size:19px;line-height:1.05;color:#101828;letter-spacing:-.03em}
  #ebb-app .ebb-mobile-bar__cta{flex:0 0 auto;min-width:148px;min-height:48px;padding:0 18px;border:0;border-radius:16px;background:linear-gradient(180deg,#0a84ff,#0066d6);color:#fff;font-size:15px;font-weight:850;box-shadow:0 14px 24px rgba(10,132,255,.26)}
  #ebb-app .ebb-mobile-bar__cta:disabled{opacity:.45;box-shadow:none}
}
@media(max-width:480px){
  #ebb-app .ebb-hero h2{font-size:clamp(26px,10vw,34px)!important}
  #ebb-app .ebb-hero p{font-size:14px!important}
  #ebb-app .ebb-map-controls button{font-size:12px!important}
  #ebb-app .ebb-map-controls .ebb-fit-btn,#ebb-app .ebb-map-controls .ebb-fullscreen-btn{min-width:0!important;padding:10px 10px!important}
  #ebb-app .ebb-booth-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #ebb-app .ebb-mobile-bar{left:10px;right:10px}
  #ebb-app .ebb-mobile-bar__inner{gap:10px;padding:10px 10px 10px 12px}
  #ebb-app .ebb-mobile-bar__cta{min-width:128px;font-size:14px}
}
