/**
 * BanabiKurs - Kurslar CTA Mobil Responsive Fix
 * Arama, İlçe ve Kurslar sayfalarındaki form sorunlarını çözer
 * Select2 ile arama özellikli dropdown
 */

/* ============================================
   SELECT2 ENTEGRASYONU - Arama Özellikli
   ============================================ */

/* Select2 Container */
.select2-container {
    width: 100% !important;
}

/* Select2 Selection */
.select2-container--default .select2-selection--single {
    height: 44px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    background: #fff !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 12px !important;
    transition: all 0.3s !important;
}

.select2-container--default .select2-selection--single:hover {
    border-color: #cbd5e1 !important;
}

.select2-container--default .select2-selection--single:focus,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: #0058E0 !important;
    box-shadow: 0 0 0 3px rgba(0, 88, 224, 0.08) !important;
    outline: none !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #0f172a !important;
    font-size: 14px !important;
    line-height: 44px !important;
    padding: 0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #94a3b8 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 42px !important;
    right: 8px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #94a3b8 transparent transparent transparent !important;
    border-width: 6px 5px 0 5px !important;
    margin-left: -5px !important;
    margin-top: -3px !important;
}

/* Select2 Dropdown */
.select2-container--default .select2-dropdown {
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
    margin-top: 4px !important;
    z-index: 9999 !important;
}

.select2-container--default .select2-search--dropdown {
    padding: 12px !important;
    background: #f8fafc !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    outline: none !important;
    width: 100% !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #0058E0 !important;
}

.select2-container--default .select2-results__option {
    padding: 10px 16px !important;
    font-size: 14px !important;
    color: #0f172a !important;
    transition: all 0.2s !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: #f1f5f9 !important;
    color: #0058E0 !important;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background: linear-gradient(135deg, #0058E0 0%, #0040a0 100%) !important;
    color: #fff !important;
    font-weight: 600 !important;
}

.select2-results__option--selectable {
    cursor: pointer !important;
}

/* Select2 - Mobil Optimizasyon */
@media (max-width: 576px) {
    .select2-container--default .select2-selection--single {
        height: 48px !important;
    }
    
    .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 48px !important;
        font-size: 16px !important;
    }
    
    .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 46px !important;
    }
    
    .select2-container--default .select2-results__option {
        padding: 12px 16px !important;
        font-size: 16px !important;
    }
    
    .select2-dropdown {
        font-size: 16px !important;
    }
    
    .select2-container--default .select2-search--dropdown .select2-search__field {
        font-size: 16px !important;
        padding: 10px 14px !important;
    }
}

/* ============================================
   MOBİL RESPONSIVE FIX - DETAYLI ÇÖZÜM
   ============================================ */

/* Tablet Large - 992px ile 1199px arası - DAHA İYİ OPTİMİZASYON */
@media (min-width: 992px) and (max-width: 1199px) {
    .kurslar-cta__content {
        padding: 20px 22px;
        gap: 18px;
    }

    .kurslar-cta__left {
        min-width: 240px;
        gap: 14px;
    }

    .kurslar-cta__avatar {
        width: 60px;
        height: 60px;
    }

    .kurslar-cta__title {
        font-size: 15px;
        line-height: 1.2;
    }

    .kurslar-cta__desc {
        font-size: 11px;
        line-height: 1.3;
    }

    .kurslar-cta__divider {
        height: 80px;
    }

    .kurslar-cta__row {
        gap: 6px;
        margin-bottom: 6px;
    }

    .kurslar-cta__input,
    .kurslar-cta__phone,
    .kurslar-cta__button {
        height: 40px;
        font-size: 12px;
    }

    .kurslar-cta__phone-code {
        font-size: 11px;
        padding: 0 4px 0 8px;
        padding-right: 14px;
    }

    .kurslar-cta__phone input {
        padding: 0 8px;
        font-size: 12px;
    }

    .kurslar-cta__field--button {
        min-width: 130px;
    }

    .kurslar-cta__button {
        font-size: 12px;
        padding: 0 10px;
    }
    
    .kurslar-cta__form-note {
        font-size: 9px;
        margin-top: 6px;
    }
    
    .kurslar-cta__checkbox {
        margin-top: 10px;
    }
    
    .kurslar-cta__checkbox-text {
        font-size: 10px;
    }
}

