/* Today Arıtım - tema üzeri özel düzeltmeler.
   main.css'e DOKUNMA; her değişiklik buraya. */

/* Ürünler mega menüsü 3 sütuna indi (Main Pages kalktı).
   Tema 4 sütuna göre 1320px'e kurgulanmıştı; 315 + 315 + 377 = 1007px.
   max-width kısılmazsa sağda ~313px boşluk kalıyor. */
.mainmenu ul > li > .mega-menu-urunler,
.mobile_menu ul > li > .mega-menu-urunler {
  max-width: 1007px;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  /* bu aralıkta CTA sütunu 377 yerine 350px */
  .mainmenu ul > li > .mega-menu-urunler,
  .mobile_menu ul > li > .mega-menu-urunler {
    max-width: 980px;
  }
}

/* Anasayfa kartları eşit yükseklikte olsun.
   Metinler panelden geldiği için uzunluk değişken; kart boyları kaymasın. */
.tj-service-slider .swiper-slide {
  height: auto;
}
.tj-service-slider .swiper-slide .service-style-2 {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.tj-blog-section-two .row > [class*="col-"] {
  display: flex;
}
.tj-blog-section-two .blog-style-2 {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.tj-blog-section-two .blog-style-2 .blog-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.tj-blog-section-two .blog-style-2 .blog-button {
  margin-top: auto;
}

/* Hizmet kartı: temada bu görünüm SADECE :hover'da açılıyordu.
   Tayfun "hep aktif kalsın" dedi -> main.css'teki .service-style-2:hover
   kurallarının aynısı, :hover olmadan. main.css'e DOKUNULMADI. */
.service-style-2 .thumb {
  opacity: 1;
  visibility: visible;
}
.service-style-2 .service-icon {
  background-color: var(--tj-color-common-white);
}
.service-style-2 .service-content .title a {
  color: var(--tj-color-common-white);
}
.service-style-2 .service-content .desc {
  color: var(--tj-color-common-white-2);
}
.service-style-2 .service-button,
.service-style-2 .service-button i {
  color: var(--tj-color-common-white);
}
.service-style-2 .service-button::before {
  background-color: var(--tj-color-common-white);
}

/* ------------------------------------------------------------- İÇ SAYFA
   body.ic-sayfa = anasayfa DIŞINDAKİ tüm sayfalar (ust.php basar).
   Anasayfada saydam/bulanık kayan header var; iç sayfalarda üstte topbar
   olduğu için header kenara yapışık ve düz koyu zeminli olacak.
   Seçiciler `body.ic-sayfa` ile başlıyor -> tema kurallarından ve onların
   medya sorgularından daha SPESİFİK, o yüzden her kırılımda geçerli. */
/* header-wrapper padding'i sifirlaninca "Menu" butonunun dekoratif kareleri
   tam kenara dayanip 0.86px tasiyor ve sayfa 1px yatay kayabiliyordu.
   `clip` kullaniliyor: `hidden`in aksine kaydirma baglami YARATMAZ, bu yuzden
   position:fixed olan sticky header ve hamburger paneli etkilenmez.
   DIKKAT: kural <html>'e verilmeli; `clip` degeri body'den viewport'a
   DEVREDILMIYOR (body'ye yazilinca computed 'clip' oluyor ama sayfa yine
   1px kayiyor). */
html.ic-sayfa {
  overflow-x: clip;
}

body.ic-sayfa .tj-header-area.header-2 .header-bottom,
body.ic-sayfa .tj-header-area.header-2.header-duplicate .header-bottom {
  padding: 0px 50px;
}
body.ic-sayfa .tj-header-area.header-2 .header-bottom > .container-fluid {
  padding-inline: 0;
}
/* ⚠️ .container-fluid padding'i sıfırlanınca Bootstrap .row'un negatif
   kenar boşlukları (gutter/2 = 12px x2) açıkta kalıp 24px yatay taşma
   yapıyordu. Gutter'ı sıfırlamak hem row margin'ini hem col padding'ini
   birlikte kapatır. */
body.ic-sayfa .tj-header-area.header-2 .header-bottom > .container-fluid > .row {
  --bs-gutter-x: 0;
}
body.ic-sayfa .tj-header-area.header-2.header-absolute .header-wrapper,
body.ic-sayfa .tj-header-area.header-2.header-duplicate .header-wrapper {
  padding: 0;
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
  background: rgba(5, 18, 41, 0.8);
}

/* ------------------------------------------------- ÜRÜN DETAY GALERİSİ
   Temada küçük görseller Bootstrap "pill" sekmesiydi (kayma yok).
   Swiper'a çevrildi: ana görsel sağa/sola kayıyor, küçükler navigasyon.
   `nav` sınıfı kaldırıldığı için flex'i burada veriyoruz. */
/* ⚠️ Swiper'in slaytlari yan yana durdugu icin konteyner, kisitlanmazsa
   icerik genisligine sisiyordu (olculdu: 14.800px) ve kucuk gorsel sutununu
   0 genislige eziyordu. Tema bu siniflara hic CSS vermemis, genisligi
   gorselin dogal boyutuna birakmis. flex kutuda daralabilmesi icin
   `min-width: 0` ZORUNLU. */
.urun-galeri {
  flex-wrap: nowrap;
  align-items: flex-start;
}
.urun-galeri .tj-product-img-wrap {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
}
.urun-galeri .urun-galeri-slider,
.urun-galeri .swiper-wrapper,
.urun-galeri .swiper-slide {
  max-width: 100%;
}
.urun-galeri .product-img {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 605px;
  background: var(--tj-color-theme-bg);
  overflow: hidden;
}
.urun-galeri .product-img img {
  width: 100%;
  height: 605px;
  object-fit: cover;
}

/* shop.css:5968 karşılığı - küçük görsel yüksekliği (temada 100%). */
.urun-galeri .tj-pdt-thumb-img img {
  width: 100%;
  height: 90px;
  -o-object-fit: cover;
     object-fit: cover;
}

/* shop.css:4126 karşılığı - "diğer ürünler" kartındaki görsel (temada sadece width). */
.tj-product-thumb img {
  width: 100%;
  height: 549px;
  object-fit: cover;
}

.urun-galeri .tj-product-thumb-items {
  display: flex;
  flex-direction: column;
  flex: 0 0 100px;
  max-width: 100px;
  /* 12 görselli üründe şerit ana görselden uzun kalıyor -> kendi içinde kaysın */
  max-height: 605px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
}
.urun-galeri .tj-pdt-thumb-img {
  flex: 0 0 auto;
  border: 1px solid transparent;
  opacity: .55;
  transition: opacity .25s ease, border-color .25s ease;
}
.urun-galeri .tj-pdt-thumb-img.active,
.urun-galeri .tj-pdt-thumb-img:hover {
  opacity: 1;
  border-color: var(--tj-color-theme-primary);
}
.urun-galeri .urun-galeri-slider {
  overflow: hidden;
}
.urun-galeri .urun-galeri-nav {
  position: absolute;
  inset-inline: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  z-index: 3;
}
.urun-galeri .urun-galeri-nav button {
  pointer-events: auto;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: var(--tj-color-common-white);
  color: var(--tj-color-heading-primary);
  box-shadow: 0 2px 14px rgba(5, 18, 41, .18);
  transition: background .25s ease, color .25s ease;
}
.urun-galeri .urun-galeri-nav button:hover {
  background: var(--tj-color-theme-primary);
  color: var(--tj-color-common-white);
}
@media (max-width: 575px) {
  .urun-galeri .tj-product-thumb-items {
    flex-direction: row;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
  }
}

/* Yasal metin sayfaları (gizlilik, kullanım koşulları): ara başlıklara nefes. */
.metin-sayfa h4 {
  margin-top: 34px;
  margin-bottom: 12px;
}
.metin-sayfa h4:first-child {
  margin-top: 0;
}

/* Blog detay: yazı içindeki görseller kolonu tam doldursun. */
.tj-post-single-post img {
  width: 100%;
}

/* Blog detay yan sütunu: diğer widget'lar kaldırıldı, sadece CTA kaldı.
   .tj-sidebar-widget'ın kendi padding'i CTA kutusunda fazlalık yapıyor. */
.tj-sidebar-widget.sidebar-cta-widget {
  padding: 0;
}

/* --------------------------------------------------------- İLETİŞİM KUTULARI
   Kolonlar zaten eşit yükseklikte (Bootstrap stretch) ama içlerindeki
   .contact-item metin uzunluğuna göre kısa kalıyordu (269/295/372/321px).
   Kolonu flex yapıp kutuyu tam yaydırıyoruz. */
.tj-contact-area .contact-item.style-2 {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

/* ------------------------------------------------------ REFERANS IZGARASI
   Temada bu sayfa için hazır bir bölüm yoktu; 4'lü ızgara burada kuruldu.
   Logolar panelden (Hizmet Galeri -> "Referans Logoları"). */
.referans-grid {
  margin-top: 20px;
}
.referans-kutu {
  height: 100%;
  border: 1px solid var(--tj-color-border-2);
  background: var(--tj-color-common-white);
  padding: 30px 20px 22px;
  text-align: center;
  transition: border-color .3s ease, transform .3s ease;
}
.referans-kutu:hover {
  border-color: var(--tj-color-theme-primary);
  transform: translateY(-4px);
}
.referans-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90px;
  margin-bottom: 16px;
}
.referans-logo img {
  max-width: 100%;
  max-height: 90px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.referans-ad {
  display: block;
  font-size: 14px;
  line-height: 1.45;
  color: var(--tj-color-heading-primary);
}

/* Diğer ürünler bloğu: temada 120px üst boşluk vardı. */
.related-products.has-border {
  padding-top: 50px;
}

/* Ürün kartı görseli kutuyu tam doldursun.
   ⚠️ Panelden gelen gerçek ürün fotoğraflarının en-boy oranları çok farklı
   (349x144'ten 1600x1600'e); sabit yükseklik verilmezse kart boyları
   377-714px arasında savruluyor. Temanın kendi görselleri 573x524 idi. */
.project-style-2 .project-images img {
  width: 100%;
  height: 465px;
  object-fit: cover;
}

/* Kartlar arası dikey boşluk: temada 300px, çok fazlaydı.
   NOT: kaydırmalı (şaşırtmalı) dizilim `:nth-child(even){margin-top:300px}`
   kuralından geliyor, o AYRI ve dokunulmadı. */
.project-style-2 {
  margin-bottom: 100px;
}

/* Ürün vitrini: evsel ürünler "Tümünü Gör"e basılana kadar gizli.
   ⚠️ Bu bloğun içindeki kartlara `wow` sınıfı VERME — WOW.js .wow ögelerini
   visibility:hidden yapar ve display:none içindekileri görünür saymaz,
   blok açılınca kartlar boş kalır. */
.evsel-urun-blok {
  display: none;
}
.evsel-urun-blok.acik {
  display: block;
  padding-top: 120px;
}
/* ---------------------------------------------------------------- FOOTER
   Tema 2 kolonluk dar bir iletişim sütununa göre kurgulanmıştı;
   4 kolona (3-4-2-3) geçince ölçüler yeniden ayarlandı. */

/* İletişim/lokasyon sütunu: 230px'e sıkışmasın. */
.footer-widget.footer-contact-infos {
  max-width: 100%;
}

/* İki lokasyon arası boşluk (temada 40px). */
.footer-widget.footer-contact-infos .infos-item {
  margin-bottom: 20px;
}

/* Ayırıcı çizgilerin başlangıcı, yeni kolon genişliğine göre (temada %30).
   ⚠️ SADECE masaüstü: tema 992px altında bu çizgiyi zaten `-200px`e alıp tam
   genişliğe yayıyor; medya sorgusuz yazılınca telefonda da %23'ten başlıyor
   ve tek başına ortalanmamış bir çizgi olarak duruyordu. */
@media only screen and (min-width: 992px) {
  .tj-footer-area.footer-2 .footer-top-area .line::before,
  .footer-copyright-area-2 .line::before {
    -webkit-margin-start: 0;
    inset-inline-start: 23%;
  }
}

/* ─────────── ANASAYFA SAYACI: "15" (Tayfun, 2026-08-11)
   Tam kalın + rakamlar birbirine biraz daha yakın.
   ⚠️ Odometer rakamları AYRI `span.odometer-digit` kutuları; tema
   `.funfact-item-two .number span`e 700 veriyor ve bu seçici iç içe TÜM
   span'leri kapsıyor -> ağırlığı aynı seçiciyle ezmek gerekiyor (today.css
   main.css'ten sonra yüklendiği için kazanıyor).
   ⚠️ Rakamlar arası boşluk `letter-spacing` ile kapanmaz (aralarında karakter
   değil inline-block var); bitişik kardeşe negatif kenar boşluğu veriliyor.
   `em` kullanıldı: sayacın puntosu kırılımlarda 156px'ten 90px'e iniyor,
   boşluk da orantılı küçülsün.
   NOT: sondaki "+" işareti `.number`ın kendi metni, bu kurallardan
   etkilenmiyor — kalınlığı ve arası temadaki gibi kalıyor. */
.funfact-item-two .number span {
  font-weight: var(--tj-fw-black);
}
.funfact-item-two .number .odometer-digit + .odometer-digit {
  -webkit-margin-start: -0.04em;
          margin-inline-start: -0.04em;
}

/* ───────────────────────── YUKARI ÇIK BUTONU
   Etiket "GOTOP" (5 harf) -> "YUKARI ÇIK" (10 karakter) oldu. Buton dikey bir
   hap: metin `writing-mode: vertical-lr` ile yukarıdan aşağı akıyor, yani
   HARF SAYISI YÜKSEKLİĞİ BELİRLİYOR. Temanın 130px'i (ok ikonu + 10px boşluk
   dahil) yeni metinde yetmiyor, harfler taşıyordu -> yükseklik ve punto
   yeniden ayarlandı. */
/* İçerik: ok (16px) + 10px boşluk + dikey metin (80,8px) = 106,8px;
   temanın hap içi nefes payı ~40px -> 150px yeterli, ölçüldü. */
.back-to-top-wrapper {
  height: 160px;
}
.back-to-top-btn {
  height: 150px;
}
.back-to-top-btn span {
  font-size: 13px;
  letter-spacing: 0.06em;
}

/* ─────────── HAMBURGER (yan) MENÜ: TELEFONDA TAM EKRAN (Tayfun, 2026-08-11)
   Tema 450px (≤575px'te 320px) sabit genişlik veriyordu; 420px'lik bir
   telefonda ekranın ~%76'sını kaplıyor, arkada bir şerit kalıyordu.
   ⚠️ Kapalı konum da düzeltilmeli: tema `inset-inline-end: -490px` ile
   gizliyor; genişlik %100 olunca 490px'den GENİŞ ekranlarda (ör. 600-767px)
   panel kapalıyken sağdan görünürdü. */
@media only screen and (max-width: 767px) {
  .hamburger-area {
    width: 100%;
    inset-inline-end: -100%;
  }
  .hamburger-area.opened {
    inset-inline-end: 0;
  }
}

/* ─────────── FOOTER: 992px ALTINDA HER ŞEY ORTALI (Tayfun, 2026-08-11)
   Kolonlar alt alta (ya da 2'li) düştüğünde sola yaslı metinler dağınık
   duruyordu. Alt telif şeridi zaten temada ortalanıyor (992px altında
   `.copyright-content-area` flex-direction:column + center), üst bölüm de
   ona uyduruldu. */
@media only screen and (max-width: 991px) {
  .tj-footer-area.footer-2 .footer-widget {
    text-align: center;
  }
  /* max-width'i olan bloklar (logo 150px, tanıtım metni 310px) kutunun
     içinde sola yapışıyordu -> ortala. */
  .tj-footer-area.footer-2 .footer-widget .footer-logo,
  .tj-footer-area.footer-2 .footer-widget .desc {
    margin-inline: auto;
  }
  /* Logo mobilde büyütüldü (Tayfun, 2026-08-11): main.css'teki 150px
     telefonda küçük kalıyordu. SADECE mobil; masaüstünde 150px duruyor
     (orada header logosuyla aynı boy). */
  .tj-footer-area.footer-2 .footer-widget .footer-logo {
    max-width: 230px;
  }
  /* Bu üçü flex; text-align onları taşımaz, justify-content gerekiyor. */
  .tj-footer-area.footer-2 .footer-widget .footer-social ul,
  .tj-footer-area.footer-2 .footer-widget.widget_nav_menu .widget-menu ul li a {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/* Üst footer alt boşluğu (temada 100px). */
.footer-top-area {
  padding-bottom: 20px;
}

/* Sadece "By insidemedia.com.tr" kutusu; sağdaki copyright 38px kalsın. */
.copyright-2.copyright-insidemedia {
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

/* Referans (marka) bölümü.
   ANASAYFADA: ekip bölümü kaldırıldığı için üstte nefes payı gerekiyor.
   İÇ SAYFADA: üstünde zaten yorumlar bölümü var, boşluk kapatıldı. */
.tj-brand-section-two {
  padding-top: 120px;
}
body.ic-sayfa .tj-brand-section-two {
  padding-top: 0;
}

/* Kurumsal: özellik kartlarının üstüne nefes payı, alttaki 120px kapatıldı. */
.tj-feature-section.section-bottom-space {
  padding-top: 100px;
  padding-bottom: 0;
}

/* Sayaç ızgarası dar kutuya sıkışmasın (temada 560px). */
.tj-evolute-counter {
  max-width: 100%;
}

/* Hap şeklindeki başlık rozeti temada 395px'e göre kurgulanmıştı
   (İngilizce metin tek satırda 351px). TR metin 392px sürüyor ve
   355px'lik iç alana sığmayıp 2 satıra kırılıyordu. */
.tj-brand-section-two .sec-heading .sec-title {
  max-width: 440px;
}

/* Tema logoları negatife çeviriyordu (beyaz logo varsayımı).
   Gerçek referans logoları renkli/koyu olacak -> invert KALKTI. */
.brand-slider-2 .brand-logo img {
  -webkit-filter: none;
  filter: none;
}

/* ⚠️ Marquee kenar solması temada `::before` %40 + `::after` %40 = şeridin
   %80'i beyaza gömülüyor; sadece ortadaki %20 net. 16 adet AYNI placeholder
   varken fark edilmiyordu, gerçek logolarda hepsi soluk görünüyor
   (ölçüldü: kenardaki 4 logo okunmuyor). Solma dar bir kenar payına indirildi. */
.brand-slider-2::before,
.brand-slider-2::after {
  width: 10%;
}

/* ═══════════════════════ AÇILIŞ (GİRİŞ) EKRANI ═══════════════════════
   Anasayfa açılınca tam ekranı kaplar. Sol yarı Endüstriyel, sağ yarı Evsel;
   üstte logo, altta "ANASAYFAYA DÖN". Arka plan hover'da fade ile değişir.

   ⚠️ KURAL (lothelmor KARŞILAMA olayından): görünürlük bir GEÇİŞE ya da JS'e
   bağlanmaz. Ekran CSS'te VARSAYILAN OLARAK GÖRÜNÜR; JS sadece kapatır ve
   hover'ı yönetir. JS kapalıysa index.php'deki <noscript> bloğu ekranı
   tamamen kaldırır, böylece site hiçbir koşulda kilitlenmez.
   z-index 999 = temanın preloader'ının (1000) hemen ALTI: önce preloader,
   o kapanınca bu ekran. */
.giris-ekrani {
  position: fixed;
  inset: 0;
  z-index: 999;
  overflow: hidden;
  background: var(--tj-color-theme-bg);
}
/* Kapatma: önce solma (giris-kapaniyor), 400 ms sonra JS display:none yapar.
   Görünürlüğün son sözü ZAMANLAYICIDA — geçiş çalışmasa da ekran kalkar. */
.giris-ekrani.giris-kapaniyor {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.4s ease;
          transition: opacity 0.4s ease;
}
.giris-ekrani.giris-gizli {
  display: none;
}
html.giris-acik,
html.giris-acik body {
  overflow: hidden;
}

/* --- arka plan katmanları: üst üste durur, opacity ile geçiş yapar --- */
.giris-arkalar {
  position: absolute;
  inset: 0;
}
.giris-arka {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  -webkit-transform: scale(1.06);
          transform: scale(1.06);
  -webkit-transition: opacity 0.45s ease, -webkit-transform 2.4s ease-out;
          transition: opacity 0.45s ease, transform 2.4s ease-out;
}
.giris-arka.aktif {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

/* "görselin üstü hafif layer siyah" */
.giris-katman {
  position: absolute;
  inset: 0;
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0.6) 100%);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0.6) 100%);
}

/* --- üst orta: logo --- */
.giris-logo {
  position: absolute;
  top: 42px;
  inset-inline-start: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 4;
  width: 230px;   /* Tayfun 2026-08-11: biraz daha büyük */
  line-height: 0;
}
.giris-logo img {
  width: 100%;
  height: auto;
}

/* --- iki seçenek + tam ortadaki ayraç --- */
.giris-secenekler {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 2;
}
.giris-secenek {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  text-decoration: none;
  padding: 130px 30px;
}
/* NOT: burada "seçilmeyen yarıyı koyultan" bir `::before` katmanı vardı;
   Tayfun 2026-08-11'de tamamen kaldırılmasını istedi ("o olmasın hiç ya"). */

/* Hazır kompozisyon görseli modu (giris-ekrani.php'de etiketler/ayraç/logo
   kapalıyken): görselin kendi metinleri var, hiçbir şey kırpılmasın.
   Masaüstünde `cover`; dar ekranda `contain` + koyu zemin, yoksa metinlerin
   yarısı ekran dışında kalıyor. */
.giris-ekrani.giris-sade {
  background: #051229;
}
/* Tablet (768-991px): tüm kompozisyon görünsün, kenarları kırpma. */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .giris-ekrani.giris-sade .giris-arka {
    background-size: contain;
    -webkit-transform: none;
            transform: none;
  }
}
/* Telefon (<=767px): tek parça görsel ya okunmuyor (contain) ya da tam
   ortadan (iki yarının birleştiği yerden) kırpılıyor (cover). Bu yüzden
   yarılar ALT ALTA geliyor ve her biri kompozisyonun kendi yarısını
   arka plan olarak alıyor. */
@media only screen and (max-width: 767px) {
  .giris-ekrani.giris-sade .giris-arkalar {
    display: none;
  }
  .giris-ekrani.giris-sade .giris-secenekler {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .giris-ekrani.giris-sade .giris-secenek {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
    max-width: 100%;
    padding: 0;
    background-image: var(--giris-mobil);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
  }
}

.giris-secenek-ic {
  position: relative;
  z-index: 2;
  /* 440px'de "Endüstriyel Ürünler" iki satıra kırılıyordu (Tayfun, 2026-08-11).
     Başlık en büyük puntoda (54px) ~490px sürüyor. */
  max-width: 560px;
  -webkit-transition: -webkit-transform 0.45s ease;
          transition: transform 0.45s ease;
}
.giris-secenek:hover .giris-secenek-ic {
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px);
}
/* Dar ekranda başlıklardan biri iki satıra düşerse iki yarının butonları
   aynı hizada kalsın diye kutu 2 satırlık yer ayırıyor ve içinde ortalıyor.
   (Geniş ekranda ikisi de tek satır olduğu için görünür bir etkisi yok.) */
.giris-baslik {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 2.2em;
  max-width: 100%;
  font-family: var(--tj-ff-heading);
  font-size: clamp(26px, 3.3vw, 54px);
  line-height: 1.1;
  font-weight: var(--tj-fw-bold);
  color: var(--tj-color-common-white);
}
/* Buton: anasayfadaki about-button'ın aynısı. Tema hover efektleri
   `.tj-primary-btn:hover`e bağlı; burada butonun kendisi değil YARISI
   hover'landığı için aynı kurallar yarıya bağlanarak tekrarlanıyor. */
.giris-buton {
  margin-top: 30px;
}
.giris-secenek:hover .tj-primary-btn .btn_inner::before {
  width: 100%;
}
.giris-secenek:hover .tj-primary-btn .btn_inner .btn_icon i:first-child {
  -webkit-transform: translateX(150%);
      -ms-transform: translateX(150%);
          transform: translateX(150%);
}
.giris-secenek:hover .tj-primary-btn .btn_inner .btn_icon i:last-child {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
}
.giris-secenek:hover .tj-primary-btn .btn_inner .btn_text {
  color: var(--tj-color-common-white);
}
.giris-secenek:hover .tj-primary-btn .btn_inner .btn_text > span {
  -webkit-transform: translateY(-24px);
      -ms-transform: translateY(-24px);
          transform: translateY(-24px);
}

/* tam %50 - %50 ayracı */
.giris-ayrac {
  position: absolute;
  top: 0;
  bottom: 0;
  inset-inline-start: 50%;
  width: 1px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.55) 18%, rgba(255, 255, 255, 0.55) 82%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.55) 18%, rgba(255, 255, 255, 0.55) 82%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
  z-index: 3;
}

