/* ============================================================
   Ajans CMS — Arolax teması üzerine eklenen düzenlemeler.

   Tema dosyalarına (assets/css/master-*.css, all.min.css vb.) hiç
   dokunulmaz; gerekli tüm ekler ve düzeltmeler bu dosyada tutulur.
   Böylece tema güncellendiğinde bu dosya olduğu gibi kalabilir.
   ============================================================ */

:root{
  --ajans-metin:#4b5563;
  --ajans-koyu:#101010;
  --ajans-cizgi:#e6e6e6;
  --ajans-vurgu:#c8f169;
  --ajans-yumusak:#f5f5f3;
  --ajans-yuvarlak:14px;
}
body.dark{
  --ajans-metin:#b9bcbe;
  --ajans-koyu:#f2f2f2;
  --ajans-cizgi:#2b2f31;
  --ajans-yumusak:#1a1d1f;
}

/* --- Erişilebilirlik --------------------------------------- */
.gorsel-gizli{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.ajans-skip{
  position:absolute; left:-9999px; top:0; z-index:99999;
  background:var(--ajans-koyu); color:#fff; padding:12px 20px; border-radius:0 0 8px 0;
  font-size:15px; text-decoration:none;
}
.ajans-skip:focus{ left:0; }
/* Temanın odak halkasını kaldıran kuralları klavye kullanıcısı için geri getir */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible{
  outline:2px solid var(--ajans-vurgu); outline-offset:3px;
}

/* --- Kırıntı navigasyonu ----------------------------------- */
.ajans-kirinti{ margin:0 0 22px; }
.ajans-kirinti ol{
  display:flex; flex-wrap:wrap; gap:6px 10px; margin:0; padding:0; list-style:none;
  font-size:14px; letter-spacing:.02em;
}
.ajans-kirinti li{ display:flex; align-items:center; gap:10px; color:var(--ajans-metin); }
.ajans-kirinti li:not(:last-child)::after{ content:"/"; opacity:.45; }
.ajans-kirinti a{ color:inherit; text-decoration:none; border-bottom:1px solid transparent; }
.ajans-kirinti a:hover{ border-bottom-color:currentColor; }
.ajans-kirinti span{ color:var(--ajans-koyu); font-weight:500; }

/* --- Kategori / filtre şeridi ------------------------------ */
.ajans-filtre{
  display:flex; flex-wrap:wrap; gap:10px; margin:0 0 46px; padding:0; list-style:none;
}
.ajans-filtre a{
  display:inline-block; padding:10px 22px; border-radius:40px;
  border:1px solid var(--ajans-cizgi); background:transparent;
  color:var(--ajans-koyu); font-size:15px; line-height:1.3; text-decoration:none;
  transition:background .25s ease, color .25s ease, border-color .25s ease;
}
.ajans-filtre a span{ opacity:.55; }
.ajans-filtre a:hover{ border-color:var(--ajans-koyu); }
.ajans-filtre a.aktif{ background:var(--ajans-koyu); border-color:var(--ajans-koyu); color:#fff; }
body.dark .ajans-filtre a.aktif{ background:var(--ajans-vurgu); color:#101010; border-color:var(--ajans-vurgu); }

/* --- Boş durum --------------------------------------------- */
.ajans-bos{
  padding:56px 30px; text-align:center; border:1px dashed var(--ajans-cizgi);
  border-radius:var(--ajans-yuvarlak); color:var(--ajans-metin);
}
.ajans-bos p{ margin:0 0 16px; }

/* --- Kart yardımcıları ------------------------------------- */
.ajans-kart-meta{
  display:flex; flex-wrap:wrap; gap:6px 16px; font-size:14px;
  color:var(--ajans-metin); margin:0 0 10px;
}
.ajans-kart-baslik{
  display:block; margin:14px 0 0; font-size:17px; line-height:1.4; color:var(--ajans-koyu);
}

/* --- Künye tablosu (proje / hizmet bilgi kutusu) ----------- */
.ajans-kunye{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:1px; margin:36px 0; padding:0;
  background:var(--ajans-cizgi); border:1px solid var(--ajans-cizgi);
  border-radius:var(--ajans-yuvarlak); overflow:hidden;
}
.ajans-kunye > div{ background:var(--ajans-yumusak); padding:20px 22px; }
.ajans-kunye dt{ font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--ajans-metin); margin:0 0 8px; font-weight:500; }
.ajans-kunye dd{ margin:0; font-size:17px; line-height:1.45; color:var(--ajans-koyu); }
.ajans-kunye dd a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }

/* --- İçerik tipografisi (editörden gelen HTML) ------------- */
.icerik{ color:var(--ajans-metin); line-height:1.85; font-size:17px; }
.icerik > *:first-child{ margin-top:0; }
.icerik h2{ font-size:30px; line-height:1.25; margin:44px 0 16px; color:var(--ajans-koyu); }
.icerik h3{ font-size:22px; line-height:1.3; margin:32px 0 12px; color:var(--ajans-koyu); }
.icerik p{ margin:0 0 18px; }
.icerik ul, .icerik ol{ margin:0 0 22px; padding-left:22px; }
.icerik li{ margin-bottom:10px; }
.icerik a{ color:var(--ajans-koyu); text-decoration:underline; text-underline-offset:3px; }
.icerik strong{ color:var(--ajans-koyu); font-weight:600; }
.icerik blockquote{
  margin:28px 0; padding:22px 26px; border-left:3px solid var(--ajans-koyu);
  background:var(--ajans-yumusak); border-radius:0 10px 10px 0;
}
.icerik blockquote p:last-child{ margin-bottom:0; }
.icerik table{ width:100%; border-collapse:collapse; margin:0 0 26px; font-size:16px; }
.icerik th, .icerik td{ border:1px solid var(--ajans-cizgi); padding:12px 14px; text-align:left; vertical-align:top; }
.icerik th{ background:var(--ajans-yumusak); color:var(--ajans-koyu); font-weight:600; }
.icerik img{ max-width:100%; height:auto; border-radius:var(--ajans-yuvarlak); }
/* Geniş tablolar dar ekranda sayfayı yatay kaydırmasın */
.icerik .tablo-kaydir, .ajans-makale .tablo-kaydir{ overflow-x:auto; margin:0 0 26px; }

.ajans-makale{ max-width:820px; }

/* --- Görsel oranlarını sabitle -----------------------------
   Panelden farklı en-boy oranında görsel yüklendiğinde temanın kart
   düzeni bozuluyordu; kart görselleri kırpılarak sabit orana oturur. */
.work-box .thumb img,
.blog .thumb img,
.ajans-galeri img,
.ajans-benzer img{
  width:100%; aspect-ratio:4/3; object-fit:cover; display:block;
}
.team-box .thumb img{
  width:100%; aspect-ratio:3/4; object-fit:cover; object-position:center top; display:block;
}
.testimonial-box .avatar img{
  width:56px; height:56px; border-radius:50%; object-fit:cover;
}
.client-box img{ max-height:44px; width:auto; object-fit:contain; }

/* --- Galeri ------------------------------------------------ */
.ajans-galeri{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:24px;
  margin:0; padding:0; list-style:none;
}
.ajans-galeri li{ margin:0; }
.ajans-galeri a{ display:block; overflow:hidden; border-radius:var(--ajans-yuvarlak); }
.ajans-galeri img{ transition:transform .6s cubic-bezier(.2,.7,.3,1); }
.ajans-galeri a:hover img{ transform:scale(1.05); }
@media (max-width:575px){
  .ajans-galeri{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; }
}

/* --- Benzer / diğer kayıt listeleri ------------------------ */
.ajans-benzer{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:26px;
  margin:0; padding:0; list-style:none;
}
.ajans-benzer a{ display:block; text-decoration:none; color:inherit; }
.ajans-benzer a:hover .ajans-kart-baslik{ text-decoration:underline; text-underline-offset:4px; }

.ajans-diger-liste{ margin:0; padding:0; list-style:none; }
.ajans-diger-liste li + li{ border-top:1px solid var(--ajans-cizgi); }
.ajans-diger-liste a{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:16px 0; color:var(--ajans-koyu); text-decoration:none; font-size:17px;
  transition:padding-left .25s ease;
}
.ajans-diger-liste a:hover{ padding-left:8px; }
.ajans-diger-liste a[aria-current]{ font-weight:600; }
.ajans-diger-liste a::after{ content:"→"; opacity:.5; }

/* --- Fiyat paketleri --------------------------------------- */
.ajans-haric{ margin:14px 0 0; padding:0; list-style:none; font-size:15px; color:var(--ajans-metin); }
.ajans-haric li{ position:relative; padding-left:22px; margin-bottom:8px; opacity:.75; }
.ajans-haric li::before{ content:"–"; position:absolute; left:6px; }
.ajans-populer{
  position:absolute; top:18px; right:18px; z-index:2;
  background:var(--ajans-vurgu); color:#101010; font-size:12.5px; font-weight:600;
  letter-spacing:.04em; padding:6px 12px; border-radius:40px;
}
.pricing-box{ position:relative; }

/* --- S.S.S. ------------------------------------------------ */
.ajans-sss-alani{ padding:100px 0; }
.ajans-sss-grup + .ajans-sss-grup{ margin-top:56px; }
.ajans-sss-grup-baslik{ font-size:26px; margin:0 0 22px; color:var(--ajans-koyu); }
.ajans-sss-hizmetler{
  display:flex; flex-wrap:wrap; gap:10px; margin:34px 0 0; padding:0; list-style:none;
}
.ajans-sss-hizmetler a{
  display:inline-block; padding:9px 18px; border-radius:40px; font-size:14.5px;
  border:1px solid var(--ajans-cizgi); color:var(--ajans-koyu); text-decoration:none;
}
.ajans-sss-hizmetler a:hover{ border-color:var(--ajans-koyu); }
/* Bootstrap akordiyonunu tema diline yaklaştır */
.accordion-flush .accordion-item{ background:transparent; border:0; border-bottom:1px solid var(--ajans-cizgi); }
.accordion-flush .accordion-button{
  background:transparent; color:var(--ajans-koyu); font-size:19px; line-height:1.45;
  padding:24px 0; box-shadow:none;
}
.accordion-flush .accordion-button:not(.collapsed){ color:var(--ajans-koyu); box-shadow:none; }
.accordion-flush .accordion-body{ padding:0 0 26px; }
@media (max-width:991px){ .ajans-sss-alani{ padding:70px 0; } }

/* --- Arama -------------------------------------------------- */
.ajans-arama-form{ display:flex; gap:12px; margin:0 0 44px; flex-wrap:wrap; }
.ajans-arama-form input[type=search]{
  flex:1 1 260px; min-width:0; padding:16px 20px; font-size:17px;
  border:1px solid var(--ajans-cizgi); border-radius:8px; background:transparent; color:var(--ajans-koyu);
}
.ajans-sonuc-ozet{ margin:0 0 34px; color:var(--ajans-metin); }
.ajans-sonuc-grup{ margin:0 0 54px; }
.ajans-sonuc-grup h2{ font-size:24px; margin:0 0 20px; color:var(--ajans-koyu); }

/* --- Teknolojiler ------------------------------------------ */
.ajans-teknoloji-ad{ font-size:19px; margin:0 0 6px; color:var(--ajans-koyu); }
.ajans-teknoloji-not{ margin:0; font-size:15.5px; color:var(--ajans-metin); line-height:1.7; }

/* --- Yorumlar ---------------------------------------------- */
.ajans-yorum-listesi{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:26px;
  margin:0; padding:0; list-style:none;
}
.ajans-yorum-listesi > li{
  padding:32px 30px; border:1px solid var(--ajans-cizgi);
  border-radius:var(--ajans-yuvarlak); background:var(--ajans-yumusak);
}
.ajans-puan{ display:inline-flex; align-items:center; gap:7px; font-size:15px; color:var(--ajans-koyu); margin:0 0 14px; }
.ajans-puan img{ height:15px; width:auto; }

/* --- İletişim ---------------------------------------------- */
.ajans-ofis-liste{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:26px;
  margin:0 0 46px; padding:0; list-style:none;
}
.ajans-ofis-liste h3{ font-size:20px; margin:0 0 10px; color:var(--ajans-koyu); }
.ajans-ofis-liste p{ margin:0 0 6px; color:var(--ajans-metin); }
.ajans-ofis-liste a{ color:inherit; }
.ajans-harita{ margin:46px 0 0; border-radius:var(--ajans-yuvarlak); overflow:hidden; line-height:0; }
.ajans-harita iframe{ width:100%; height:420px; border:0; display:block; }
@media (max-width:767px){ .ajans-harita iframe{ height:300px; } }

/* --- Formlar ----------------------------------------------- */
/* Temanın .contact-formfield kuralı yalnızca input'u biçimlendiriyor;
   select ve textarea için aynı görünüm burada tanımlanır. */
.ajans-form-alan{
  width:100%; padding:16px 20px; font-size:16px; line-height:1.5;
  color:var(--ajans-koyu); background:transparent;
  border:1px solid var(--ajans-cizgi); border-radius:6px;
  font-family:inherit; appearance:none;
}
select.ajans-form-alan{
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 22px) 50%, calc(100% - 16px) 50%;
  background-size:6px 6px, 6px 6px; background-repeat:no-repeat; padding-right:46px;
}
textarea.ajans-form-alan{ min-height:150px; resize:vertical; }
.ajans-kvkk{
  display:flex; align-items:flex-start; gap:12px; margin:22px 0 0;
  font-size:14.5px; line-height:1.65; color:var(--ajans-metin);
}
.ajans-kvkk input{ margin-top:4px; flex:0 0 auto; width:17px; height:17px; }
.ajans-kvkk a{ color:var(--ajans-koyu); }
/* Bot tuzağı — ekran okuyucudan da gizlenir, gerçek kullanıcı görmez */
.ajans-tuzak{
  position:absolute !important; left:-9999px !important; top:auto !important;
  width:1px !important; height:1px !important; overflow:hidden !important;
  opacity:0 !important; pointer-events:none;
}

