/* ==========================================================================
   ATASEVER MEDIA  —  responsive.css
   Kirilma noktalari: 1200px / 991px / 767px / 575px
   Mobil, masaustunun kucultulmus hali degildir; duzen yeniden kurgulanir.
   ========================================================================== */

/* --------------------------------------------------------------------------
   LARGE  (<= 1199px)
   -------------------------------------------------------------------------- */
@media (max-width: 1199.98px) {
    :root { --section-y: 88px; }

    .main-nav .nav-link { padding: 9px 11px; font-size: 15px; }
    .main-nav .nav-link::after { left: 11px; right: 11px; }

    .header-phone { display: none; }

    /* Telefon gizlendiginde ayirici cizgi de kalkmali */
    .header-phone + .btn-header-cta::before { display: none; }

    .hero { padding: 72px 0 80px; }
    .hero-visual { padding-left: 0; }

    .float-card-1 { left: -14px; bottom: 46px; }
    .float-card-2 { right: -8px; top: 40px; }

    .clients-track { gap: 44px; }
    .client-logo { font-size: 18px; }

    .stat-value { font-size: 36px; }
    .stat-item { padding: 8px 28px; }

    .process-step { padding-right: 20px; }
    .process-step::after { left: 58px; }
}

/* --------------------------------------------------------------------------
   TABLET  (<= 991px)
   -------------------------------------------------------------------------- */
@media (max-width: 991.98px) {
    :root {
        --section-y: 72px;
        --header-h: 72px;
    }

    body { font-size: 16.5px; }

    /* Header */
    .main-nav { display: none; }
    .nav-toggle { display: inline-flex; }

    /* Ust serit dar ekranda yer kaplamasin */
    .top-bar { display: none; }
    :root { --topbar-h: 0px; }

    .has-hero-overlay .header-inner,
    .has-hero-overlay .top-bar-inner { padding: 0; }
    .site-header.is-scrolled .header-inner { height: 66px; }

    .header-actions .btn-header-cta { padding: 11px 18px; font-size: 15px; min-height: 46px; }

    /* Hero karti */
    .hero { padding: 22px 0 26px; }

    .hero-card { border-radius: 20px; }

    .hero-slide-body {
        max-width: 100%;
        min-height: 400px;
        padding: 52px 30px 60px;
    }

    .hero-text { max-width: 100%; }

    .hero-stats { gap: 14px 30px; padding: 56px 30px 24px; }
    .hero-stats .num { font-size: 19px; }

    .hero-nav { right: 18px; bottom: 150px; }

    /* Bolum basliklari */
    .section-head { margin-bottom: 40px; }

    /* Istatistik */
    /* Iki sutuna dusunce dikey ayirici yalnizca satir icinde kalir */
    .stats-grid { grid-template-columns: repeat(2, 1fr); row-gap: 30px; }

    .stat-item { padding: 8px 26px; }
    .stat-item:nth-child(odd) { padding-left: 0; }
    .stat-item:nth-child(even) { padding-right: 0; }
    .stat-item:nth-child(odd)::before { display: none; }

    /* Yaklasim / surec */

    .process-grid { grid-template-columns: 1fr; gap: 0; }

    .process-step {
        display: grid;
        grid-template-columns: 46px 1fr;
        column-gap: 20px;
        padding: 0 0 32px 0;
    }

    .process-step::after {
        top: 52px;
        bottom: 8px;
        left: 22px;
        right: auto;
        width: 1px;
        height: auto;
    }

    .process-step:last-child { padding-bottom: 0; }
    .process-num { margin-bottom: 0; }
    .process-step h3 { grid-column: 2; margin-top: 10px; }
    .process-step p { grid-column: 2; padding-right: 0; }

    /* Vaka calismasi */
    .case-facts { grid-template-columns: repeat(2, 1fr); }

    .case-fact {
        border-bottom: 1px solid var(--border);
        padding-left: 26px;
    }

    .case-fact:first-child { padding-left: 26px; }
    .case-fact:nth-child(2n) { border-right: 0; }
    .case-fact:nth-child(n + 3) { border-bottom: 0; }

    .result-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }
    .result-item { padding: 22px 18px; }
    .result-item .rv { font-size: 30px; }

    /* CTA */
    .cta-band { padding: 68px 0; }
    .cta-band p { max-width: 100%; margin-bottom: 28px; }
    .cta-inline { padding: 28px 26px; }

    /* Footer */
    .site-footer { padding-top: 60px; }

    /* Marka ve iletisim alt alta; iletisim sola hizalanir */
    .footer-lead { grid-template-columns: 1fr; gap: 32px; padding-bottom: 40px; }
    .footer-brand { max-width: 100%; }
    .footer-reach { justify-self: start; text-align: left; }
    .footer-reach-meta { justify-content: flex-start; }

    .footer-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; padding-top: 40px; }
    .footer-bottom { margin-top: 36px; }

    /* Form */
    .form-card { padding: 28px 24px; }

    /* Makale */
    .article-body { font-size: 17px; }
    .article-body h2 { font-size: 25px; margin-top: 36px; }
}

