/* Shared Directory Styles for SwimCoach.ie */
/* Used across adult-swimming.html, private-lessons.html, baby-swimming.html, kids-swimming.html */

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    background: #f8fafc;
}

.school-card {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: white;
    border: 1px solid #e2e8f0;
}

.school-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    border-color: #cbd5e1;
}

.rating-badge {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
    box-shadow: 0 4px 12px rgba(251, 191, 36, 0.3);
}

.filter-card {
    background: white;
    border: 1px solid #e2e8f0;
    backdrop-filter: blur(10px);
}

#searchInput:focus,
select:focus {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
    border-color: #3b82f6;
}

.stat-card {
    background: white;
    border: 1px solid #e2e8f0;
    transition: all 0.3s ease;
}

.stat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06);
}

.btn-primary {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
    transition: all 0.3s ease;
}

.btn-primary:hover {
    box-shadow: 0 6px 20px rgba(59, 130, 246, 0.4);
    transform: translateY(-2px);
}

.school-icon {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    border: 2px solid #bae6fd;
}

.feature-badge {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    transition: all 0.2s ease;
}

.feature-badge:hover {
    background: #e0f2fe;
    border-color: #bae6fd;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.fade-in {
    animation: fadeIn 0.5s ease-out;
}

/* Mobile: Stack name and rating vertically */
@media (max-width: 640px) {
    .school-card .flex.items-start.justify-between {
        flex-direction: column;
        gap: 1rem;
    }

    .rating-badge {
        margin-left: 0 !important;
        align-self: flex-start;
    }
}
