/* Responsive layout: content-sized actions and dynamic viewport fallbacks. */
:root { --bbque-checkout-bar-space: 0px; }
.bbque-viewport-panel { height: 100vh; height: 100dvh; padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); }
.bbque-checkout-bar { padding-bottom: env(safe-area-inset-bottom, 0px); }
.bbque-bottom-content { padding-bottom: calc(var(--bbque-checkout-bar-space, 0px) + 24px) !important; }
.bbque-floating-top { bottom: calc(max(var(--bbque-checkout-bar-space, 0px), var(--bbque-powerbar-space, 0px)) + 12px); }
.bbque-checkout-bar button { height: auto; min-height: 44px; flex-shrink: 0; max-width: 60%; white-space: normal; }
.bbque-dialog { max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain; overflow-wrap: anywhere; }
.bbque-product-overlay { height: 100vh; height: 100dvh; box-sizing: border-box; }
.bbque-product-panel { height: 100%; max-height: 100%; min-width: 0; }
@media (min-width: 640px) { .bbque-product-panel { height: 85vh; max-height: 100%; height: 85dvh; } }
@media (max-width: 767px) {
  input:not([type=checkbox]):not([type=radio]), textarea, select { font-size: max(16px, 1rem); }
}
:where(button, a, input, select, textarea, [tabindex]):focus-visible { outline: 2px solid #ff7a93; outline-offset: 3px; }

.bbque-viewport-panel, .bbque-product-overlay { height: var(--bbque-visible-height, 100dvh); }
.bbque-dialog { max-height: calc(var(--bbque-visible-height, 100dvh) - 24px); }
.bbque-timer-frame { height: 75vh; height: 75dvh; min-height: 280px; }
@media (max-height: 500px) { .bbque-timer-frame { min-height: 240px; } }
@media (min-width: 640px) { .bbque-product-panel { height: min(85dvh, var(--bbque-visible-height, 100dvh)); } }

.bbque-button { height: auto !important; min-height: 44px; min-width: 44px; padding-top: .5rem; padding-bottom: .5rem; }
.bbque-button svg { flex-shrink: 0; }

.bbque-checkout-bar { bottom: calc(var(--bbque-powerbar-space, 0px) + var(--bbque-keyboard-inset, 0px)); padding-bottom: max(0px, env(safe-area-inset-bottom, 0px) - var(--bbque-powerbar-space, 0px)); }
.bbque-floating-top { bottom: calc(var(--bbque-checkout-bar-space, 0px) + var(--bbque-powerbar-space, 0px) + var(--bbque-keyboard-inset, 0px) + 12px); }

.bbque-product-header { max-height: 40%; overflow-y: auto; }
.bbque-product-footer { max-height: 45%; overflow-y: auto; }
@media (max-height: 400px) { .bbque-product-header, .bbque-product-footer { padding: 8px 12px; } }

.bbque-product-overlay, .bbque-viewport-panel { top: var(--bbque-visible-top, 0px); }
.bbque-dialog { top: calc(var(--bbque-visible-top, 0px) + var(--bbque-visible-height, 100vh) / 2); }

.bbque-responsive-products{grid-template-columns:minmax(0,1fr)}@media(min-width:380px){.bbque-responsive-products{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:768px){.bbque-responsive-products{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){#menu-grid .bbque-responsive-products{grid-template-columns:repeat(4,minmax(0,1fr))}}
.bbque-dialog-footer{position:sticky;bottom:0;z-index:10;background:inherit;padding-top:8px;padding-bottom:8px}
.bbque-carousel-dot{height:44px!important;width:44px!important;min-width:44px;background:transparent!important;display:flex;align-items:center;justify-content:center}.bbque-carousel-dot:after{content:"";height:10px;width:10px;border-radius:999px;background:#ffffff6b}.bbque-carousel-dot[aria-current=true]:after{width:28px;background:#ff2636}
[data-bbque-reserve-bottom]{padding-bottom:calc(var(--bbque-checkout-bar-space,0px) + 24px)!important}
.bbque-product-header button{flex-shrink:0;position:sticky;top:0}
.bbque-dialog button[aria-label=Close]{min-height:44px;min-width:44px;position:sticky;top:0;order:-1;justify-self:end}
[data-state=closed][data-radix-dialog-overlay]{pointer-events:none}