/* --------------------------------------------------------------------------
   MOBIL  (<= 767px)
   -------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
    :root { --section-y: 60px; }

    .container { padding-left: 18px; padding-right: 18px; }

    /* Bootstrap'in g-5 oluğu (48px) mobilde satır kenar boşluğunu -24px yapar.
       Kapsayıcı dolgusu 18px olduğu için 6px yatay taşma oluşuyordu; mobilde
       oluk küçültülerek taşma engellenir. */
    .row.g-5,
    .row.gx-5 { --bs-gutter-x: 1.5rem; }

    h1, .h1 { font-size: clamp(34px, 9vw, 44px); }
    h2, .h2 { font-size: clamp(26px, 6.6vw, 34px); }
    h3, .h3 { font-size: 20px; }

    .lead { font-size: 16.5px; }

    /* Butonlar mobilde tam genislik */
    .btn { min-height: 48px; }

    .hero-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
    .hero-actions .btn { width: 100%; }

    .hero { padding: 14px 0 20px; }
    .hero-card { border-radius: 18px; }

    /* Bindirme kurallari daha ozgul oldugu icin burada ayni ozgullukle
       ezilir; aksi halde mobilde 56px yan dolgu kaliyordu. */
    .has-hero-overlay .hero-slide-body,
    .has-hero-overlay .hero-stats {
        padding-left: 20px;
        padding-right: 20px;
        max-width: 100%;
    }

    .has-hero-overlay .hero-slide-body {
        padding-top: calc(var(--header-h) + 18px);
        padding-bottom: 24px;
    }

    .has-hero-overlay .hero-nav { right: auto; }

    .hero-slide-body {
        min-height: 320px;
        padding: 40px 20px 28px;
    }

    /* Duzen alt alta indigi icin yatay gecis ise yaramaz;
       fotografin tamami esit sekilde koyulastirilir. */
    .hero-slide-media::after {
        background:
            linear-gradient(180deg,
                rgba(18, 20, 24, .74) 0%,
                rgba(18, 20, 24, .62) 34%,
                rgba(18, 20, 24, .72) 72%,
                rgba(18, 20, 24, .82) 100%);
    }

    .hero-title {
        max-width: 100%;
        margin-bottom: 14px;
        font-size: clamp(27px, 7.4vw, 36px);
        overflow-wrap: break-word;
    }

    .hero-text { font-size: 16px; margin-bottom: 22px; }

    .hero-badge { font-size: 12.5px; padding: 7px 14px 7px 7px; margin-bottom: 18px; }
    .hero-badge-mark { width: 26px; height: 26px; font-size: 12px; }

    /* Kontroller mutlak konumdan cikip istatistik seridinin ustune oturur;
       boylece iki satirlik rakam seridiyle cakismaz. */
    .hero-nav {
        position: static;
        justify-content: center;
        margin: 0 20px 18px;
        background: rgba(255, 255, 255, .1);
    }

    .hero-arrow { width: 38px; height: 38px; font-size: 15px; }

    /* Kontroller mobilde akista oldugu icin serit yukari cekilmez;
       aksi halde rakamlar kontrol hapinin altinda kaliyordu. */
    /* Mobilde kontroller akista oldugu icin serit de akista kalir;
       bindirme burada metnin uzerine binerdi. */
    .hero-stats {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 16px 14px;
        padding: 30px 20px 22px;
    }

    .hero-stats.is-solid { padding-top: 20px; }

    /* Sayfa basligi */
    .page-hero { padding: 44px 0 48px; }

    /* Musteri logolari */
    .clients-track { gap: 32px; }
    .clients-track:not(.is-marquee) { gap: 18px 30px; }
    .client-logo { font-size: 16px; }
    .clients-marquee { padding-top: 24px; }

    /* Kartlar */
    .service-card { padding: 26px 22px 24px; }
    .package-card,
    .testimonial-card { padding: 26px 22px; }

    .project-card h3 { font-size: 20px; }
    .project-thumb { margin-bottom: 16px; }

    /* Filtre yatay kaydirilabilir */
    .filter-bar {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-bottom: 32px;
        padding-bottom: 6px;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .filter-bar::-webkit-scrollbar { display: none; }
    .filter-btn { flex: 0 0 auto; }

    /* Neden biz: dar ekranda tek kolon, kartlar alt alta */
    .why-wrap { grid-template-columns: 1fr; gap: 36px; }

    /* Tek kolonda esitleme anlamsiz; fotograf kendi oranina doner */
    .why-photo {
        flex: 0 0 auto;
        min-height: 0;
        margin-top: 26px;
        overflow: visible;
        border-radius: 0;
    }

    .why-photo img { height: auto; aspect-ratio: 4 / 3; border-radius: var(--radius-lg); }

    /* Not karti dar ekranda fotografa gore cok buyuk kaliyordu; akisa iner */
    .why-photo::after { display: none; }

    .why-note {
        position: static;
        margin-top: 14px;
        border: 1px solid var(--border);
        box-shadow: none;
    }

    .why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }

    /* Medya notu */
    /* Mobilde not karti fotografin altina, normal akisa iner */
    .media-frame { overflow: visible; }
    .media-frame img { border-radius: var(--radius-md); }

    /* Vaka calismasi */
    .case-facts { grid-template-columns: 1fr; }

    .case-fact {
        border-right: 0;
        border-bottom: 1px solid var(--border);
        padding: 18px 0;
    }

    .case-fact:first-child,
    .case-fact { padding-left: 0; }
    .case-fact:last-child { border-bottom: 0; }

    .case-block { margin-bottom: 42px; }
    .case-block h2 { font-size: 25px; }
    .case-block p { font-size: 16.5px; }

    .result-grid { grid-template-columns: 1fr; gap: 12px; }

    /* SSS */
    .faq-accordion .accordion-button { padding: 18px 20px; font-size: 16px; }
    .faq-accordion .accordion-body { padding: 0 20px 20px; font-size: 15.5px; }

    /* CTA */
    .cta-band { padding: 56px 0; }
    .cta-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
    .cta-actions .btn { width: 100%; }

    .cta-inline { padding: 26px 22px; text-align: left; }
    .cta-inline .btn { width: 100%; }

    /* Is ilani */
    .job-item { padding: 22px 20px; }
    .job-item .btn { width: 100%; }

    /* Alt sabit CTA cubugu aktif; yuzen WhatsApp gizlenir */
    .mobile-cta-bar { display: flex; }
    .wa-float { display: none; }
    /* Dokunmatik hedefler en az 44x44px olmali */
    .to-top { bottom: 84px; right: 16px; width: 44px; height: 44px; }
    .team-social a,
    .article-share a { width: 44px; height: 44px; }

    body { padding-bottom: 70px; }

    .site-footer { padding-top: 52px; }

    .footer-nav { grid-template-columns: 1fr; gap: 28px; }

    .why-grid { grid-template-columns: 1fr; }
    .why-card { padding: 24px 22px; }
    .footer-mail { font-size: 22px; word-break: break-word; }

    .footer-bottom { justify-content: flex-start; }

    .toast-stack { top: 84px; right: 16px; left: 16px; width: auto; }

    /* Slider mobilde tek kart */
    .slider-track > * { flex: 0 0 100%; }

    .article-share { margin-top: 34px; }
}

