.bcm-menu-app{--bcm-accent:#7c4a24;max-width:1100px;margin:24px auto;color:#28231f;font-family:inherit}.bcm-menu-app *{box-sizing:border-box}.bcm-menu-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px;border-radius:18px;background:linear-gradient(135deg,#f8f0e6,#fffaf4);margin-bottom:20px}.bcm-menu-header h2{font-size:clamp(24px,4vw,34px);margin:5px 0;color:#352419}.bcm-menu-header p{margin:0;color:#77675b}.bcm-menu-eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--bcm-accent)}.bcm-menu-cart-badge{min-width:86px;text-align:center;padding:12px;border:1px solid #e3d4c5;background:#fff;border-radius:14px}.bcm-menu-cart-badge span{display:block;font-size:26px;font-weight:800;color:var(--bcm-accent)}.bcm-menu-cart-badge small{font-size:11px;color:#77675b}.bcm-menu-table-select,.bcm-menu-checkout{border:1px solid #e8e0d8;background:#fff;border-radius:16px;padding:20px;margin:18px 0}.bcm-menu-table-select label,.bcm-menu-checkout label{display:block;font-weight:700;margin:12px 0 6px}.bcm-menu-table-select select,.bcm-menu-checkout input,.bcm-menu-checkout textarea{width:100%;max-width:100%;padding:11px 12px;border:1px solid #d8d0c8;border-radius:9px;font:inherit}.bcm-menu-categories{display:flex;gap:8px;overflow:auto;padding:8px 0 18px}.bcm-menu-categories a,.bcm-menu-categories button{flex:0 0 auto;padding:9px 14px;border:0;border-radius:24px;background:#f4eee8;color:#65452d;text-decoration:none;font-weight:700;font-size:13px;cursor:pointer}.bcm-menu-categories .is-active{background:#704321;color:#fff}.bcm-menu-product[hidden]{display:none!important}.bcm-menu-section{margin:20px 0 28px;scroll-margin-top:30px}.bcm-menu-section h3,.bcm-menu-checkout h3{font-size:22px;margin:0 0 14px}.bcm-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.bcm-menu-product{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e9e1d9;border-radius:15px;background:#fff;box-shadow:0 3px 12px rgba(44,29,17,.04)}.bcm-menu-product-image,.bcm-menu-product-placeholder{display:block;width:100%;height:175px;object-fit:cover;background:#f5ede5}.bcm-menu-product-placeholder{display:grid;place-items:center;font-size:48px}.bcm-menu-product-info{padding:14px;display:flex;flex-direction:column;gap:8px}.bcm-menu-product-info h4{margin:0;font-size:17px;line-height:1.35}.bcm-menu-product-info p{margin:0;color:var(--bcm-accent);font-size:17px;font-weight:800}.bcm-menu-controls{display:flex;align-items:center;gap:12px;margin-top:4px}.bcm-menu-controls button{width:34px;height:34px;border:1px solid #ddcbb9;border-radius:9px;background:#fff8f1;color:#5e3a20;font-size:20px;line-height:1;cursor:pointer}.bcm-menu-controls output{min-width:18px;text-align:center;font-weight:800}.bcm-menu-item-note{width:100%;border:1px solid #e2d9d0;border-radius:8px;padding:9px;font:inherit;font-size:12px}.bcm-menu-total{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eee4db;margin-top:20px;padding:16px 0;font-size:17px}.bcm-menu-total strong{font-size:24px;color:var(--bcm-accent)}#bcm-submit-order{width:100%;padding:14px 18px;border:0;border-radius:10px;background:#6b3f22;color:white;font:inherit;font-weight:800;cursor:pointer}#bcm-submit-order:hover{background:#4f2e18}#bcm-submit-order:disabled{opacity:.65;cursor:wait}.bcm-menu-footnote{font-size:12px;color:#786c62;text-align:center}.bcm-result-success,.bcm-result-error{padding:12px;margin-top:12px;border-radius:9px;font-weight:600}.bcm-result-success{background:#e9f8ed;color:#176b35}.bcm-result-error{background:#fff0ef;color:#a12622}.bcm-public-notice{padding:16px;border-radius:10px;background:#fff4d6;color:#805b00}@media(max-width:1000px){.bcm-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}@media(max-width:760px){.bcm-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bcm-menu-product-image,.bcm-menu-product-placeholder{height:135px}.bcm-menu-product-info{padding:10px}.bcm-menu-product-info h4{font-size:15px}.bcm-menu-header{padding:18px}}@media(max-width:420px){.bcm-menu-grid{grid-template-columns:1fr}.bcm-menu-product{flex-direction:row}.bcm-menu-product-image,.bcm-menu-product-placeholder{width:112px;height:140px;flex:0 0 112px}.bcm-menu-product-info{flex:1}.bcm-menu-header h2{font-size:24px}}

/* v1.2.1: stronger theme-resistant layout for the public menu page */
body:has(.bcm-menu-app) #secondary,body:has(.bcm-menu-app) .sidebar,body:has(.bcm-menu-app) .widget-area,body:has(.bcm-menu-app) aside.widget-area,body:has(.bcm-menu-app) .right-sidebar,body:has(.bcm-menu-app) .left-sidebar{display:none!important}
body:has(.bcm-menu-app) #primary,body:has(.bcm-menu-app) .content-area,body:has(.bcm-menu-app) main.site-main,body:has(.bcm-menu-app) .site-main,body:has(.bcm-menu-app) .site-content,body:has(.bcm-menu-app) .content-container{width:100%!important;max-width:100%!important;float:none!important;flex:0 0 100%!important}
body:has(.bcm-menu-app) .site-content .container,body:has(.bcm-menu-app) .content-area .container{max-width:1240px!important;width:100%!important}
body:has(.bcm-menu-app) .bcm-menu-app{width:100%!important;max-width:1200px!important;margin:24px auto!important}
body:has(.bcm-menu-app) .bcm-menu-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
@media(max-width:1000px){body:has(.bcm-menu-app) .bcm-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){body:has(.bcm-menu-app) .bcm-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}}
@media(max-width:420px){body:has(.bcm-menu-app) .bcm-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body:has(.bcm-menu-app) .bcm-menu-product{display:flex!important;flex-direction:column!important}body:has(.bcm-menu-app) .bcm-menu-product-image,body:has(.bcm-menu-app) .bcm-menu-product-placeholder{width:100%!important;height:115px!important;flex:auto!important}}

