/* Genel yardımcı kurallar */
h3 {
  font-weight: 300;
}

img,
object,
embed {
  max-width: 100%;
}

.page-container {
  min-height: 100%;
  height: auto !important;
  max-width: 1600px;
  margin-right: auto;
  margin-left: auto;
  padding: 0 20px;
}

.maximus {
  max-width: 2000px;
  margin-right: auto;
  margin-left: auto;
}

.grid-padding {
  padding-right: 2px;
  padding-bottom: 2px;
}

.kare {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 27px;
  height: 27px;
  background-image: url("../images/gallery.png");
}

/* Salvattore grid düzeni */
#gridcontainer {
  padding: 0;
}

#grid {
  margin-right: auto;
  margin-left: auto;
  padding: 0 10px 0 0;
}

#grid[data-columns]::before {
  content: '4 .column.size-1of4';
  padding: 0;
}

#grid li {
  padding: 0 15px 15px 0;
  list-style: none;
}

#grid li a,
#gridPlaces li a {
  position: relative;
  display: block;
}

/* Tipografi yardımcıları */
.display-4 {
  font-weight: 450;
  letter-spacing: -0.04em;
}

.thin {
  font-size: 0.9em;
  font-weight: 300;
  text-align: justify;
}

.title {
  font-size: 1.5em;
  font-weight: 300;
}

@media (min-width: 1200px) {
  .display-6 {
    font-size: 2rem;
  }
}

/* Sol menü yerleşimi */
@media (min-width: 1024px) {
  .navbar-expand-lg.navbar-left {
    width: 200px;
    max-width: 100%;
    padding: 20px 0 50px 20px;
  }

  .navbar-expand-lg.navbar-left .navbar-brand {
    margin-bottom: 0;
  }

  .navbar-expand-lg.navbar-left ~ .content-wrap,
  .navbar-expand-lg.navbar-left ~ .footer {
    margin-left: 220px;
  }
}

.navbar-left .container > .navbar-nav {
  margin-top: 10px;
  margin-bottom: auto;
}

.navbar-brand img {
  width: 114px;
}

.navbar-brand-tagline {
  max-width: 140px;
  margin-top: 2px;
  margin-bottom: 18px;
  color: rgba(14, 14, 14, 0.52);
  font-family: "Helvetica","Inter", sans-serif;
  font-size: 12px;
  font-weight: 200;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.navbar .nav-link,
.navbar .nav-link-name,
.navbar-mobile .nav-link,
.navbar-mobile .nav-link-name {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  letter-spacing: -0.015em;
}

/* Tablet ve mobilde sol marka bloğunu gizle */
@media (max-width: 1023.98px) {
  .navbar-left .navbar-brand,
  .navbar-brand-tagline,
  .navbar-left hr {
    display: none !important;
  }
}

/* Fancybox */
.fancybox-bg {
  background: #000 !important;
}

.fancybox-is-open .fancybox-bg {
  opacity: 0.7 !important;
}

body.fancybox-just-closed .gallery-item:hover img,
body.fancybox-just-closed .gallery-item:focus img {
  transform: none !important;
}

/* Mobil menü kapatma (X) butonu: biraz daha büyük ve aşağıda, simetrik X için span'lar yerine kendi çizgilerimizi kullanıyoruz */
.navbar-mobile .navbar-head .navbar-toggle {
  position: relative;
  margin-top: 20px;
  width: 48px;
  height: 48px;
}

.navbar-mobile .navbar-head .navbar-toggle > span {
  display: none;
}

.navbar-mobile .navbar-head .navbar-toggle::before,
.navbar-mobile .navbar-head .navbar-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 38px;
  height: 2.5px;
  background-color: currentColor;
}

.navbar-mobile .navbar-head .navbar-toggle::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.navbar-mobile .navbar-head .navbar-toggle::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.nav-gap-sm .nav-link {
  padding: 0 7px;
}

