/* Customer QR owns this composition; shared JS retains focus and close lifecycle. */
.customer-menu-v3 :is(.modal-backdrop,.search-overlay){font-family:Outfit,system-ui,sans-serif;padding:16px;align-items:center;overscroll-behavior:contain;backdrop-filter:blur(8px);background:#1c191766}
.customer-menu-v3 :is(.bento-modal-box,.search-container-box){box-sizing:border-box;width:min(480px,100%);max-width:100%;max-height:calc(100dvh - 32px);min-height:0;background:#faf8f5;border:1px solid #eee8e0;border-radius:24px;overflow-x:hidden;overscroll-behavior:contain;box-shadow:0 20px 70px #1c191726}
.customer-menu-v3 .bento-modal-box{display:block;overflow-y:auto;padding-bottom:0}
.customer-menu-v3 .sheet-grab-bar{display:none}
.customer-menu-v3 .modal-branch-tag{display:none}
.customer-menu-v3 .modal-hero-wrapper{height:clamp(160px,27dvh,240px);aspect-ratio:auto;background:#fff}
.customer-menu-v3 .modal-hero-wrapper.image-hidden{height:64px}
.customer-menu-v3 .modal-hero-img{object-fit:contain}
.customer-menu-v3 .modal-hero-gradient{display:none}
.customer-menu-v3 .modal-body{min-width:0;padding:18px}
.customer-menu-v3 .modal-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;margin:0 0 12px}
.customer-menu-v3 .modal-title-col,.customer-menu-v3 .modal-price-col{min-width:0}
.customer-menu-v3 .modal-tag-row:empty{display:none}
.customer-menu-v3 .modal-prod-name{margin:0;color:#111;font:650 24px/1.25 var(--font-display);letter-spacing:-.4px;overflow-wrap:break-word}
.customer-menu-v3 .modal-unit-price{color:#111;font:650 24px/1.25 var(--font-display);white-space:normal}
.customer-menu-v3 .modal-price-col{padding:0;text-align:right}
.customer-menu-v3 .price-pending .modal-title-row{grid-template-columns:minmax(0,1fr)}
.customer-menu-v3 .price-pending .modal-price-col{text-align:left}
.customer-menu-v3 .price-pending .modal-unit-price{font-size:18px;color:#78716c}
.customer-menu-v3 .modal-desc-full{margin:0 0 16px;font-size:15px;line-height:1.5;overflow-wrap:break-word}
.customer-menu-v3 .modal-bento-grid{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
.customer-menu-v3 .modal-bento-grid .bento-tile{padding:12px 14px;border-radius:16px;background:#fff;border-color:#eee8e0}
.customer-menu-v3 .modal-qty-container{padding:12px;gap:12px;margin-bottom:14px;border-radius:16px}
.customer-menu-v3 .qty-info-label{min-width:0}
.customer-menu-v3 .qty-sub-text{line-height:1.35}
.customer-menu-v3 .qty-stepper-box{flex:none;gap:0;padding:2px;border-radius:999px;background:#fff}
.customer-menu-v3 .qty-stepper-btn{width:44px;height:44px;min-width:44px;min-height:44px}
.customer-menu-v3 .modal-action-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:center;gap:12px;position:static;padding:14px 0 max(0px,env(safe-area-inset-bottom));background:#faf8f5}
.customer-menu-v3 .modal-subtotal-block{min-width:0}
.customer-menu-v3 .subtotal-amount{font-size:24px;line-height:1.2;overflow-wrap:break-word}
.customer-menu-v3 .subtotal-label{font-size:11px}
.customer-menu-v3 .modal-cta-btn{min-width:0;min-height:48px;padding:12px 14px;gap:8px;border-radius:999px;background:#d71920;box-shadow:none;font-size:15px;line-height:1.25;justify-content:center}
.customer-menu-v3 .modal-close-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;background:#ffffffed;color:#1c1917;border:1px solid #eee8e0;border-radius:50%;box-shadow:0 3px 12px #1c191709;z-index:4}
.customer-menu-v3 .modal-close-btn svg{width:20px;height:20px}
.customer-menu-v3 .modal-close-btn:hover{transform:none}
.customer-menu-v3 .modal-hero-top-bar{top:12px;left:12px;right:12px}
.customer-menu-v3 .wifi-close-top{top:14px;right:14px}
.customer-menu-v3 .wifi-box,.customer-menu-v3 .branch-info-box,.customer-menu-v3 .allergen-modal-body{display:block;padding:58px 20px 24px}
.customer-menu-v3 .branch-cards-stack{display:flex;flex-direction:column;gap:12px}
.customer-menu-v3 .wifi-modal-title,.customer-menu-v3 .branch-modal-name,.customer-menu-v3 .allergen-modal-header h3{font-size:26px;line-height:1.2;color:#111}
.customer-menu-v3 .wifi-modal-desc,.customer-menu-v3 .branch-card-val{line-height:1.5;overflow-wrap:anywhere}
.customer-menu-v3 .allergen-matrix-grid{grid-template-columns:1fr;gap:10px}
.customer-menu-v3 .wifi-info-row,.customer-menu-v3 .branch-info-card{border:1px solid #eee8e0;border-radius:16px;background:#fff}
.customer-menu-v3 .wifi-copy-btn{min-height:48px;border-radius:999px;background:#d71920;box-shadow:none}
.customer-menu-v3 .search-container-box{display:flex;flex-direction:column;overflow:hidden;padding:18px}
.customer-menu-v3 .search-header-row,.customer-menu-v3 .search-category-chips,.customer-menu-v3 .search-meta-bar{flex:none}
.customer-menu-v3 .search-header-row{gap:8px}
.customer-menu-v3 .search-input-box{min-width:0;flex:1;border-radius:999px;background:#fff}
.customer-menu-v3 .search-close-btn{min-width:44px;min-height:44px}
.customer-menu-v3 .search-category-chips{overflow-x:auto;flex-wrap:nowrap;padding:12px 0;scrollbar-width:none}
.customer-menu-v3 .search-cat-chip{min-height:44px;flex:none}
.customer-menu-v3 .search-results-list{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:4px 2px 16px}
.customer-menu-v3 .search-results-list .bento-img-wrapper{flex-basis:84px;width:84px;height:84px}
.customer-menu-v3 .search-results-list .bento-info{padding:0}
.customer-menu-v3 .customer-note-box{padding:18px}
.customer-note-box header{display:flex;flex-direction:row-reverse;align-items:center;justify-content:flex-end;gap:12px}
.customer-note-box h2{font:650 25px var(--font-display);margin:0}
.customer-note-box header .modal-close-btn{position:static}
.customer-note-caption{font-size:14px;color:#78716c;line-height:1.5;margin:14px 0}
.customer-note-row{display:flex;flex-direction:column;gap:10px;padding:14px 0;border-top:1px solid #eee8e0}
.customer-note-product{min-width:0}
.customer-note-row strong{display:block;font-size:16px;overflow-wrap:break-word}
.customer-note-row small{display:block;margin-top:6px;color:#78716c;font-size:13px}
.customer-note-controls{display:flex;align-items:center;gap:8px}
.customer-note-controls span{min-width:24px;text-align:center;font-weight:600}
.customer-note-controls button{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid #eee8e0;border-radius:50%;background:#fff;color:#d71920;cursor:pointer}
.customer-note-controls button[data-note-remove]{margin-left:auto}
.customer-note-controls button:disabled{opacity:.4;cursor:default}
.customer-note-row svg{width:18px;height:18px}
.customer-note-empty{padding:20px 0;color:#78716c}
.customer-note-add{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:12px;border:0;border-radius:999px;background:#d71920;color:#fff;font:600 15px var(--font-display);cursor:pointer}
.customer-note-add svg{width:20px;height:20px}
.customer-menu-v3 :is(.modal-backdrop,.search-overlay) :is(button,input,select,textarea,a):focus-visible{outline:2px solid #8b1515;outline-offset:3px}
@media(max-width:700px){
 .customer-menu-v3 :is(.modal-backdrop,.search-overlay){padding:12px}
 .customer-menu-v3 :is(.bento-modal-box,.search-container-box){max-height:calc(100dvh - 24px)}
 .customer-menu-v3 .search-container-box{height:calc(100dvh - 24px);padding:16px}
 .customer-menu-v3 .modal-prod-name,.customer-menu-v3 .modal-unit-price{font-size:22px}
 .customer-menu-v3 .modal-body{padding:16px}
}
@media(max-width:420px){
 .customer-menu-v3 .modal-title-row{grid-template-columns:minmax(0,1fr);gap:6px}
 .customer-menu-v3 .modal-price-col{text-align:left}
 .customer-menu-v3 .qty-info-label{max-width:calc(100% - 140px)}
 .customer-menu-v3 .qty-sub-text{font-size:12px}
 .customer-menu-v3 .modal-action-bar{grid-template-columns:minmax(0,1fr)}
 .customer-menu-v3 .modal-subtotal-block{flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px}
 .customer-menu-v3 .modal-cta-btn{width:100%}
}
@media(max-width:1050px),(pointer:coarse),(prefers-reduced-motion:reduce){
 .customer-menu-v3 :is(.modal-backdrop,.bento-modal-box,.search-overlay,.qty-stepper-btn,.modal-close-btn){transition:none;animation:none}
}
