/*
 * Tema üzerine site özel düzeltmeler. style.css ve responsive.css'ten sonra yüklenir;
 * tema dosyaları değiştirilmez.
 */

/* Header: logo ve iletişim bilgileri tek satırda kalsın.
   Tema float kullandığı için uzun metinde (ör. İngilizce adres) iletişim bloğu logonun
   altına düşüyordu. Flex ile satır sabitlenir, uzun metin kendi kutusu içinde kırılır.
   992px altında temanın kendi mobil düzeni (ortalanmış logo / gizli adres) geçerli. */
@media (min-width: 992px) {
  .header-one .top-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
  }
  .header-one .top-header .container::before,
  .header-one .top-header .container::after {
    display: none;
  }
  .header-one .top-header .logo,
  .header-one .top-header .address-wrapper {
    float: none !important;
  }
  .header-one .top-header .logo {
    flex: 0 0 auto;
  }
  .header-one .top-header .logo img {
    max-width: 100%;
  }
  .header-one .top-header .address-wrapper {
    flex: 0 1 auto;
    min-width: 0;
  }
  .header-one .top-header .address-wrapper ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  .header-one .top-header .address-wrapper li {
    flex: 0 1 auto;
    min-width: 0;
  }
  /* Yalnızca adres kırılır; e-posta tek satırda kalır. */
  .header-one .top-header .address-wrapper .address:first-child p {
    max-width: 220px;
    line-height: 1.4;
  }
  .header-one .top-header .address-wrapper .address:not(:first-child) p {
    white-space: nowrap;
  }
  .header-one .top-header .address-wrapper .quotes {
    flex: 0 0 auto;
  }
}

/* Dar masaüstü: logoyu biraz küçült ki iletişim bilgilerine yer kalsın. */
@media (min-width: 992px) and (max-width: 1199px) {
  .header-one .top-header .logo img {
    width: 250px !important;
  }
  .header-one .top-header .address-wrapper .address:first-child p {
    max-width: 170px;
  }
  .header-one .top-header .address-wrapper .address p {
    font-size: 14px;
  }
}

/* Hizmet kartı: görseli olmayan hizmetlerde logo sembolü açık zemin üzerinde ortalanır
   (temanın lacivert zemini sembolün mavi kısmını kaybettiriyordu). */
.service-style-one .single-service .img-box.is-placeholder {
  background: #f3f5fa;
  border: 1px solid #eaeaea;
  display: flex;
  align-items: center;
  justify-content: center;
}
.service-style-one .single-service .img-box.is-placeholder a {
  display: block;
  width: 70%;
}
.service-style-one .single-service .img-box.is-placeholder img {
  width: 100%;
  height: auto;
  opacity: 1;
  border-radius: 0;
}

/* Hizmet detayı: editörden eklenen görseller sütuna sığsın. */
.service-body img,
.about-compnay-two .text img {
  max-width: 100%;
  height: auto;
}

/* Hizmet detayı: hizmete özel S.S.S ve randevu formu */
.service-faq,
.service-appointment {
  margin-top: 50px;
}
.service-faq h3,
.service-appointment h3 {
  font-size: 26px;
  margin-bottom: 20px;
}
.service-appointment {
  padding: 35px 35px 15px;
  background: #f7f8fb;
  border-radius: 5px;
  scroll-margin-top: 100px;
}
.service-appointment > p {
  margin-bottom: 20px;
}
.service-appointment .theme-form-one input,
.service-appointment .theme-form-one textarea {
  background: transparent;
}
@media (max-width: 575px) {
  .service-appointment { padding: 25px 18px 10px; }
}

/* Sabit WhatsApp butonu (sağ alt; scroll-top butonunun üstünde) */
.whatsapp-float {
  position: fixed;
  right: 20px;
  bottom: 80px;
  z-index: 990;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s ease;
}
.whatsapp-float:hover,
.whatsapp-float:focus {
  color: #fff;
  transform: scale(1.08);
}