/* --- orta alt: ANASAYFAYA DÖN --- */
.giris-kapat {
  position: absolute;
  bottom: 46px;
  inset-inline-start: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 4;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 14px 32px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 50px;
  background: rgba(255, 255, 255, 0.08);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  color: var(--tj-color-common-white);
  font-family: var(--tj-ff-heading);
  font-size: 14px;
  font-weight: var(--tj-fw-bold);
  letter-spacing: 0.08em;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease, border-color 0.3s ease;
          transition: background-color 0.3s ease, border-color 0.3s ease;
}
.giris-kapat:hover {
  background: var(--tj-color-theme-primary);
  border-color: var(--tj-color-theme-primary);
}
.giris-kapat i {
  font-size: 12px;
}

@media only screen and (max-width: 991px) {
  .giris-logo {
    top: 30px;
    width: 180px;
  }
  .giris-secenek {
    padding: 110px 16px;
  }
  .giris-buton {
    margin-top: 22px;
  }
  .giris-kapat {
    bottom: 28px;
    padding: 12px 22px;
    font-size: 12px;
  }
}

/* ─────── TELEFON (≤767px): İKİ YARI ALT ALTA (Tayfun, 2026-08-11)
   Yan yana dururken her yarıya ~180px kalıyor, başlık ve buton sıkışıyordu.
   Alt alta gelince ikisi de tam genişlik kullanıyor. Ayraç da dikey çizgiden
   YATAY çizgiye dönüyor (ekranın tam ortasında). */
