/* Şablona (dizu) ek site stilleri */

.whatsapp-btn {
    position: fixed;
    left: 20px;
    bottom: 20px;
    z-index: 99;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .2);
    transition: transform .2s;
}

    .whatsapp-btn:hover {
        color: #fff;
        transform: scale(1.08);
    }

.site-popup {
    overflow: hidden;
    border-radius: 12px;
}

    .site-popup .btn-close {
        position: absolute;
        top: 10px;
        right: 10px;
        z-index: 2;
        background-color: #fff;
        border-radius: 50%;
        padding: 8px;
        opacity: 1;
    }

.form-mesaj {
    border-radius: 8px;
    padding: 14px 18px;
    margin-bottom: 20px;
    font-size: 15px;
}

    .form-mesaj.basarili {
        background: #e7f7ee;
        color: #146c43;
        border: 1px solid #b7e4c7;
    }

    .form-mesaj.hata {
        background: #fdecec;
        color: #b02a37;
        border: 1px solid #f5c2c7;
    }

.field-validation-error {
    display: block;
    color: #dc3545;
    font-size: 13px;
    margin-top: 4px;
}

.validation-summary-valid {
    display: none;
}

.validation-summary-errors ul {
    margin: 0;
    padding-left: 1rem;
}

.honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Kurs kartları */
.kurs-sinif-rozet {
    position: absolute;
    top: 15px;
    left: 15px;
    background: var(--primaryColor, #ff3115);
    color: #fff;
    font-weight: 700;
    border-radius: 6px;
    padding: 4px 12px;
    font-size: 15px;
    z-index: 1;
}

.course-card .course-img {
    position: relative;
}

    .course-card .course-img img,
    .blog-card .blog-img img,
    .vehicle-card .vehicle-img img {
        width: 100%;
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }

.team-card .team-img img {
    width: 100%;
    aspect-ratio: 6 / 7;
    object-fit: cover;
}

/* Galeri */
.galeri-foto {
    display: block;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 25px;
}

    .galeri-foto img {
        width: 100%;
        aspect-ratio: 4 / 3;
        object-fit: cover;
        transition: transform .4s;
    }

    .galeri-foto:hover img {
        transform: scale(1.06);
    }

    .galeri-foto .galeri-foto-baslik {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 30px 15px 12px;
        color: #fff;
        background: linear-gradient(transparent, rgba(0, 0, 0, .65));
        font-size: 15px;
    }

.video-kart {
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 25px;
    background: #fff;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .06);
}

    .video-kart .video-kapak {
        position: relative;
        display: block;
    }

        .video-kart .video-kapak img {
            width: 100%;
            aspect-ratio: 16 / 9;
            object-fit: cover;
        }

        .video-kart .video-kapak .play-now {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

    .video-kart h3 {
        font-size: 18px;
        padding: 15px 18px 5px;
        margin: 0;
    }

    .video-kart p {
        padding: 0 18px 15px;
        margin: 0;
    }

/* Harita */
.comp-map iframe {
    width: 100%;
    height: 450px;
    border: 0;
    display: block;
}

/* Editörden gelen içerik */
.icerik-metin img {
    max-width: 100%;
    height: auto;
}

.icerik-metin table {
    width: 100%;
    margin-bottom: 1rem;
}

.icerik-metin ul,
.icerik-metin ol {
    padding-left: 1.2rem;
    margin-bottom: 1rem;
}

.arama-sonuc {
    padding: 20px 0;
    border-bottom: 1px solid rgba(0, 0, 0, .08);
}

    .arama-sonuc img {
        width: 120px;
        height: 90px;
        object-fit: cover;
        border-radius: 8px;
    }

/* Ön kayıt formu: şablonun nth-child tabanlı genişlik kuralları yerine grid kullanılır */
.book-course-form .booking-form.onkayit-form {
    display: block;
}

    .book-course-form .booking-form.onkayit-form .form-group,
    .sidebar .booking-form.onkayit-form .form-group {
        width: 100% !important;
        margin-right: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 20px;
    }

.onkayit-form .kvkk-onay {
    padding-top: 28px;
    font-size: 14px;
}

.onkayit-form.form-wrap .kvkk-onay,
.sidebar .onkayit-form .kvkk-onay {
    padding-top: 0;
}

.sidebar .onkayit-form input,
.sidebar .onkayit-form select {
    width: 100%;
    height: 54px;
    padding: 10px 15px;
    border: 1px solid rgba(0, 0, 0, .1);
    border-radius: 5px;
    background: #fff;
}

/* Sayfa başlığı SEO için h1 olarak basılır; şablonun h2 stili uygulanır */
.breadcrumb-title h1 {
    font-size: 40px;
    font-weight: 600;
    margin: 0 0 15px;
    color: #fff;
}

@media only screen and (max-width: 767px) {
    .breadcrumb-title h1 {
        font-size: 26px;
        margin-bottom: 10px;
    }
}

/* İç sayfa başlık alanı: şablon iç sayfalarda ince header (style1) kullanıyor, biz üst bilgi çubuklu
   header (style2) kullanıyoruz. Header yüksekliği content-wrapper boşluğu yerine başlık alanında karşılanır. */
.content-wrapper {
    margin-top: 0 !important;
}

.page-wrapper > .breadcrumb-wrap {
    padding: 230px 0 100px;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
    .page-wrapper > .breadcrumb-wrap {
        padding: 210px 0 90px;
    }
}

@media only screen and (max-width: 991px) {
    .page-wrapper > .breadcrumb-wrap {
        padding: 150px 0 70px;
    }
}

/* Site formları (iletişim, ön kayıt sayfası): şablonun #contactForm stilinin aynısı */
.site-form.form-wrap .form-group input,
.site-form.form-wrap .form-group textarea,
.site-form.form-wrap .form-group select {
    width: 100%;
    padding: 15px 20px 11px;
    border-radius: 5px;
    border: none;
    background-color: #fff;
    color: #000;
}

.site-form.form-wrap .form-group input,
.site-form.form-wrap .form-group select {
    height: 60px;
}

.site-form.form-wrap .form-group {
    margin-bottom: 20px;
}

.site-form.form-wrap .form-check-input {
    width: auto;
    height: auto;
}

/* ---------- Mobil / responsive düzeltmeler ---------- */

/* Şablonun dark-theme.css dosyasında temaya bağlanmamış "max-width:991px → header siyah" kuralı açık temada iptal edilir */
@media only screen and (max-width: 1199px) {
    .theme-light .header-wrap.style2,
    .theme-light .header-wrap.style2 .header-bottom {
        background-color: #fff !important;
    }
}

/* Detay sayfalarındaki ana görseller tam genişlik */
.course-details-wrap .course-img img,
.blog-details-wrap .post-img img,
.team-details-wrap .team-img img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

/* Haber detay başlığı (SEO için h1, görünüm şablondaki h3 gibi) */
.blog-details-wrap article h1 {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.35;
    color: #000;
    margin: 10px 0 18px;
}

.theme-dark .blog-details-wrap article h1 {
    color: #fff;
}

@media only screen and (max-width: 767px) {
    .blog-details-wrap article h1 {
        font-size: 22px;
    }
}

/* Sabit butonlar: WhatsApp sol altta, tema (koyu/açık) düğmesi sağ üstte (header'ın hemen altında),
   yukarı çık butonu sağ altta (şablonun kendi konumu) */
.whatsapp-btn {
    left: 20px;
    right: auto;
    bottom: 20px;
}

.switch-theme-mode {
    top: 160px;
    bottom: auto;
    right: 20px;
}

@media only screen and (max-width: 1199px) {
    .switch-theme-mode {
        top: 90px;
        right: 14px;
        transform: scale(.85);
        transform-origin: right top;
    }
}

@media only screen and (max-width: 767px) {
    .whatsapp-btn {
        width: 46px;
        height: 46px;
        font-size: 24px;
        left: 14px;
        bottom: 16px;
    }

    .switch-theme-mode {
        top: 84px;
        transform: scale(.75);
    }
}

/* Ekip kartı görsel oranı */
.team-card.style1 .team-img img {
    width: 100%;
    aspect-ratio: 6 / 7;
    object-fit: cover;
}

/* Mobilde ön kayıt kutusu ve iletişim kutuları */
@media only screen and (max-width: 575px) {
    .book-course-form {
        padding: 25px 18px 25px !important;
    }

    .contact-form,
    .contact-box-wrap {
        padding: 22px 16px;
    }

    .page-wrapper > .breadcrumb-wrap {
        padding: 120px 0 50px;
    }

    .breadcrumb-title .breadcrumb-menu li {
        margin: 0 6px;
    }
}

/* ---------- Öğrenci alanı ---------- */
.ogrenci-kart {
    background: #fff;
    border-radius: 16px;
    padding: 48px 32px;
    box-shadow: 0 10px 40px rgba(9, 24, 81, .08);
}

    .ogrenci-kart .ogrenci-ikon {
        width: 84px;
        height: 84px;
        border-radius: 50%;
        background: rgba(61, 114, 252, .1);
        color: #3d72fc;
        font-size: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 20px;
    }

.ogrenci-bilgi {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 28px;
    text-align: left;
}

    .ogrenci-bilgi > div {
        background: #f5f7fb;
        border-radius: 10px;
        padding: 14px 16px;
        word-break: break-word;
    }

    .ogrenci-bilgi small {
        display: block;
        color: #6b7280;
        font-size: 12px;
    }

.theme-dark .ogrenci-kart {
    background: #071315;
}

.theme-dark .ogrenci-bilgi > div {
    background: rgba(255, 255, 255, .05);
}

@media only screen and (max-width: 767px) {
    .ogrenci-kart {
        padding: 32px 18px;
    }

    .ogrenci-bilgi {
        grid-template-columns: 1fr;
    }
}

/* Header butonları (Ön Kayıt, Giriş Yap): şablonun header-btn yapısı, aynı renk ve aynı hover animasyonu; aralarında boşluk */
.header-wrap .others-options .header-btn + .header-btn {
    margin-left: 10px;
}

.header-btn .btn.style1 {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

    .header-btn .btn.style1 i {
        font-size: 18px;
        line-height: 1;
        /* şablon butonda üst boşluğu alttan fazla verdiği için yazı biraz aşağıda durur; ikon yazıyla hizalanır */
        position: relative;
        top: -3px;
    }

/* Üst menü: şablon üst seviye öğeleri top:3px ile aşağı alıyor ama alt menülü öğelerde (Kurumsal, Galeri) top:0 veriyor;
   bu yüzden onlar 3px yukarıda kalıyordu. Hepsi aynı hizaya getirilir. */
@media only screen and (min-width: 1200px) {
    .header-wrap .navbar .navbar-nav > .nav-item.has-dropdown {
        top: 3px;
    }
}