/* --------------------------------------------------------------------------
   KUCUK MOBIL  (<= 575px)
   -------------------------------------------------------------------------- */
@media (max-width: 575.98px) {
    .brand { font-size: 19px; }
    .brand-mark { width: 32px; height: 32px; font-size: 15px; }

    .header-actions .btn-header-cta {
        padding: 10px 14px;
        font-size: 14.5px;
        min-height: 44px;
    }

    /* 380px altinda marka + CTA + menu dugmesi yan yana sigmiyor ve satir
       tasiyordu. Sayfanin altinda zaten sabit bir "Teklif Al" cubugu var,
       bu yuzden header'daki kopyasi gizlenir. */
    @media (max-width: 379.98px) {
        .header-actions .btn-header-cta { display: none; }
    }

    /* Tek sutunda dikey ayirici anlamsiz; satirlar bosluklarla ayrilir */
    .stats-grid { grid-template-columns: 1fr; row-gap: 26px; }

    .stat-item { padding: 0; }
    .stat-item::before { display: none; }

    .stat-value { font-size: 34px; }

    .hero-stats { grid-template-columns: repeat(2, 1fr); }

    .form-card { padding: 24px 20px; }

    .error-page { padding: 60px 0; }

    .pagination-row { flex-wrap: wrap; }
}

/* --------------------------------------------------------------------------
   YAZDIRMA
   -------------------------------------------------------------------------- */
@media print {
    .site-header,
    .site-footer,
    .wa-float,
    .mobile-cta-bar,
    .to-top,
    .cta-band { display: none !important; }

    body { padding-bottom: 0; }
}