@media only screen and (max-width: 767px) {
  .giris-secenekler {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .giris-secenek {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
    max-width: 100%;
    padding: 40px 24px;
  }
  .giris-ayrac {
    inset-inline-start: 0;
    top: 50%;
    bottom: auto;
    width: 100%;
    height: 1px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.55) 18%, rgba(255, 255, 255, 0.55) 82%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.55) 18%, rgba(255, 255, 255, 0.55) 82%, rgba(255, 255, 255, 0) 100%);
  }
}
@media only screen and (max-width: 575px) {
  .giris-baslik {
    font-size: 26px;
  }
  .giris-logo {
    width: 160px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .giris-arka,
  .giris-secenek-ic,
  .giris-buton .tj-primary-btn *,
  .giris-buton .tj-primary-btn .btn_inner::before {
    -webkit-transition: none;
            transition: none;
  }
}

/* ───────────── ANASAYFA: ÜRÜN KATEGORİ KARTLARI (Service Section) ─────────────
   Bölüm eskiden Swiper'dı; 2 kategoriye inince düz ızgaraya çevrildi.
   Kartların eşit yükseklikte kalması için (metin uzunlukları farklı). */
/* Daire içindeki ikon artık font glifi değil SVG (Tayfun, 2026-08-12).
   Tema daireyi 100px (992-1199 ve 768-991'de 85px, ≤575'te 80px) kuruyor ve
   glifi 70px basıyordu; SVG de aynı orana göre ölçeklendi. */
.urun-kategori-kartlari .service-icon img {
  width: 62px;
  height: 62px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media only screen and (min-width: 992px) and (max-width: 1199px),
       only screen and (min-width: 768px) and (max-width: 991px) {
  .urun-kategori-kartlari .service-icon img {
    width: 52px;
    height: 52px;
  }
}
@media (max-width: 575px) {
  .urun-kategori-kartlari .service-icon img {
    width: 48px;
    height: 48px;
  }
}

.urun-kategori-kartlari > [class*="col-"] {
  display: flex;
}
.urun-kategori-kartlari .service-style-2 {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.urun-kategori-kartlari .service-style-2 .service-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.urun-kategori-kartlari .service-style-2 .service-button {
  margin-top: auto;
  align-self: flex-start;
}

/* ──────────────── ÜRÜN KATEGORİ SAYFASI (/endustriyel-urunler, /evsel-urunler)
   Kart iskeleti ürün detayındaki "Diğer Ürünler" ile aynı (.tj-product-*),
   ama burada bir LİSTE sayfası olduğu için görsel daha alçak: sabit px yerine
   en-boy oranı verildi -> panelden gelen her orandaki fotoğraf aynı kutuya
   oturur (349x144'ten 1600x1600'e kadar kayıt var). */
.urun-kategori-liste .kategori-giris {
  margin-bottom: 50px;
}
.urun-kategori-liste .kategori-giris .desc {
  max-width: 720px;
  margin-inline: auto;
}
.urun-kategori-liste .tj-product-item {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.urun-kategori-liste .tj-product-thumb img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.urun-kategori-liste .tj-product-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding-top: 22px;
}
/* Ürün başlığı: temanın koyu lacivertiydi -> tema mavisi + daha kalın
   (Tayfun, 2026-08-11). */
.urun-kategori-liste .tj-product-title a {
  color: var(--tj-color-theme-primary);
  font-weight: var(--tj-fw-bold);
}
.urun-kategori-liste .tj-product-title a:hover {
  color: var(--tj-color-heading-primary);
}

/* Açıklama EN FAZLA 2 SATIR. Karakter kısaltması (ozet) tek başına yetmiyor:
   kısa kelimelerde 2, uzun kelimelerde 3 satır oluyor ve kartlar kayıyordu. */
.urun-kategori-liste .tj-product-content .desc {
  margin-top: 10px;
}
.urun-kategori-liste .tj-product-content .desc p {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 0;
}
.urun-kategori-liste .tj-product-content .service-button {
  margin-top: auto;
  padding-top: 18px;
  align-self: flex-start;
  color: var(--tj-color-heading-primary);
}
.urun-kategori-liste .tj-product-content .service-button i {
  color: var(--tj-color-heading-primary);
}

/* ─────────────────────────── KEŞFET ───────────────────────────
   Liste: blog kartlarının birebir aynısı. Fark, görsellerin panelden
   gelmesi ve en-boy oranlarının değişken olması; kartların savrulmaması
   için görsele blog kartlarıyla AYNI oran (630x405) + object-fit verildi. */
.kesfet-liste .kesfet-grid > [class*="col-"] {
  display: flex;
}
.kesfet-liste .blog-style-2 {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.kesfet-liste .blog-style-2 .blog-images img {
  width: 100%;
  aspect-ratio: 630 / 405;
  object-fit: cover;
}
.kesfet-liste .blog-style-2 .blog-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.kesfet-liste .blog-style-2 .blog-button {
  margin-top: auto;
}

/* Keşfet detay: yan sütun yok, içerik tam genişlikte (col-lg-12).
   Tam genişlikte doğal oranıyla basılan görsel çok yükseliyor;
   2:1 pano oranıyla sınırlandırıldı. */
.kesfet-detay .tj-post-single-post .tj-post-thumb img {
  width: 100%;
  aspect-ratio: 2 / 1;
  object-fit: cover;
}

/* ═══════════════════════════════════════════════════ YENİ MARKA LOGOSU
   2026-08-28 — Müşterinin güncel "today arıtım" logosu eski tek satırlık
   logonun yerine geçti (kaynak: Wix, 292x128 PNG — vektör sürüm YOK).

   ⚠️ İKİ TUZAK VAR, ikisi de bu blokta çözülüyor:

   1) ORAN DEĞİŞTİ. Eski logo TEK SATIR (732x160 = 4.56:1), yenisi İKİ
      SATIR (292x128 = 2.28:1). Temanın boyu `max-width` ile verme modeli
      aynı genişlikte İKİ KATI yükseklik üretiyor (150px genişlik -> 33px
      yerine 66px) ve header'ı şişiriyordu. Bu yüzden boy artık
      YÜKSEKLİKTEN veriliyor, `max-width` her yüzeyde iptal ediliyor.

   2) LOGO KOYU ZEMİNDE DURUYOR. Logonun geçtiği dört yüzeyin de zemini
      --tj-color-theme-dark (#051229): header, footer, hamburger paneli ve
      giriş ekranı. Markanın lacivert (#355486) "today" sözcüğü orada
      okunmuyor -> koyu zemin için TERS sürüm kullanılıyor:
      today-logo-beyaz.png (lacivert -> beyaz, turkuaz korunur).
      Açık zeminli bir yüzey eklenirse renkli sürüm: today-logo.png.  */
.site-logo .logo,
.hamburger_logo .mobile_logo,
.tj-footer-area .footer-widget .footer-logo,
.tj-footer-area.footer-2 .footer-widget .footer-logo {
  max-width: none;
  width: auto;
  line-height: 0;
}
.site-logo .logo img,
.hamburger_logo .mobile_logo img,
.tj-footer-area .footer-widget .footer-logo img,
.giris-logo img {
  width: auto;
  max-width: none;
}
.site-logo .logo img { height: 48px; }
.tj-footer-area .footer-widget .footer-logo img { height: 56px; }
.hamburger_logo .mobile_logo img { height: 44px; }
/* Giriş ekranında genişlik yukarıda 230px/180px/160px olarak veriliyordu;
   iki satırlık logoda genişlik artık yüksekliğin sonucu. */
.giris-logo { width: auto; }
.giris-logo img { height: 64px; }

@media only screen and (max-width: 991px) {
  .site-logo .logo img { height: 42px; }
  /* Footer logosu mobilde büyük duruyor (Tayfun, 2026-08-11 kararı: 992px
     altında logo 150 -> 230px büyütülmüştü); aynı oran yükseklikle korundu. */
  .tj-footer-area .footer-widget .footer-logo img { height: 72px; }
  .giris-logo { width: auto; }
  .giris-logo img { height: 54px; }
}
@media only screen and (max-width: 575px) {
  .site-logo .logo img { height: 38px; }
  .tj-footer-area .footer-widget .footer-logo img { height: 64px; }
  .giris-logo img { height: 48px; }
}

/* ─────────── BOOTSTRAP'İN KENDİ MAVİSİ (Tayfun, 2026-08-12)
   Tema mavisi #63c0bd'ye çevrildi ama bootstrap.min.css kendi paletini
   (#0d6efd) taşıyor. Şu an sayfalarımızda görünür bir Bootstrap bileşeni
   yok (`nav-link` yalnız ürün galerisindeki görsel düğmelerde, metinsiz);
   yine de ileride bir form/buton eklenirse mavi sızmasın diye değişkenler
   burada eziliyor. bootstrap.min.css'e DOKUNULMADI. */
:root {
  --bs-primary: #63c0bd;
  --bs-primary-rgb: 99, 192, 189;
  --bs-link-color: #63c0bd;
  --bs-link-color-rgb: 99, 192, 189;
  --bs-link-hover-color: #4aa9a6;
}

/* ═══════════ ÜRÜN DETAYI ALT ŞERİDİ — "DİĞER ÜRÜNLER" (19. tur, 2026-09-11)
   Bölüm eskiden 3'lü Bootstrap ızgarasıydı ve rastgele 3 ürün basıyordu.
   Artık ana ürünün ALT ÜRÜNLERİ (17'ye kadar) kaymalı şeritte geliyor.
   Kart iskeleti aynı (.tj-product-item / .tj-product-thumb / .tj-product-content);
   görsel yüksekliği de Tayfun'un verdiği 549px'te BIRAKILDI (today.css'te
   `.tj-product-thumb img` kuralı, bu şerit için de geçerli). */
.urun-slider {
  overflow: hidden;
}
/* Slaytlar en uzun kartın boyuna uzasın; başlıklar aynı hizada bitsin. */
.urun-slider .swiper-slide {
  height: auto;
}
.urun-slider .tj-product-item {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.urun-slider .tj-product-content {
  margin-top: auto;
}
/* Alt ürün adları ana ürün adlarından uzun (ör. "Klor Sistemleri (Sodyum
   Hipoklorit / Gaz Klor / Dioksit)") -> 20px'te 3 satıra taşıyordu. */
.urun-slider .tj-product-title {
  font-size: 18px;
  line-height: 1.35;
  margin-bottom: 0;
}
/* ⚠️ Görsel yüksekliği: bu bölümde kart görseli 549px'ti (8. turda Tayfun
   ölçüyü kendisi vermişti) ve o zaman şeritte SADECE 3 kart vardı. Artık
   17 karta kadar çıkıyor; 549px'lik kartlar sayfayı eziyordu. Kategori
   sayfasındaki (onaylı) kartlarla aynı 4/3 oranına indirildi.
   Eski hâle dönmek için: bu bloğu sil. */
.urun-slider .tj-product-thumb img {
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* Oklar şeridin altında ortada. */
.urun-slider-alt {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
}
.urun-slider-nav .navigation.swiper-button-disabled {
  opacity: .4;
  cursor: default;
}
@media (max-width: 575px) {
  .urun-slider-alt {
    margin-top: 28px;
  }
}

/* ═══════════════════════ MOBİL UX PAKETİ (Tayfun, 2026-09-14) ═══════════════════════
   Telefonda (≤767px) anasayfa 14.700px uzunluğundaydı; büyük payı 600px'lik
   8 ürün kartı + 80px'lik bölüm boşlukları + 435px'lik sayaç dairesiydi.
   Hedef: daha kısa sayfa, tek elle kullanım, kaydırarak keşif, net aksiyon.
   main.css'e DOKUNULMADI; hepsi burada, ≤767px ile sınırlı. */

/* ── 1. Bölüm boşlukları: tema 80px, telefonda 56px yeter ── */
@media only screen and (max-width: 767px) {
  .section-space {
    padding: 56px 0;
  }
  .section-bottom-space {
    padding-bottom: 56px;
  }
  body.anasayfa .tj-brand-section-two {
    padding-top: 56px;
  }
  .sec-heading {
    margin-bottom: 32px;
  }
}

/* ── 2. Hero: başlık 3 satırda kalsın, alt kutu daha ince ── */
@media only screen and (max-width: 767px) {
  .slider-wrapper .slider-content {
    padding-top: 130px;
    padding-bottom: 100px;
  }
  .tj-hero-slider.style-1 .slider-title {
    font-size: 40px;
  }
  /* 1 — 3 sayfalama: tema %25'e asıyor, buton ile kutu arasında havada
     kalıyordu. Alt kutunun (101px) hemen üstüne alındı. */
  .tj-hero-slider.style-1 .tj-navigation {
    bottom: 117px;
  }
  .slider-wrapper .slider-feature-box {
    padding: 18px 16px;
    gap: 14px;
    align-items: center;
  }
  .slider-wrapper .slider-feature-box .slider-logo {
    width: 54px;
  }
  .slider-wrapper .slider-feature-box .desc {
    font-size: 15px;
    line-height: 1.45;
  }
  /* dekoratif şekil dar kutuda metnin arkasına giriyordu */
  .slider-wrapper .slider-feature-box .slider-shape {
    display: none;
  }
}

/* ── 3. Hakkımızda: sayaç dairesi ──
   Tema telefonda daireyi 435px ve rakamı 156px bırakıyor; "15+" rakamı
   metnin üstüne biniyordu (sub-title'daki -30px). Daire 240px, rakam 72px,
   negatif boşluk sıfır. */
@media only screen and (max-width: 767px) {
  .funfact-item-two {
    max-width: 240px;
    height: 240px;
    margin: 16px auto 0;
  }
  .funfact-item-two .funfact-box {
    max-width: 190px;
    text-align: center;
  }
  .funfact-item-two .number {
    font-size: 34px;
    justify-content: center;
    align-items: flex-start;
  }
  .funfact-item-two .number span {
    font-size: 72px;
  }
  .funfact-item-two .sub-title {
    margin-top: 0;
    font-size: 14px;
    line-height: 1.4;
  }
  /* görsel kartı: 468px yerine 4:3'e yakın */
  .about-images-group-one img {
    height: 260px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

/* ── 4. Ürün kategori kartları (Endüstriyel / Evsel): daha kompakt ── */
@media only screen and (max-width: 767px) {
  .urun-kategori-kartlari .service-style-2 {
    padding: 24px 22px 28px;
  }
  .urun-kategori-kartlari .service-style-2 .service-content .desc p {
    font-size: 15px;
    line-height: 1.5;
  }
}

/* ── 5. İlerleme (yüzde) daireleri: alt alta değil YAN YANA ──
   Tema ≤575px'te canvas'ı 145px'e indiriyor; iki daire + 12px boşluk = 302px,
   351px'lik kolona sığıyor. */
@media only screen and (max-width: 767px) {
  .progress-style-2 {
    flex-wrap: nowrap;
    justify-content: space-around;
    align-items: flex-start;
    gap: 12px;
    margin-top: 28px;
  }
  .progress-style-2 .proggess-item {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
  }
  .progress-style-2 .proggess-item .proggess-text .sub-title {
    font-size: 15px;
  }
}

/* ── 6. Ürün vitrini: alt alta 8 dev kart yerine YATAY KAYDIRMALI ŞERİT ──
   Native scroll-snap; JS yok, Swiper yok. Kart genişliği ekranın %78'i:
   bir sonraki kartın kenarı görünür, "kaydırılabilir" olduğu anlaşılır.
   ⚠️ Kolon padding'i 12px; şerit kenara kadar aksın diye -12px taşırılıp
   aynı miktar iç boşluk verildi (ilk kart hizada kalır, son kart kenarda
   bitmez). */
@media only screen and (max-width: 767px) {
  .tj-project-section-two .project-wrapper {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 12px;
    margin: 0 -12px;
    padding: 4px 12px 8px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 12px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }
  .tj-project-section-two .project-wrapper::-webkit-scrollbar {
    display: none;
  }
  .tj-project-section-two .project-style-2 {
    flex: 0 0 78%;
    max-width: 78%;
    width: 78%;
    margin: 0;
    padding: 10px;
    scroll-snap-align: start;
    /* backdrop-filter kaydırmada kare düşürüyor; koyu zeminde düz renk yeter */
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(247, 247, 247, 0.07);
  }
  .tj-project-section-two .project-style-2 .project-images img {
    height: 200px;
  }
  /* "Ürünü İncele" temada sadece :hover'da çıkıyor; telefonda hover yok.
     Görselin sol altında küçük hap olarak hep görünür. */
  .tj-project-section-two .project-style-2 .project-images a {
    opacity: 1;
    visibility: visible;
    top: auto;
    bottom: 10px;
    inset-inline-start: 10px;
    transform: none;
    width: auto;
    height: auto;
    padding: 7px 14px;
    border-radius: 30px;
    font-size: 13px;
    line-height: 1;
  }
  .tj-project-section-two .project-style-2:hover .project-images a {
    transform: none;
  }
  .tj-project-section-two .project-style-2 .project-content {
    padding: 16px 4px 4px;
  }
  .tj-project-section-two .project-style-2 .project-content .title {
    font-size: 18px;
    line-height: 1.3;
    margin-bottom: 8px;
  }
  .tj-project-section-two .project-style-2 .project-category ul {
    gap: 6px;
  }
  .tj-project-section-two .project-style-2 .project-category ul li a {
    font-size: 12px;
    padding: 4px 10px;
  }
  /* Evsel blok açıldığında 120px değil 32px nefes */
  .evsel-urun-blok.acik {
    padding-top: 32px;
  }
  .projects_button {
    margin-top: 28px;
  }
}
/* Şerit başlığı + kaydırma ipucu (yalnız telefon; PHP'de d-md-none) */
.vitrin-etiket {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
}
.vitrin-etiket .baslik {
  color: var(--tj-color-common-white);
  font-family: var(--tj-ff-heading);
  font-size: 17px;
  font-weight: var(--tj-fw-bold);
  margin: 0;
}
.vitrin-etiket .ipucu {
  color: var(--tj-color-text-body-2);
  font-size: 12px;
  white-space: nowrap;
}
.vitrin-etiket .ipucu i {
  font-size: 11px;
  margin-inline-start: 4px;
}

/* ── 7. Müşteri yorumları: gökdelen fotoğrafı 400px'ten 220px'e ── */
@media only screen and (max-width: 767px) {
  .testimonial-images-2 img {
    height: 220px;
    -o-object-position: center 30%;
       object-position: center 30%;
  }
  .tj-testimonial-section-two .rg-50 {
    row-gap: 28px;
  }
}

/* ── 8. Hamburger menü: iletişim satırları nefes alsın, dokunma alanı ≥44px ── */
@media only screen and (max-width: 767px) {
  .hamburger-infos .contact_item .text {
    line-height: 1.6;
  }
  .hamburger-infos .contact_item + .contact_item {
    margin-top: 14px;
  }
  /* ⚠️ .mean-expand (açılır ok) da <a>; ona flex verilirse ok satırın altına
     düşüyor -> hariç tutuldu. */
  .mobile_menu .mean-nav ul li a:not(.mean-expand) {
    min-height: 48px;
    display: flex;
    align-items: center;
  }
}

/* ── 9. Footer: dört sütun alt alta 1750px; boşluklar sıkılaştırıldı ── */
@media only screen and (max-width: 767px) {
  .footer-top-area .row.line {
    row-gap: 34px;
  }
  .footer-widget .footer-title {
    margin-bottom: 14px;
  }
  .widget-menu ul li + li {
    margin-top: 2px;
  }
}

/* ── 10. Alt aksiyon çubuğu: "Ara" + "Teklif Al" (yalnız telefon) ──
   Ekranın altına sabit; başparmakla erişilir. Sayfa içeriği çubuğun
   altında kalmasın diye body'ye alt boşluk; "Yukarı çık" butonu da
   çubuğun üstüne taşındı. Safe-area (iPhone çene) hesaba katıldı. */
.mobil-aksiyon {
  display: none;
}
@media only screen and (max-width: 767px) {
  body.anasayfa,
  body.ic-sayfa {
    padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px));
  }
  .mobil-aksiyon {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 990;
    display: flex;
    gap: 10px;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(5, 18, 41, 0.94);
    -webkit-backdrop-filter: blur(14px);
            backdrop-filter: blur(14px);
    border-top: 1px solid rgba(247, 247, 247, 0.1);
  }
  .mobil-aksiyon a {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    border-radius: 30px;
    font-family: var(--tj-ff-heading);
    font-size: 15px;
    font-weight: var(--tj-fw-bold);
    color: var(--tj-color-common-white);
    text-decoration: none;
  }
  .mobil-aksiyon a i {
    font-size: 15px;
  }
  .mobil-aksiyon__ara {
    background: rgba(247, 247, 247, 0.12);
  }
  .mobil-aksiyon__teklif {
    background: var(--tj-color-theme-primary);
    color: var(--tj-color-heading-primary);
  }
  .mobil-aksiyon__teklif,
  .mobil-aksiyon__teklif i {
    color: var(--tj-color-heading-primary);
  }
  /* yukarı çık butonu çubuğun üstünde dursun (tema ≤767'de 50px veriyor) */
  .back-to-top-wrapper.back-to-top-btn-show {
    bottom: calc(76px + env(safe-area-inset-bottom, 0px));
  }
  /* hamburger menü açıkken çubuk arkada kalsın */
  .hamburger-area {
    z-index: 9999;
  }
}

/* ── 11. Footer telefonda "uygulama gibi" bloklar (Tayfun, 2026-09-14) ──
   ≤575px'te dört sütun alt alta 1.750px akıyordu. Yeni düzen:
     [ logo + tanıtım + sosyal      ]  (tam genişlik, ortalı)
     [ Lokasyonlar: Merkez | Fabrika ]  (iki kutu yan yana)
     [ Kurumsal   |   Hizmetler     ]  (iki kutu yan yana, sola yaslı)
   Bootstrap .row flex; burada grid'e çevriliyor, kolon padding'i sıfırlanıp
   boşluk grid gap ile veriliyor. 576-767 arası zaten col-sm-6 ile 2'li. */
@media (max-width: 575px) {
  .tj-footer-area.footer-2 .footer-top-area .row.line {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 0;
  }
  .tj-footer-area.footer-2 .footer-top-area .row.line > [class*="col-"] {
    width: auto;
    max-width: none;
    padding: 0;
    min-width: 0;
  }
  /* 1. (logo) ve 2. (lokasyonlar) kolon iki hücreyi kaplar */
  .tj-footer-area.footer-2 .footer-top-area .row.line > [class*="col-"]:nth-child(-n+2) {
    grid-column: 1 / -1;
  }
  /* kutu görünümü: koyu lacivert üstüne %5 beyaz, 14px köşe */
  .tj-footer-area.footer-2 .footer-widget {
    height: 100%;
    padding: 18px 16px 20px;
    border-radius: 14px;
    background: rgba(247, 247, 247, 0.05);
    border: 1px solid rgba(247, 247, 247, 0.06);
  }
  .tj-footer-area.footer-2 .footer-widget.footer-info {
    padding-top: 26px;
    padding-bottom: 24px;
  }
  .tj-footer-area.footer-2 .footer-widget .footer-title .title {
    font-size: 16px;
    margin-bottom: 14px;
  }
  /* menü kutuları: sola yaslı, 14px, dokunma alanı 40px */
  .tj-footer-area.footer-2 .footer-widget.widget_nav_menu {
    text-align: left;
  }
  .tj-footer-area.footer-2 .footer-widget.widget_nav_menu .widget-menu ul li {
    margin-bottom: 0;
  }
  .tj-footer-area.footer-2 .footer-widget.widget_nav_menu .widget-menu ul li a {
    justify-content: flex-start;
    min-height: 40px;
    padding: 7px 0;
    font-size: 14px;
    line-height: 1.3;
  }
  /* lokasyonlar: başlık tam satır, iki adres kutusu yan yana */
  .tj-footer-area.footer-2 .footer-widget.footer-contact-infos {
    max-width: none;
    padding: 0;
    background: none;
    border: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .tj-footer-area.footer-2 .footer-contact-infos .footer-title {
    grid-column: 1 / -1;
    margin: 0;
  }
  .tj-footer-area.footer-2 .footer-contact-infos .footer-title .title {
    margin-bottom: 0;
  }
  .tj-footer-area.footer-2 .footer-contact-infos .infos-item {
    margin: 0;
    padding: 16px 14px;
    border-radius: 14px;
    background: rgba(247, 247, 247, 0.05);
    border: 1px solid rgba(247, 247, 247, 0.06);
    text-align: left;
    display: flex;
    flex-direction: column;
  }
  .tj-footer-area.footer-2 .footer-contact-infos .infos-item span {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--tj-color-theme-primary);
    margin-bottom: 8px;
  }
  .tj-footer-area.footer-2 .footer-contact-infos .infos-item p {
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 10px;
    flex: 1 1 auto;
  }
  .tj-footer-area.footer-2 .footer-contact-infos .infos-item a {
    font-size: 14px;
    font-weight: var(--tj-fw-bold);
    align-self: flex-start;
  }
  /* telif şeridi: kutuların altında biraz nefes */
  .tj-footer-area.footer-2 .footer-top-area {
    padding-bottom: 28px;
  }
}