/* Tablet - 768px ile 991px arası - TAM DÜZELTME */
@media (max-width: 991px) {
    .kurslar-cta {
        padding: 20px 0;
    }

    .kurslar-cta__content {
        flex-direction: column;
        padding: 20px 18px;
        gap: 18px;
    }

    .kurslar-cta__left {
        min-width: auto;
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .kurslar-cta__avatar {
        width: 70px;
        height: 70px;
    }

    .kurslar-cta__title {
        font-size: 17px;
    }

    .kurslar-cta__desc {
        font-size: 13px;
    }

    .kurslar-cta__divider {
        width: 100%;
        height: 1px;
        background: linear-gradient(to right, transparent, #e2e8f0 20%, #e2e8f0 80%, transparent);
    }

    .kurslar-cta__right {
        width: 100%;
    }

    /* İKİ SATIR DÜZENI - Tablet için */
    .kurslar-cta__row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-bottom: 10px;
    }
    
    /* İlk satır: Telefon ve Ad Soyad yan yana */
    .kurslar-cta__row:first-child .kurslar-cta__field {
        grid-column: span 1;
    }
    
    /* İkinci satır: İlçe ve Kurs Türü yan yana, Buton alt satırda */
    .kurslar-cta__row:last-child {
        grid-template-columns: 1fr 1fr;
    }
    
    .kurslar-cta__row:last-child .kurslar-cta__field:nth-child(1),
    .kurslar-cta__row:last-child .kurslar-cta__field:nth-child(2) {
        grid-column: span 1;
    }
    
    .kurslar-cta__row:last-child .kurslar-cta__field--button {
        grid-column: span 2;
        min-width: 100%;
    }
    
    .kurslar-cta__input,
    .kurslar-cta__phone,
    .kurslar-cta__button {
        height: 44px;
        font-size: 13px;
    }
}

/* Mobile - 576px ve altı - PROFESYONEL ÇÖZÜM */
@media (max-width: 576px) {
    .kurslar-cta {
        padding: 20px 0;
    }

    .kurslar-cta__card {
        border-radius: 16px;
        margin: 0 16px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    }

    .kurslar-cta__content {
        padding: 24px 20px;
        gap: 20px;
    }

    .kurslar-cta__left {
        flex-direction: column;
        text-align: center;
        gap: 14px;
    }

    .kurslar-cta__avatar {
        width: 70px;
        height: 70px;
        margin: 0 auto;
    }

    .kurslar-cta__title {
        font-size: 16px;
        line-height: 1.3;
        margin-bottom: 6px;
    }

    .kurslar-cta__desc {
        font-size: 13px;
        line-height: 1.5;
    }

    /* TEK SÜTUN DÜZENI - Mobil için */
    .kurslar-cta__row {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin-bottom: 12px !important;
        grid-template-columns: none !important;
    }

    .kurslar-cta__field,
    .kurslar-cta__field--button {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
        grid-column: span 1 !important;
    }

    /* Telefon Input - Mobil Optimizasyon */
    .kurslar-cta__phone {
        height: 48px !important;
        width: 100% !important;
    }

    .kurslar-cta__phone-code {
        font-size: 14px !important;
        padding: 0 10px 0 12px !important;
        padding-right: 20px !important;
        min-width: 70px !important;
    }

    .kurslar-cta__phone input {
        padding: 0 14px !important;
        font-size: 16px !important;
        width: 100% !important;
    }

    /* Input ve Buton Boyutları */
    .kurslar-cta__input,
    .kurslar-cta__select,
    .kurslar-cta__button {
        height: 48px !important;
        font-size: 16px !important;
        width: 100% !important;
        padding: 0 14px !important;
    }

    .kurslar-cta__button {
        font-weight: 700 !important;
        padding: 0 20px !important;
        margin-top: 4px !important;
    }

    /* Form Notu */
    .kurslar-cta__form-note {
        font-size: 11px;
        margin-top: 10px;
        line-height: 1.4;
    }

    /* KVKK Checkbox */
    .kurslar-cta__checkbox {
        padding: 0 6px;
        margin-top: 14px;
    }
    
    .kurslar-cta__checkbox-label {
        align-items: flex-start;
        gap: 8px;
    }
    
    .kurslar-cta__checkbox-label input[type="checkbox"] {
        margin-top: 3px;
        width: 18px;
        height: 18px;
    }
    
    .kurslar-cta__checkbox-text {
        font-size: 11px;
        line-height: 1.5;
    }
}

/* Extra Small Mobile - 400px ve altı */
@media (max-width: 400px) {
    .kurslar-cta__card {
        margin: 0 5px;
    }

    .kurslar-cta__content {
        padding: 14px 10px;
    }

    .kurslar-cta__title {
        font-size: 14px;
    }

    .kurslar-cta__desc {
        font-size: 11px;
    }

    .kurslar-cta__phone-code {
        font-size: 12px;
        min-width: 60px;
        padding: 0 6px 0 8px;
        padding-right: 16px;
    }

    .kurslar-cta__phone input,
    .kurslar-cta__input,
    .kurslar-cta__button {
        font-size: 13px;
    }

    .kurslar-cta__form-note {
        font-size: 9px;
    }

    .kurslar-cta__checkbox-text {
        font-size: 9px;
    }
}

/* ============================================
   ARAMA SAYFASI - SEARCH FORM FIX
   ============================================ */

/* Search Form - Mobil Responsive */
@media (max-width: 768px) {
    .search-header {
        padding: 12px 0;
    }

    .search-form-compact .search-form-row {
        flex-direction: column;
        gap: 8px;
    }

    .search-input-wrap {
        width: 100%;
        order: 1;
    }

    .search-select {
        width: 100%;
        min-width: 100%;
        order: 2;
    }

    .search-btn {
        width: 100%;
        order: 3;
        padding: 12px 16px;
    }
}



/* ============================================
   PERFORMANS OPTİMİZASYONU
   ============================================ */

/* GPU Acceleration */
.kurslar-cta__card,
.kurslar-cta__button,
.select2-container {
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    will-change: transform;
}

/* Smooth Transitions */
.kurslar-cta__input,
.kurslar-cta__phone,
.kurslar-cta__button,
.select2-container--default .select2-selection--single {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Touch Optimization */
@media (hover: none) and (pointer: coarse) {
    .kurslar-cta__button,
    .kurslar-cta__input,
    .kurslar-cta__phone input,
    .kurslar-cta__select {
        font-size: 16px !important; /* iOS zoom önleme */
    }
}

/* ============================================
   MOBİL EXTRA FIX - GÖRSEL SORUNLAR
   ============================================ */

/* Mobilde tüm elemanların tam genişlik olması */
@media (max-width: 576px) {
    .kurslar-cta__form {
        width: 100% !important;
    }
    
    .kurslar-cta__row > * {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Grid override - mobilde kesinlikle tek sütun */
    .kurslar-cta__row {
        display: flex !important;
        flex-direction: column !important;
    }
    
    /* Tüm field'lar tam genişlik */
    .kurslar-cta__field {
        width: 100% !important;
        flex: 1 1 100% !important;
    }
    
    /* Select ve input'lar */
    .kurslar-cta__input,
    .kurslar-cta__select,
    .kurslar-cta__phone,
    .kurslar-cta__button {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* ============================================
   ACCESSIBILITY İYİLEŞTİRMELERİ
   ============================================ */

/* Focus States */
.kurslar-cta__input:focus,
.kurslar-cta__phone:focus-within,
.kurslar-cta__select:focus,
.kurslar-cta__button:focus {
    outline: 2px solid #0058E0;
    outline-offset: 2px;
}

/* High Contrast Mode */
@media (prefers-contrast: high) {
    .kurslar-cta__input,
    .kurslar-cta__phone,
    .kurslar-cta__select {
        border-width: 2px;
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .kurslar-cta__input,
    .kurslar-cta__phone,
    .kurslar-cta__button,
    .select2-container--default .select2-selection--single {
        transition: none;
    }
}


/* ============================================
   MOBİL ÖZEL DÜZELTMELER - GÖRSEL SORUNLAR
   ============================================ */

/* Mobilde form elemanlarının tam genişlik ve düzgün görünmesi */
@media (max-width: 576px) {
    /* Container genişlik */
    .kurslar-cta__card {
        width: calc(100% - 32px) !important;
        margin-left: 16px !important;
        margin-right: 16px !important;
    }
    
    /* Form container */
    .kurslar-cta__right {
        width: 100% !important;
        padding: 0 !important;
    }
    
    .kurslar-cta__form {
        width: 100% !important;
        display: block !important;
    }
    
    /* Row - Kesinlikle tek sütun */
    .kurslar-cta__row {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin-bottom: 12px !important;
        width: 100% !important;
    }
    
    /* Field - Tam genişlik */
    .kurslar-cta__field {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        flex: 1 1 100% !important;
        display: block !important;
    }
    
    .kurslar-cta__field--button {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
    }
    
    /* Telefon input */
    .kurslar-cta__phone {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        height: 48px !important;
        box-sizing: border-box !important;
    }
    
    .kurslar-cta__phone-code {
        flex-shrink: 0 !important;
        width: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;
    }
    
    .kurslar-cta__phone input {
        flex: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    
    /* Text input */
    .kurslar-cta__input {
        width: 100% !important;
        max-width: 100% !important;
        height: 48px !important;
        font-size: 16px !important;
        padding: 0 14px !important;
        box-sizing: border-box !important;
        display: block !important;
    }
    
    /* Select - Select2 ile değiştirildi, bu CSS'e gerek yok */
    
    /* Button */
    .kurslar-cta__button {
        width: 100% !important;
        max-width: 100% !important;
        height: 48px !important;
        font-size: 16px !important;
        padding: 0 20px !important;
        box-sizing: border-box !important;
        display: block !important;
    }
    
    /* Grid override */
    .kurslar-cta__row[style*="grid"] {
        display: flex !important;
        flex-direction: column !important;
    }
}

/* Extra Small - 400px ve altı */
@media (max-width: 400px) {
    .kurslar-cta__card {
        width: calc(100% - 20px) !important;
        margin-left: 10px !important;
        margin-right: 10px !important;
    }
    
    .kurslar-cta__content {
        padding: 20px 16px !important;
    }
    
    .kurslar-cta__phone-code {
        width: 65px !important;
        min-width: 65px !important;
        max-width: 65px !important;
        font-size: 14px !important;
    }
}

/* Landscape mode - küçük ekranlarda */
@media (max-width: 768px) and (orientation: landscape) {
    .kurslar-cta__content {
        padding: 16px 20px !important;
    }
    
    .kurslar-cta__avatar {
        width: 50px !important;
        height: 50px !important;
    }
    
    .kurslar-cta__title {
        font-size: 14px !important;
    }
    
    .kurslar-cta__desc {
        font-size: 11px !important;
    }
}
