/* Ajustes puntuales para integrar el catálogo público con el diseño original. */
#menu-load-status:not([hidden]) {
    position: fixed;
    z-index: 1000;
    top: 72px;
    left: 50%;
    width: min(540px, calc(100vw - 24px));
    transform: translateX(-50%);
    box-sizing: border-box;
    padding: 12px 16px;
    border: 1px solid #d7a14b;
    border-radius: 8px;
    background: #211a16;
    color: #fff4df;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .28);
    font: 500 14px/1.4 system-ui, sans-serif;
}

#menu-load-status button {
    margin-left: 12px;
    border: 1px solid currentColor;
    border-radius: 4px;
    background: transparent;
    color: inherit;
    padding: 4px 9px;
    cursor: pointer;
    font: inherit;
}

#menu-load-status button:focus-visible { outline: 2px solid #fff4df; outline-offset: 2px; }

@media (max-width: 390px) {
    #menu-load-status:not([hidden]) { top: 64px; font-size: 13px; }
    #menu-load-status button { display: block; margin: 7px 0 0; }
}

@media (max-width: 390px) {
    .category-header-styled:not(.daily-cat-header) {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 6px 12px;
    }

    .category-header-styled:not(.daily-cat-header) .main-cat-title {
        min-width: 0;
        max-width: 100%;
        overflow-wrap: anywhere;
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        line-height: 1.05;
    }

    .category-header-styled:not(.daily-cat-header) .cat-badge {
        max-width: 100%;
        overflow-wrap: anywhere;
        font-size: 0.9rem;
        letter-spacing: 1px;
    }

    .brand-titles {
        min-width: 0;
        max-width: 100%;
    }

    .brand-titles h1 {
        max-width: 100%;
        font-size: clamp(2rem, 10vw, 2.5rem) !important;
        letter-spacing: 1px;
        overflow-wrap: anywhere;
    }

    .brand-titles .subtitle {
        max-width: 100%;
        letter-spacing: 1.5px;
    }
}

/* Precio legible y acciones del modal con la misma altura. */
#options-modal .modal-details .modal-price { font-size:2rem; line-height:1.15; margin-top:12px; margin-bottom:20px; }
#options-modal .modal-actions { align-items:stretch; }
#options-modal .modal-btn-confirm { min-height:48px; line-height:1.2; }
#options-modal .quantity-picker { min-height:48px; flex-shrink:0; align-items:stretch; overflow:hidden; }
#options-modal .quantity-picker button { width:40px; height:auto; min-height:44px; }
#options-modal .quantity-picker span { display:flex; align-items:center; justify-content:center; }

/* Cantidad visible en la carta para bebidas sin opciones. */
.drink-card-counter { display:flex; align-items:center; border:1px solid #3a3a3a; border-radius:4px; background:#222; overflow:hidden; }
.drink-card-counter button { display:grid; place-items:center; width:40px; height:44px; border:0; background:transparent; color:#fff; font-size:1.2rem; cursor:pointer; }
.drink-card-counter button:hover:not(:disabled) { background:#3a3a3a; }
.drink-card-counter button:disabled { opacity:.45; cursor:not-allowed; }
.drink-card-counter button:focus-visible { outline:2px solid var(--accent-red); outline-offset:-2px; }
.drink-card-counter output { min-width:28px; text-align:center; color:#fff; font-weight:700; }