/* Çerez bilgilendirme bandı (yalnızca zorunlu çerezler; onay değil bilgilendirme) */
.cookie-notice {
  position: fixed;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 995;
  max-width: 720px;
  margin: 0 auto;
  padding: 14px 18px;
  background: #061948;
  color: #fff;
  border-radius: 6px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25);
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 14px;
  line-height: 1.5;
}
.cookie-notice[hidden] {
  display: none;
}
.cookie-notice a {
  color: #fff;
  text-decoration: underline;
}
.cookie-notice button {
  flex: 0 0 auto;
  border: 0;
  border-radius: 4px;
  padding: 8px 18px;
  background: #fff;
  color: #061948;
  font-weight: 700;
  cursor: pointer;
}
@media (max-width: 575px) {
  .cookie-notice { flex-direction: column; align-items: stretch; text-align: center; }
}
.service-faq .faq-panel {
  margin-top: 0;
}

/* Hizmet detayı: sağdaki hizmet menüsü, bulunulan hizmet işaretli */
.service-nav h5 {
  margin-bottom: 15px;
}
.service-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #eaeaea;
}
.service-nav li {
  border-bottom: 1px solid #eaeaea;
}
.service-nav li a {
  display: block;
  padding: 9px 12px 9px 15px;
  border-left: 3px solid transparent;
  color: #3a3a3a;
  line-height: 1.4;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.service-nav li a:hover,
.service-nav li a:focus {
  background: #f7f8fb;
  border-left-color: #c5cbe0;
  color: #001a57;
}
.service-nav li.active a {
  background: #001a57;
  border-left-color: #e30813;
  color: #fff;
  font-weight: 700;
}
/* Uzun listede menü ekranda kalsın; sayfa kayarken bulunulan hizmet görünür olsun */
@media (min-width: 992px) {
  .service-nav {
    position: sticky;
    top: 100px;
  }
  .service-nav ul {
    max-height: calc(100vh - 170px);
    overflow-y: auto;
  }
}

/* Koleksiyon sayfaları: sertifikalar ve basında biz */
.collection-page .theme-title-one { margin-bottom: 40px; }
.collection-meta {
  color: #8a8f9c;
  font-size: 14px;
  margin-bottom: 6px;
}
.certificate-card {
  border: 1px solid #eaeaea;
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 30px;
  background: #fff;
  transition: box-shadow 0.2s ease;
}
.certificate-card:hover { box-shadow: 0 0 20px rgba(0, 0, 0, 0.08); }
.certificate-card__image {
  display: block;
  aspect-ratio: 4 / 3;
  background: #f3f5fa;
}
.certificate-card__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 12px;
}
.certificate-card__body { padding: 18px 20px 20px; }
.certificate-card__body h5 { margin-bottom: 6px; }

.press-item {
  display: flex;
  gap: 25px;
  padding: 25px 0;
  border-bottom: 1px solid #eaeaea;
}
.press-item:first-child { border-top: 1px solid #eaeaea; }
.press-item__image {
  flex: 0 0 240px;
  aspect-ratio: 16 / 10;
  border-radius: 5px;
  overflow: hidden;
  background: #f3f5fa;
}
.press-item__image img { width: 100%; height: 100%; object-fit: cover; }
.press-item__body h4 { font-size: 22px; margin-bottom: 8px; }
.press-item__body h4 a { color: inherit; }
.press-item__body h4 a:hover { color: #001a57; }
@media (max-width: 767px) {
  .press-item { flex-direction: column; gap: 15px; }
  .press-item__image { flex-basis: auto; }
}


/* Fotoğraf galerisi */
.photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}
.photo-grid__item {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  border-radius: 5px;
  overflow: hidden;
  background: #f3f5fa;
}
.photo-grid__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.photo-grid__item:hover img { transform: scale(1.05); }
.photo-grid__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 25px 14px 10px;
  background: linear-gradient(transparent, rgba(0, 16, 54, 0.85));
  color: #fff;
  font-size: 15px;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.photo-grid__item:hover .photo-grid__caption,
.photo-grid__item:focus .photo-grid__caption { opacity: 1; }

/* Video galerisi */
.video-card { margin-bottom: 30px; }
.video-card__thumb {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  border-radius: 5px;
  overflow: hidden;
  background: #000;
}
.video-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 4:3 kapaklardaki siyah bantları kırpar */
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.video-card__thumb:hover img { transform: scale(1.04); opacity: 0.85; }
.video-card__play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 62px;
  height: 62px;
  margin: -31px 0 0 -31px;
  border-radius: 50%;
  background: rgba(227, 8, 19, 0.92);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  padding-left: 4px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
  transition: transform 0.2s ease;
}
.video-card__thumb:hover .video-card__play { transform: scale(1.1); }
.video-card__duration {
  position: absolute;
  right: 8px;
  bottom: 8px;
  padding: 2px 7px;
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  font-size: 13px;
}
.video-card__body { padding-top: 14px; }
.video-card__body h5 {
  font-size: 17px;
  line-height: 1.4;
  margin-bottom: 4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Ana menü: GALERİ eklenince 8 öğe + sosyal ikonlar tek satıra sığmıyordu (ikonlar alt satıra
   düşüyordu). Öğe boşlukları daraltıldı; "/" ayırıcı bağlantının sağ kenarına sabit (a::before). */
@media (min-width: 1200px) {
  #mega-menu-holder > ul > li > a {
    padding-right: 26px;
    padding-left: 16px;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  #mega-menu-holder > ul > li > a {
    padding-right: 20px;
    padding-left: 12px;
  }
  /* Dar masaüstünde sosyal ikonlar menü çubuğundan kalkar (footer'da da var); dil seçici kalır. */
  .header-one .theme-menu-wrapper .right-widget .social-icon li:not(:last-child) {
    display: none;
  }
}

