.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.modal-open { overflow: hidden; }
#category-menu { cursor: grab; }
#category-menu:active { cursor: grabbing; }
button, input, select, textarea, .product-card { touch-action: manipulation; }
body { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
.text-sushi-red { color: #E63946; }

.product-title-style { font-size: 16px; }
@media (min-width: 640px) { .product-title-style { font-size: 16px; } }
.product-desc-style { font-size: 14px; }
@media (min-width: 640px) { .product-desc-style { font-size: 12px; } }
.product-price-style { font-size: 22px; }
@media (min-width: 640px) { .product-price-style { font-size: 20px; } }
.parentheses-style { font-size: 13px; }
@media (min-width: 640px) { .parentheses-style { font-size: 13px; } }

input, select, textarea {
    font-size: 16px !important;
}

/* =======================================================
   FONTES E CORES CENTRALIZADAS (MIGRADAS DO INDEX.PHP)
======================================================= */

/* --- Cabeçalho --- */
.header-title { font-weight: 700; letter-spacing: 0.025em; color: #ffffff; font-size: 18px; line-height: 1.2; }
.header-subtitle { color: #d4d4d8; font-size: 11px; }
.header-status-badge { font-weight: 600; font-size: 11px; }
.header-cart-icon { font-size: 20px; }
.header-cart-count { color: #E63946; font-weight: 700; font-size: 12px; }
.header-search-input { color: #ffffff; font-size: 14px; }
.header-search-btn { color: #ffffff; font-weight: 700; font-size: 12px; }

/* --- Barra Fixa (Sticky Cart) --- */
.sticky-cart-btn { color: #ffffff; font-weight: 700; font-size: 16px; }
.sticky-cart-count { color: #E63946; font-weight: 700; font-size: 14px; }

/* --- Modal de Produto --- */
.modal-back-btn { color: #ffffff; font-weight: 600; font-size: 14px; }
.modal-title { color: #ffffff; font-weight: 700; font-size: 20px; }
.modal-desc { color: #d4d4d8; font-size: 14px; line-height: 1.5; }
.modal-price { color: #E63946; font-weight: 700; font-size: 24px; }
.modal-section-title { color: #ffffff; font-weight: 600; font-size: 14px; }
.modal-input { color: #ffffff; font-size: 14px; }
.modal-qty-btn { color: #ffffff; font-size: 18px; }
.modal-qty-number { font-weight: 700; font-size: 16px; }
.modal-add-btn { color: #ffffff; font-weight: 700; font-size: 14px; }

/* --- Modal do Carrinho --- */
.cart-modal-title { color: #ffffff; font-weight: 700; font-size: 18px; }
.cart-warning-icon { color: #E63946; font-size: 20px; }
.cart-warning-title { font-weight: 700; font-size: 14px; }
.cart-warning-subtext { color: #d4d4d8; font-size: 12px; }
.cart-neighborhood-display { color: #a1a1aa; font-size: 12px; }
.cart-label { color: #d4d4d8; font-size: 14px; }
.cart-total-text { color: #ffffff; font-weight: 700; font-size: 16px; }
.checkout-btn { color: #ffffff; font-weight: 700; font-size: 14px; }
.checkout-btn-icon { font-size: 24px; }

/* --- Modal de Alerta --- */
.alert-icon { color: #E63946; font-size: 24px; }
.alert-title { color: #ffffff; font-weight: 700; font-size: 18px; }
.alert-desc { color: #d4d4d8; font-size: 14px; line-height: 1.5; }
.alert-btn { color: #ffffff; font-weight: 700; font-size: 14px; }

/* --- Rodapé --- */
.footer-version { font-size: 14px; }