/* v1.2.2: full-width menu grid and theme chrome hidden only on menu pages */
body:has(.bcm-menu-app) .bcm-menu-app{display:block!important;width:100%!important;max-width:1200px!important;margin:0 auto!important;float:none!important;clear:both!important;position:relative!important;left:auto!important;right:auto!important;transform:none!important}
body:has(.bcm-menu-app) .bcm-menu-section,body:has(.bcm-menu-app) #bcm-all-products{display:block!important;width:100%!important;max-width:none!important}
body:has(.bcm-menu-app) .bcm-menu-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;width:100%!important;max-width:none!important}
body:has(.bcm-menu-app) .bcm-menu-product{display:flex!important;flex-direction:column!important;min-width:0!important;width:auto!important;max-width:none!important;float:none!important}
body:has(.bcm-menu-app) .bcm-menu-product-image,body:has(.bcm-menu-app) .bcm-menu-product-placeholder{width:100%!important;height:175px!important;flex:none!important;object-fit:cover!important}
body:has(.bcm-menu-app) .bcm-menu-product-info{min-width:0!important}
/* Hide common theme header/footer wrappers while preserving the plugin's own menu header */
body:has(.bcm-menu-app) #masthead,body:has(.bcm-menu-app) .site-header,body:has(.bcm-menu-app) .header-wrapper,body:has(.bcm-menu-app) .header-main,body:has(.bcm-menu-app) .main-header,body:has(.bcm-menu-app) #theme-header,body:has(.bcm-menu-app) .ct-header,body:has(.bcm-menu-app) .kadence-header,body:has(.bcm-menu-app) .elementor-location-header,body:has(.bcm-menu-app) #colophon,body:has(.bcm-menu-app) .site-footer,body:has(.bcm-menu-app) .footer-wrapper,body:has(.bcm-menu-app) #theme-footer,body:has(.bcm-menu-app) .elementor-location-footer{display:none!important}
body:has(.bcm-menu-app) #content,body:has(.bcm-menu-app) .site-content,body:has(.bcm-menu-app) #primary,body:has(.bcm-menu-app) #main,body:has(.bcm-menu-app) .content-area,body:has(.bcm-menu-app) .entry-content{width:100%!important;max-width:none!important;margin:0!important;padding-top:0!important}
@media(max-width:1000px){body:has(.bcm-menu-app) .bcm-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){body:has(.bcm-menu-app) .bcm-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}}
@media(max-width:420px){body:has(.bcm-menu-app) .bcm-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body:has(.bcm-menu-app) .bcm-menu-product-image,body:has(.bcm-menu-app) .bcm-menu-product-placeholder{height:110px!important}}