/* ==========================================================================
   Ana sayfa: hakkımızda + hizmetler düzeni
   Tema bu bölümleri boşluksuz alt alta koyuyordu; portrenin düz kesik alt kenarı
   hizmetler başlığına yapışıyordu. Hakkımızda açık bir bant içine alındı, portre
   bandın tabanına oturtuldu; metin sola hizalandı; bölümler arası ritim 100px.
   ========================================================================== */
.section-kicker {
  display: inline-block;
  margin-bottom: 12px;
  color: #e30813;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.btn-outline-theme {
  display: inline-block;
  padding: 0 32px;
  line-height: 46px;
  border: 2px solid #001a57;
  border-radius: 3px;
  color: #001a57;
  font-family: 'Nunito Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  transition: background 0.2s ease, color 0.2s ease;
}
.btn-outline-theme:hover,
.btn-outline-theme:focus {
  background: #001a57;
  color: #fff;
}

/* Öne çıkanlar ile hakkımızda bandı arasında temanın 120px boşluğu yerine bant kendi boşluğunu taşır */
.top-feature.section-spacing { margin-bottom: 0; }

.home-about {
  position: relative;
  background: #f4f6fb;
  padding-top: 90px;
  overflow: hidden;
}
.home-about .row { align-items: center; }

.home-about__media {
  position: relative;
  align-self: stretch;
}
/* Portre + arkasındaki daire tek kutuda; daire portreyle birlikte ölçeklenir */
.home-about__portrait {
  position: relative;
  text-align: center;
}
.home-about__portrait::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -6%;
  width: 86%;
  aspect-ratio: 1;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle at 50% 35%, #ffffff 0%, #dde3f0 75%);
  box-shadow: 0 0 0 18px rgba(0, 26, 87, 0.04);
}
.home-about .home-about__portrait img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: center bottom;
  border-radius: 0;
}

/*
 * Geniş ekran (>=1200px): portre sütun genişliğine değil, yanındaki metin bloğunun
 * yüksekliğine göre ölçeklenir; baş başlık hizasına yaklaşır, gövde bandın tabanına
 * oturur. Sütundan en fazla 20px sola (boş kenara) taşar; metne doğru büyümez.
 * 1200px altında metin sütunu çok uzadığı için hizalama mümkün değil: alt alta düzen.
 */
@media (min-width: 1200px) {
  .home-about__portrait {
    position: absolute;
    right: 15px;
    bottom: 0;
    height: 100%;
    aspect-ratio: 1089 / 1220;
    max-width: calc(100% + 20px);
  }
}
/* 1200-1299px: ekran kenarında taşma payı yok; portre sütun içinde kalır (omuz kırpılmasın) */
@media (min-width: 1200px) and (max-width: 1299px) {
  .home-about__portrait { max-width: 100%; }
}

.home-about__content { padding-bottom: 60px; }
.home-title { text-align: left; }
.home-title h2 {
  font-size: 34px;
  line-height: 1.25;
}
.home-title h2:before {
  left: 0;
  margin-left: 0;
  background: #e30813;
}
.home-about__text { padding-top: 22px; }
.home-about__text p {
  color: #5a5f6b;
  line-height: 1.75;
  margin-bottom: 14px;
}
.home-about .mission-goal {
  margin-top: 25px;
  padding-top: 25px;
}
.home-about .mission-goal li h4 { font-size: 18px; margin-top: 8px; }
.home-about__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 35px;
}
.home-about__actions .theme-button-one { line-height: 50px; }

