/* Product consultation: one contained screen, with exits and total outside
   the content area. Scope avoids the manager's other dialogs and preserves
   the ingredient chooser's fixed viewport and original checkbox ancestry. */
.product-modal:not([hidden]) { z-index: 90; }
.product-modal:not(.ingredient-screen-open) {
  inset: auto;
  top: var(--product-vv-top, 0px);
  left: var(--product-vv-left, 0px);
  width: var(--product-vv-width, 100vw);
  height: var(--product-vv-height, 100dvh);
  padding: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)) !important;
  place-items: center;
  overflow: hidden;
  overscroll-behavior: none;
}
.product-modal:not(.ingredient-screen-open) .modal-card {
  display: flex;
  flex-direction: column;
  width: min(980px, 100%);
  max-height: 100%;
  min-height: 0;
  padding: 0;
  overflow: hidden;
}
.product-modal:not(.ingredient-screen-open) .modal-header {
  position: relative;
  flex: none;
  margin: 0;
  padding: 12px 68px 12px 16px;
  min-height: 68px;
  background: #121212;
}
.product-modal:not(.ingredient-screen-open) .modal-header .eyebrow { margin: 0 0 3px; }
.product-modal:not(.ingredient-screen-open) .modal-header h2 { font-size: clamp(20px, 2.6vw, 28px); overflow-wrap: anywhere; }
.product-modal:not(.ingredient-screen-open) .modal-close-btn { top: 12px !important; right: 12px !important; min-width: 44px; min-height: 44px; }
.product-options-content {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 10px 16px 16px;
}
.product-modal .product-options-content .modal-description { margin: 0 0 10px; padding: 0; font-weight: 500; }
.product-modal .product-options-content .option-action-grid-main { grid-template-columns: repeat(2, minmax(0,1fr)); }
.product-modal .product-options-content .option-section-body { max-height: none; }
.product-modal [data-menu-drink-field][hidden] { display: none; }
.product-modal:not(.ingredient-screen-open) .modal-footer {
  flex: none;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin: 0;
  padding: 10px 16px;
  gap: 8px 16px;
}
.product-modal:not(.ingredient-screen-open) .modal-footer-actions { display: flex; flex-wrap: nowrap; gap: 8px; }
.product-modal:not(.ingredient-screen-open) .option-cancel-btn { min-width: 80px; min-height: 44px; }
.product-modal:not(.ingredient-screen-open) [data-confirm-options] { min-height: 44px; }
.product-modal:not(.ingredient-screen-open) [data-options-total] { white-space: nowrap; font-size: 24px; color: var(--yellow); }
.product-modal.ingredient-screen-open .product-options-content { overflow: visible; padding: 0; }
@media (max-width: 560px) {
  .product-modal:not(.ingredient-screen-open) .modal-footer { display: grid; grid-template-columns: auto minmax(0,1fr); padding: 8px 10px; gap: 8px; }
  .product-modal:not(.ingredient-screen-open) .modal-footer-actions { width: auto; min-width: 0; }
  .product-modal:not(.ingredient-screen-open) .modal-footer-actions .btn { width: auto; padding: 8px 10px; font-size: 14px; }
  .product-modal:not(.ingredient-screen-open) .option-cancel-btn { min-width: 0; }
  .product-modal:not(.ingredient-screen-open) [data-confirm-options] { flex: 1; }
  .product-modal:not(.ingredient-screen-open) [data-options-total] { font-size: 20px; }
  .product-options-content { padding: 8px 10px; }
  .product-modal .product-options-content .option-section-toggle { min-height: 48px; padding: 8px; gap: 4px; }
  .product-modal .product-options-content .option-section-toggle strong { padding: 5px 7px; }
}
@media (max-height: 450px) {
  .product-modal:not(.ingredient-screen-open) .modal-header { min-height: 56px; padding-top: 8px; padding-bottom: 8px; }
  .product-modal:not(.ingredient-screen-open) .modal-header .eyebrow { display: none; }
  .product-modal:not(.ingredient-screen-open) .modal-close-btn { top: 6px !important; }
}