/* v1.2.3: ensure category filters can hide cards despite theme-resistant display rules */
body:has(.bcm-menu-app) .bcm-menu-grid > .bcm-menu-product[hidden],
body:has(.bcm-menu-app) .bcm-menu-product[hidden] {
    display: none !important;
    visibility: hidden !important;
}

/* v1.2.4: thông tin khách gọn, ô ghi chú cùng chiều rộng */
.bcm-menu-checkout .bcm-checkout-fields{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);gap:8px 14px;max-width:760px}
.bcm-menu-checkout .bcm-checkout-field{min-width:0}
.bcm-menu-checkout .bcm-checkout-field label{display:block;margin:10px 0 5px}
.bcm-menu-checkout .bcm-checkout-field input,
.bcm-menu-checkout .bcm-checkout-field textarea{width:100%;max-width:100%;box-sizing:border-box}
@media(max-width:640px){.bcm-menu-checkout .bcm-checkout-fields{grid-template-columns:minmax(0,1fr)}}


/* v1.2.7: mobile category filters wrap into two tidy rows */
@media (max-width: 640px) {
  .bcm-menu-categories,
  .bcm-category-filters,
  .bcm-menu-filter,
  .bcm-menu-tabs,
  .bcm-filter-tabs,
  .bcm-categories {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    white-space: normal !important;
  }
  .bcm-menu-categories > *,
  .bcm-category-filters > *,
  .bcm-menu-filter > *,
  .bcm-menu-tabs > *,
  .bcm-filter-tabs > *,
  .bcm-categories > * {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
    justify-content: center !important;
    white-space: normal !important;
    padding: 10px 4px !important;
    font-size: 13px !important;
  }
}
@media (max-width: 380px) {
  .bcm-menu-categories,
  .bcm-category-filters,
  .bcm-menu-filter,
  .bcm-menu-tabs,
  .bcm-filter-tabs,
  .bcm-categories {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}


/* v1.2.8: heading, online table indicator, category list limited to 3 rows */
.bcm-table-select-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.bcm-table-select-heading label{margin:0 0 8px!important}
.bcm-online-label{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:20px;background:#eaf8ee;color:#176b35;font-size:12px;font-weight:800;white-space:nowrap}
.bcm-online-dot{width:8px;height:8px;display:inline-block;border-radius:50%;background:#22a447;box-shadow:0 0 0 3px rgba(34,164,71,.12)}
.bcm-online-tables{margin:10px 0 0;color:#176b35;font-size:13px}
.bcm-online-tables.is-empty{color:#81756b}
.bcm-menu-category-heading{font-weight:800;color:#3d2b1e;margin:18px 0 4px;font-size:16px}
@media(max-width:640px){
  .bcm-menu-categories,
  .bcm-menu-categories[style]{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-rows:minmax(38px,auto)!important;
    gap:8px!important;
    overflow:visible!important;
    max-height:calc(3 * 42px + 2 * 8px)!important;
    padding:8px 0 14px!important;
    white-space:normal!important;
  }
  .bcm-menu-categories > *{
    width:100%!important;min-width:0!important;max-width:100%!important;
    margin:0!important;padding:10px 5px!important;text-align:center!important;
    justify-content:center!important;white-space:normal!important;box-sizing:border-box!important;
  }
}


/* v1.2.9: admin-configurable menu palette */
.bcm-menu-app{
  background:var(--bcm-bg,#fff)!important;
  color:var(--bcm-text,#30251f)!important;
}
.bcm-menu-app .bcm-menu-header{
  background:linear-gradient(135deg,var(--bcm-header-bg,#fbf3e9),color-mix(in srgb,var(--bcm-header-bg,#fbf3e9) 65%,#ffffff))!important;
  border:1px solid var(--bcm-border,#eadfd3)!important;
}
.bcm-menu-app .bcm-menu-header h2{color:var(--bcm-header-title-color,#352419)!important}
.bcm-menu-app .bcm-menu-header p{color:var(--bcm-header-subtitle-color,#77675b)!important}
.bcm-menu-app .bcm-menu-section h3,
.bcm-menu-app .bcm-menu-product-info h4,
.bcm-menu-app .bcm-menu-checkout h3{color:var(--bcm-text,#30251f)!important}
.bcm-menu-app .bcm-menu-table-select,
.bcm-menu-app .bcm-menu-checkout,
.bcm-menu-app .bcm-menu-product,
.bcm-menu-app .bcm-menu-cart-badge{border-color:var(--bcm-border,#eadfd3)!important}
.bcm-menu-app .bcm-menu-table-select,
.bcm-menu-app .bcm-menu-checkout,
.bcm-menu-app .bcm-menu-product-info{background:var(--bcm-bg,#fff)!important}
.bcm-menu-app .bcm-menu-categories button{border:1px solid var(--bcm-border,#eadfd3)!important}
.bcm-menu-app .bcm-menu-categories .is-active,
.bcm-menu-app .bcm-menu-controls button,
.bcm-menu-app #bcm-submit-order{background:var(--bcm-accent,#704321)!important;border-color:var(--bcm-accent,#704321)!important;color:#fff!important}
.bcm-menu-app .bcm-menu-product-info p,
.bcm-menu-app .bcm-menu-cart-badge span{color:var(--bcm-cart-count-color,var(--bcm-accent,#704321))!important}
.bcm-menu-app .bcm-menu-cart-badge small{color:var(--bcm-cart-label-color,#77675b)!important}
.bcm-menu-app .bcm-menu-eyebrow{color:var(--bcm-accent,#704321)!important}
.bcm-menu-app input,
.bcm-menu-app textarea,
.bcm-menu-app select{border-color:var(--bcm-border,#eadfd3)!important;color:var(--bcm-text,#30251f)!important}


/* v1.2.10 based on 1.2.9: configurable page title/logo above the menu */
.bcm-menu-page-brand{max-width:1100px;margin:24px auto 12px;padding:0 4px;color:var(--bcm-text,#30251f)}
.bcm-menu-page-brand.is-centered{text-align:center}
.bcm-menu-page-title{margin:0;font-size:clamp(26px,3.5vw,38px);line-height:1.25;font-weight:800;color:var(--bcm-page-title-color,var(--bcm-text,#30251f))}
.bcm-menu-page-logo{display:inline-block;width:auto;height:auto;max-width:min(420px,100%);max-height:130px;object-fit:contain}
@media(max-width:640px){.bcm-menu-page-brand{margin:14px auto 10px;padding:0 12px}.bcm-menu-page-logo{max-width:100%;max-height:95px}.bcm-menu-page-title{font-size:clamp(23px,6vw,32px)}}


/* v1.2.11: avoid duplicate page title; render only the theme's page title, customized via WordPress title option */



/* v1.2.13: remove BAP CAFE eyebrow and center menu title/subtitle */
.bcm-menu-app .bcm-menu-header{justify-content:center!important}
.bcm-menu-app .bcm-menu-header-copy{flex:1;min-width:0;text-align:center!important}
.bcm-menu-app .bcm-menu-header-copy h2{margin:0 0 8px!important;text-align:center!important}
.bcm-menu-app .bcm-menu-header-copy p{margin:0!important;text-align:center!important}
.bcm-menu-app .bcm-menu-cart-badge{flex:0 0 auto}
@media(max-width:640px){
 .bcm-menu-app .bcm-menu-header{justify-content:center!important}
 .bcm-menu-app .bcm-menu-header-copy{text-align:center!important}
}


/* v1.2.14: page title/logo rendered inside shortcode and centered reliably */
.bcm-menu-page-brand{max-width:1100px;margin:24px auto 12px;padding:0 4px;color:var(--bcm-text,#30251f)}
.bcm-menu-page-brand.is-centered{text-align:center!important}
.bcm-menu-page-title{margin:0!important;font-size:clamp(26px,3.5vw,38px);line-height:1.25;font-weight:800;color:var(--bcm-page-title-color,var(--bcm-text,#30251f));text-align:inherit!important}
.bcm-menu-page-logo{display:inline-block;width:auto;height:auto;max-width:min(420px,100%);max-height:130px;object-fit:contain;vertical-align:middle}
.bcm-menu-app .bcm-menu-header{justify-content:center!important}
.bcm-menu-app .bcm-menu-header-copy{flex:1;min-width:0;text-align:center!important}
.bcm-menu-app .bcm-menu-header-copy h2,
.bcm-menu-app .bcm-menu-header-copy p{text-align:center!important}
@media(max-width:640px){.bcm-menu-page-brand{margin:14px auto 10px;padding:0 12px}.bcm-menu-page-logo{max-width:100%;max-height:95px}}


/* v1.2.15: fix legacy CSS hiding the custom logo/title block */
.bcm-menu-page-brand{display:block!important;max-width:1100px;margin:24px auto 12px;padding:0 4px;color:var(--bcm-text,#30251f)}
.bcm-menu-page-brand.is-centered{text-align:center!important}
.bcm-menu-page-brand .bcm-menu-page-title{display:block!important;margin:0!important;text-align:inherit!important}
.bcm-menu-page-brand .bcm-menu-page-logo{display:inline-block!important;width:auto!important;height:auto!important;max-width:min(420px,100%)!important;max-height:130px!important;object-fit:contain!important;visibility:visible!important;opacity:1!important}
@media(max-width:640px){.bcm-menu-page-brand{margin:14px auto 10px;padding:0 12px}.bcm-menu-page-brand .bcm-menu-page-logo{max-width:100%!important;max-height:95px!important}}


/* v1.2.16: paid-order lock, conditional online badge and theme title cleanup */
body.page-id-234 .elementor-page-title{display:none!important}
.bcm-menu-page-brand{display:block!important}
.bcm-menu-page-brand .bcm-menu-page-logo{display:inline-block!important;visibility:visible!important;opacity:1!important}
.bcm-menu-app .bcm-online-label{white-space:nowrap}


/* v1.2.17: show per-table online order status clearly */
.bcm-menu-app .bcm-table-select-heading{align-items:flex-start!important;gap:12px;flex-wrap:wrap}
.bcm-menu-app .bcm-online-status-list{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;max-width:100%}
.bcm-menu-app .bcm-online-status-heading{display:inline-flex;align-items:center;gap:5px;background:#eaf7ed;color:#176b35;border-radius:16px;padding:6px 10px;font-size:12px;font-weight:700;white-space:nowrap}
.bcm-menu-app .bcm-online-status-item{display:inline-block;background:#f7f1e8;color:#70421f;border:1px solid var(--bcm-border,#eadfd3);border-radius:14px;padding:6px 10px;font-size:12px;font-weight:600}
@media(max-width:640px){.bcm-menu-app .bcm-online-status-list{justify-content:flex-start;width:100%}.bcm-menu-app .bcm-online-status-item{font-size:11px;padding:5px 8px}}


/* v1.2.18: remove the remaining theme-generated page heading on the menu page */
body.page-id-234 .entry-content > h1:first-child,
body.page-id-234 .page-content > h1:first-child,
body.page-id-234 main > h1:first-child,
body.page-id-234 .elementor-widget-theme-post-title,
body.page-id-234 .elementor-widget-theme-post-title * {display:none!important}


.bcm-lottery-win{position:relative;margin:14px 0;padding:18px 14px;border:2px solid #f4c542;border-radius:14px;background:linear-gradient(135deg,#fff8d9,#fff);color:#573500;text-align:center;box-shadow:0 8px 24px rgba(180,120,0,.18);animation:bcmPrizePop .45s ease-out}
.bcm-lottery-win strong{display:block;font-size:clamp(18px,4vw,25px);margin-bottom:8px;color:#a34b00}
.bcm-lottery-win p{margin:7px 0}
.bcm-lottery-win code{display:inline-block;padding:10px 18px;border:2px dashed #d58a00;border-radius:8px;background:#fff;font-size:22px;font-weight:800;letter-spacing:2px;color:#9a3d00}
@keyframes bcmPrizePop{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
