/**
 * Public CSS
 */

:root {
    --kurs-primary-color: #043353;
    --kurs-primary-light: #0a5a8a;
    --kurs-primary-dark: #021a2a;
}

/* Reset some defaults */
.kurs-listesi-wrapper,
.kurs-takvimi-wrapper,
.kurs-detay-wrapper {
    box-sizing: border-box;
}

.kurs-listesi-wrapper *,
.kurs-takvimi-wrapper *,
.kurs-detay-wrapper * {
    box-sizing: inherit;
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.kurs-card {
    animation: fadeInUp 0.5s ease forwards;
}

.kurs-card:nth-child(1) { animation-delay: 0.1s; }
.kurs-card:nth-child(2) { animation-delay: 0.2s; }
.kurs-card:nth-child(3) { animation-delay: 0.3s; }
.kurs-card:nth-child(4) { animation-delay: 0.4s; }
.kurs-card:nth-child(5) { animation-delay: 0.5s; }
.kurs-card:nth-child(6) { animation-delay: 0.6s; }

/* Calendar collapse animation */
.kurs-takvimi-month-content {
    max-height: 5000px;
    overflow: hidden;
    transition: max-height 0.5s ease;
}

.kurs-takvimi-month.collapsed .kurs-takvimi-month-content {
    max-height: 0;
}

/* Focus states for accessibility */
.kurs-takvimi-btn:focus,
.kurs-whatsapp-btn:focus,
.kurs-social-btn:focus {
    outline: 2px solid var(--kurs-primary-color);
    outline-offset: 2px;
}

/* Loading state */
.kurs-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.kurs-loading::after {
    content: '';
    width: 40px;
    height: 40px;
    border: 3px solid #f0f0f0;
    border-top-color: var(--kurs-primary-color);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Print styles */
@media print {
    .kurs-social-actions,
    .kurs-whatsapp-card,
    .kurs-contact-form-card {
        display: none !important;
    }
    
    .kurs-detay-content {
        grid-template-columns: 1fr !important;
    }
}

/* ======================================================
   TAKVIM MOBIL - Elementor uyumlu (yuksek specificity)
   ====================================================== */
@media screen and (max-width: 782px) {
    /* Wrapper overflow kontrolu */
    html body .kurs-takvimi-wrapper {
        padding: 20px 10px !important;
        overflow-x: hidden !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    /* Filtre alani */
    html body .kurs-takvimi-wrapper .kurs-takvimi-filters {
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 14px !important;
        gap: 10px !important;
    }
    html body .kurs-takvimi-wrapper .kurs-takvimi-filter-group {
        width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 8px !important;
    }
    html body .kurs-takvimi-wrapper .kurs-takvimi-filter-group label {
        min-width: 65px !important;
        font-size: 0.82rem !important;
    }
    html body .kurs-takvimi-wrapper .kurs-takvimi-filter-group select,
    html body .kurs-takvimi-wrapper .kurs-takvimi-filter-group input[type="date"],
    html body .kurs-takvimi-wrapper .kurs-takvimi-filter-group input[type="text"] {
        flex: 1 !important;
        min-width: 0 !important;
        width: 0 !important;
        padding: 10px 12px !important;
    }
    html body .kurs-takvimi-wrapper .kurs-takvimi-btn {
        width: 100% !important;
        text-align: center !important;
    }

    /* Gun yapisi: dikey */
    html body .kurs-takvimi-wrapper .kurs-takvimi-day {
        flex-direction: column !important;
        overflow: hidden !important;
    }
    html body .kurs-takvimi-wrapper .kurs-takvimi-day-info {
        width: 100% !important;
        border-right: none !important;
        border-bottom: 2px solid #eee !important;
        padding: 0 0 10px !important;
        margin-bottom: 10px !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }
    html body .kurs-takvimi-wrapper .kurs-takvimi-day-courses {
        padding-left: 0 !important;
        overflow: hidden !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* === SAAT KOLONU: GIZLE === */
    html body .kurs-takvimi-wrapper .kurs-takvimi-course-time,
    html body .kurs-takvimi-wrapper div.kurs-takvimi-course-time {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
        position: absolute !important;
        left: -9999px !important;
    }

    /* === SAAT MOBIL: GOSTER === */
    html body .kurs-takvimi-wrapper .kurs-takvimi-course-time-mobile,
    html body .kurs-takvimi-wrapper div.kurs-takvimi-course-time-mobile {
        display: block !important;
        font-size: 0.72rem !important;
        color: #888 !important;
        margin-top: 2px !important;
    }

    /* Kurs satiri: tek satir, tasma yok */
    html body .kurs-takvimi-wrapper .kurs-takvimi-course {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 10px 0 !important;
        overflow: hidden !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Gorsel kucult */
    html body .kurs-takvimi-wrapper .kurs-takvimi-course-image {
        width: 64px !important;
        height: 48px !important;
        flex-shrink: 0 !important;
        border-radius: 6px !important;
    }

    /* Kurs bilgisi: flex ile boslugu doldur, tasmayi kes */
    html body .kurs-takvimi-wrapper .kurs-takvimi-course-info {
        flex: 1 !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }
    html body .kurs-takvimi-wrapper .kurs-takvimi-course-title {
        font-size: 0.8rem !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        margin: 0 0 2px !important;
    }
    html body .kurs-takvimi-wrapper .kurs-takvimi-course-meta {
        font-size: 0.68rem !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    html body .kurs-takvimi-wrapper .kurs-takvimi-course-dates {
        font-size: 0.65rem !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    /* Butonlar: ikon formatinda */
    html body .kurs-takvimi-wrapper .kurs-takvimi-course-actions {
        flex-shrink: 0 !important;
        display: flex !important;
        gap: 5px !important;
    }
    html body .kurs-takvimi-wrapper .kurs-takvimi-course-whatsapp-btn {
        width: 32px !important;
        height: 32px !important;
        padding: 6px !important;
    }
    /* Detay butonu: ikon formatina cevir */
    html body .kurs-takvimi-wrapper .kurs-takvimi-course-detail-btn,
    html body .kurs-takvimi-wrapper a.kurs-takvimi-course-detail-btn {
        font-size: 0 !important;
        line-height: 0 !important;
        padding: 6px !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 50% !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: transparent !important;
    }
    html body .kurs-takvimi-wrapper .kurs-takvimi-course-detail-btn::before,
    html body .kurs-takvimi-wrapper a.kurs-takvimi-course-detail-btn::before {
        content: "" !important;
        display: block !important;
        width: 14px !important;
        height: 14px !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z'%3E%3C/path%3E%3Cpolyline points='13 2 13 9 20 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;
    }

    /* Ay basligi */
    html body .kurs-takvimi-wrapper .kurs-takvimi-month-header h2 {
        font-size: 1.15rem !important;
    }
}
