/* BookMyTable styles */
.bmt-form{max-width:760px;margin:24px auto;background:#fff;padding:28px;border-radius:14px;box-shadow:0 4px 20px rgba(0,0,0,.05);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.bmt-form h2{margin:0 0 6px;font-size:24px}
.bmt-form h3{margin:24px 0 10px;font-size:16px;color:#374151}
.bmt-form label{display:block;margin:12px 0;font-size:14px;color:#374151;font-weight:500}
.bmt-form input[type=text],.bmt-form input[type=email],.bmt-form input[type=url],.bmt-form input[type=tel],.bmt-form input[type=number],.bmt-form input[type=date],.bmt-form input[type=time],.bmt-form textarea,.bmt-form select{
    display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;color:#111;box-sizing:border-box;font-family:inherit
}
.bmt-form textarea{resize:vertical;min-height:80px}
.bmt-form input:focus,.bmt-form textarea:focus,.bmt-form select:focus{outline:none;border-color:#111;box-shadow:0 0 0 3px rgba(0,0,0,.08)}
.bmt-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.bmt-row label{margin:6px 0}
.bmt-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.bmt-checks label{display:flex;align-items:center;gap:8px;font-weight:400;margin:4px 0}
.bmt-hours{display:flex;flex-direction:column;gap:8px}
.bmt-hours-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bmt-hours-row > span:first-child{min-width:40px;font-weight:600}
.bmt-hours-row input[type=time]{width:auto;margin:0}
.bmt-closed{margin:0!important;font-weight:400!important;display:flex;align-items:center;gap:6px}
.bmt-btn{display:inline-block;padding:11px 22px;border:1px solid #111;border-radius:10px;background:#fff;color:#111;font-weight:600;cursor:pointer;text-decoration:none;font-size:14px;font-family:inherit}
.bmt-btn:hover{background:#f3f4f6}
.bmt-btn-primary{background:#111;color:#fff}
.bmt-btn-primary:hover{background:#000;color:#fff}
.bmt-notice{padding:14px 16px;border-radius:10px;margin:0 0 16px;font-size:14px}
.bmt-notice-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.bmt-notice-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.bmt-muted{color:#6b7280;font-size:13px}

/* Grid / cards */
.bmt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin:24px 0}
.bmt-card{display:block;background:#fff;border-radius:14px;overflow:hidden;border:1px solid #e5e7eb;text-decoration:none;color:inherit;transition:transform .15s, box-shadow .15s}
.bmt-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.bmt-card-cover{display:block;width:100%;height:180px;object-fit:cover}
.bmt-card-body{padding:14px 16px}
.bmt-card-logo{width:40px;height:40px;border-radius:50%;object-fit:cover;margin-bottom:8px}
.bmt-card h3{margin:0 0 4px;font-size:18px}

/* Restaurant page */
.bmt-rest{max-width:1200px;margin:0 auto;padding:24px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.bmt-hero{height:340px;background-size:cover;background-position:center;border-radius:18px;margin-bottom:24px}
.bmt-rest-head{display:flex;gap:20px;align-items:flex-start;margin-bottom:28px;flex-wrap:wrap}
.bmt-rest-logo{width:84px;height:84px;border-radius:14px;object-fit:cover;border:1px solid #e5e7eb}
.bmt-rest-head h1{margin:0 0 4px;font-size:32px}
.bmt-rest-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:32px;align-items:flex-start}
@media (max-width:900px){.bmt-rest-grid{grid-template-columns:1fr}}
.bmt-rest-main section{margin-bottom:28px}
.bmt-rest-main h2{font-size:20px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}
.bmt-amenities{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}
.bmt-amenities li{padding:8px 12px;background:#f9fafb;border-radius:8px;font-size:14px}
.bmt-amenities li::before{content:"✓ ";color:#16a34a;font-weight:bold}
.bmt-hours-list li{display:flex;justify-content:space-between;gap:12px}
.bmt-hours-list li::before{content:""}
.bmt-hours-list li strong{font-weight:600}
.bmt-rest-price-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0}
.bmt-view-menu-top{padding:6px 12px;font-size:14px}
.bmt-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.bmt-gallery img{width:100%;height:120px;object-fit:cover;border-radius:8px;display:block}
.bmt-socials{display:flex;flex-wrap:wrap;gap:8px}
.bmt-chip{display:inline-block;padding:6px 14px;border-radius:999px;background:#f3f4f6;color:#111;text-decoration:none;font-size:13px;font-weight:500;border:1px solid transparent}
.bmt-chip:hover{background:#e5e7eb}
.bmt-chip.active{background:#111;color:#fff}
.bmt-rest-aside{position:sticky;top:20px;align-self:flex-start;max-height:calc(100vh - 40px);overflow-y:auto}
@media (max-width:900px){.bmt-rest-aside{position:static;max-height:none;overflow:visible}}
.bmt-book{background:#fff;padding:24px;border-radius:14px;border:1px solid #e5e7eb;box-shadow:0 4px 20px rgba(0,0,0,.04)}
.bmt-book h2{margin:0 0 12px;font-size:22px}
.bmt-book .bmt-form{box-shadow:none;padding:0;margin:0}

/* Dashboard */
.bmt-dash{display:grid;grid-template-columns:240px 1fr;min-height:80vh;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f9fafb;border-radius:14px;overflow:hidden;margin:24px auto;max-width:1300px;border:1px solid #e5e7eb}
@media (max-width:780px){.bmt-dash{grid-template-columns:1fr}}
.bmt-side{background:#111;color:#fff;padding:20px}
.bmt-brand{font-weight:700;font-size:18px;margin-bottom:18px}
.bmt-rest-select select,.bmt-rest-name{width:100%;padding:10px;border-radius:8px;background:#1f2937;color:#fff;border:1px solid #374151;font-size:14px;margin-bottom:16px;box-sizing:border-box}
.bmt-nav{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.bmt-nav a{color:#d1d5db;text-decoration:none;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:500}
.bmt-nav a:hover{background:#1f2937;color:#fff}
.bmt-nav a.active{background:#fff;color:#111}
.bmt-view-page,.bmt-logout{display:block;color:#9ca3af;text-decoration:none;font-size:13px;margin-top:16px}
.bmt-view-page:hover,.bmt-logout:hover{color:#fff}
.bmt-main{padding:32px;background:#fff}
.bmt-main h1{margin:0 0 24px;font-size:26px}
.bmt-main h2{margin:24px 0 12px;font-size:18px}
.bmt-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:24px}
.bmt-stat{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:16px}
.bmt-stat span{display:block;font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.bmt-stat strong{font-size:28px;color:#111}
.bmt-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.bmt-table-wrap{overflow-x:auto}
.bmt-table{width:100%;border-collapse:collapse;font-size:14px}
.bmt-table th,.bmt-table td{padding:12px;text-align:left;border-bottom:1px solid #f1f5f9;vertical-align:top}
.bmt-table th{font-weight:600;font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;background:#f9fafb}
.bmt-badge{display:inline-block;padding:4px 10px;border-radius:999px;color:#fff;font-size:12px;font-weight:600}
.bmt-status-select{padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff;font-family:inherit}
.bmt-form-status{margin-top:12px;font-size:14px}
.bmt-form-status.error{color:#991b1b}
.bmt-form-status.success{color:#065f46}
.bmt-form-status.confirmation{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;padding:18px;border-radius:10px;margin-top:0;font-size:15px}

/* v1.1 additions */
.bmt-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.bmt-toolbar h1{margin:0}
.bmt-btn-danger{border-color:#dc2626;color:#dc2626;background:#fff}
.bmt-btn-danger:hover{background:#fef2f2}
.bmt-table.bmt-clickable tbody tr{cursor:pointer}
.bmt-table.bmt-clickable tbody tr:hover{background:#f9fafb}

/* OTP */
.bmt-otp-box{background:#f9fafb;border:1px solid #e5e7eb;padding:20px;border-radius:12px;margin-top:12px}
.bmt-otp-box h3{margin:0 0 8px}
.bmt-otp-input{font-size:24px;letter-spacing:10px;text-align:center;padding:12px;width:100%;border:1px solid #d1d5db;border-radius:8px;margin:10px 0;box-sizing:border-box;font-family:inherit}
.bmt-otp-resend{background:none;border:none;color:#2563eb;cursor:pointer;font-size:13px;margin-left:8px;text-decoration:underline}

/* Modal */
.bmt-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}
.bmt-modal[hidden]{display:none}
.bmt-modal-backdrop{position:absolute;inset:0;background:rgba(17,17,17,.55)}
.bmt-modal-card{position:relative;background:#fff;border-radius:14px;max-width:720px;width:100%;max-height:90vh;overflow:auto;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.bmt-modal-close{position:absolute;top:10px;right:14px;background:none;border:none;font-size:28px;cursor:pointer;color:#6b7280}
.bmt-detail h2{margin:0 0 4px;font-size:22px;display:flex;align-items:center;gap:12px}
.bmt-detail h3{margin:20px 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}
.bmt-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;background:#f9fafb;padding:14px;border-radius:10px}
.bmt-detail-grid > div{display:flex;flex-direction:column}
.bmt-detail-grid strong{font-size:14px;color:#111;margin-top:2px}
.bmt-detail-grid .bmt-muted{font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.bmt-quote{background:#f9fafb;border-left:4px solid #111;padding:10px 14px;border-radius:6px;font-size:14px}
.bmt-admin-note{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:14px;box-sizing:border-box;resize:vertical}
.bmt-detail-msg{margin-top:8px;font-size:13px}
.bmt-detail-msg.success{color:#065f46} .bmt-detail-msg.error{color:#991b1b}
.bmt-timer{font-variant-numeric:tabular-nums;color:#2563eb}

/* v1.2 additions */
.bmt-toolbar-right{display:flex;gap:8px}
.bmt-search-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 16px}
.bmt-search-bar input[type=text],.bmt-search-bar select{padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;min-width:200px}
.bmt-chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;margin-top:8px}
.bmt-chart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}
.bmt-chart-head h2{margin:0;font-size:16px}
.bmt-chart-toggle{display:flex;gap:6px}
.bmt-chart-type{padding:6px 14px;font-size:13px}
.bmt-chart-type.active{background:#111;color:#fff}
.bmt-tax-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.bmt-tax-col{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:18px}
.bmt-tax-col h2{margin:0 0 12px;font-size:16px}
.bmt-tax-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.bmt-tax-list li{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;font-size:14px}
.bmt-tax-list .bmt-btn{padding:4px 10px;font-size:12px}
/* Search form */
.bmt-search-wrap{max-width:1000px;margin:24px auto;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.bmt-search-form{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;box-shadow:0 4px 20px rgba(0,0,0,.04)}
.bmt-search-row{display:grid;grid-template-columns:2fr 1.2fr 1.2fr auto;gap:12px;align-items:end}
@media (max-width:780px){.bmt-search-row{grid-template-columns:1fr}}
.bmt-search-field label{display:block;font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-weight:600}
.bmt-search-field input,.bmt-search-field select{width:100%;padding:11px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;box-sizing:border-box;background:#fff}
.bmt-search-submit .bmt-btn{width:100%;padding:11px 22px}
.bmt-suggest-wrap{position:relative}
.bmt-suggest-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-top:6px;box-shadow:0 10px 30px rgba(0,0,0,.1);z-index:50;max-height:360px;overflow:auto}
.bmt-suggest-item{display:flex;gap:10px;align-items:center;padding:10px 12px;text-decoration:none;color:#111;border-bottom:1px solid #f1f5f9;font-size:14px}
.bmt-suggest-item:last-child{border-bottom:none}
.bmt-suggest-item:hover{background:#f9fafb}
.bmt-suggest-item img,.bmt-suggest-thumb{width:44px;height:44px;border-radius:8px;object-fit:cover;background:#f3f4f6;flex-shrink:0}
.bmt-suggest-item em{color:#6b7280;font-style:normal;font-size:12px}
.bmt-search-title{margin:20px 0 12px;font-size:16px;color:#374151}

/* v1.3.0 */
.bmt-card-wrap{position:relative}
.bmt-card-ft{position:absolute;top:8px;left:8px;background:#0ea5e9;color:#fff;padding:4px 8px;border-radius:6px;font-size:12px;z-index:2}
.bmt-fav{position:absolute;top:8px;right:8px;background:rgba(255,255,255,.95);border:0;width:34px;height:34px;border-radius:50%;font-size:18px;cursor:pointer;z-index:3;color:#9ca3af;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.12);transition:transform .15s ease,color .15s ease}
.bmt-fav:hover{transform:scale(1.08);color:#e0a800}
/* v3.7 — saved favourites are gold. */
.bmt-fav.on{background:rgba(255,255,255,.97);color:#e6b400}
.bmt-fav.on .fa-heart{color:#e6b400;filter:drop-shadow(0 1px 2px rgba(0,0,0,.18))}

/* v3.7 — Google Reviews */
.bmt-g-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:1;padding:4px 9px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:inherit;text-decoration:none;white-space:nowrap}
.bmt-g-pill:hover{border-color:#dadce0;box-shadow:0 1px 6px rgba(0,0,0,.08)}
.bmt-g-pill .bmt-g-stars{font-size:11px}
.bmt-g-pill-sm{font-size:11px;padding:3px 8px}
.bmt-g-logo{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-weight:700;font-family:Arial,Helvetica,sans-serif;background:conic-gradient(#4285f4 0 25%,#ea4335 0 50%,#fbbc05 0 75%,#34a853 0);color:#fff;font-size:11px;text-shadow:0 1px 1px rgba(0,0,0,.25)}
.bmt-g-card .bmt-rev-card-title{display:flex;align-items:center;gap:8px}
.bmt-g-card-body{display:flex;flex-direction:column;gap:10px}
.bmt-g-meter{display:block;height:8px;border-radius:999px;background:#f1f2f4;overflow:hidden}
.bmt-g-meter-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#4285f4,#34a853)}
.bmt-g-readall{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-weight:600;font-size:13px;text-decoration:none}
.bmt-g-readall:hover{text-decoration:underline}
.bmt-card-meta{display:flex;gap:8px;align-items:center;margin-top:6px;flex-wrap:wrap;font-size:13px}
.bmt-stars{color:#f59e0b;letter-spacing:1px}
.bmt-star.e{color:#e5e7eb}
.bmt-stars-val{font-weight:600}
.bmt-price-pill{display:inline-block;background:#f3f4f6;padding:2px 8px;border-radius:6px;font-weight:600}
.bmt-price-lg{font-size:16px;padding:4px 12px}
.bmt-rest-rating{margin:4px 0}
.bmt-hello{padding:0 16px 12px;color:#6b7280;font-size:14px}
.bmt-pending-note{margin:8px 16px;padding:8px;background:#fef3c7;color:#92400e;border-radius:6px;font-size:13px;text-align:center}
.bmt-multi{position:relative}
.bmt-multi-toggle{background:#fff;border:1px solid #d1d5db;padding:8px 12px;border-radius:6px;cursor:pointer;width:100%;text-align:left}
.bmt-multi-pop{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px;max-height:260px;overflow:auto;z-index:50;box-shadow:0 6px 24px rgba(0,0,0,.08)}
.bmt-multi-pop label{display:block;padding:4px 6px;font-size:14px}
.bmt-firsttable-card{background:#ecfeff;border:1px solid #06b6d4;padding:16px;border-radius:10px;margin:16px 0}
.bmt-ft-badge{display:inline-block;background:#0ea5e9;color:#fff;padding:4px 10px;border-radius:6px;font-size:12px}
.bmt-reviews{margin-top:32px}
.bmt-review{padding:12px;border-bottom:1px solid #e5e7eb}
.bmt-review-head{display:flex;gap:10px;align-items:center;margin-bottom:4px;flex-wrap:wrap}
.bmt-rate-row{display:flex;gap:12px;align-items:center;margin:6px 0}
.bmt-rate-label{min-width:90px;font-weight:600}
.bmt-rate-star{background:none;border:0;font-size:22px;cursor:pointer;color:#f59e0b;padding:0 2px}
.bmt-bcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:12px 0 24px}
.bmt-bcard{border:1px solid #e5e7eb;border-radius:10px;padding:14px;background:#fff}
.bmt-bcard-head{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.bmt-bcard-head img{width:42px;height:42px;border-radius:6px;object-fit:cover}
.bmt-bcard-name{font-weight:700;text-decoration:none;color:#111}
.bmt-bcard-meta{display:flex;gap:12px;font-size:14px;color:#374151;margin:8px 0}
.bmt-bcard-actions{display:flex;gap:6px;flex-wrap:wrap}
.bmt-account .bmt-acct-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.bmt-acct-tabs a{margin-right:10px;color:#6b7280;text-decoration:none;padding:6px 0}
.bmt-acct-tabs a.active{color:#111;border-bottom:2px solid #111}
.bmt-acct-logout{margin-left:14px;color:#dc2626 !important}
.bmt-st-pending{background:#f59e0b}
.bmt-st-draft{background:#6b7280}
.bmt-st-publish{background:#16a34a}

/* ===== v1.4.0 additions ===== */

/* Search form: explicit checkbox left of label */
.bmt-multi-pop .bmt-check-row{display:flex;align-items:center;gap:8px;padding:6px 6px;cursor:pointer;font-weight:400}
.bmt-multi-pop .bmt-check-row input[type=checkbox]{margin:0;flex:0 0 auto}
.bmt-multi-pop .bmt-check-row span{flex:1}
.bmt-multi-label{display:block;font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-weight:600}
.bmt-form .bmt-checks .bmt-check-row{display:flex;align-items:center;gap:8px;font-weight:400;margin:4px 0}
.bmt-form .bmt-checks .bmt-check-row input[type=checkbox]{margin:0}

/* Card badges */
.bmt-card-special{position:absolute;top:8px;right:50px;background:#BE923A;color:#fff;padding:4px 8px;border-radius:6px;font-size:12px;z-index:2;font-weight:600}

/* Restaurant header contact pills */
.bmt-rest-head{justify-content:space-between}
.bmt-rest-head-info{flex:1;min-width:240px}
.bmt-rest-contact{display:flex;flex-direction:column;gap:6px;align-items:flex-end;min-width:200px}
@media (max-width:780px){.bmt-rest-contact{align-items:flex-start;width:100%}}
.bmt-contact-pill{display:inline-block;padding:8px 14px;border-radius:999px;background:#f3f4f6;color:#01000E;text-decoration:none;font-size:13px;font-weight:500;border:1px solid #e5e7eb}
.bmt-contact-pill:hover{background:#e5e7eb}
.bmt-take-me-there{background:#BE923A;color:#fff!important;border-color:#BE923A}
.bmt-take-me-there:hover{background:#a37c30;color:#fff}

/* Availability grid (Live Availability widget) */
.bmt-av-section{margin:24px 0}
.bmt-av-section > h2{font-size:20px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}
.bmt-av-widget{background:#0e1116;color:#f5f6f8;border-radius:14px;padding:18px;font-family:inherit}
.bmt-av-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.bmt-av-title{font-size:17px;font-weight:700;color:#f5f6f8;display:inline-flex;align-items:center;gap:8px}
.bmt-av-title i{color:#f5f6f8}
.bmt-av-viewcal{color:#f5c463;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.bmt-av-viewcal:hover{color:#ffd88a}

.bmt-av-days{display:flex;align-items:stretch;gap:8px;margin-bottom:18px}
.bmt-av-daylist{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;flex:1;min-width:0}
@media (max-width:780px){.bmt-av-daylist{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.bmt-av-day-pill{flex:0 0 84px;scroll-snap-align:start}}
.bmt-av-day-pill{background:#1a1f27;color:#e6e7ea;border:1px solid transparent;border-radius:10px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}
.bmt-av-day-pill:hover{background:#232a34}
.bmt-av-day-pill.is-active{background:#f5a623;color:#0e1116;border-color:#f5a623}
.bmt-av-day-name{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.85}
.bmt-av-day-date{font-size:14px;font-weight:700}
.bmt-av-nav{background:#1a1f27;color:#e6e7ea;border:0;border-radius:10px;width:38px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px}
.bmt-av-nav:hover{background:#232a34}
.bmt-av-nav[disabled]{opacity:.35;cursor:not-allowed}

.bmt-av-body{margin-bottom:14px}
.bmt-av-section{margin:0 0 14px}
.bmt-av-sec-head{color:#e6e7ea;font-size:14px;margin:0 0 8px;display:flex;align-items:baseline;gap:10px}
.bmt-av-sec-head strong{font-weight:700}
.bmt-av-sec-head span{color:#9aa1ab;font-size:12px;font-weight:500}
.bmt-av-slots{display:flex;flex-wrap:wrap;gap:8px}
.bmt-av-slot{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:8px 12px;border-radius:8px;border:1.5px solid transparent;background:transparent;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;font-family:inherit;transition:transform .12s,background .15s}
.bmt-av-slot:hover{transform:translateY(-1px)}
.bmt-av-available{border-color:#22c55e;color:#22c55e}
.bmt-av-available:hover{background:rgba(34,197,94,.12);color:#22c55e}
.bmt-av-limited{border-color:#f59e0b;color:#f59e0b}
.bmt-av-limited:hover{background:rgba(245,158,11,.12);color:#f59e0b}
.bmt-av-full{border-color:#ef4444;color:#ef4444}
.bmt-av-full.is-disabled{cursor:not-allowed;opacity:.75}
.bmt-av-full.is-disabled:hover{transform:none;background:transparent}
.bmt-av-ft{border-style:dashed}
.bmt-av-closed{color:#9aa1ab;font-size:14px;padding:22px;text-align:center;background:#151a20;border-radius:10px}
.bmt-av-closed i{margin-right:6px}

.bmt-av-legend{display:flex;flex-wrap:wrap;gap:14px 20px;padding-top:12px;border-top:1px solid #1c2129;color:#c9ccd3;font-size:12px}
.bmt-av-legend-item{display:inline-flex;align-items:center;gap:6px}
.bmt-av-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.bmt-av-dot-green{background:#22c55e}
.bmt-av-dot-orange{background:#f59e0b}
.bmt-av-dot-red{background:#ef4444}
.bmt-av-dot-dashed{background:transparent;border:1.5px dashed #c9ccd3;border-radius:3px;width:14px;height:10px}

/* Legacy admin grid preview */
.bmt-av-grid{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px;overflow:hidden}
.bmt-av-scroll{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:8px}
.bmt-av-col{display:flex;flex-direction:column;gap:6px}
.bmt-av-head{text-align:center;padding:8px 4px;border-radius:8px;background:#f9fafb}
.bmt-av-day{display:block;font-size:11px;text-transform:uppercase;color:#6b7280;font-weight:600;letter-spacing:.05em}
.bmt-av-date{display:block;font-size:14px;font-weight:700;color:#01000E}
.bmt-av-disc{background:#BE923A;color:#fff;text-align:center;padding:5px;border-radius:6px;font-size:12px;font-weight:700}
.bmt-av-disc-empty{height:0}
.bmt-av-sold{background:#f3f4f6;color:#9ca3af;text-align:center;padding:9px 6px;border-radius:6px;font-size:13px;font-weight:500}
.bmt-av-soldout{text-align:center;color:#9ca3af;font-size:12px;padding:8px}
.bmt-av-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;margin-top:6px}
.bmt-av-times label{display:flex;align-items:center;gap:6px;font-weight:400;background:#f9fafb;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:13px}

/* Specials */
.bmt-special-card{display:flex;gap:18px;background:linear-gradient(135deg,#01000E,#2a2a4a);color:#fff;padding:20px;border-radius:14px;margin:18px 0;overflow:hidden;flex-wrap:wrap}
.bmt-special-img{flex:0 0 180px;min-height:140px;background-size:cover;background-position:center;border-radius:10px}
.bmt-special-body{flex:1;min-width:240px}
.bmt-special-body h2{margin:6px 0 8px;color:#fff;font-size:22px}
.bmt-special-body p{color:#e5e7eb}
.bmt-special-badge{display:inline-block;background:#BE923A;color:#fff;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:700}
.bmt-special-disc{background:#BE923A;color:#fff;padding:3px 10px;border-radius:6px;font-size:14px;margin-left:6px}
.bmt-special-coupon{background:#BE923A;color:#fff;padding:3px 8px;border-radius:4px;font-family:monospace;font-weight:700}
.bmt-special-countdown{background:rgba(255,255,255,.1);border:1px solid #BE923A;color:#fff;padding:10px 14px;border-radius:8px;margin-top:10px;font-size:14px}
.bmt-special-countdown strong{font-variant-numeric:tabular-nums;color:#BE923A;font-size:16px}
.bmt-special-rules{font-size:12px;color:#d1d5db;margin-top:10px}

/* First Table card (shortcode) */
.bmt-ftgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin:24px 0}
.bmt-ftcard{display:flex;flex-direction:column;background:#fff;border-radius:14px;overflow:hidden;border:1px solid #e5e7eb;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 20px rgba(1,0,14,.05)}
.bmt-ftcard:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(1,0,14,.12)}
.bmt-ftcard-cover{position:relative;height:200px;background:#f3f4f6 center/cover}
.bmt-ftcard-disc{position:absolute;top:12px;left:12px;background:#BE923A;color:#fff;font-weight:800;padding:8px 14px;border-radius:8px;font-size:15px;letter-spacing:.5px}
.bmt-ftcard-special{position:absolute;top:12px;right:12px;background:#01000E;color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:700}
.bmt-ftcard-body{padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.bmt-ftcard-body h3{margin:0;color:#01000E;font-size:19px}
.bmt-ftcard-cuisine{margin:0;color:#BE923A;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.05em}
.bmt-ftcard-meta{margin:4px 0}
.bmt-ftcard-days{background:#f9fafb;color:#01000E;padding:6px 10px;border-radius:6px;font-size:13px;font-weight:500}
.bmt-ftcard-cta{margin-top:10px;color:#BE923A;font-weight:700;font-size:13px}

/* Sticky mobile book button */
.bmt-sticky-book{display:none;position:fixed;bottom:16px;left:16px;right:16px;background:#BE923A;color:#fff!important;text-align:center;padding:14px;border-radius:12px;text-decoration:none;font-weight:700;font-size:16px;box-shadow:0 6px 20px rgba(190,146,58,.4);z-index:999}
.bmt-sticky-book:hover{background:#a37c30;color:#fff}
@media (max-width:780px){.bmt-sticky-book.show{display:block}}

/* Gallery management (settings) */
.bmt-gallery-edit{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px}
.bmt-gallery-edit-item{position:relative}
.bmt-gallery-edit-item img{width:100%;height:100px;object-fit:cover;border-radius:8px;display:block}
.bmt-gallery-edit-item label{display:flex;align-items:center;gap:6px;background:#fef2f2;color:#991b1b;padding:4px 8px;border-radius:0 0 8px 8px;font-size:12px;cursor:pointer;font-weight:500}

/* Image upload previews */
.bmt-image-previews{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.bmt-image-previews img{width:80px;height:80px;object-fit:cover;border-radius:6px;border:1px solid #e5e7eb}

/* Google places dropdown styling */
.pac-container{z-index:100000!important;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.15);font-family:inherit}

/* OTP countdown */
.bmt-otp-countdown{font-size:13px;color:#6b7280;margin-top:6px}
.bmt-otp-countdown strong{color:#BE923A;font-variant-numeric:tabular-nums}
.bmt-otp-countdown.expired{color:#991b1b}

/* Themed primary button override */
.bmt-btn-primary{background:#BE923A;border-color:#BE923A;color:#fff}
.bmt-btn-primary:hover{background:#a37c30;border-color:#a37c30;color:#fff}

/* ===== v1.5.0 ===== */
/* Per-category stars (reviews) */
.bmt-review-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px 16px;margin:6px 0 8px}
.bmt-cat-row{display:flex;align-items:center;gap:8px;font-size:13px}
.bmt-cat-label{min-width:64px;color:#6b7280}
.bmt-cat-stars{display:inline-flex;gap:1px;font-size:14px;line-height:1}
.bmt-cat-star.f{color:#BE923A}
.bmt-cat-star.e{color:#d1d5db}
.bmt-review-reply{background:#f9fafb;border-left:4px solid #BE923A;padding:10px 12px;margin-top:8px;border-radius:0 8px 8px 0}
.bmt-review-reply strong{display:inline-block;margin-right:6px}
.bmt-review-reply-form textarea{width:100%;margin-bottom:6px}

/* Share menu */
.bmt-share-wrap{position:relative;display:inline-block}
.bmt-share-menu{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 36px rgba(0,0,0,.12);padding:8px;min-width:180px;z-index:50;display:flex;flex-direction:column;gap:2px}
.bmt-share-menu a, .bmt-share-menu button{display:block;padding:8px 10px;border-radius:6px;text-decoration:none;color:#01000E;background:none;border:0;text-align:left;cursor:pointer;font:inherit}
.bmt-share-menu a:hover, .bmt-share-menu button:hover{background:#f3f4f6}
.bmt-rest-top-actions{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}

/* Subscribe button */
.bmt-sub-btn.is-on{background:#BE923A;color:#fff;border-color:#BE923A}

/* Notification bell */
.bmt-bell-wrap{position:relative;display:inline-block}
.bmt-bell{background:none;border:0;font-size:20px;cursor:pointer;position:relative;line-height:1;padding:6px}
.bmt-bell-count{position:absolute;top:-2px;right:-2px;background:#dc2626;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:1px 6px;min-width:16px;text-align:center}
.bmt-bell-pop{position:absolute;top:calc(100% + 6px);right:0;width:340px;max-width:92vw;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.14);z-index:1000}
.bmt-bell-head{padding:12px 14px;border-bottom:1px solid #f3f4f6}
.bmt-bell-body{max-height:380px;overflow:auto;padding:6px}
.bmt-bell-foot{padding:8px 14px;border-top:1px solid #f3f4f6;text-align:right}
.bmt-bell-foot a{color:#BE923A;text-decoration:none;font-weight:600;font-size:13px}
.bmt-notif-list{list-style:none;margin:0;padding:0}
.bmt-notif-item a{display:flex;gap:10px;padding:10px;text-decoration:none;color:#01000E;border-radius:8px}
.bmt-notif-item a:hover{background:#f9fafb}
.bmt-notif-item.bmt-unread{background:#fff8e6}
.bmt-notif-thumb img{width:40px;height:40px;border-radius:8px;object-fit:cover;display:block}
.bmt-notif-dot{width:40px;height:40px;display:grid;place-items:center;background:#f3f4f6;border-radius:8px;font-size:18px}
.bmt-notif-body{display:flex;flex-direction:column;font-size:13px;line-height:1.35;flex:1;min-width:0}
.bmt-notif-body strong{color:#BE923A;font-size:12px;text-transform:uppercase;letter-spacing:.4px}
.bmt-notif-title{font-weight:600;margin-top:2px}
.bmt-notif-msg{color:#374151}
.bmt-notif-meta{color:#9ca3af;font-size:11px;margin-top:2px}
.bmt-notif-empty{padding:20px;text-align:center;color:#9ca3af}

/* Horizontal scroll carousel for shortcode grids */
.bmt-carousel{position:relative}
.bmt-carousel-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:6px}
.bmt-carousel-track::-webkit-scrollbar{display:none}
.bmt-carousel-track > *{flex:0 0 calc((100% - 42px) / 4);scroll-snap-align:start;min-width:240px}
@media (max-width:980px){ .bmt-carousel-track > *{flex:0 0 calc((100% - 28px) / 3)} }
@media (max-width:780px){ .bmt-carousel-track > *{flex:0 0 calc((100% - 14px) / 2)} }
@media (max-width:520px){ .bmt-carousel-track > *{flex:0 0 85%} }
.bmt-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:#01000E;color:#fff;border:0;width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:18px;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.15);z-index:2}
.bmt-carousel-btn.prev{left:-10px}
.bmt-carousel-btn.next{right:-10px}
.bmt-carousel-btn:disabled{opacity:.3;cursor:not-allowed}

/* All restaurants two-column layout with left filters */
.bmt-all-layout{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start}
@media (max-width:880px){ .bmt-all-layout{grid-template-columns:1fr} }
.bmt-all-filters{position:sticky;top:80px}
.bmt-filters-side{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px}
.bmt-filters-side h3{margin:14px 0 6px;font-size:14px;text-transform:uppercase;letter-spacing:.4px;color:#01000E}
.bmt-filters-side h3:first-child{margin-top:0}
.bmt-filters-side .bmt-side-input{width:100%;padding:8px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px}
.bmt-side-checks{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow:auto}
.bmt-side-checks label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;padding:2px 0}

/* Blocked notice card */
.bmt-blocked-card{background:#fef2f2;color:#7f1d1d;border:1px solid #fecaca;border-radius:12px;padding:20px;text-align:center}
.bmt-blocked-card h2{margin-top:0;color:#7f1d1d}

/* Party size editor */
.bmt-party-edit{display:inline-flex;align-items:center;gap:6px}
.bmt-party-edit .bmt-btn{padding:0 10px;height:28px;line-height:28px;min-width:32px;text-align:center;font-weight:700}
.bmt-party-val{min-width:24px;text-align:center;font-size:16px}

/* Subscriptions */
.bmt-sub-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.bmt-sub-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px}
.bmt-sub-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.bmt-sub-head img{width:36px;height:36px;border-radius:8px;object-fit:cover}
.bmt-sub-form label{display:block;margin-bottom:4px;font-size:14px}
.bmt-sub-actions{display:flex;gap:6px;margin-top:8px}

/* Contact block */
.bmt-contact-block{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px;line-height:1.6}
.bmt-contact-block p{margin:6px 0}

/* Preferences form */
.bmt-prefs-form label{display:block;padding:8px 0;font-size:15px}

/* ===== v1.6.0 additions ===== */

/* Brown FT booking code */
.bmt-code-ft{color:#BE923A!important}

/* My Restaurants grid */
.bmt-myrests{display:grid;grid-template-columns:1fr;gap:18px}
.bmt-myrest-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}
.bmt-myrest-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.bmt-myrest-head h2{margin:0;font-size:18px}
.bmt-myrest-head h2 a{color:#111;text-decoration:none}
.bmt-myrest-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:13px}
.bmt-myrest-controls input[type=date]{padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px}
.bmt-mr-presets{display:flex;gap:4px}
.bmt-mr-presets .bmt-btn{padding:6px 10px;font-size:12px}

/* Floor plan */
.bmt-fp-toggle{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:10px 14px;margin-bottom:14px}
.bmt-fp-toggle > summary{cursor:pointer;padding:4px 0}
.bmt-fp-wrap{padding:6px 0}
.bmt-fp-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px;font-size:13px}
.bmt-fp-controls input[type=date],.bmt-fp-controls input[type=time]{padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px}
.bmt-fp-legend{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:12px;color:#6b7280}
.bmt-fp-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:middle}
.bmt-fp-dot.bmt-fp-free{background:#16a34a}
.bmt-fp-dot.bmt-fp-partial{background:#f59e0b}
.bmt-fp-dot.bmt-fp-full{background:#dc2626}
.bmt-fp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.bmt-fp-table{border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#fff}
.bmt-fp-table.bmt-fp-free .bmt-fp-square{background:#dcfce7;border-color:#16a34a}
.bmt-fp-table.bmt-fp-partial .bmt-fp-square{background:#fef3c7;border-color:#f59e0b}
.bmt-fp-table.bmt-fp-full .bmt-fp-square{background:#fee2e2;border-color:#dc2626}
.bmt-fp-label{font-size:12px;font-weight:600;text-align:center;margin-bottom:6px;color:#111}
.bmt-fp-shape{position:relative;width:120px;height:120px;margin:0 auto}
.bmt-fp-square{position:absolute;top:30px;left:30px;width:60px;height:60px;border:2px solid #6b7280;border-radius:8px;background:#f3f4f6}
.bmt-fp-seat{position:absolute;width:14px;height:14px;border-radius:3px;background:#f3f4f6;border:1px solid #9ca3af}
.bmt-fp-seat.bmt-fp-seat-used{background:#dc2626;border-color:#991b1b}
/* Position the first 8 seats around the table — extras stack at bottom */
.bmt-fp-seat-1{top:8px;left:24px}
.bmt-fp-seat-2{top:8px;left:54px}
.bmt-fp-seat-3{top:8px;left:84px}
.bmt-fp-seat-4{top:54px;left:8px}
.bmt-fp-seat-5{top:54px;right:8px;left:auto}
.bmt-fp-seat-6{bottom:8px;left:24px}
.bmt-fp-seat-7{bottom:8px;left:54px}
.bmt-fp-seat-8{bottom:8px;left:84px}
.bmt-fp-seat-9,.bmt-fp-seat-10,.bmt-fp-seat-11,.bmt-fp-seat-12{bottom:-12px;left:0}
.bmt-fp-setup .bmt-btn{padding:6px 10px;font-size:13px}

/* Apply-to-other-restaurants */
.bmt-apply-to{margin-top:14px;padding:12px;border:1px dashed #e5e7eb;border-radius:8px;background:#f9fafb}
.bmt-apply-to h3{margin:0 0 4px;font-size:14px}

/* Specials list */
.bmt-specials-list{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.bmt-special-row{display:flex;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;background:#fff}
.bmt-special-row img{width:40px;height:40px;border-radius:6px;object-fit:cover}
.bmt-special-row > div:first-of-type{flex:1}

/* Detail extras */
.bmt-bill-wrap{display:inline-flex;flex-direction:column;font-size:12px;color:#6b7280}
.bmt-bill-wrap input{padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;width:120px}
.bmt-table-number{padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;width:120px}
.bmt-cancel-reason textarea{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:6px;font-family:inherit}

/* Search results: don't carousel/scroll; show as wrapped grid */
.bmt-all-results .bmt-grid,.bmt-search-results .bmt-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;overflow:visible!important}
.bmt-all-results .bmt-grid > .bmt-card-wrap,.bmt-search-results .bmt-grid > .bmt-card-wrap{scroll-snap-align:none!important;flex:initial!important}

/* Cancel reason modal */
.bmt-cancel-modal label{display:block;margin-bottom:10px}
.bmt-cancel-modal select,.bmt-cancel-modal textarea{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:6px;font-family:inherit}

/* ===== v1.7.0 additions ===== */

/* --- Subscribe banner --- */
.bmt-sub-banner{position:relative;margin:18px 0;padding:0;border-radius:14px;overflow:hidden;background-size:cover;background-position:center;color:#fff;min-height:170px;display:flex;align-items:center;justify-content:center}
.bmt-sub-banner-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.78),rgba(0,0,0,.55));z-index:1}
.bmt-sub-banner-body{position:relative;z-index:2;padding:22px 24px;width:100%;max-width:560px;text-align:center}
.bmt-sub-banner-body h3{margin:0 0 6px;color:#fff;font-size:20px}
.bmt-sub-banner-body p{margin:0 0 12px;color:#f3f3f3;font-size:14px}
.bmt-sub-banner-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;position:relative}
.bmt-sub-banner-form input[type=email]{flex:1;min-width:200px;padding:10px 12px;border-radius:8px;border:0;font-size:14px}
.bmt-sub-banner-close{position:absolute;top:-14px;right:-8px;background:transparent;border:0;color:#fff;font-size:16px;cursor:pointer;opacity:.8}
.bmt-sub-banner-close:hover{opacity:1}
.bmt-sub-banner .bmt-form-status{margin-top:8px;color:#fff;font-size:13px;text-align:center}
.bmt-sub-banner .bmt-form-status.success{color:#a7f3d0}
.bmt-sub-banner .bmt-form-status.error{color:#fecaca}

/* --- Specials slider --- */
.bmt-specials-slider{position:relative;margin:16px 0}
.bmt-specials-track{position:relative;min-height:240px}
.bmt-specials-slide{display:none}
.bmt-specials-slide.is-active{display:block;animation:bmtFade .5s ease}
@keyframes bmtFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.bmt-slider-prev,.bmt-slider-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.55);color:#fff;border:0;width:40px;height:40px;border-radius:50%;cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center;transition:background .2s}
.bmt-slider-prev:hover,.bmt-slider-next:hover{background:rgba(0,0,0,.85)}
.bmt-slider-prev{left:8px}.bmt-slider-next{right:8px}
.bmt-slider-dots{display:flex;gap:6px;justify-content:center;margin-top:10px}
.bmt-slider-dot{width:9px;height:9px;border-radius:50%;border:0;background:#cbd5e1;cursor:pointer;padding:0;transition:background .2s,transform .2s}
.bmt-slider-dot.is-active{background:#111;transform:scale(1.2)}
.bmt-slider-count{text-align:center;font-size:12px;color:#6b7280;margin-top:6px}

/* --- Chart type toggle --- */
.bmt-chart-type-toggle{display:inline-flex;gap:4px;margin-left:8px}
.bmt-chart-type-toggle .bmt-btn{padding:6px 10px}
.bmt-chart-type-toggle .bmt-btn.active{background:#111;color:#fff;border-color:#111}

/* --- Custom auth page --- */
.bmt-auth-wrap{max-width:480px;margin:30px auto;padding:0 12px}
.bmt-auth-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:24px;box-shadow:0 4px 16px rgba(0,0,0,.04)}
.bmt-auth-tabs{display:flex;gap:6px;margin-bottom:18px;border-bottom:1px solid #e5e7eb;padding-bottom:8px}
.bmt-auth-tabs a{flex:1;text-align:center;padding:8px;text-decoration:none;color:#6b7280;border-radius:8px;font-size:14px}
.bmt-auth-tabs a.active{background:#111;color:#fff}
.bmt-auth-form h2{margin:0 0 14px;font-size:20px}
.bmt-row-inline{display:flex;align-items:center;gap:8px;font-size:14px}

/* --- Mobile sidebar toggle (dashboard / account / filters) --- */
.bmt-side-toggle{display:none;position:fixed;left:16px;bottom:16px;z-index:9999;background:#111;color:#fff;border:0;width:54px;height:54px;border-radius:50%;font-size:22px;box-shadow:0 6px 20px rgba(0,0,0,.25);cursor:pointer;align-items:center;justify-content:center}
.bmt-side-close{display:none;position:absolute;top:10px;right:10px;background:transparent;border:0;font-size:22px;color:#111;cursor:pointer;z-index:10}

@media(max-width:880px){
  .bmt-side-toggle{display:inline-flex}
  .bmt-dash{position:relative}
  .bmt-dash .bmt-side{position:fixed;top:0;left:-100%;width:84vw;max-width:340px;height:100vh;background:#fff;z-index:9998;overflow-y:auto;transition:left .25s ease;box-shadow:0 0 24px rgba(0,0,0,.2);padding-top:48px}
  .bmt-dash.bmt-side-open .bmt-side{left:0}
  .bmt-dash .bmt-side .bmt-side-close{display:inline-flex}
  .bmt-dash .bmt-main{width:100%;padding:14px}

  .bmt-account{position:relative}
  .bmt-account .bmt-acct-head{position:fixed;top:0;left:-100%;width:84vw;max-width:340px;height:100vh;background:#fff;z-index:9998;overflow-y:auto;transition:left .25s ease;box-shadow:0 0 24px rgba(0,0,0,.2);padding-top:48px;display:block}
  .bmt-account.bmt-side-open .bmt-acct-head{left:0}
  .bmt-account .acct-tabs,.bmt-account .bmt-acct-tabs{flex-direction:column;align-items:stretch}
  .bmt-account .bmt-acct-tabs a{display:block;padding:12px 16px;border-radius:0;border-bottom:1px solid #f1f5f9}
  .bmt-account .bmt-side-close{display:inline-flex}

  .bmt-all-layout{position:relative;display:block}
  .bmt-all-layout .bmt-all-filters{position:fixed;top:0;left:-100%;width:84vw;max-width:340px;height:100vh;background:#fff;z-index:9998;overflow-y:auto;transition:left .25s ease;box-shadow:0 0 24px rgba(0,0,0,.2);padding:48px 16px 16px}
  .bmt-all-layout.bmt-side-open .bmt-all-filters{left:0}
  .bmt-all-layout .bmt-all-filters .bmt-side-close{display:inline-flex}
  .bmt-all-layout .bmt-all-results{width:100%}
}
body.bmt-side-open-body{overflow:hidden}

/* --- Font Awesome spacing in buttons/links --- */
.bmt-btn i,.bmt-acct-tabs a i,.bmt-nav a i{margin-right:6px}
.bmt-nav a{display:flex;align-items:center;gap:8px}

/* --- Auth tab icons --- */
.bmt-auth-tabs a i{margin-right:4px}

/* === v1.8.0: mobile horizontal scroll for admin tables, graphs, stats === */
@media (max-width: 820px){
  .bmt-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .bmt-table-wrap .bmt-table{min-width:780px}
  .bmt-myrest-card,.bmt-chart-card{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .bmt-myrest-card canvas,.bmt-chart-card canvas{min-width:640px}
  .bmt-stats{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .bmt-stats .bmt-stat{flex:0 0 auto;min-width:120px}
}

/* === v1.8.0: Live booking card banner === */
.bmt-card-live{position:absolute;top:10px;left:10px;background:#fff;color:#111;border:1px solid #111;padding:4px 10px;border-radius:999px;font-weight:700;font-size:12px;letter-spacing:.4px;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.bmt-card-live i{margin-right:4px;color:#16a34a}
.bmt-card-wrap{position:relative}

/* === v1.8.0: Seating preference dropdown === */
.bmt-seat-pref-wrap{margin-top:8px}
.bmt-seat-pref-wrap select{width:100%}
.bmt-seat-pref-note{font-size:12px;color:#16a34a;margin-top:4px}

/* === v1.8.0: Nearby restaurants page === */
.bmt-nearby{display:flex;flex-direction:column;gap:0;height:calc(100vh - 120px);min-height:560px}
.bmt-nearby-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;padding:12px 14px;background:#fff;border-bottom:1px solid #e5e7eb}
.bmt-nearby-filters > label,.bmt-nearby-filters > div{font-size:13px;margin:0}
.bmt-nearby-filters .bmt-nb-f-radius{flex:1 1 200px;min-width:180px}
.bmt-nearby-filters .bmt-nb-f-address{flex:1 1 220px;min-width:200px}
.bmt-nearby-filters .bmt-nb-f-toggles{display:flex;flex-direction:column;gap:4px;flex:0 1 auto}
.bmt-nearby-filters .bmt-nb-f-toggles label{display:flex;align-items:center;gap:6px;font-size:13px}
.bmt-nearby-filters .bmt-nb-f-price{display:flex;flex-direction:column;gap:4px;flex:0 1 auto}
.bmt-nearby-filters .bmt-nb-f-price-label{font-size:13px}
.bmt-nearby-filters .bmt-nb-f-price-opts{display:flex;gap:6px;flex-wrap:wrap;font-size:12px}
.bmt-nearby-filters .bmt-nb-f-price-opts label{display:inline-flex;align-items:center;gap:4px;margin:0}
.bmt-nearby-filters input[type=range],.bmt-nearby-filters input[type=text]{width:100%;padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;box-sizing:border-box}
.bmt-nearby-filters input[type=range]{padding:0}
.bmt-nearby-filters .bmt-nb-use-me{flex:0 0 auto;align-self:flex-end;white-space:nowrap}
.bmt-nearby-body{display:grid;grid-template-columns:25% 75%;flex:1;min-height:0}
.bmt-nearby-side{border-right:1px solid #e5e7eb;overflow-y:auto;background:#fafafa}
.bmt-nearby-list{padding:8px}
.bmt-nearby-card{display:flex;gap:10px;padding:10px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:10px;cursor:pointer;transition:transform .15s}
.bmt-nearby-card:hover{transform:translateY(-1px);border-color:#111}
.bmt-nearby-card img.bmt-nb-logo{width:48px;height:48px;object-fit:cover;border-radius:8px;flex:0 0 48px}
.bmt-nearby-card .bmt-nb-body h4{margin:0 0 2px;font-size:14px}
.bmt-nearby-card .bmt-nb-body p{margin:0;font-size:12px;color:#6b7280}
.bmt-nearby-card .bmt-nb-tags{margin-top:4px;display:flex;gap:4px;flex-wrap:wrap}
.bmt-nearby-card .bmt-nb-tag{font-size:10px;padding:2px 6px;border-radius:999px;background:#f3f4f6;color:#111}
.bmt-nearby-card .bmt-nb-tag.ft{background:#0ea5e9;color:#fff}
.bmt-nearby-card .bmt-nb-tag.sp{background:#BE923A;color:#fff}
.bmt-nearby-card .bmt-nb-tag.live{background:#16a34a;color:#fff}
.bmt-nearby-map{position:relative;background:#eee}
.bmt-nearby-map #bmt-nb-map{width:100%;height:100%}
@media (max-width:880px){
  .bmt-nearby-body{grid-template-columns:1fr;height:auto}
  .bmt-nearby-side{max-height:50vh;border-right:none;border-bottom:1px solid #e5e7eb}
  .bmt-nearby-map{height:60vh}
}
.bmt-nb-info{padding:10px;max-width:280px}
.bmt-nb-info img{width:100%;height:120px;object-fit:cover;border-radius:8px;margin-bottom:8px}
.bmt-nb-info h3{margin:0 0 4px;font-size:16px}
.bmt-nb-info p{margin:2px 0;font-size:13px}
.bmt-nb-info .bmt-btn{display:inline-block;margin-top:8px;padding:8px 12px}
.bmt-nb-error{padding:30px;text-align:center}
.bmt-nb-marker{background:none;border:none}
@media (max-width: 820px){
  .bmt-nearby{grid-template-columns:1fr;height:auto;min-height:auto}
  .bmt-nearby-side{max-height:50vh;border-right:none;border-bottom:1px solid #e5e7eb}
  .bmt-nearby-map{height:60vh}
}

/* ============================================================
   BMT 1.9.1 — Walk-in, Digital Menu, View Menu dropdown
   ============================================================ */

/* Walk-in booking code (blue) */
.bmt-code-wi{color:#2563eb;font-weight:700}
.bmt-walkin-toggle{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:10px 12px;margin-bottom:10px}
.bmt-walkin-show[hidden]{display:none}

/* View Menu dropdown */
.bmt-menu-public{margin:18px 0;border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:16px;box-shadow:0 6px 20px rgba(15,23,42,.06)}
.bmt-menu-tabs{display:flex;gap:8px;border-bottom:1px solid #e5e7eb;margin-bottom:12px}
.bmt-menu-tab{appearance:none;background:transparent;border:0;padding:10px 14px;font-weight:700;color:#6b7280;cursor:pointer;border-bottom:3px solid transparent}
.bmt-menu-tab.active{color:#111827;border-bottom-color:#BE923A}
.bmt-menu-pane{display:none}
.bmt-menu-pane.active{display:block}
.bmt-menu-pdf-frame{width:100%;height:70vh;border:0;border-radius:10px;background:#f8fafc}
.bmt-menu-pdf-img{max-width:100%;height:auto;border-radius:10px}

/* Digital menu (matches reference) */
.bmt-dmenu{font-family:inherit;color:#1f2937}
.bmt-dmenu-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid #f3e9d2;padding-bottom:8px;margin-bottom:8px}
.bmt-dmenu-cats{display:flex;gap:6px;flex-wrap:wrap}
.bmt-dmenu-cat{appearance:none;border:0;background:transparent;font-weight:700;color:#111;padding:8px 14px;border-radius:8px;cursor:pointer;font-size:16px}
.bmt-dmenu-cat.active{background:#fff4dc;color:#BE923A}
.bmt-dmenu-search{position:relative}
.bmt-dmenu-search i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af}
.bmt-dmenu-search-input{padding:8px 12px 8px 32px;border:1px solid #e5e7eb;border-radius:999px;min-width:220px;font:inherit;background:#fff}
.bmt-dmenu-list{display:flex;flex-direction:column}
.bmt-dmenu-row{display:grid;grid-template-columns:96px 1fr auto;gap:16px;padding:14px 4px;border-bottom:1px solid #f3f4f6;align-items:flex-start}
.bmt-dmenu-thumb img,.bmt-dmenu-noimg{width:88px;height:88px;border-radius:12px;object-fit:cover;background:#f3f4f6;display:flex;align-items:center;justify-content:center;color:#9ca3af;cursor:zoom-in}
.bmt-dmenu-info h4{margin:0 0 4px;font-size:17px;font-weight:800;color:#0f172a}
.bmt-dmenu-desc{margin:0 0 6px;color:#6b7280;font-style:italic}
.bmt-dmenu-tags{display:flex;gap:6px;flex-wrap:wrap}
.bmt-dmenu-tag{background:#fff4dc;color:#BE923A;font-size:11px;font-weight:800;letter-spacing:.04em;padding:4px 10px;border-radius:999px}
.bmt-dmenu-prices{display:flex;gap:18px;align-items:flex-start;padding-top:2px}
.bmt-dmenu-price{display:flex;flex-direction:column;align-items:flex-start;min-width:48px}
.bmt-dmenu-price-lab{color:#BE923A;font-weight:800;font-size:14px}
.bmt-dmenu-price-val{font-weight:600;color:#111;font-size:16px}
.bmt-dmenu-price-val sup{font-size:10px;font-weight:600;color:#374151}
.bmt-dmenu-noresults{padding:14px;color:#6b7280;text-align:center}
@media (max-width:640px){
  .bmt-dmenu-row{grid-template-columns:72px 1fr;grid-template-areas:"thumb info" "prices prices"}
  .bmt-dmenu-thumb{grid-area:thumb}.bmt-dmenu-info{grid-area:info}.bmt-dmenu-prices{grid-area:prices;justify-content:flex-end}
  .bmt-dmenu-thumb img,.bmt-dmenu-noimg{width:64px;height:64px}
  .bmt-dmenu-search-input{min-width:0;width:100%}
  .bmt-dmenu-bar{flex-direction:column;align-items:stretch}
}

/* Lightbox */
.bmt-dm-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:99999;padding:24px}
.bmt-dm-lightbox img{max-width:96vw;max-height:92vh;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.bmt-dm-lb-close{position:absolute;top:18px;right:22px;background:#fff;color:#111;border:0;width:42px;height:42px;border-radius:50%;font-size:24px;cursor:pointer}

/* Admin menu tab */
.bmt-menu-admin-row{display:grid;grid-template-columns:72px 1fr auto auto;gap:12px;align-items:center;padding:10px;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:8px;background:#fff}
.bmt-mi-thumb img,.bmt-mi-noimg{width:64px;height:64px;border-radius:10px;object-fit:cover;background:#f3f4f6;display:flex;align-items:center;justify-content:center;color:#9ca3af}
.bmt-mi-info{display:flex;flex-direction:column;gap:4px}
.bmt-mi-cat{align-self:flex-start;background:#fff4dc;color:#BE923A;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;letter-spacing:.04em}
.bmt-mi-desc{color:#6b7280}
.bmt-mi-prices{display:flex;gap:10px;color:#111;font-weight:600}
.bmt-mi-actions{display:flex;gap:6px}
.bmt-menu-prices label{flex:1}
.bmt-menu-live-preview{border:1px dashed #e5e7eb;border-radius:12px;padding:14px;background:#fafafa}

/* ===== Social login buttons ===== */
.bmt-social-wrap { margin-top: 16px; }
.bmt-social-sep { text-align: center; margin: 14px 0 10px; position: relative; color: #6b7280; font-size: 13px; }
.bmt-social-sep::before, .bmt-social-sep::after { content: ""; position: absolute; top: 50%; width: calc(50% - 70px); height: 1px; background: #e5e7eb; }
.bmt-social-sep::before { left: 0; } .bmt-social-sep::after { right: 0; }
.bmt-social-btns { display: flex; flex-direction: column; gap: 8px; }
.bmt-social-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 500; }
.bmt-social-btn-image { padding: 0; border: 0; background: transparent; overflow: hidden; line-height: 0; }
.bmt-social-btn-image img { display: block; width: 100%; height: auto; max-height: 64px; object-fit: contain; }
.bmt-social-google   { background: #fff; color: #1f2937; border: 1px solid #dadce0; }
.bmt-social-facebook { background: #1877f2; color: #fff; border-color: #1877f2; }
.bmt-social-apple    { background: #000; color: #fff; border-color: #000; }
.bmt-social-google.bmt-social-btn-image,
.bmt-social-facebook.bmt-social-btn-image,
.bmt-social-apple.bmt-social-btn-image { background: transparent; border: 0; }

/* ===== VIP tag ===== */
.bmt-vip-tag {
    display: inline-flex; align-items: center; gap: 4px;
    margin-left: 6px; padding: 2px 8px; border-radius: 999px;
    font-size: 11px; font-weight: 700; letter-spacing: .04em;
    background: linear-gradient(135deg, #f59e0b, #d97706); color: #fff;
    vertical-align: middle;
}
.bmt-vip-tag i { font-size: 10px; }

/* ===== Policies link & modal ===== */
.bmt-policies-link {
    display: inline-flex; align-items: center; gap: 6px;
    margin: 8px 0; color: #2563eb; text-decoration: none; font-weight: 500;
}
.bmt-policies-link:hover { text-decoration: underline; }
.bmt-popi-label { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; margin: 8px 0; }

.bmt-modal { position: fixed; inset: 0; z-index: 100000; display: block; }
.bmt-modal.is-open { display: block; }
.bmt-modal[hidden] { display: none !important; }

.bmt-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.55); }
.bmt-modal-card {
    position: relative; max-width: 640px; width: calc(100% - 32px);
    margin: 6vh auto; background: #fff; border-radius: 12px;
    padding: 24px; max-height: 86vh; overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0,0,0,.3);
}
.bmt-modal-close {
    position: absolute; top: 8px; right: 12px; background: transparent;
    border: 0; font-size: 28px; line-height: 1; cursor: pointer; color: #6b7280;
}
.bmt-policy-item { padding: 10px 0; border-bottom: 1px solid #f3f4f6; }
.bmt-policy-item:last-child { border-bottom: 0; }
body.bmt-modal-open { overflow: hidden; }

/* Client status selector */
.bmt-client-status { padding: 4px 6px; font-size: 13px; }

/* ===== v1.9.3 — Restaurant hero refresh ===== */
.bmt-hero-wrap{position:relative;border-radius:18px;overflow:hidden;margin-bottom:24px;background:#0b0b0b}
.bmt-hero-wrap .bmt-hero{height:460px;border-radius:0;margin:0;background-size:cover;background-position:center}
.bmt-hero-overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 45%,rgba(0,0,0,.55) 78%,rgba(0,0,0,.9) 100%)}
.bmt-hero-top{position:absolute;top:16px;left:16px;display:flex;gap:10px;z-index:3}
.bmt-hero-btn{display:inline-flex;align-items:center;gap:8px;background:rgba(0,0,0,.55);color:#fff;border:1px solid rgba(255,255,255,.35);padding:8px 14px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);width:auto;height:auto;position:static}
.bmt-hero-btn:hover{background:rgba(0,0,0,.75)}
.bmt-hero-btn.bmt-fav{color:#fff}
.bmt-hero-btn.bmt-fav.on{background:#e6b400;border-color:#e6b400;color:#1f2937}
.bmt-hero-btn.bmt-fav .fa-heart{color:#fff}
.bmt-hero-btn.bmt-fav.on .fa-heart{color:#1f2937}
.bmt-hero-btn.bmt-fav{position:static;width:auto;height:auto;box-shadow:none}
.bmt-hero-btn .fa-share-nodes{color:#facc15}
.bmt-hero-btn-label{line-height:1}
.bmt-hero-btn.bmt-hero-back{text-decoration:none}
.bmt-hero-btn.bmt-hero-back:hover{text-decoration:none;color:#fff}
.bmt-hero-btn.bmt-hero-back .fa-arrow-left{color:#fff}

.bmt-hero-bottom{position:absolute;left:16px;right:16px;bottom:16px;z-index:3;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.bmt-photo-count-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(0,0,0,.6);color:#fff;border:1px solid rgba(255,255,255,.25);padding:8px 14px;border-radius:8px;font-size:13px;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.bmt-photo-count-pill:hover{background:rgba(0,0,0,.8)}
.bmt-photo-count-sep{opacity:.5}
.bmt-photo-count-label{font-weight:600}

.bmt-hero-thumbs{display:flex;gap:8px;flex-wrap:nowrap;max-width:70%}
.bmt-hero-thumb{width:100px;height:74px;border-radius:8px;background-size:cover;background-position:center;border:2px solid rgba(255,255,255,.4);cursor:pointer;padding:0;position:relative;overflow:hidden;flex-shrink:0}
.bmt-hero-thumb:hover{border-color:#fff}
.bmt-hero-thumb-more{position:relative}
.bmt-hero-thumb-more::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.65)}
.bmt-hero-thumb-more-inner{position:relative;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;font-size:11px;line-height:1.2}
.bmt-hero-thumb-more-inner strong{font-size:20px}
@media (max-width:780px){
  .bmt-hero-wrap .bmt-hero{height:320px}
  .bmt-hero-thumbs{max-width:100%}
  .bmt-hero-thumb{width:60px;height:46px}
}

/* Meta row (rating · diners · trending) */
.bmt-rest-meta-row{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;margin:8px 0}
.bmt-meta-item{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#374151}
.bmt-meta-diners .fa-user-group{color:#6b7280}
.bmt-meta-trending{color:#c2410c;font-weight:600}
.bmt-meta-trending .fa-fire{color:#ea580c}

/* Lightbox */
.bmt-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9999;display:flex;align-items:center;justify-content:center;flex-direction:column}
.bmt-lightbox[hidden]{display:none}
.bmt-lightbox-img{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:8px}
.bmt-lightbox-close{position:absolute;top:16px;right:20px;background:none;border:0;color:#fff;font-size:32px;cursor:pointer;line-height:1}
.bmt-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:22px;cursor:pointer}
.bmt-lightbox-nav:hover{background:rgba(255,255,255,.3)}
.bmt-lightbox-prev{left:16px}
.bmt-lightbox-next{right:16px}
.bmt-lightbox-count{color:#fff;font-size:14px;margin-top:12px;opacity:.85}

/* ===== Aside info card (Amenities + Opening hours) ===== */
.bmt-info-card{
    margin-top:16px;
    background:#0f1216;
    color:#f3f4f6;
    border:1px solid #1f242b;
    border-radius:16px;
    padding:22px 22px 20px;
    box-shadow:0 12px 40px rgba(0,0,0,.25);
    font-family:inherit;
}
.bmt-info-card .bmt-info-block + .bmt-info-block{margin-top:6px}
.bmt-info-card .bmt-info-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px}
.bmt-info-card .bmt-info-head h3{margin:0;color:#fff;font-size:18px;font-weight:700;letter-spacing:.2px}
.bmt-info-card .bmt-info-viewall{color:#f5b301;text-decoration:none;font-weight:600;font-size:14px}
.bmt-info-card .bmt-info-viewall:hover{text-decoration:underline}
.bmt-info-divider{height:1px;background:#1f242b;margin:18px 0}

.bmt-amenity-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}
.bmt-amenity-grid li::before{content:""}
.bmt-amenity{display:flex;align-items:center;gap:12px;color:#e5e7eb;font-size:15px;background:transparent;padding:0;border-radius:0}
.bmt-amenity i{color:#ef4444;font-size:18px;width:22px;text-align:center;flex:none}
.bmt-amenity.is-hidden{display:none}
.bmt-amenity.is-hidden.is-visible,.bmt-info-amenities.is-expanded .bmt-amenity.is-hidden{display:flex}

.bmt-hours-grouped{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.bmt-hours-grouped li{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#e5e7eb;font-size:15px;background:transparent;padding:0}
.bmt-hours-grouped li::before{content:""}
.bmt-hours-day{font-weight:500;color:#d1d5db}
.bmt-hours-val{color:#f3f4f6;font-variant-numeric:tabular-nums}
.bmt-hours-val.is-closed{color:#f87171}

@media (max-width:640px){
    .bmt-amenity-grid{grid-template-columns:1fr 1fr;gap:12px 16px}
    .bmt-info-card{padding:18px}
}

/* ===== Reviews hero: summary + featured + map ===== */
.bmt-reviews-hero{
    display:grid;
    grid-template-columns:1.15fr 1.35fr .95fr;
    gap:18px;
    margin:28px 0 20px;
}
.bmt-rev-card{
    background:#0f1216;
    color:#f3f4f6;
    border:1px solid #1f242b;
    border-radius:18px;
    padding:22px;
    box-shadow:0 12px 40px rgba(0,0,0,.25);
    display:flex;flex-direction:column;
    min-height:230px;
}
.bmt-rev-card-title{margin:0 0 16px;color:#fff;font-size:16px;font-weight:700;letter-spacing:.2px}

/* Summary */
.bmt-rev-summary-body{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}
.bmt-rev-score{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:120px}
.bmt-rev-avg-num{font-size:52px;font-weight:800;color:#fff;line-height:1}
.bmt-rev-avg-stars{color:#f5b301;font-size:16px;letter-spacing:2px}
.bmt-rev-avg-stars .fa-star,.bmt-rev-avg-stars i{color:#f5b301}
.bmt-rev-avg-count{color:#9ca3af;font-size:13px}
.bmt-rev-viewall-link{margin-top:8px;color:#f5b301;text-decoration:none;font-weight:600;font-size:13px}
.bmt-rev-viewall-link:hover{text-decoration:underline}
.bmt-rev-cats-bars{display:flex;flex-direction:column;gap:10px}
.bmt-rev-cat-row{display:grid;grid-template-columns:110px 1fr 36px;align-items:center;gap:10px}
.bmt-rev-cat-label{color:#d1d5db;font-size:13px}
.bmt-rev-cat-bar{position:relative;height:6px;background:#1f242b;border-radius:99px;overflow:hidden}
.bmt-rev-cat-bar-fill{position:absolute;left:0;top:0;bottom:0;background:#f5b301;border-radius:99px}
.bmt-rev-cat-num{color:#f3f4f6;font-size:13px;font-variant-numeric:tabular-nums;text-align:right;font-weight:600}

/* Featured review */
.bmt-rev-featured{position:relative}
.bmt-rev-featured-track{position:relative;flex:1;min-height:150px}
.bmt-rev-featured-item{display:none;flex-direction:column;gap:10px}
.bmt-rev-featured-item.is-active{display:flex}
.bmt-rev-featured-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bmt-rev-avatar{width:34px;height:34px;border-radius:50%;background:#1f242b;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex:none}
.bmt-rev-name{color:#fff;font-size:15px}
.bmt-rev-featured-stars{color:#f5b301;font-size:14px;letter-spacing:1px}
.bmt-rev-featured-stars i{color:#f5b301}
.bmt-rev-featured-date{color:#9ca3af;font-size:13px;margin-left:auto}
.bmt-rev-featured-text{color:#d1d5db;font-size:14px;line-height:1.55;margin:2px 0 0}
.bmt-rev-featured-foot{display:flex;align-items:center;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid #1f242b;flex-wrap:wrap}
.bmt-rev-helpful-q{color:#9ca3af;font-size:13px}
.bmt-rev-helpful-btn{background:transparent;border:0;color:#d1d5db;font-size:13px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:4px 6px;border-radius:8px}
.bmt-rev-helpful-btn:hover{background:#1f242b;color:#fff}
.bmt-rev-helpful-btn.is-voted{color:#f5b301}
.bmt-rev-featured-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px}
.bmt-rev-featured-prev,.bmt-rev-featured-next{background:#1f242b;color:#f3f4f6;border:0;width:28px;height:28px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.bmt-rev-featured-prev:hover,.bmt-rev-featured-next:hover{background:#2a313a}
.bmt-rev-featured-dots{display:inline-flex;gap:6px}
.bmt-rev-featured-dot{width:7px;height:7px;border-radius:50%;background:#2a313a;cursor:pointer;transition:background .2s}
.bmt-rev-featured-dot.is-active{background:#f5b301}
.bmt-rev-featured-empty{display:flex;align-items:center;justify-content:center;flex:1;text-align:center}

/* Location card */
.bmt-rev-location{padding:0;overflow:hidden}
.bmt-rev-map{position:relative;height:150px;background:#1f242b}
.bmt-rev-map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.35) brightness(.9)}
.bmt-rev-map-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#4b5563;font-size:42px}
.bmt-rev-location-body{padding:18px 22px 22px;display:flex;flex-direction:column;gap:14px;flex:1}
.bmt-rev-address{margin:0;color:#e5e7eb;font-size:14px;line-height:1.5;display:flex;gap:10px;align-items:flex-start}
.bmt-rev-address i{color:#f5b301;margin-top:3px;flex:none}
.bmt-rev-directions-btn{align-self:flex-start;background:#f5b301;color:#0f1216;border-radius:99px;padding:9px 18px;font-weight:700;font-size:13px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:background .2s}
.bmt-rev-directions-btn:hover{background:#ffcb2b;color:#0f1216;text-decoration:none}

.bmt-reviews-list-wrap{margin-top:12px}

@media (max-width:1024px){
    .bmt-reviews-hero{grid-template-columns:1fr 1fr;gap:16px}
    .bmt-rev-location{grid-column:1 / -1}
    .bmt-rev-map{height:200px}
}
@media (max-width:720px){
    .bmt-reviews-hero{grid-template-columns:1fr}
    .bmt-rev-summary-body{grid-template-columns:1fr;gap:18px}
    .bmt-rev-score{align-items:flex-start}
    .bmt-rev-cat-row{grid-template-columns:100px 1fr 32px}
}

/* ============ v1.9.7 — Sectioned register form + packages ============ */
.bmt-reg-form{background:#0f0f0f;color:#f5f5f5;padding:28px;border-radius:14px;max-width:1240px;margin:0 auto}
.bmt-reg-form label{color:#f5f5f5}
.bmt-reg-form input[type=text],
.bmt-reg-form input[type=email],
.bmt-reg-form input[type=url],
.bmt-reg-form input[type=tel],
.bmt-reg-form input[type=number],
.bmt-reg-form input[type=time],
.bmt-reg-form select,
.bmt-reg-form textarea{background:#0f0f0f;border:1px solid #2a2a2a;color:#f5f5f5;border-radius:8px;padding:10px 12px;width:100%}
.bmt-reg-form input[type=file]{background:#0f0f0f;border:1px dashed #333;color:#bbb;padding:10px;border-radius:8px;width:100%}
.bmt-reg-form input:focus,.bmt-reg-form select:focus,.bmt-reg-form textarea:focus{outline:none;border-color:#ff8a1e;box-shadow:0 0 0 3px rgba(255,138,30,.15)}
.bmt-reg-form .bmt-muted{color:#9a9a9a}
.bmt-reg-header{margin-bottom:20px}
.bmt-reg-header h2{color:#fff;margin:0 0 4px}
.bmt-reg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}
@media(max-width:1100px){.bmt-reg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.bmt-reg-grid{grid-template-columns:1fr}}
.bmt-reg-section{background:#171717;border:1px solid #262626;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:12px}
.bmt-reg-section.bmt-reg-full{margin-bottom:16px}
.bmt-reg-h{color:#ff8a1e;font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;font-weight:700;display:flex;align-items:center;gap:6px}
.bmt-reg-num{color:#ff8a1e;font-weight:800}
.bmt-reg-section label{display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:6px}
.bmt-reg-section .bmt-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.bmt-reg-section .bmt-row{grid-template-columns:1fr}}
.bmt-reg-info{background:#1d1a12;border:1px solid #4a3714;border-radius:8px;padding:10px 12px;color:#e6c78a;font-size:13px}
.bmt-reg-info p{margin:0}
.bmt-reg-form .bmt-hours-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #222}
.bmt-reg-form .bmt-hours-row span{min-width:36px;color:#ccc}
.bmt-reg-form .bmt-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@media(max-width:720px){.bmt-reg-form .bmt-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bmt-reg-form .bmt-check-row{background:#0f0f0f;border:1px solid #262626;border-radius:8px;padding:8px 10px;display:flex;align-items:center;gap:8px;font-weight:500}

/* Package cards */
.bmt-pkg-section{background:#171717}
.bmt-pkg-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media(max-width:820px){.bmt-pkg-cards{grid-template-columns:1fr}}
.bmt-pkg-card-fe{position:relative;display:flex;flex-direction:column;gap:12px;background:#0f0f0f;border:1px solid #2a2a2a;border-radius:14px;padding:22px;cursor:pointer;transition:all .18s ease}
.bmt-pkg-card-fe:hover{border-color:#ff8a1e}
.bmt-pkg-card-fe.is-popular{border-color:#ff8a1e;box-shadow:0 0 0 2px rgba(255,138,30,.18)}
.bmt-pkg-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#ff8a1e;color:#111;font-weight:700;font-size:12px;padding:4px 12px;border-radius:999px}
.bmt-pkg-head .bmt-pkg-name{font-size:28px;font-weight:800;color:#fff}
.bmt-pkg-head .bmt-pkg-tag{color:#9a9a9a;font-size:13px;margin-top:2px}
.bmt-pkg-head .bmt-pkg-price{color:#ff8a1e;font-size:34px;font-weight:800;margin-top:10px}
.bmt-pkg-head .bmt-pkg-price span{color:#9a9a9a;font-size:14px;font-weight:500}
.bmt-pkg-features{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:8px}
.bmt-pkg-features li{color:#e5e5e5;font-size:14px;display:flex;gap:8px;align-items:flex-start}
.bmt-pkg-features li i{color:#ff8a1e;margin-top:3px}
.bmt-pkg-notes{background:#1a1710;border:1px solid #3a2e14;border-radius:8px;padding:10px 12px;color:#d5b982;font-size:12.5px;display:flex;gap:8px;align-items:flex-start}
.bmt-pkg-choose{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:8px;border-top:1px solid #232323}
.bmt-pkg-choose input[type=radio]{accent-color:#ff8a1e;width:18px;height:18px}
.bmt-pkg-cta{flex:1;text-align:center;background:#ff8a1e;color:#111;font-weight:700;padding:10px 14px;border-radius:8px;font-size:14px}
.bmt-pkg-card-fe:not(.is-popular) .bmt-pkg-cta{background:transparent;color:#ff8a1e;border:1px solid #ff8a1e}

.bmt-reg-submit{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:18px}
.bmt-reg-submit .bmt-btn-primary{background:#ff8a1e;color:#111;border:0;font-weight:700;padding:12px 24px;border-radius:10px;font-size:15px;cursor:pointer}
.bmt-reg-submit .bmt-btn-primary:hover{background:#ffa04a}

/* ---------- Booking-detail accordions (collapsible sections) ---------- */
.bmt-detail .bmt-acc{border:1px solid #e5e7eb;border-radius:10px;margin:10px 0;overflow:hidden;background:#fff}
.bmt-detail .bmt-acc>summary{list-style:none;cursor:pointer;padding:14px 16px;font-weight:600;color:#01000E;display:flex;align-items:center;justify-content:space-between;gap:10px;user-select:none}
.bmt-detail .bmt-acc>summary::-webkit-details-marker{display:none}
.bmt-detail .bmt-acc>summary::after{content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;font-size:12px;color:#BE923A;transition:transform .2s ease}
.bmt-detail .bmt-acc[open]>summary::after{transform:rotate(180deg)}
.bmt-detail .bmt-acc>summary:hover{background:#faf7f0}
.bmt-detail .bmt-acc-body{padding:0 16px 16px}
.bmt-table-saved{font-size:13px;color:#16a34a;font-weight:600}

/* ---------- Dashboard stats: growth + time filter ---------- */
.bmt-timefilter{display:inline-flex;gap:6px;flex-wrap:wrap;margin:4px 0 14px}
.bmt-timefilter .bmt-chip{cursor:pointer}
.bmt-stat .bmt-growth{display:block;font-size:12px;font-weight:600;margin-top:4px}
.bmt-stat .bmt-growth.up{color:#16a34a}
.bmt-stat .bmt-growth.down{color:#dc2626}
.bmt-stat .bmt-growth.flat{color:#6b7280}

/* ==========================================================
 * v2.1 — Book Now home widget ([bmt_search])
 * ========================================================== */
.bmt-bn-wrap { width: 100%; max-width: 100%; margin: 12px 0; }
.bmt-bn-form {
  width: 100%;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
}
.bmt-bn-row {
  display: grid;
  grid-template-columns: 1.6fr 1fr 0.9fr 1fr auto;
  gap: 10px;
  align-items: end;
}
@media (max-width: 900px) {
  .bmt-bn-row { grid-template-columns: 1fr 1fr; }
  .bmt-bn-submit-wrap { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  .bmt-bn-row { grid-template-columns: 1fr; }
}
.bmt-bn-field { display: flex; flex-direction: column; position: relative; }
.bmt-bn-field label {
  font-size: 12px; font-weight: 600; color: #334155;
  margin-bottom: 4px; display: flex; align-items: center; gap: 6px;
}
.bmt-bn-field label i { color: #64748b; }
.bmt-bn-field input[type="text"],
.bmt-bn-field select {
  width: 100%; padding: 10px 12px;
  border: 1px solid #d1d5db; border-radius: 10px; background: #fff;
  font-size: 14px; height: 42px;
}
.bmt-bn-submit { height: 42px; padding: 0 18px; white-space: nowrap; }
.bmt-bn-hint { margin: 8px 2px 0; font-size: 12px; }

/* Time select colouring for FT / fully booked. */
.bmt-bn-time option.bmt-bn-opt-ft   { color: #B45309; font-weight: 600; }
.bmt-bn-time option.bmt-bn-opt-full { color: #b91c1c; }
.bmt-bn-time.bmt-bn-sel-ft   { border-color: #d97706; box-shadow: 0 0 0 3px rgba(217,119,6,.15); color:#B45309; }
.bmt-bn-time.bmt-bn-sel-full { border-color: #b91c1c; color:#b91c1c; }

/* Closed days in the date select. */
.bmt-bn-date option.bmt-bn-closed { color: #b91c1c; }

/* Suggest list already styled by existing .bmt-suggest-list rules. */

/* v2.2 — Package-aware card CTA button and Discover states */
.bmt-card-wrap, .bmt-ftcard-wrap { position: relative; display: flex; flex-direction: column; }
.bmt-card-cta-wrap { padding: 10px 12px 14px; display: flex; }
.bmt-card-cta-wrap .bmt-card-cta { width: 100%; justify-content: center; display: inline-flex; align-items: center; gap: 6px; }
.bmt-card-cta-view { background: #f3f4f6; color: #111827; }
.bmt-card-cta-view:hover { background: #e5e7eb; }
.bmt-bn-form.bmt-bn-discover .bmt-bn-date,
.bmt-bn-form.bmt-bn-discover .bmt-bn-time,
.bmt-bn-form.bmt-bn-discover .bmt-bn-party { background: #fff7ed; color: #9a3412; }
.bmt-bn-submit.bmt-bn-view-only { background: #111827; }
.bmt-contact-card .bmt-contact-actions .bmt-btn { justify-content: flex-start; }
.bmt-rev-aside-card { margin-top: 16px; }
.bmt-suggest-note { color: #b45309; font-style: italic; font-size: 12px; }

/* v2.2.1 — Boxed floor plan (no chairs) */
.bmt-fp-boxed{padding:0;overflow:hidden}
.bmt-fp-boxed .bmt-fp-box{padding:14px;min-height:110px;display:flex;flex-direction:column;gap:6px;border-radius:10px;border:2px solid transparent}
.bmt-fp-boxed.bmt-fp-free .bmt-fp-box{background:#dcfce7;border-color:#16a34a;color:#065f46}
.bmt-fp-boxed.bmt-fp-partial .bmt-fp-box{background:#fef3c7;border-color:#f59e0b;color:#92400e}
.bmt-fp-boxed.bmt-fp-full .bmt-fp-box{background:#fee2e2;border-color:#dc2626;color:#991b1b}
.bmt-fp-box-head{display:flex;align-items:baseline;gap:6px;font-size:15px}
.bmt-fp-box-name{font-weight:700}
.bmt-fp-box-cap{font-size:13px;opacity:.85}
.bmt-fp-box-pos{font-size:12px;opacity:.85;font-style:italic}
.bmt-fp-box-codes{font-size:12px;font-weight:600;background:rgba(255,255,255,.55);padding:4px 6px;border-radius:6px;align-self:flex-start}

/* Capacity indicator on setup */
.bmt-fp-cap-indicator{margin:8px 0;padding:8px 12px;border-radius:8px;background:#f3f4f6;font-size:14px}
.bmt-fp-cap-indicator .bmt-fp-cap-over{color:#dc2626;font-weight:600}

/* ============================================================
 * v2.3 — Open/Closing/Closed badge on restaurant card image
 * ============================================================ */
.bmt-card-cover-wrap{position:relative}
.bmt-open-badge{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;color:#fff;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,.25);z-index:3;letter-spacing:.2px}
.bmt-open-badge .bmt-open-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#fff}
.bmt-open-open{background:#16a34a}
.bmt-open-closing{background:#f59e0b}
.bmt-open-opening{background:#0ea5e9}
.bmt-open-closed{background:#dc2626}

/* ============================================================
 * v2.3 — Site-admin badge in dashboard sidebar
 * ============================================================ */
.bmt-super-badge{display:inline-block;background:#BE923A;color:#fff;font-size:10px;padding:2px 6px;border-radius:4px;margin-left:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}

/* ============================================================
 * v2.3 — Simplified booking Table & Status quick-actions
 * ============================================================ */
.bmt-quickacts{margin:14px 0;padding:14px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb}
.bmt-quickacts-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:10px}
.bmt-quickacts-row:last-child{margin-bottom:0}
.bmt-quickacts-field{display:flex;flex-direction:column;gap:4px;flex:1 1 180px;min-width:150px}
.bmt-quickacts-lbl{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:#6b7280;font-weight:600}
.bmt-quickacts-field input,.bmt-quickacts-field select{padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}
.bmt-quickacts-actions .bmt-btn{padding:10px 16px;font-weight:600}

/* ============================================================
 * v2.3 — My Bookings tabbed layout + card design (mobile-first)
 * ============================================================ */
.bmt-mybk-page{max-width:900px;margin:0 auto;padding:0}
.bmt-mybk-title{text-align:center;background:#01000E;color:#fff;padding:18px 16px;margin:0;border-radius:12px 12px 0 0;font-size:20px;font-weight:700}
.bmt-mybk-wrap{background:#f5f6f8;padding:0;border-radius:0 0 12px 12px}
.bmt-mybk-tabs{display:flex;background:#01000E;padding:0 8px 8px}
.bmt-mybk-tab{flex:1;background:transparent;color:rgba(255,255,255,.7);border:0;padding:12px 8px;font-weight:600;font-size:14px;cursor:pointer;border-bottom:3px solid transparent;transition:color .15s,border-color .15s;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.bmt-mybk-tab:hover{color:#fff}
.bmt-mybk-tab.is-active{color:#BE923A;border-bottom-color:#BE923A}
.bmt-mybk-count{background:rgba(255,255,255,.15);color:inherit;font-size:11px;padding:1px 7px;border-radius:999px;font-weight:700}
.bmt-mybk-tab.is-active .bmt-mybk-count{background:#BE923A;color:#fff}
.bmt-mybk-panel{padding:16px}
.bmt-mybk-list{display:flex;flex-direction:column;gap:14px}
.bmt-mybk-card{display:flex;gap:14px;background:#fff;border-radius:12px;padding:14px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.bmt-mybk-date{flex:0 0 60px;text-align:center;padding-top:6px}
.bmt-mybk-day{font-size:32px;font-weight:800;line-height:1;color:#01000E}
.bmt-mybk-mon{font-size:11px;color:#6b7280;letter-spacing:1px;font-weight:700;margin-top:2px}
.bmt-mybk-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.bmt-mybk-cover{width:100%;height:120px;background-size:cover;background-position:center;border-radius:8px}
.bmt-mybk-info{display:flex;flex-direction:column;gap:4px;min-width:0}
.bmt-mybk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.bmt-mybk-name{font-weight:700;font-size:16px;color:#01000E;text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis}
.bmt-mybk-name:hover{color:#BE923A}
.bmt-mybk-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:#4b5563}
.bmt-mybk-meta .bmt-badge{font-size:11px}
.bmt-mybk-code{font-size:12px;color:#6b7280}
.bmt-mybk-actions{margin-top:6px}
.bmt-mybk-more-wrap{position:relative;flex-shrink:0}
.bmt-mybk-more{background:transparent;border:0;padding:4px 8px;font-size:18px;cursor:pointer;color:#6b7280;border-radius:6px}
.bmt-mybk-more:hover{background:#f3f4f6;color:#01000E}
.bmt-mybk-menu{position:absolute;right:0;top:100%;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.12);min-width:160px;z-index:10;padding:4px 0}
.bmt-mybk-menu a{display:flex;align-items:center;gap:8px;padding:10px 14px;text-decoration:none;color:#01000E;font-size:14px}
.bmt-mybk-menu a:hover{background:#f3f4f6}
.bmt-mybk-menu-danger{color:#dc2626 !important}

/* ============================================================
 * v2.3 — Mobile pinned filter bar (top of results)
 * ============================================================ */
.bmt-mfilters{display:none} /* hidden on desktop; sidebar handles it */
.bmt-mfilters-row{display:flex;gap:8px;flex-wrap:nowrap;padding-bottom:2px;margin-bottom:10px;overflow:visible;position:relative;z-index:60}
.bmt-mf-dd{position:relative;flex:1 1 0;min-width:0}
.bmt-mf-toggle{background:#fff;border:1px solid #d1d5db;color:#01000E;padding:8px 10px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;width:100%;overflow:hidden;text-overflow:ellipsis}
.bmt-mf-toggle:hover{border-color:#01000E}
.bmt-mf-toggle i{font-size:10px}
.bmt-mf-count{background:#BE923A;color:#fff;font-size:10px;padding:1px 6px;border-radius:999px}
.bmt-mf-pop{position:absolute;top:calc(100% + 6px);left:0;right:auto;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.18);min-width:200px;max-width:80vw;max-height:60vh;overflow-y:auto;z-index:200;padding:6px 0}
.bmt-mf-pop .bmt-check-row{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;font-size:14px}
.bmt-mf-pop .bmt-check-row:hover{background:#f3f4f6}
.bmt-mfilters-search{position:relative}
.bmt-mfilters-search i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}
.bmt-mfilters-q{width:100%;padding:11px 14px 11px 38px;border:1px solid #d1d5db;border-radius:999px;font-size:14px;background:#fff;box-sizing:border-box}
.bmt-mfilters-q:focus{outline:none;border-color:#01000E}

/* Trending badge on restaurant cards */
.bmt-ftcard-trending{position:absolute;top:10px;left:10px;background:#dc2626;color:#fff;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.25);z-index:3}
.bmt-ftcard-trending i{margin-right:4px}
.bmt-card-cta-trending{background:#dc2626;border-color:#dc2626}

/* Nearby map — CSS hooks for Google Maps markers and popups */
.bmt-nb-gmap img.bmt-nb-google-marker{border-radius:50%;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.35);background:#fff}
.bmt-nb-google-popup-shell .bmt-nb-popup{font-family:inherit}
.bmt-nb-google-popup-shell .bmt-nb-popup .bmt-nb-popup-title{margin:6px 0 2px;font-size:16px;color:#01000E}
.bmt-nb-google-popup-shell .bmt-nb-popup .bmt-nb-popup-img{width:100%;max-width:220px;border-radius:8px;display:block;margin-bottom:6px}
.bmt-nb-google-popup-shell .bmt-nb-popup .bmt-nb-popup-cta{margin-top:8px;display:inline-block}

/* ============================================================
 * v2.3 — Mobile-only restaurant card horizontal layout
 *          (search results / all restaurants / favourites / cat / tag)
 * ============================================================ */
@media (max-width:640px){
  /* Show pinned filter bar (sticky at top of results container) */
  .bmt-mfilters{display:block;position:sticky;top:0;z-index:50;background:#01000E;padding:12px;margin:0 -14px 12px;border-radius:0}
  .bmt-mfilters-row{margin-bottom:10px}
  .bmt-mf-toggle{background:#fff;color:#01000E}
  /* Hide floating drawer toggle when top bar is visible */
  .bmt-all-layout ~ .bmt-side-toggle,
  .bmt-all-layout .bmt-side-toggle{display:none}
  body:has(.bmt-mfilters) > .bmt-side-toggle{display:none}

  /* Horizontal card: image left, info right */
  .bmt-grid,
  .bmt-all-results .bmt-grid,
  .bmt-search-results .bmt-grid{grid-template-columns:1fr !important;gap:12px !important}
  .bmt-card-wrap .bmt-card{display:flex;flex-direction:row;align-items:stretch;border-radius:12px;overflow:hidden;padding:0}
  .bmt-card .bmt-card-link{display:flex;flex:0 0 130px;position:relative}
  .bmt-card .bmt-card-cover-wrap{width:130px;height:130px;overflow:hidden}
  .bmt-card .bmt-card-cover{width:100%;height:100%;object-fit:cover}
  .bmt-card-body{flex:1;padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}
  .bmt-card h3{font-size:15px;margin:0}
  .bmt-card-logo{display:none}
  .bmt-card-title-link{text-decoration:none}
  .bmt-card-meta{margin-top:4px;font-size:12px;gap:6px}
  .bmt-card-cta-wrap{padding:8px 0 0}
  .bmt-card-cta-wrap .bmt-card-cta{padding:6px 10px;font-size:12px}
  .bmt-open-badge{right:6px;bottom:6px;padding:3px 7px;font-size:10px}
  .bmt-card-live,.bmt-card-ft,.bmt-card-special{font-size:10px;padding:2px 6px}
  .bmt-card-special{right:auto;left:8px;top:34px}
}

@media (max-width:480px){
  .bmt-mybk-card{gap:10px;padding:10px}
  .bmt-mybk-date{flex-basis:52px}
  .bmt-mybk-day{font-size:28px}
  .bmt-mybk-cover{height:100px}
  .bmt-mybk-name{font-size:15px}
}

/* ===== v2.4.1: Mobile-friendly tabs, charts & tables ===== */

/* Charts are inherently wide — let them scroll horizontally on small screens
   instead of shrinking illegibly. The .bmt-chart-scroll wrapper is used by
   the super-admin dashboard chart / restaurant table; the existing
   .bmt-myrest-card already contains the per-restaurant chart. */
.bmt-chart-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:820px){
  .bmt-myrest-card canvas.bmt-mr-chart{min-width:680px}
  .bmt-super-chart-card #bmt-super-chart{min-width:680px}
  /* let the chart card itself scroll rather than the whole page */
  .bmt-myrest-card{overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* Reservations table on mobile: keep only #, Date, Time and Status columns.
   The row remains clickable and opens the full booking detail modal. */
@media (max-width:640px){
  .bmt-table.bmt-clickable{min-width:0}
  .bmt-table-wrap .bmt-table.bmt-clickable{min-width:0}
  /* thead: #, Date, Time, Party, Table, Client, Contact, Note, Status
     -> keep 1 (#), 2 (Date), 3 (Time) and 9 (Status). Hide the rest. */
  .bmt-table.bmt-clickable thead th:nth-child(4),
  .bmt-table.bmt-clickable thead th:nth-child(5),
  .bmt-table.bmt-clickable thead th:nth-child(6),
  .bmt-table.bmt-clickable thead th:nth-child(7),
  .bmt-table.bmt-clickable thead th:nth-child(8),
  .bmt-table.bmt-clickable tbody td:nth-child(4),
  .bmt-table.bmt-clickable tbody td:nth-child(5),
  .bmt-table.bmt-clickable tbody td:nth-child(6),
  .bmt-table.bmt-clickable tbody td:nth-child(7),
  .bmt-table.bmt-clickable tbody td:nth-child(8){display:none}
  .bmt-table.bmt-clickable td,.bmt-table.bmt-clickable th{padding:10px 8px;font-size:13px}
}

/* Super-admin restaurant table on mobile: keep name + package + today's
   bookings; hide the deeper stat columns (still reachable via each
   restaurant's own dashboard). */
@media (max-width:640px){
  .bmt-super-rest-table thead th:nth-child(4),
  .bmt-super-rest-table thead th:nth-child(5),
  .bmt-super-rest-table thead th:nth-child(6),
  .bmt-super-rest-table thead th:nth-child(7),
  .bmt-super-rest-table tbody td:nth-child(4),
  .bmt-super-rest-table tbody td:nth-child(5),
  .bmt-super-rest-table tbody td:nth-child(6),
  .bmt-super-rest-table tbody td:nth-child(7){display:none}
}

/* Tab strip: allow horizontal scrolling instead of wrapping into 6 rows. */
@media (max-width:820px){
  .bmt-tabs,.bmt-dash-tabs,.bmt-nav-tabs{
    display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;gap:6px;padding-bottom:4px;
  }
  .bmt-tabs > *,.bmt-dash-tabs > *,.bmt-nav-tabs > *{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap}
}

/* Booking search result panel */
.bmt-super-booking-result{margin:12px 0 24px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}

/* Override the v1.8.0 forced 780px min-width for the reservations & super
   restaurant tables at true mobile widths, so the collapsed layout can fit. */
@media (max-width:640px){
  .bmt-table-wrap .bmt-table.bmt-clickable,
  .bmt-table-wrap .bmt-super-rest-table{min-width:0 !important;width:100%}
}

/* v2.4.3 — table checkbox list */
.bmt-tbl-check-list{display:flex;flex-wrap:wrap;gap:6px;max-height:180px;overflow:auto;padding:8px;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa}
.bmt-tbl-check{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:13px;user-select:none}
.bmt-tbl-check:hover{background:#f3f4f6}
.bmt-tbl-check input{margin:0}
.bmt-tbl-check input:checked + span{font-weight:600;color:#111827}
.bmt-tbl-check:has(input:checked){background:#ecfdf5;border-color:#10b981}
.bmt-assign-table-wrap{display:block;width:100%}

/* ============================================================
   BMT 2.4.4 — Nearby banner cards, mobile order, PDF modal,
   Sidebar collapse, Search title row
   ============================================================ */

/* Nearby cards: banner on top full-width, then logo + details row */
.bmt-nearby-card{display:block;padding:0;overflow:hidden}
.bmt-nearby-card .bmt-nb-banner{display:block;width:100%;aspect-ratio:16/9;background:#f3f4f6;overflow:hidden}
.bmt-nearby-card .bmt-nb-banner img{display:block;width:100%;height:100%;object-fit:cover}
.bmt-nearby-card .bmt-nb-row{display:flex;gap:10px;padding:10px}
.bmt-nearby-card .bmt-nb-row img.bmt-nb-logo{width:44px;height:44px;object-fit:cover;border-radius:8px;flex:0 0 44px}
.bmt-nearby-card .bmt-nb-body{flex:1;min-width:0}
.bmt-nearby-card .bmt-nb-tag.live{background:#16a34a;color:#fff;display:inline-flex;align-items:center;gap:4px}

/* Mobile order for [bmt_nearby_map]: filters (nav) top, map center, results bottom */
@media (max-width:880px){
  .bmt-nearby{display:flex;flex-direction:column}
  .bmt-nearby-filters{order:1}
  .bmt-nearby-body{order:2;display:flex;flex-direction:column;height:auto}
  .bmt-nearby-map{order:1;height:50vh;min-height:280px}
  .bmt-nearby-side{order:2;max-height:none;border-right:none;border-top:1px solid #e5e7eb}
}

/* PDF menu full-screen modal */
body.bmt-modal-open{overflow:hidden}
.bmt-menu-pdf-modal{position:fixed;inset:0;z-index:100050;display:flex;align-items:stretch;justify-content:stretch}
.bmt-menu-pdf-modal[hidden]{display:none !important}
.bmt-menu-pdf-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.85)}
.bmt-menu-pdf-modal-inner{position:relative;width:100vw;height:100vh;display:flex;flex-direction:column;background:#111}
.bmt-menu-pdf-modal-close{position:absolute;top:12px;right:14px;z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#111;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.bmt-menu-pdf-modal-body{flex:1;width:100%;height:100%;display:flex;align-items:stretch;justify-content:center;overflow:auto;background:#111}
.bmt-menu-pdf-modal-body .bmt-menu-pdf-frame{width:100%;height:100%;border:0;background:#fff}
.bmt-menu-pdf-modal-body .bmt-menu-pdf-img{max-width:100%;max-height:100%;height:auto;width:auto;margin:auto;object-fit:contain}

/* Search results title row + Use current location button */
.bmt-search-title-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 12px}
.bmt-search-title-row .bmt-search-title{margin:0}
.bmt-use-my-loc{background:#111;color:#fff;border:0;padding:8px 14px;border-radius:8px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.bmt-use-my-loc:hover{background:#BE923A}

/* Dashboard sidebar collapse (desktop) */
.bmt-dash{transition:grid-template-columns .3s ease}
.bmt-side{position:relative;transition:padding .3s ease}
.bmt-side-collapse-btn{margin-left:8px;background:transparent;border:1px solid #374151;color:#fff;width:28px;height:28px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;transition:background .2s}
.bmt-side-collapse-btn:hover{background:#1f2937}
.bmt-side-expand-btn{display:none;position:absolute;top:14px;left:10px;background:#111;color:#fff;border:1px solid #374151;width:32px;height:32px;border-radius:8px;cursor:pointer;align-items:center;justify-content:center;z-index:5}
.bmt-side-expand-btn:hover{background:#1f2937}
@media (min-width:781px){
  .bmt-dash.bmt-side-collapsed{grid-template-columns:52px 1fr}
  .bmt-dash.bmt-side-collapsed .bmt-side{padding:8px 6px;overflow:hidden}
  .bmt-dash.bmt-side-collapsed .bmt-side > *:not(.bmt-side-expand-btn){display:none !important}
  .bmt-dash.bmt-side-collapsed .bmt-side-expand-btn{display:inline-flex}
  .bmt-dash.bmt-side-collapsed .bmt-main{width:100%}
}
@media (max-width:780px){
  .bmt-side-collapse-btn,.bmt-side-expand-btn{display:none !important}
}

/* Distance badge on restaurant cards — shown only when user shared their location */
.bmt-card-distance{
  margin: 4px 0 6px;
  font-size: 12.5px;
  line-height: 1.3;
  color: #2563eb;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.bmt-card-distance i{ font-size: 11px; opacity: .9; }
@media (max-width: 600px){
  .bmt-card-distance{ font-size: 12px; }
}

/* v2.5.3 — Transaction status badges */
.bmt-tx-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;color:#fff;line-height:1.6}
.bmt-tx-paid{background:#16a34a}
.bmt-tx-refunded{background:#2563eb}
.bmt-tx-pending{background:#f59e0b}
.bmt-tx-pending_manual{background:#f97316}
.bmt-tx-failed{background:#dc2626}
.bmt-tx-cancelled{background:#6b7280}
.bmt-tx-skipped{background:#9ca3af}
.bmt-tx-table .bmt-btn{padding:4px 10px;font-size:12px}

/* ========== v2.4: Booking detail sidebar tabs ========== */
.bmt-detail-tabs { display:flex; gap:16px; margin-top:12px; }
.bmt-detail-tabnav {
  display:flex; flex-direction:column; gap:4px;
  min-width:170px; padding-right:12px; border-right:1px solid #e5e7eb;
}
.bmt-detail-tab {
  display:flex; align-items:center; gap:10px;
  background:transparent; border:1px solid transparent; border-radius:8px;
  padding:10px 12px; text-align:left; cursor:pointer; color:#374151; font-size:14px;
  transition:background .15s, color .15s, border-color .15s;
}
.bmt-detail-tab i { width:16px; text-align:center; color:#6b7280; }
.bmt-detail-tab:hover { background:#f3f4f6; color:#111; }
.bmt-detail-tab.is-active { background:#BE923A; color:#fff; border-color:#BE923A; }
.bmt-detail-tab.is-active i { color:#fff; }
.bmt-detail-tabbodies { flex:1; min-width:0; }
.bmt-detail-panel { display:none; }
.bmt-detail-panel.is-active, .bmt-detail-panel:not([hidden]) { display:block; }
.bmt-detail-stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; }
.bmt-detail-stats-grid > div { padding:10px 12px; border:1px solid #e5e7eb; border-radius:8px; background:#f9fafb; }
.bmt-detail-stats-grid > div span { display:block; color:#6b7280; font-size:12px; margin-bottom:4px; }
@media (max-width: 640px) {
  .bmt-detail-tabs { flex-direction:column; }
  .bmt-detail-tabnav { flex-direction:row; overflow-x:auto; border-right:0; border-bottom:1px solid #e5e7eb; padding:0 0 8px; }
  .bmt-detail-tab { white-space:nowrap; }
}

/* ========== v2.4: Transaction/deposit status badges ========== */
.bmt-tx-badge { display:inline-block; padding:2px 8px; border-radius:10px; font-size:11px; font-weight:600; }
.bmt-tx-paid, .bmt-tx-succeeded { background:#dcfce7; color:#166534; }
.bmt-tx-refunded { background:#dbeafe; color:#1e40af; }
.bmt-tx-pending, .bmt-tx-pending_manual, .bmt-tx-pending-manual { background:#fef3c7; color:#92400e; }
.bmt-tx-failed, .bmt-tx-rejected { background:#fee2e2; color:#991b1b; }

/* Deposit column in Reservations table */
.bmt-dep-cell strong { display:block; margin-bottom:2px; }

/* Super-admin withdrawal modal reuses .bmt-modal */
#bmt-super-withdrawal-modal .bmt-modal-body { max-width:600px; }

/* ---- v2.5.6: standalone "My Restaurants" link above restaurant dropdown ---- */
.bmt-my-restaurants-link {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 12px; margin-bottom: 10px;
  border-radius: 8px; background: #1f2937; color: #fff;
  text-decoration: none; font-size: 14px; font-weight: 600;
  border: 1px solid #374151;
}
.bmt-my-restaurants-link:hover { background: #374151; color: #fff; }
.bmt-my-restaurants-link.active { background: #fff; color: #111; border-color: #fff; }
.bmt-my-restaurants-link i { width: 16px; text-align: center; }

/* ---- v2.5.6: Add Reservation / Revenue Settings share the detail-tabs sidebar look ---- */
.bmt-add-reservation-tabs .bmt-detail-tabnav,
.bmt-revenue-settings-tabs .bmt-detail-tabnav {
  min-width: 200px;
}
.bmt-add-reservation-tabs .bmt-detail-tabbodies,
.bmt-revenue-settings-tabs .bmt-detail-tabbodies { flex: 1; min-width: 0; }

/* Deposit Required badge (v2.5.7) */
.bmt-card-deposit{position:absolute;background:#7c2d12;color:#fff;padding:4px 10px;border-radius:999px;font-weight:700;font-size:11px;letter-spacing:.3px;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.bmt-card-deposit i{margin-right:4px;color:#fde68a}
.bmt-use-location-btn{display:inline-flex;align-items:center;gap:8px;background:#111;color:#fff;border:0;padding:10px 16px;border-radius:8px;font-weight:600;cursor:pointer}
.bmt-use-location-btn:hover{background:#000}
.bmt-use-location-btn[aria-busy="true"]{opacity:.7}
.bmt-distance-badge{display:inline-block;background:#eef2ff;color:#1e3a8a;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;margin:6px 0 0 12px}



/* ---------- WhatsApp Credits dashboard ---------- */
.bmt-wac-card{margin-top:22px}
.bmt-wac-countdown{font-size:13px;align-self:center;white-space:nowrap}
.bmt-wac-alert{margin:12px 0;padding:12px 14px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:14px}
.bmt-wac-alert-warn{background:#fffbeb;border-color:#fde68a;color:#92400e}
.bmt-wac-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:14px 0 18px}
.bmt-wac-tile{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:14px}
.bmt-wac-tile span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}
.bmt-wac-tile strong{display:block;font-size:26px;line-height:1.2;margin:4px 0 2px;color:#111827}
.bmt-wac-tile strong em{font-size:14px;font-style:normal;color:#6b7280}
.bmt-wac-tile small{display:block;font-size:12px;color:#6b7280}
.bmt-wac-tile-main{background:#ecfdf5;border-color:#a7f3d0}
.bmt-wac-tile-main strong{color:#047857}
.bmt-wac-bar{height:6px;border-radius:99px;background:#e5e7eb;overflow:hidden;margin:6px 0 6px}
.bmt-wac-bar i{display:block;height:100%;background:#25D366;border-radius:99px}
.bmt-wac-state.is-on{color:#047857}
.bmt-wac-state.is-off{color:#b91c1c}
.bmt-wac-buy{border-top:1px solid #e5e7eb;padding-top:16px}
.bmt-wac-buy h3,.bmt-wac-history h3{margin:0 0 4px;font-size:16px}
.bmt-wac-buy-row{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-top:10px}
.bmt-wac-buy-row label{display:flex;flex-direction:column;font-size:13px;gap:4px}
.bmt-wac-buy-row select{min-width:180px;padding:8px;border:1px solid #d1d5db;border-radius:8px}
.bmt-wac-cost{background:#f3f4f6;border-radius:10px;padding:8px 14px;min-width:140px}
.bmt-wac-cost span{display:block;font-size:12px;color:#6b7280}
.bmt-wac-cost strong{font-size:20px;color:#111827}
.bmt-wac-msg{margin-top:10px;font-size:13px;color:#374151}
.bmt-wac-msg-err{color:#b91c1c}
.bmt-wac-note{margin-top:12px;font-size:12px;color:#6b7280}
.bmt-wac-history{margin-top:20px;border-top:1px solid #e5e7eb;padding-top:16px}
.bmt-wac-pos{color:#047857;font-weight:600}
.bmt-wac-neg{color:#b91c1c;font-weight:600}
@media(max-width:640px){.bmt-wac-buy-row{flex-direction:column;align-items:stretch}.bmt-wac-buy-row select{width:100%}}

/* ===== v2.9 — Floor plan: "reserved within the next hour" ===== */
.bmt-fp-table.bmt-fp-soon .bmt-fp-box{ box-shadow:0 0 0 2px #f59e0b inset; }
.bmt-fp-soon-note{
  margin-top:6px;font-size:11.5px;font-weight:600;line-height:1.3;
  color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;padding:4px 6px;
}
.bmt-fp-soon-note i{ margin-right:4px; }
.bmt-fp-dot.bmt-fp-soondot{ background:#f59e0b; }
.bmt-tbl-check-soon{ background:#fffbeb;border-color:#fcd34d!important; }
.bmt-tbl-soon{
  display:inline-block;margin-left:6px;font-size:11px;font-weight:700;
  color:#92400e;background:#fef3c7;border-radius:999px;padding:1px 8px;
}

/* ===== v2.9 — Province hub map cards & controls ===== */
.bmt-ph-return-btn{ white-space:nowrap; }
.bmt-map-card{
  width:270px;font-family:inherit;
}
.bmt-map-card-banner{ position:relative;border-radius:10px;overflow:hidden;line-height:0; }
.bmt-map-card-banner img{ width:100%;height:120px;object-fit:cover;display:block; }
.bmt-map-card-badge{
  position:absolute;right:8px;bottom:8px;font-size:11px;font-weight:700;border-radius:999px;
  padding:3px 9px;background:rgba(17,24,39,.85);color:#fff;
}
.bmt-map-card-badge.is-open{ background:#16a34a; }
.bmt-map-card-badge.is-closed{ background:#b91c1c; }
.bmt-map-card-badge.is-soon{ background:#f59e0b; }
.bmt-map-card-name{ font-size:15px;font-weight:800;margin:8px 0 2px;color:#111827; }
.bmt-map-card-cuisine{ font-size:12px;color:#6b7280;margin-bottom:6px; }
.bmt-map-card-meta{ display:flex;align-items:center;gap:10px;font-size:12px;color:#374151;flex-wrap:wrap; }
.bmt-map-card-stars{ color:#f59e0b;font-weight:700; }
.bmt-map-card-dist{ font-weight:600; }
.bmt-map-card-actions{ margin-top:8px;display:flex;gap:8px; }
.bmt-map-card-actions a{
  flex:1;text-align:center;font-size:12px;font-weight:700;padding:6px 8px;border-radius:8px;
  text-decoration:none;background:#111827;color:#fff;
}
.bmt-map-card-actions a.secondary{ background:#f3f4f6;color:#111827; }

/* v3.1 — fully booked slots are clickable waitlist triggers */
.bmt-av-slot.bmt-av-full{background:rgba(239,68,68,.08);border-color:#ef4444;color:#ef4444;cursor:pointer}
.bmt-av-slot.bmt-av-full:hover{background:#ef4444;color:#fff}
.bmt-av-slot.bmt-av-limited{background:rgba(245,158,11,.08)}

/* v3.4 — [bmt_nearby_map] uses the Province Hub restaurant cards */
.bmt-nearby-card.bmt-nearby-card-hub{display:block;padding:0;border:0;background:transparent;border-radius:0;margin-bottom:14px}
.bmt-nearby-card.bmt-nearby-card-hub:hover{transform:none;border-color:transparent}
.bmt-nearby-card.bmt-nearby-card-hub .bmt-ph-card{width:100%}
.bmt-nearby-card.bmt-nearby-card-hub .bmt-card-distance{font-size:12px;color:#6b7280;margin:2px 0}

/* =========================================================
 * v3.8 — Friendly date fields, clean checkboxes, image settings
 * ========================================================= */

/* --- Booking date shown as "06 Aug 2026" --- */
/* .bmt-datefield{position:relative;display:block;margin-top:4px}
.bmt-datefield input[type="date"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;padding:0;border:0;cursor:pointer;z-index:2}
.bmt-datefield-label{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 12px;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#111827;font-size:15px;line-height:1.2}
.bmt-datefield-label:before{content:"\f133";font-family:"Font Awesome 6 Free","Font Awesome 5 Free";font-weight:400;color:#9ca3af}
.bmt-datefield-label.is-empty{color:#9ca3af}
.bmt-datefield:hover .bmt-datefield-label{border-color:#BE923A} */

/* --- Checkboxes: no focus / hover / checked outlines anywhere --- */
[class*="bmt-"] input[type="checkbox"],
[class*="bmt-"] input[type="checkbox"]:hover,
[class*="bmt-"] input[type="checkbox"]:focus,
[class*="bmt-"] input[type="checkbox"]:focus-visible,
[class*="bmt-"] input[type="checkbox"]:active,
[class*="bmt-"] input[type="checkbox"]:checked{
  outline:none!important;
  box-shadow:none!important;
  -webkit-tap-highlight-color:transparent;
}
[class*="bmt-"] input[type="checkbox"]:focus-visible{outline:none!important}

/* --- Restaurant settings: images --- */
.bmt-img-settings{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin:10px 0 6px}
.bmt-img-card{border:1px solid #e5e7eb;border-radius:14px;padding:14px;background:#fff}
.bmt-img-card h4{margin:0 0 2px;font-size:15px}
.bmt-img-card p.bmt-img-hint{margin:0 0 10px;font-size:12.5px;color:#6b7280}
.bmt-img-preview{position:relative;width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#f3f4f6 center/cover no-repeat;display:flex;align-items:center;justify-content:center;border:1px dashed #d1d5db;margin-bottom:10px}
.bmt-img-preview.is-logo{aspect-ratio:1/1;max-width:150px}
.bmt-img-preview img{width:100%;height:100%;object-fit:cover;display:block}
.bmt-img-preview .bmt-img-empty{color:#9ca3af;font-size:13px;text-align:center;padding:10px}
.bmt-img-drop{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 12px;border:1px solid #d1d5db;border-radius:10px;background:#f9fafb;color:#374151;font-size:14px;font-weight:600;cursor:pointer;text-align:center}
.bmt-img-drop:hover{border-color:#BE923A;background:#fff}
.bmt-img-drop input[type="file"]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.bmt-img-filename{display:block;margin-top:6px;font-size:12px;color:#6b7280;word-break:break-all}
.bmt-gallery-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));margin-top:12px}
.bmt-gallery-item{position:relative;border-radius:10px;overflow:hidden;border:1px solid #e5e7eb}
.bmt-gallery-item img{width:100%;height:110px;object-fit:cover;display:block}
.bmt-gallery-remove{position:absolute;inset:auto 0 0 0;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 4px;background:rgba(17,24,39,.72);color:#fff;font-size:12px;cursor:pointer}
.bmt-gallery-remove input{accent-color:#dc2626;margin:0}
.bmt-gallery-item.is-removing img{opacity:.45}
@media (max-width:760px){
  .bmt-img-settings{grid-template-columns:1fr;gap:12px}
  .bmt-img-card{padding:12px}
  .bmt-img-preview.is-logo{max-width:120px;margin-inline:auto}
  .bmt-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
  .bmt-gallery-item img{height:96px}
}

/* v3.9 — reservation status badge on favourite cards + waitlist rows */
.bmt-ftcard-meta .bmt-card-res-status { margin-left:auto; display:inline-flex; }
.bmt-card-res-status .bmt-badge { font-size:11px; }
tr.bmt-row-waitlisted { background:rgba(190,146,58,.06); cursor:pointer; }
tr.bmt-row-waitlisted:hover { background:rgba(190,146,58,.12); }
.bmt-code-wl { color:#BE923A; }
.bmt-my-waitlist { border:1px solid rgba(190,146,58,.35); border-radius:10px; padding:12px; background:rgba(190,146,58,.05); }

/* ===== v3.12 — form validation, phone field & password eye ===== */
.bmt-field-error{display:none;color:#b91c1c;font-size:12px;font-weight:500;margin-top:4px;line-height:1.35;}
input.bmt-invalid,.bmt-check-group.bmt-invalid{border-color:#dc2626 !important;}
.bmt-check-group.bmt-invalid .bmt-contact-pref-label{color:#b91c1c;}

.bmt-phone-field{display:flex;gap:6px;align-items:stretch;width:100%;}
.bmt-phone-field .bmt-phone-num{flex:1 1 auto;min-width:0;}

.bmt-pw-field{position:relative;display:block;width:100%;}
.bmt-pw-field input{width:100%;padding-right:40px;}
.bmt-pw-eye{position:absolute;top:50%;right:8px;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;color:#6b7280;padding:4px;line-height:1;font-size:15px;}
.bmt-pw-eye:hover{color:#111827;}

.bmt-bn-submit:disabled,.bmt-btn-disabled{opacity:.55;cursor:not-allowed;}

/* ============================================================
 * v3.13 — Card titles + banner map button, reviews UX, pagination
 * ============================================================ */

/* --- Card title: one line, ellipsis, verified tick --- */
.bmt-card-title-row{margin:0;display:flex;align-items:center;gap:6px;min-width:0;color:#01000E;font-size:19px}
.bmt-card-title-text{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bmt-card-verified{flex:0 0 auto;position:relative;display:inline-flex;align-items:center;color:#1d9bf0;font-size:15px;line-height:1;cursor:help}
.bmt-card-verified-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#01000E;color:#fff;font-size:11px;font-weight:600;white-space:nowrap;padding:4px 8px;border-radius:6px;opacity:0;visibility:hidden;transition:opacity .12s;pointer-events:none;z-index:6}
.bmt-card-verified-tip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#01000E}
.bmt-card-verified:hover .bmt-card-verified-tip,
.bmt-card-verified:focus .bmt-card-verified-tip,
.bmt-card-mapbtn:hover .bmt-card-verified-tip,
.bmt-card-mapbtn:focus .bmt-card-verified-tip{opacity:1;visibility:visible}

/* --- Map icon button on the bottom-left of the card banner --- */
.bmt-card-mapbtn{position:absolute;left:10px;top:154px;z-index:5;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#01000E;display:inline-flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.22);transition:background .15s,transform .15s}
.bmt-card-mapbtn:hover{background:#BE923A;color:#fff;transform:translateY(-1px)}
.bmt-card-mapbtn .bmt-card-verified-tip{bottom:auto;top:calc(100% + 8px);left:0;transform:none}
.bmt-card-mapbtn .bmt-card-verified-tip:after{top:auto;bottom:100%;left:14px;transform:none;border-top-color:transparent;border-bottom-color:#01000E}
.bmt-ftcard-body{padding-bottom:16px}

/* --- Digital menu: sort by price --- */
.bmt-dmenu-sort{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;color:#01000E;cursor:pointer}
.bmt-dmenu-sort.is-active{background:#BE923A;border-color:#BE923A;color:#fff}

/* --- Reviews --- */
.bmt-rev-filters{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.bmt-rev-filter{background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;color:#01000E;cursor:pointer}
.bmt-rev-filter.is-active{background:#01000E;border-color:#01000E;color:#fff}
.bmt-review-text.is-clamped{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bmt-rev-readmore{background:none;border:0;padding:0;margin-top:2px;color:#BE923A;font-weight:700;font-size:13px;cursor:pointer}
.bmt-rev-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.bmt-rev-like{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;color:#01000E;cursor:pointer}
.bmt-rev-like.is-liked{background:#BE923A;border-color:#BE923A;color:#fff}
.bmt-rev-like-count{font-weight:700}
.bmt-rev-own-actions{display:flex;gap:8px;margin-left:auto}
.bmt-rev-edit-btn,.bmt-rev-own-del{background:none;border:0;font-size:13px;font-weight:700;cursor:pointer;color:#01000E}
.bmt-rev-own-del{color:#dc2626}
.bmt-rev-editwrap{margin-top:8px}
.bmt-rev-editwrap textarea{width:100%}
.bmt-rev-viewmore-wrap{text-align:center;margin-top:16px}
.bmt-rev-edit-note{font-size:12px;color:#6b7280;margin:4px 0 0}
.bmt-review[hidden]{display:none!important}

/* --- Simple centred toast/modal used for review confirmations --- */
.bmt-toast-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:rgba(1,0,14,.55)}
.bmt-toast-box{background:#fff;border-radius:14px;padding:24px;max-width:380px;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.bmt-toast-box i{font-size:34px;color:#16a34a}
.bmt-toast-box h4{margin:10px 0 6px;font-size:18px;color:#01000E}
.bmt-toast-box p{margin:0 0 14px;font-size:14px;color:#4b5563}

/* --- Booking list pagination --- */
.bmt-mybk-viewmore-wrap{text-align:center;margin-top:14px}
.bmt-mybk-card[hidden]{display:none!important}

/* ============ v3.13 — reviews, menu sort, booking pagination ============ */
.bmt-rev-filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 10px}
.bmt-rev-filter{background:#f4f4f5;border:1px solid #e4e4e7;border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer}
.bmt-rev-filter.is-active{background:#111;color:#fff;border-color:#111}
.bmt-review-text.is-clamped{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bmt-rev-readmore{background:none;border:0;padding:0;margin-top:2px;color:#0f766e;font-weight:600;font-size:13px;cursor:pointer}
.bmt-rev-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px}
.bmt-rev-like{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #e4e4e7;border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer}
.bmt-rev-like.is-liked{background:#ecfdf5;border-color:#10b981;color:#047857}
.bmt-rev-like-count{font-weight:700}
.bmt-rev-own-actions{display:flex;gap:10px;margin-left:auto}
.bmt-rev-own-actions button{background:none;border:0;padding:0;font-size:13px;color:#52525b;cursor:pointer}
.bmt-rev-own-actions .bmt-rev-own-del{color:#b91c1c}
.bmt-rev-edit-note{margin:8px 0 0;font-size:12px;color:#a16207}
.bmt-rev-editwrap{margin-top:10px;padding-top:10px;border-top:1px dashed #e4e4e7}
.bmt-rev-viewmore-wrap,.bmt-mybk-more-wrap{display:flex;justify-content:center;margin:18px 0}
.bmt-rev-popup{position:fixed;inset:0;z-index:99999;background:rgba(17,17,17,.55);display:flex;align-items:center;justify-content:center;padding:20px}
.bmt-rev-popup-box{background:#fff;border-radius:16px;padding:26px;max-width:420px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.bmt-rev-popup-title{margin:0 0 8px;font-size:19px}
.bmt-rev-popup-msg{margin:0 0 18px;color:#52525b;font-size:14px;line-height:1.5}
.bmt-dmenu-sort{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #e4e4e7;border-radius:999px;padding:7px 14px;font-size:13px;cursor:pointer;white-space:nowrap}
.bmt-dmenu-sort.is-active{background:#111;color:#fff;border-color:#111}

/* ===== v3.14 — My Bookings pagination ("View More") ===== */
.bmt-mybk-card.bmt-mybk-hidden{display:none!important}
.bmt-mybk-loadmore-wrap{display:flex;justify-content:center;margin:18px 0}
.bmt-mybk-loadmore .bmt-mybk-left{opacity:.75;font-weight:500}

/* ===== v3.14 — modal interaction hardening =====
 * Guarantees the modal card always sits above its own backdrop and that no
 * theme overlay can swallow clicks inside an open modal. */
.bmt-modal:not([hidden]){pointer-events:auto}
.bmt-modal .bmt-modal-backdrop{z-index:1}
.bmt-modal .bmt-modal-card{z-index:2;pointer-events:auto}
.bmt-modal .bmt-modal-card *{pointer-events:auto}
.bmt-modal .bmt-modal-close{z-index:3}

/* ===== v3.16 — modal hardening: the v3.15 <dialog> shell made the rest of the
   page inert, which is why the "Add reservation" pop-up could not be clicked.
   Modals are now portalled to <body> and lifted with a very high z-index. */
.bmt-modal.bmt-modal-top{
  position:fixed; inset:0; z-index:2147483000; pointer-events:auto;
}
.bmt-modal.bmt-modal-top .bmt-modal-backdrop{ z-index:1; }
.bmt-modal.bmt-modal-top .bmt-modal-card{
  z-index:2; pointer-events:auto; position:relative;
}
.bmt-modal.bmt-modal-top .bmt-modal-card *{ pointer-events:auto; }

/* ===== v3.17 — "Add reservation" pop-up clickability =====
 * The modal card (and everything inside it) must always be interactive and
 * painted above its own backdrop and above any theme overlay. The JS in
 * script.js portals the open modal to <body>; these rules make sure nothing
 * in the theme can push it back down or mute its pointer events. */
.bmt-modal.bmt-modal-top{position:fixed;inset:0;z-index:2147483000;pointer-events:auto}
.bmt-modal.bmt-modal-top .bmt-modal-backdrop{z-index:1;pointer-events:auto}
.bmt-modal.bmt-modal-top .bmt-modal-card{position:relative;z-index:2;pointer-events:auto}
.bmt-modal.bmt-modal-top .bmt-modal-card *{pointer-events:auto}
.bmt-modal.bmt-modal-top .bmt-detail-tabs,
.bmt-modal.bmt-modal-top .bmt-detail-tabnav,
.bmt-modal.bmt-modal-top .bmt-detail-tabbodies{position:relative;z-index:3}
.bmt-modal.bmt-modal-top .bmt-detail-tab{position:relative;z-index:4;cursor:pointer;pointer-events:auto}
.bmt-modal.bmt-modal-top .bmt-modal-close{z-index:5}
.bmt-modal.bmt-modal-top form,
.bmt-modal.bmt-modal-top input,
.bmt-modal.bmt-modal-top select,
.bmt-modal.bmt-modal-top textarea,
.bmt-modal.bmt-modal-top button,
.bmt-modal.bmt-modal-top label,
.bmt-modal.bmt-modal-top a{pointer-events:auto!important;position:relative;z-index:3}


/* ===== v3.18 — live searches, client picker, OTP ===== */
.bmt-res-table-wrap.is-loading { opacity:.55; transition:opacity .15s; }
.bmt-res-search-spin { color:#6b7280; }

.bmt-pw-match { display:block; margin-top:6px; font-size:12px; font-weight:600; }
.bmt-pw-match.is-ok { color:#15803d; }
.bmt-pw-match.is-bad { color:#b91c1c; }
.bmt-link { background:none; border:0; padding:0; color:#b82929; font:inherit; cursor:pointer; text-decoration:underline; }

.bmt-client-search { position:relative; margin:0 0 14px; }
.bmt-client-search-label { display:block; font-weight:600; }
.bmt-client-search-input { width:100%; }
.bmt-client-search-results {
  position:absolute; z-index:60; left:0; right:0; top:100%;
  background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:6px;
  box-shadow:0 12px 30px rgba(0,0,0,.12); max-height:340px; overflow:auto;
}
/* v3.19 — one client per line, full width, white background, light border. */
.bmt-cs-item { display:flex; align-items:center; gap:10px; width:100%; text-align:left; background:#fff; border:1px solid #e5e7eb; border-radius:8px; margin:0 0 6px; padding:10px 12px; cursor:pointer; transition:background .15s ease, border-color .15s ease, box-shadow .15s ease; }
.bmt-cs-item:last-child { margin-bottom:0; }
.bmt-cs-item:hover, .bmt-cs-item:focus-visible { background:#f9fafb; border-color:#d1d5db; box-shadow:0 1px 3px rgba(0,0,0,.06); }
.bmt-cs-name { flex:1 1 auto; min-width:0; font-weight:700; color:#111827; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bmt-cs-meta { flex:0 1 auto; min-width:0; font-size:12px; color:#6b7280; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bmt-cs-item .bmt-cs-count { flex:0 0 auto; }
.bmt-cs-item .bmt-cs-pill { flex:0 0 auto; margin-left:auto; }
@media (max-width:640px){
  .bmt-cs-item { flex-wrap:wrap; gap:4px 10px; }
  .bmt-cs-name { flex:1 0 100%; }
}
.bmt-cs-empty { padding:12px; font-size:13px; color:#6b7280; }
.bmt-cs-pill { display:inline-block; margin-left:6px; padding:1px 8px; border-radius:999px; font-size:11px; font-weight:700; }
.bmt-cs-pill.is-vip { background:#fef3c7; color:#92400e; }
.bmt-cs-pill.is-regular { background:#eef2ff; color:#3730a3; }
.bmt-cs-pill.is-blocked { background:#fee2e2; color:#991b1b; }

.bmt-cs-modal { position:fixed; inset:0; z-index:100000; background:rgba(17,24,39,.6); display:flex; align-items:center; justify-content:center; padding:16px; }
.bmt-cs-modal-card { background:#fff; border-radius:14px; padding:22px; width:min(520px,100%); box-shadow:0 24px 60px rgba(0,0,0,.3); }
.bmt-cs-modal-card h3 { margin:0 0 10px; color:#991b1b; }
.bmt-cs-blockinfo { margin:0 0 14px; padding-left:18px; font-size:14px; color:#374151; }
.bmt-cs-modal-actions { display:flex; flex-wrap:wrap; gap:8px; }

/* v3.18 — public seating preference (Live Booking) table picker */
.bmt-seat-pref-checks{margin-top:8px}
.bmt-seat-pref-lbl{font-weight:600;font-size:14px;margin-bottom:6px}
.bmt-seat-pref-checks .bmt-tbl-check-list{max-height:150px}

.bmt-seat-pref-select-wrap{display:flex;flex-direction:column}
.bmt-seat-pref-select-wrap select{width:100%}


/* ============ v3.19 additions ============ */
.bmt-pw-hint{display:block;margin-top:4px;font-size:12px;line-height:1.35;color:#6b7280}
.bmt-invalid + .bmt-pw-hint{color:#b91c1c}
/* Blocked-client modal must sit ABOVE the add-reservation modal. */
.bmt-cs-modal{z-index:100200!important}
.bmt-rev-like-error{display:inline-block;margin-left:10px;font-size:12px;font-weight:600;color:#b91c1c}
.bmt-block-log-table td small{display:block;color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.3px}
.bmt-rev-hidden{display:none!important}

/* ===== v3.20 feature pack ===== */
.bmt-x-modal{position:fixed;inset:0;background:rgba(1,0,14,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.bmt-x-modal-card{background:#fff;border-radius:14px;max-width:480px;width:100%;padding:22px;box-shadow:0 18px 50px rgba(1,0,14,.28)}
.bmt-x-modal-card h3{margin:0 0 10px;font-size:18px}
.bmt-x-modal-body{font-size:14px;color:#374151}
.bmt-x-modal-body p{margin:0 0 8px}
.bmt-x-modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.bmt-notice-warn{background:#fff7ed;border:1px solid #fdba74;color:#7c2d12;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45}
.bmt-live-toolarge{margin-bottom:10px}
.bmt-bank-error{display:none;color:#b91c1c;font-size:12px;margin-top:4px}
input.bmt-invalid,select.bmt-invalid{border-color:#dc2626!important;background:#fef2f2}
.bmt-mi-newcat[hidden]{display:none!important}
select.bmt-time-30{padding:6px 8px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px}
button.bmt-chip{cursor:pointer;font:inherit}
form.bmt-dirty{position:relative}

/* v3.11 — empty state inside the search suggestion dropdown */
.bmt-suggest-list .bmt-suggest-empty{
    display:block;
    padding:12px 14px;
    color:#6b7280;
    font-style:italic;
    cursor:default;
    text-align:center;
}
.bmt-suggest-list .bmt-suggest-empty:hover{ background:transparent; }

/* ===== v3.21 — in-app visibility helpers ===== */
/* v3.23 — these helpers must never force a display value on normal elements:
   forcing display:block on wrappers broke flex/grid layouts (and, on the single
   restaurant page, the scrolling behaviour). Only the app state is forced. */
.show-in-app{display:none!important}
.in-app .show-in-app{display:revert!important}
.in-app .hide-in-app{display:none!important}
@media (min-width:640px){
  .sm\:show-in-app{display:none!important}
  .in-app .sm\:show-in-app{display:revert!important}
  .in-app .sm\:hide-in-app{display:none!important}
}

/* ===== v3.22 — mobile scrolling + "Book My Table" pop-up ===== */
/* Smooth, unblocked scrolling on phones.
 * v3.23 — the old rule set overflow-x:hidden on <body>, which (per the CSS
 * spec) turns overflow-y into "auto" and makes the body its own scroll
 * container nested inside the page scroller. On phones that produced the
 * stuttering / stuck scrolling on single restaurant pages. The page scroller is
 * now <html> only, and horizontal bleed is clipped without creating a second
 * scroll container. */
html { -webkit-overflow-scrolling: touch; overscroll-behavior-y: none; }
html:not(.bmt-modal-open) { overflow-x: clip; }
body:not(.bmt-modal-open):not(.bmt-side-open-body) {
  overflow: visible;
  max-width: 100%;
  -webkit-overflow-scrolling: auto;
  touch-action: pan-y;
}

/* The fixed sticky button used to sit on top of the last section, so the
   bottom of some pages could never be reached on a phone. */
@media (max-width: 780px) {
  body { padding-bottom: env(safe-area-inset-bottom, 0px); }
  .bmt-detail, .bmt-single-restaurant, .bmt-rest-wrap { padding-bottom: 96px; }
  .bmt-sticky-book { bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
  /* v3.24 — hide the main vertical page scrollbar on phones (the thin track
     that hugs the right edge of the screen). Touch scrolling still works;
     only the visible gutter is removed for a cleaner full-bleed look. */
  html { scrollbar-width: none; -ms-overflow-style: none; }
  html::-webkit-scrollbar { display: none; width: 0; height: 0; }
}

/* Booking form inside the pop-up */
.bmt-book-modal .bmt-modal-card {
  width: calc(100% - 24px);
  max-width: 560px;
  margin: 4vh auto;
  max-height: 92vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 20px 18px 24px;
}
.bmt-book-modal .bmt-book,
.bmt-book-modal .bmt-book.bmt-book-in-modal {
  margin: 0; border: 0; box-shadow: none; padding: 0; background: transparent;
  position: static; top: auto; max-width: none; width: 100%;
}
.bmt-book-modal .bmt-book h2 { margin-top: 0; }
.bmt-book-modal .bmt-modal-close { z-index: 6; }
@media (max-width: 780px) {
  .bmt-book-modal .bmt-modal-card { margin: 2vh auto; max-height: 94vh; }
}


/* ===== v3.23 — View Menu pop-up (all screen sizes) ===== */
.bmt-menu-modal{position:fixed;inset:0;z-index:100060;display:flex;align-items:center;justify-content:center;padding:20px}
.bmt-menu-modal[hidden]{display:none!important}
.bmt-menu-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72)}
.bmt-menu-modal-card{position:relative;z-index:2;width:min(920px,100%);max-height:90vh;background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden}
.bmt-menu-modal-close{position:absolute;top:10px;right:12px;z-index:5;width:40px;height:40px;border-radius:50%;border:0;background:#f3f4f6;color:#111;font-size:26px;line-height:1;cursor:pointer}
.bmt-menu-modal-close:hover{background:#e5e7eb}
.bmt-menu-modal .bmt-menu-public{margin:0;border:0;border-radius:0;box-shadow:none;padding:46px 18px 18px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0}
.bmt-menu-modal .bmt-menu-tabs{position:sticky;top:0;background:#fff;z-index:3;margin:0 0 12px}
.bmt-menu-modal .bmt-menu-pane-pdf .bmt-menu-pdf-frame{height:min(72vh,900px)}
.bmt-menu-modal .bmt-menu-pane-pdf{text-align:center}
/* v3.24 — zoomable PDF / image menu, contained inside the pop-up. */
.bmt-zoom{position:relative}
.bmt-zoom-viewport{position:relative;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;border-radius:10px;background:#f8fafc;max-height:min(72vh,900px)}
.bmt-zoom-stage{transform-origin:0 0;transform:scale(1);width:100%}
.bmt-zoom.is-zoomed .bmt-zoom-viewport{cursor:grab}
.bmt-zoom .bmt-menu-pdf-frame{display:block;width:100%}
.bmt-zoom .bmt-menu-pdf-img{display:block;width:100%;height:auto;border-radius:10px}
.bmt-zoom-controls{position:absolute;right:12px;bottom:12px;z-index:4;display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;background:rgba(17,24,39,.86);box-shadow:0 8px 24px rgba(0,0,0,.28)}
.bmt-zoom-btn{width:34px;height:34px;border:0;border-radius:50%;background:#fff;color:#111;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.bmt-zoom-btn:hover{background:#e5e7eb}
.bmt-zoom-level{min-width:46px;text-align:center;color:#fff;font-size:12px;font-weight:600}
@media (max-width:780px){
  .bmt-menu-modal{padding:0}
  .bmt-menu-modal-card{width:100%;height:100%;max-height:100%;border-radius:0}
  .bmt-menu-modal .bmt-menu-public{padding:52px 12px 24px}
  .bmt-menu-modal .bmt-menu-pane-pdf .bmt-menu-pdf-frame{height:calc(100vh - 190px)}
  .bmt-zoom-viewport{max-height:calc(100vh - 190px)}
  .bmt-zoom-controls{right:10px;bottom:10px;padding:5px 7px}
  .bmt-zoom-btn{width:38px;height:38px;font-size:19px}
}

/* Lock the page scroller (now <html>) while any pop-up is open. */
html:has(body.bmt-modal-open){overflow:hidden}
body.bmt-modal-open{overflow:hidden;touch-action:none}
body.bmt-modal-open .bmt-menu-modal,
body.bmt-modal-open .bmt-modal-card{touch-action:pan-y}

/* v3.26 — My restaurants card grid (multi-restaurant admin home). */
.bmt-myrest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:16px 0 24px}
.bmt-rest-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.bmt-rest-card-banner{position:relative;aspect-ratio:16/9;background:#f3f4f6}
.bmt-rest-card-banner img{width:100%;height:100%;object-fit:cover;display:block}
.bmt-rest-card-noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:28px}
.bmt-rest-card-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px;flex:1}
.bmt-rest-card-title{margin:0;font-size:16px;line-height:1.3;color:#111}
.bmt-rest-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.bmt-rest-card-actions .bmt-btn{flex:1;justify-content:center;text-align:center}
.bmt-mr-panel{scroll-margin-top:20px}

/* v3.25 — removed waitlist guests stay in the Reservations table, muted. */
.bmt-table tr.bmt-row-removed td { opacity: .62; }
.bmt-table tr.bmt-row-removed .bmt-code-wl { text-decoration: line-through; }
.bmt-clients-table-wrap.is-loading { opacity: .55; pointer-events: none; transition: opacity .15s ease; }

/* v4.1 — the cancellation confirmation must always sit ABOVE the open
   reservation modal (.bmt-modal is z-index:100000). */
.bmt-modal-overlay.bmt-cancel-modal{z-index:100300!important}


/* v3.30 — My Restaurants analytics modal */
.bmt-mr-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;}
.bmt-mr-modal[hidden]{display:none!important;}
.bmt-mr-modal-backdrop{position:absolute;inset:0;background:rgba(17,24,39,.55);}
.bmt-mr-modal-box{position:relative;z-index:1;width:min(980px,100%);max-height:90vh;overflow-y:auto;
  background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.28);padding:18px;}
.bmt-mr-modal-box .bmt-mr-panel{box-shadow:none;margin:0;}
.bmt-mr-modal-box .bmt-mr-panel[hidden]{display:none!important;}
body.bmt-mr-modal-open{overflow:hidden;}
@media (max-width:640px){
  .bmt-mr-modal{padding:10px;}
  .bmt-mr-modal-box{padding:12px;max-height:94vh;}
}

/* v3.30 — clickable booking codes in table pickers / floor plan */
.bmt-book-link{color:#b45309;font-weight:700;text-decoration:underline;cursor:pointer}
.bmt-book-link:hover{color:#92400e}
.bmt-tbl-soon .bmt-book-link{color:inherit}
.bmt-tbl-busy{color:#b91c1c}
.bmt-fp-box-codes .bmt-book-link{color:inherit;text-decoration:underline}

/* v3.41 — WhatsApp credit request note */
.bmt-wac-note-label{display:flex;flex-direction:column;gap:6px;font-size:13px;margin-top:12px;max-width:520px;color:#374151}
.bmt-wac-note-input{padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;font:inherit;resize:vertical}

/* ===== v3.49 Delete My Account (My information tab) ===== */
.bmt-delacc{margin:22px 0 8px;padding-top:18px;border-top:1px solid #e5e7eb}
.bmt-delacc-panel{margin-top:6px;padding:16px;border:1px solid #fecaca;background:#fff7f7;border-radius:12px}
.bmt-delacc-panel h3{margin:0 0 10px;font-size:18px;color:#b91c1c}
.bmt-delacc-warning p{margin:0 0 8px;font-size:14px;line-height:1.6}
.bmt-delacc-warning ul{margin:0 0 10px 18px;padding:0;font-size:14px;line-height:1.7}
.bmt-delacc-reason,.bmt-delacc-otp,.bmt-delacc-final{margin-top:12px}
.bmt-delacc label{display:block;margin:0 0 10px;font-size:14px;font-weight:600}
.bmt-delacc select,.bmt-delacc textarea,.bmt-delacc input[type=text]{width:100%;margin-top:4px;padding:10px;border:1px solid #d1d5db;border-radius:8px;font-weight:400}
.bmt-delacc-otp-input{max-width:220px;letter-spacing:6px;font-size:20px;text-align:center}
.bmt-delacc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.bmt-delacc-verified{margin:0 0 10px;font-size:14px;color:#166534;font-weight:600}
.bmt-delacc-otp-msg{margin:0 0 12px;font-size:14px;line-height:1.6}