/* Mobilde navbar-left'in absolute-pozisyonlu sosyal ikon kümesi
   gövde metniyle çakışıyordu. Mobil kullanıcılar zaten hamburger
   menüsündeki ayrı ikon satırından (navbar-mobile-style-2) erişebiliyor,
   bu yüzden bu kopyayı sadece mobilde gizliyoruz. */
@media (max-width: 619.98px) {
  .navbar-left > .container > .nav-social {
    display: none;
  }
}

/* Anasayfa: footer üstündeki SEO metni linkleri, tema mavisi yerine
   markanın siyah/gri paletine uysun diye elle stilleniyor. */
.seo-intro a {
  color: #0e0e0e;
  text-decoration: underline;
  text-decoration-color: rgba(14, 14, 14, 0.35);
  text-underline-offset: 3px;
}

.seo-intro a:hover {
  text-decoration-color: rgba(14, 14, 14, 0.9);
}

/* Hizmet sayfalarında (kurumsal-portre, reklam, linkedin) .content-wrap
   içindeki p.pe-10 paragrafları zaten justify hizalanıyordu (sayfa içi
   <style> bloğunda) ama hiçbir genişlik sınırı yoktu. 620px altında
   (dar telefon eni) satır başına çok az kelime düştüğü için justify
   çirkin boşluklar yaratıyordu; bu yüzden justify'ı buraya taşıyıp
   sadece 620px ve üzerinde uyguluyoruz. */
@media (min-width: 620px) {
  .content-wrap p.pe-10 {
    text-align: justify;
  }
}

/* Hizmet sayfaları hero metni: geniş ekranlarda (~1390px üzeri) Bootstrap'ın
   .container'ı otomatik ortalıyor, bu da alttaki portfolyo galerisiyle hizasız,
   gereksiz bir sol boşluk yaratıyor. Metni galeriyle aynı hizada sola yaslıyoruz. */
.hero-container {
  margin-left: 0;
  max-width: none;
}

/* Çok geniş ekranlarda (2K/4K harici monitör gibi) satır uzunluğu
   okunamayacak kadar genişliyordu; sadece bu ölçüde metni sınırlıyoruz.
   Laptop ekranlarında (bu breakpoint'in altında) tam genişlik kalıyor. */
@media (min-width: 1900px) {
  .hero-container {
    max-width: 950px;
  }
}

/* Hizmet sayfaları hero başlığı: 70px çok yer kaplıyordu, küçülttük.
   Masaüstünde (sidebar'ın sabitlendiği 1024px ve üzeri) biraz daha büyük. */
.hero-h1 {
  font-size: 44px;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

@media (min-width: 1024px) {
  .hero-h1 {
    font-size: 52px;
  }
}

/* Anasayfa footer üstündeki SEO metni: hizmet sayfalarının sayfa başlığı
   kadar büyük olmasına gerek yok (burası kapanış notu), o yüzden .hero-h1'i
   burada daha küçük bir değere override ediyoruz. Ayrıca metin sidebar'a
   bitişik durmasın diye biraz sol boşluk ekliyoruz. */
.seo-intro .hero-h1 {
  font-size: 30px;
}

@media (min-width: 1024px) {
  .seo-intro .hero-h1 {
    font-size: 34px;
  }
}

.seo-intro .hero-container {
  padding-left: 20px;
  padding-right: 20px;
}

/* Hizmet sayfaları: hero metni ile galeri arasına tam genişlikte ince bir
   ayraç çizgisi; boşluk çizginin margin'i üzerinden kontrol ediliyor. */
.hero-divider {
  margin: 12px 0 20px;
  border: 0;
  border-top: 1px solid rgba(14, 14, 14, 0.3);
}

/* Sidebar/mobil menüde seçili (mevcut sayfa) alt menü öğesi: çizgi yerine
   kalın font ile ayırt ediliyor. */
.navbar-collapse-menu .nav-item.active .nav-link,
.navbar-mobile .nav-item.active .nav-link {
  font-weight: 600;
  text-decoration: none;
}