/* --- Yüzen bildirim ---------------------------------------- */
.ajans-bildirim{
  position:fixed; right:22px; bottom:100px; z-index:9999;
  width:min(390px, calc(100vw - 44px));
  display:flex; flex-direction:column; gap:10px;
}
.ajans-bildirim .alert{
  margin:0; border:0; border-radius:12px; padding:17px 46px 17px 20px;
  font-size:15px; line-height:1.55; color:#fff;
  box-shadow:0 16px 38px rgba(0,0,0,.24);
  animation:ajansBildirim .35s ease both;
}
.ajans-bildirim .alert-success{ background:#177245; }
.ajans-bildirim .alert-danger { background:#c0392b; }
.ajans-bildirim .alert-warning{ background:#a76a00; }
.ajans-bildirim .alert-info   { background:#1d5f95; }
.ajans-bildirim .btn-close{ filter:invert(1) grayscale(1) brightness(2); opacity:.85; padding:18px; }
@keyframes ajansBildirim{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
@media (max-width:575px){ .ajans-bildirim{ right:12px; left:12px; bottom:88px; width:auto; } }

/* --- WhatsApp butonu --------------------------------------- */
.ajans-whatsapp{
  position:fixed; right:22px; bottom:28px; z-index:9998;
  width:56px; height:56px; border-radius:50%;
  display:grid; place-items:center; background:#25d366; color:#fff; font-size:27px;
  box-shadow:0 10px 26px rgba(37,211,102,.4); text-decoration:none;
  transition:transform .25s ease;
}
.ajans-whatsapp:hover{ transform:scale(1.08); color:#fff; }
@media (max-width:575px){ .ajans-whatsapp{ right:14px; bottom:16px; width:50px; height:50px; font-size:24px; } }

/* --- Ortalanmış bölüm butonu ------------------------------- */
.ajans-orta-buton{ margin:56px 0 0; text-align:center; }

/* --- Yan panelde alt menü girintisi ------------------------ */
.offcanvas-3__menu ul li.ajans-alt-1 a{ font-size:.62em; opacity:.8; padding-left:1.2em; }
.offcanvas-3__menu ul li.ajans-alt-2 a{ font-size:.5em;  opacity:.65; padding-left:2.4em; }

/* --- Alt bilgi menüsü -------------------------------------- */

/* --- 404 / 500 --------------------------------------------- */
.ajans-yararli-linkler{
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px 14px;
  margin:34px 0 0; padding:0; list-style:none;
}
.ajans-yararli-linkler a{
  display:inline-block; padding:10px 20px; border-radius:40px; font-size:15px;
  border:1px solid var(--ajans-cizgi); color:var(--ajans-koyu); text-decoration:none;
}
.ajans-yararli-linkler a:hover{ border-color:var(--ajans-koyu); }
/* master-error-404.css alt bilgi stillerini içermiyor; 404/500 sayfasının
   alt şeridi burada biçimlendirilir. */
.body-error-404 .footer-area{ border-top:1px solid var(--ajans-cizgi); margin-top:70px; }
.body-error-404 .copyright-area-inner{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:16px 30px; padding:30px 0; font-size:15px; color:var(--ajans-metin);
}
.body-error-404 .copyright-area-inner p{ margin:0; }
.body-error-404 .footer-nav-list,
.body-error-404 .social-links{
  display:flex; flex-wrap:wrap; gap:8px 22px; margin:0; padding:0; list-style:none;
}
.body-error-404 .footer-nav-list a,
.body-error-404 .social-links a{ color:var(--ajans-koyu); text-decoration:none; }
.body-error-404 .footer-nav-list a:hover{ text-decoration:underline; text-underline-offset:3px; }

/* --- Sayfalama --------------------------------------------- */
.sayfalama{
  display:flex; flex-wrap:wrap; gap:8px; justify-content:center;
  margin:64px 0 0; padding:0; list-style:none;
}
.sayfalama a, .sayfalama span{
  display:inline-grid; place-items:center; min-width:46px; height:46px; padding:0 14px;
  border:1px solid var(--ajans-cizgi); border-radius:8px;
  color:var(--ajans-koyu); text-decoration:none; font-size:16px;
}
.sayfalama .aktif, .sayfalama a:hover{ background:var(--ajans-koyu); border-color:var(--ajans-koyu); color:#fff; }
body.dark .sayfalama .aktif, body.dark .sayfalama a:hover{ background:var(--ajans-vurgu); color:#101010; border-color:var(--ajans-vurgu); }

/* --- Sayfa iç boşlukları ----------------------------------- */
.ajans-sayfa{ padding:110px 0; }
@media (max-width:991px){ .ajans-sayfa{ padding:70px 0; } }

/* --- Baskı görünümü ---------------------------------------- */
@media print{
  .header-area, .offcanvas-3__area, .switcher__area, .ajans-whatsapp,
  .progress-wrap, .footer-area, #preloader, .cursor1, .cursor2{ display:none !important; }
  body{ background:#fff; color:#000; }
  .icerik a::after{ content:" (" attr(href) ")"; font-size:12px; }
}

/* --- Hareket azaltma tercihi -------------------------------- */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; scroll-behavior:auto !important;
  }
  .cursor1, .cursor2{ display:none !important; }
}

/* --- Hero başlığı taşma koruması -----------------------------
   Temanın hero H1'i 190px punto ve .76 satır yüksekliğiyle kısa
   başlıklar için tasarlanmış. Panelden uzun başlık girilirse
   punto kademeli küçülür; hiçbir durumda kaba taşma olmaz. */
.hero-area .section-title{ overflow-wrap:break-word; hyphens:auto; }
.hero-area .section-title.baslik-uzun{ font-size:clamp(46px, 8.2vw, 132px); line-height:.86; }
.hero-area .section-title.baslik-cok-uzun{ font-size:clamp(38px, 6.2vw, 96px); line-height:.94; }
@media (max-width:1399px){
  .hero-area .section-title.baslik-uzun{ font-size:clamp(42px, 7.6vw, 104px); }
  .hero-area .section-title.baslik-cok-uzun{ font-size:clamp(34px, 5.8vw, 78px); }
}
/* Alt sayfalardaki büyük başlıklar da uzun Türkçe metinde taşmasın */
.hero-area .section-title.large{ overflow-wrap:break-word; }

/* --- Bölüm başlığı üstündeki dekoratif şekil ------------------
   Tema, bu şekli 2 satırlık İngilizce başlığa göre konumlandırmış.
   Türkçe başlık 3 satıra çıkarsa çakışmasın diye şekil yukarı alınır. */
.feature-area .section-header .section-title-wrapper .shape-1,
.service-area .section-header .section-title-wrapper .shape-1{ top:-84px; }
@media (max-width:1199px){
  .feature-area .section-header .section-title-wrapper .shape-1,
  .service-area .section-header .section-title-wrapper .shape-1{ display:none; }
}

/* --- Üst menü: Türkçe başlıklar İngilizceden uzun -------------
   "ANA SAYFA" iki satıra düşüyordu; menü aralığı biraz daraltıldı. */
@media (min-width:1200px) and (max-width:1599px){
  .main-menu > ul > li > a{ font-size:15px; }
  .main-menu > ul{ gap:22px; }
  .header-area .container.large{ max-width:96%; }
}
.main-menu > ul > li > a{ white-space:nowrap; }

/* --- Fiyat kartları ------------------------------------------
   Tema kartları farklı yükseklikte bırakıyordu; butonlar alt hizaya
   çekilir ve "Teklife göre" gibi metin fiyatlar da düzgün oturur. */
.pricing-wrapper .pricing-box{
  display:flex; flex-direction:column; height:100%;
}
.pricing-box .feature-list{ flex:1 1 auto; }
.pricing-box .price{ line-height:1.05; }
.ajans-periyot{
  margin:-6px 0 18px; font-size:15px; color:var(--ajans-metin); letter-spacing:.02em;
}
.pricing-box.one-cikan{ outline:2px solid var(--ajans-vurgu); outline-offset:-2px; }
.pricing-box > .wc-btn{ margin-top:auto; align-self:flex-start; }

/* --- Bölüm başlığı üstündeki dekoratif şekil (ince ayar) ------ */
.feature-area .section-header .section-title-wrapper .shape-1,
.service-area .section-header .section-title-wrapper .shape-1{ top:-112px; }

/* --- Geniş alt bilgi menüsü ----------------------------------
   Temanın .footer-nav-list kuralı yatay flex; bülten sütunundaki ek
   bağlantı listesi için tek sütuna alınır. */
.ajans-footer-menu{ flex-direction:column; gap:8px; margin-top:26px; }


/* --- İkon boyutlarını eşitle ---------------------------------
   Temanın ikon dosyaları 25px ile 120px arasında değişen gerçek
   boyutlarda; kutu içinde biri devasa biri minik görünüyordu. */
.service-box .icon img,
.feature-box .thumb img,
.skill-nav .icon img,
.services-wrapper .icon img,
.features-wrapper .thumb img{
  width:auto; height:44px; max-width:64px; object-fit:contain; display:block;
}
.service-box .icon,
.services-wrapper .icon{ display:flex; align-items:center; justify-content:center; }