/* Hizmetler */
.home-services { padding-top: 100px; }
.home-section-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}
.home-section-head .theme-title-one p { color: #5a5f6b; }
.home-services .wrapper { margin-top: 45px; }

/* Eşit yükseklikte kartlar; özet 3 satır */
.home-services .wrapper .row > [class*='col-'] { display: flex; }
.home-services .single-service {
  flex: 1;
  display: flex;
  min-height: 190px;
}
.home-services .single-service .text {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.home-services .single-service .text p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  /* Tema padding-bottom veriyor; kırpılan kutu içinde 4. satırın üstü görünüyordu */
  padding-bottom: 0;
  margin-bottom: 12px;
}
.home-services .single-service .text .read-more { margin-top: auto; }

.home-services__more {
  text-align: center;
  margin-top: 15px;
}

/* İletişim çağrısı kutusu (ana sayfa ve hizmetler sayfası) */
.contact-cta {
  margin-top: 70px;
  padding: 40px 30px;
  border-radius: 6px;
  background: #001a57;
  color: #fff;
  text-align: center;
}
.contact-cta__text {
  max-width: 720px;
  margin: 0 auto 22px;
  font-size: 20px;
  line-height: 1.5;
  color: #fff;
}
.contact-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.contact-cta__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 24px;
  line-height: 46px;
  border-radius: 3px;
  background: #fff;
  color: #001a57;
  font-weight: 700;
}
.contact-cta__link:hover { color: #001a57; opacity: 0.9; }
.contact-cta__link--whatsapp { background: #25d366; color: #fff; }
.contact-cta__link--whatsapp:hover { color: #fff; }

@media (max-width: 1199px) {
  .home-title h2 { font-size: 28px; }
}
@media (max-width: 1199px) {
  /* Alt alta düzen: önce metin, altında bandın tabanına oturan portre.
     Tema 991px altında portreyi gizliyordu; burada her genişlikte gösterilir. */
  .home-about__media { order: 2; margin-top: 30px; }
  .home-about__portrait { max-width: 420px; margin: 0 auto; }
  .home-about .home-about__portrait img { display: block; height: auto; }
  .home-about__content { padding-bottom: 0; }
}
@media (max-width: 991px) {
  .home-about { padding-top: 60px; }
  .home-about__portrait { max-width: 340px; }
  .home-services { padding-top: 70px; }
}
@media (max-width: 575px) {
  .home-title h2 { font-size: 24px; }
  .contact-cta { padding: 30px 18px; }
  .contact-cta__text { font-size: 17px; }
}

/* ==========================================================================
   Uzun içerik tipografisi (hizmet detayı, blog yazısı, özgeçmiş)
   Tema listelerin madde işaretlerini kaldırıyor ve alt başlıklara boşluk vermiyordu.
   ========================================================================== */
.rich-text { color: #4d5260; }
.rich-text p {
  line-height: 1.8;
  margin-bottom: 14px;
}
.rich-text h3 {
  margin: 38px 0 12px;
  color: #001a57;
  font-size: 23px;
  line-height: 1.3;
}
.rich-text h4 {
  margin: 28px 0 10px;
  color: #1c2125;
  font-size: 19px;
  line-height: 1.35;
}
.rich-text > :first-child { margin-top: 0; }
.rich-text ul {
  list-style: none;
  margin: 4px 0 20px;
  padding: 0;
}
.rich-text ul li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 8px;
  line-height: 1.7;
}
.rich-text ul li::before {
  content: '';
  position: absolute;
  left: 4px;
  top: 0.72em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #e30813;
}
.rich-text ol {
  margin: 4px 0 20px;
  padding-left: 22px;
}
.rich-text ol li { margin-bottom: 8px; line-height: 1.7; }
.rich-text strong { color: #1c2125; }
.rich-text blockquote {
  margin: 26px 0;
  padding: 18px 22px;
  border-left: 4px solid #001a57;
  border-radius: 0 5px 5px 0;
  background: #f4f6fb;
  color: #1c2125;
  font-weight: 600;
  line-height: 1.7;
}
