/* 
 * Tailwind CSS - Aniversariantes do Mês
 * @author Dante Testa <https://dantetesta.com.br>
 * @since 1.0.0
 * @created 22/12/2024 09:30
 */

/* Reset e utilitários base do Tailwind */
.adm-aniversariantes-wrapper *,
.adm-aniversariantes-wrapper *::before,
.adm-aniversariantes-wrapper *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Grid System */
.adm-grid {
    display: grid;
    gap: 1.5rem;
}

.adm-grid-1 { grid-template-columns: repeat(1, 1fr); }
.adm-grid-2 { grid-template-columns: repeat(2, 1fr); }
.adm-grid-3 { grid-template-columns: repeat(3, 1fr); }
.adm-grid-4 { grid-template-columns: repeat(4, 1fr); }
.adm-grid-5 { grid-template-columns: repeat(5, 1fr); }
.adm-grid-6 { grid-template-columns: repeat(6, 1fr); }

/* Responsivo - Tablet */
@media (max-width: 768px) {
    .adm-grid-3,
    .adm-grid-4,
    .adm-grid-5,
    .adm-grid-6 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Responsivo - Mobile */
@media (max-width: 640px) {
    .adm-grid-2,
    .adm-grid-3,
    .adm-grid-4,
    .adm-grid-5,
    .adm-grid-6 {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* Layout Lista */
.adm-lista {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.adm-lista .adm-card {
    flex-direction: row;
    text-align: left;
}

.adm-lista .adm-card-foto {
    flex-shrink: 0;
}

.adm-lista .adm-card-info {
    text-align: left;
}

/* Flexbox Utilities */
.adm-flex { display: flex; }
.adm-flex-col { flex-direction: column; }
.adm-flex-row { flex-direction: row; }
.adm-items-center { align-items: center; }
.adm-justify-center { justify-content: center; }
.adm-justify-between { justify-content: space-between; }
.adm-gap-1 { gap: 0.25rem; }
.adm-gap-2 { gap: 0.5rem; }
.adm-gap-3 { gap: 0.75rem; }
.adm-gap-4 { gap: 1rem; }
.adm-gap-5 { gap: 1.25rem; }
.adm-gap-6 { gap: 1.5rem; }

/* Text Utilities */
.adm-text-center { text-align: center; }
.adm-text-left { text-align: left; }
.adm-text-right { text-align: right; }
.adm-text-sm { font-size: 0.875rem; }
.adm-text-base { font-size: 1rem; }
.adm-text-lg { font-size: 1.125rem; }
.adm-text-xl { font-size: 1.25rem; }
.adm-text-2xl { font-size: 1.5rem; }
.adm-font-medium { font-weight: 500; }
.adm-font-semibold { font-weight: 600; }
.adm-font-bold { font-weight: 700; }

/* Spacing Utilities */
.adm-m-0 { margin: 0; }
.adm-m-1 { margin: 0.25rem; }
.adm-m-2 { margin: 0.5rem; }
.adm-m-4 { margin: 1rem; }
.adm-mt-2 { margin-top: 0.5rem; }
.adm-mt-4 { margin-top: 1rem; }
.adm-mb-2 { margin-bottom: 0.5rem; }
.adm-mb-4 { margin-bottom: 1rem; }
.adm-p-0 { padding: 0; }
.adm-p-2 { padding: 0.5rem; }
.adm-p-4 { padding: 1rem; }
.adm-p-6 { padding: 1.5rem; }

/* Border Radius */
.adm-rounded { border-radius: 0.25rem; }
.adm-rounded-md { border-radius: 0.375rem; }
.adm-rounded-lg { border-radius: 0.5rem; }
.adm-rounded-xl { border-radius: 0.75rem; }
.adm-rounded-2xl { border-radius: 1rem; }
.adm-rounded-full { border-radius: 9999px; }

/* Shadows */
.adm-shadow { box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); }
.adm-shadow-md { box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); }
.adm-shadow-lg { box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); }
.adm-shadow-xl { box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); }

/* Transitions */
.adm-transition { transition: all 0.3s ease; }
.adm-transition-fast { transition: all 0.15s ease; }

/* Colors */
.adm-text-gray-500 { color: #6b7280; }
.adm-text-gray-600 { color: #4b5563; }
.adm-text-gray-700 { color: #374151; }
.adm-text-gray-800 { color: #1f2937; }
.adm-text-rose-500 { color: #f43f5e; }
.adm-text-rose-600 { color: #e11d48; }
.adm-bg-white { background-color: #ffffff; }
.adm-bg-gray-50 { background-color: #f9fafb; }
.adm-bg-gray-100 { background-color: #f3f4f6; }
.adm-bg-rose-500 { background-color: #f43f5e; }
.adm-bg-rose-600 { background-color: #e11d48; }

/* Hover States */
.adm-hover\:shadow-lg:hover { box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); }
.adm-hover\:scale-105:hover { transform: scale(1.05); }
