/* ==========================================================================
   Mobile Touch & Selection Optimization
   Impede seleção acidental de texto e menus de contexto no mobile (iOS/Android)
   ========================================================================== */
html, body {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

*, *::before, *::after {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

/* Permitir seleção e digitação em campos de texto e formulários */
input,
textarea,
[contenteditable="true"],
.selectable-text {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  -ms-user-select: text !important;
  user-select: text !important;
  -webkit-touch-callout: default !important;
}

/* Evitar arrastar imagens acidentalmente no mobile */
img {
  -webkit-user-drag: none;
  user-drag: none;
}

/* Estilos para barras de rolagem modernas */
.modern-vertical-scrollbar {
    scrollbar-width: thin;
    scrollbar-color: rgb(156 163 175) transparent;
}

.modern-vertical-scrollbar::-webkit-scrollbar {
    width: 6px;
}

.modern-vertical-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}

.modern-vertical-scrollbar::-webkit-scrollbar-thumb {
    background: rgb(156 163 175);
    border-radius: 3px;
}

.modern-vertical-scrollbar::-webkit-scrollbar-thumb:hover {
    background: rgb(107 114 128);
}

.modern-horizontal-scrollbar {
    scrollbar-width: thin;
    scrollbar-color: rgb(156 163 175) transparent;
}

.modern-horizontal-scrollbar::-webkit-scrollbar {
    height: 6px;
}

.modern-horizontal-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}

.modern-horizontal-scrollbar::-webkit-scrollbar-thumb {
    background: rgb(156 163 175);
    border-radius: 3px;
}

.modern-horizontal-scrollbar::-webkit-scrollbar-thumb:hover {
    background: rgb(107 114 128);
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    overflow: hidden;
}

/* Classe específica para truncamento com ellipsis */
.truncate-description {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Garantir que todos os cards tenham altura consistente */
.menu-item-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.menu-item-card>div {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.menu-item-card .card-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-height: 0;
}

.menu-item-card .card-footer {
    margin-top: auto;
}