/*
 * Guidex Global — şablon üzerine yazılan düzeltmeler ve yeni bölüm stilleri.
 * Şablonun kendi CSS dosyaları hiç değiştirilmez; tüm farklar burada durur,
 * böylece şablon güncellenirse değişiklikler kaybolmaz.
 * Bu dosya Base.astro'daki stil listesinin EN SONUNDA yüklenir.
 */

:root {
  --gx-primary: #3757f7;
  --gx-primary-dark: #071e93;
  --gx-heading: #232f4b;
  --gx-body: #6e6e6e;
  --gx-surface: #f4f8fc;
  --gx-border: #e1e1e1;
}

/* ---- Navigasyon -------------------------------------------------------- */
/* Türkçe menü etiketleri İngilizce'den uzun; şablonun 20px padding'i ile
   menü ikinci satıra kayıyordu. */
@media (min-width: 992px) {
  .wpo-site-header #navbar > ul > li > a {
    font-size: 18px;
    padding: 35px 14px;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .wpo-site-header #navbar > ul > li > a {
    font-size: 16px;
    padding: 35px 10px;
  }
}

/* ---- Dil değiştirici --------------------------------------------------- */
.wpo-site-header .header-right .lang-switcher {
  display: inline-block;
  vertical-align: middle;
}

@media (max-width: 767px) {
  .wpo-site-header .header-right .lang-switcher {
    margin-right: 8px;
  }
}

/* ---- Hero: ikinci buton ------------------------------------------------ */
.wpo-hero-section-1 .btns .theme-btn + .theme-btn {
  margin-left: 15px;
}

.wpo-hero-section-1 .btns .theme-btn-s2 {
  background: transparent;
  color: var(--gx-heading);
  border: 2px solid var(--gx-border);
}

.wpo-hero-section-1 .btns .theme-btn-s2:hover {
  background: var(--gx-primary);
  border-color: var(--gx-primary);
  color: #fff;
}

@media (max-width: 575px) {
  .wpo-hero-section-1 .btns .theme-btn + .theme-btn {
    margin-left: 0;
    margin-top: 12px;
  }
}

/* ---- Ana sayfa: hakkımızda üst etiketi --------------------------------- */
.wpo-about-text .about-kicker {
  display: block;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 16px;
  color: var(--gx-primary);
  margin-bottom: 10px;
}

/* ---- Hizmet kartı: detay bağlantısı ------------------------------------ */
.wpo-service-item .service-more {
  display: inline-block;
  margin-top: 10px;
  font-weight: 600;
  color: var(--gx-primary);
}

.wpo-service-item .service-more::after {
  content: " →";
}

.wpo-service-item .service-more:hover {
  color: var(--gx-primary-dark);
}

/* ---- Sayfa girişi (hizmetler listesi üstü) ----------------------------- */
.gx-page-intro {
  padding-top: 70px;
  text-align: center;
}

.gx-page-intro p {
  font-size: 20px;
  color: var(--gx-body);
  margin-bottom: 0;
}

/* ---- Hizmet detay sayfası ---------------------------------------------- */
.gx-service-icon {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gx-surface);
  border-radius: 12px;
  margin-bottom: 25px;
}

.gx-service-icon img {
  width: 40px;
  height: 40px;
}

.gx-offers-title {
  font-size: 24px;
  margin: 35px 0 18px;
  color: var(--gx-heading);
}

.gx-offers {
  list-style: none;
  padding: 0;
  margin: 0;
}

.gx-offers li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 14px;
  color: var(--gx-body);
  line-height: 1.7;
}

.gx-offers li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 14px;
  height: 8px;
  border-left: 2px solid var(--gx-primary);
  border-bottom: 2px solid var(--gx-primary);
  transform: rotate(-45deg);
}

.wpo-single-sidebar .wpo-service-widget li.current > a {
  color: var(--gx-primary);
  font-weight: 600;
}

/* ---- Hakkımızda: ilkeler, vizyon, misyon ------------------------------- */
.gx-approach-section {
  background: var(--gx-surface);
}

.gx-vision-card {
  background: #fff;
  border: 1px solid var(--gx-border);
  border-radius: 14px;
  padding: 40px 35px;
  height: 100%;
  margin-bottom: 30px;
}

.gx-vision-card h3 {
  font-size: 24px;
  margin-bottom: 15px;
  color: var(--gx-heading);
}

.gx-vision-card p {
  margin-bottom: 0;
  color: var(--gx-body);
}

/* ---- Süreç bölümü ------------------------------------------------------ */
.wpo-process-section {
  background: var(--gx-surface);
}

.wpo-process-item {
  background: #fff;
  border-radius: 14px;
  padding: 35px 28px;
  height: 100%;
  margin-bottom: 30px;
}

.wpo-process-number {
  display: inline-block;
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
  color: var(--gx-primary);
  opacity: 0.35;
  margin-bottom: 15px;
}

.wpo-process-item h3 {
  font-size: 21px;
  margin-bottom: 12px;
  color: var(--gx-heading);
}

.wpo-process-item p {
  margin-bottom: 0;
  color: var(--gx-body);
}

/* ---- Metin sayfaları (gizlilik politikası) ----------------------------- */
.gx-text-page .gx-lead {
  font-size: 19px;
  color: var(--gx-heading);
  margin-bottom: 35px;
}

.gx-text-block {
  margin-bottom: 30px;
}

.gx-text-block h3 {
  font-size: 22px;
  margin-bottom: 12px;
  color: var(--gx-heading);
}

.gx-text-block p {
  margin-bottom: 0;
  color: var(--gx-body);
}

/* ---- İletişim formu ---------------------------------------------------- */
.gx-form-note {
  margin-top: 18px;
  font-size: 15px;
  color: var(--gx-body);
}

/* ---- Metin logo (marka logosu gelene kadar) ---------------------------- */
.gx-wordmark {
  display: inline-block;
  font-family: "Futura PT", sans-serif;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -0.5px;
  color: var(--gx-heading);
  line-height: 1;
}

.gx-wordmark-dark {
  color: #fff;
  font-size: 26px;
}

@media (max-width: 991px) {
  .gx-wordmark { font-size: 24px; }
}

/* ---- Erişilebilirlik: içeriğe atlama bağlantısı ------------------------ */
/* Klavye kullanıcısı Tab'a bastığında görünür olur, fare kullanıcısını
   rahatsız etmez. Şablonun preloader'ının üstünde kalması için yüksek z-index. */
.gx-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100000;
  padding: 12px 20px;
  background: var(--gx-primary);
  color: #fff;
  font-weight: 600;
  border-radius: 0 0 6px 0;
}

.gx-skip-link:focus {
  left: 0;
  color: #fff;
}

/* Şablonun kendi odak halkası bazı yerlerde kapalı; klavye izini geri veriyoruz. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--gx-primary);
  outline-offset: 2px;
}

/* ---- İletişim formu ---------------------------------------------------- */
/* Bal küpü: ekrandan çıkarılıyor ama display:none değil — bazı botlar
   display:none alanları atlar, konum ile gizleneni doldurur. */
.gx-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden;
}

.wpo-contact-pg-section form .gx-label {
  display: block;
  margin-bottom: 8px;
  font-size: 15px;
  font-weight: 600;
  color: var(--gx-heading);
}

.gx-req {
  color: #d33;
}

.wpo-contact-pg-section form .gx-hint {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  color: #8a8a8a;
}

.wpo-contact-pg-section form .gx-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 25px;
}

.wpo-contact-pg-section form .gx-consent input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 3px;
  flex: 0 0 auto;
  accent-color: var(--gx-primary);
}

.wpo-contact-pg-section form .gx-consent label {
  margin: 0;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--gx-body);
}

.wpo-contact-pg-section form .gx-consent a {
  color: var(--gx-primary);
  text-decoration: underline;
}

.gx-form-status {
  clear: both;
  width: 100%;
  margin: 0 0 25px;
  padding: 14px 18px;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1.5;
}

.gx-form-status.is-success {
  background: #e8f5ee;
  border: 1px solid #b7e0c8;
  color: #1c6b3f;
}

.gx-form-status.is-error {
  background: #fdecec;
  border: 1px solid #f3c2c2;
  color: #9b2222;
}

.gx-form-note {
  margin-top: 18px;
  font-size: 15px;
  color: var(--gx-body);
}

/* ---- Teşekkür ve 404 sayfaları ---------------------------------------- */
.gx-notice {
  text-align: center;
  padding: 60px 40px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 1px 15px 0 rgba(62, 65, 159, 0.1);
}

@media (max-width: 767px) {
  .gx-notice { padding: 40px 22px; }
}

.gx-notice-mark {
  color: #2f9e63;
  margin-bottom: 20px;
}

.gx-notice-code {
  font-family: "Futura PT", sans-serif;
  font-size: 90px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 10px;
  color: var(--gx-primary);
}

@media (max-width: 767px) {
  .gx-notice-code { font-size: 64px; }
}

.gx-notice h1,
.gx-notice h2 {
  font-size: 34px;
  margin-bottom: 16px;
  color: var(--gx-heading);
}

@media (max-width: 767px) {
  .gx-notice h1,
  .gx-notice h2 { font-size: 26px; }
}

.gx-notice p {
  max-width: 560px;
  margin: 0 auto 10px;
  color: var(--gx-body);
}

.gx-notice-mail {
  margin-top: 14px;
  font-weight: 600;
}

.gx-notice-mail a {
  color: var(--gx-primary);
}

.gx-notice-links {
  margin: 30px 0 10px;
}

.gx-notice-links ul {
  list-style: none;
  padding: 0;
  margin: 0 0 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 22px;
}

.gx-notice-links a {
  font-size: 15px;
  color: var(--gx-body);
}

.gx-notice-links a:hover {
  color: var(--gx-primary);
}

.gx-notice-actions {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}

.theme-btn-ghost,
.gx-notice-actions .theme-btn-ghost {
  background: transparent;
  color: var(--gx-primary);
  border: 2px solid var(--gx-primary);
}

.gx-notice-actions .theme-btn-ghost:after {
  display: none;
}

.gx-notice-actions .theme-btn-ghost:hover {
  background: var(--gx-primary);
  color: #fff;
}

/* ---- İletişim formu kartı ---------------------------------------------
   Şablonda form kartı, altındaki harita bölümünün üzerine binsin diye
   negatif alt boşlukla veriliyor, bölümün alt boşluğu da bu yüzden sıfırdı.
   Sitede harita bölümü yok; kart footer'ın üstüne taşıyordu. Taşmayı
   kaldırıp hem kartın hem bölümün kendi alt boşluğunu geri veriyoruz.
   Aynı bölüm sınıfını 404 ve teşekkür sayfaları da kullanır. */
.wpo-contact-pg-section.section-padding {
  padding-bottom: 120px;
}

.wpo-contact-pg-section .wpo-contact-form-area {
  margin-bottom: 0;
  padding-bottom: 50px;
}

@media (max-width: 767px) {
  .wpo-contact-pg-section.section-padding {
    padding-bottom: 80px;
  }

  .wpo-contact-pg-section .wpo-contact-form-area {
    padding-bottom: 30px;
  }
}

/* ---- Başlık hiyerarşisi ------------------------------------------------ */
/* Şablon sayfa başlıklarını h2 olarak veriyordu; hiçbir sayfada h1 yoktu.
   Etiketleri h1'e çevirdik, şablonun görsel kuralları burada birebir aynalanıyor. */
.wpo-breadcumb-area .wpo-breadcumb-wrap h1 {
  font-size: 60px;
  color: #fff;
  line-height: 60px;
  margin-top: -10px;
  margin-bottom: 20px;
}

.wpo-hero-section-1 .wpo-hero-title h1 {
  font-size: 70px;
  font-weight: 900;
  line-height: 90px;
  margin: 10px 0 25px;
}

.wpo-hero-section-1 .wpo-hero-title h1 span {
  color: var(--gx-primary);
}

@media (max-width: 1200px) {
  .wpo-hero-section-1.wpo-hero-section-2 .wpo-hero-title h1 {
    font-size: 45px;
    line-height: 50px;
  }
}

@media (max-width: 767px) {
  .wpo-breadcumb-area .wpo-breadcumb-wrap h1 {
    font-size: 30px;
    line-height: 35px;
    margin-bottom: 10px;
  }
  .wpo-hero-section-1 .wpo-hero-title h1 {
    font-size: 50px;
    line-height: 50px;
  }
  .wpo-hero-section-1.wpo-hero-section-2 .wpo-hero-title h1 {
    font-size: 36px;
    line-height: 50px;
  }
}

@media (max-width: 575px) {
  .wpo-hero-section-1 .wpo-hero-title h1 {
    font-size: 30px;
    line-height: 35px;
  }
}

/* ---- Hukuk sayfaları --------------------------------------------------- */
.gx-legal-updated {
  font-size: 14px;
  color: #8a8a8a;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--gx-border);
}

.gx-text-block h2,
.gx-text-block h3 {
  font-size: 22px;
  margin-bottom: 12px;
  color: var(--gx-heading);
}

.gx-text-block p + p {
  margin-top: 14px;
}

.gx-legal-list {
  margin: 14px 0 0;
  padding-left: 22px;
  list-style: disc;
}

.gx-legal-list li {
  margin-bottom: 10px;
  color: var(--gx-body);
  line-height: 1.75;
}

.gx-legal-note {
  margin-top: 16px !important;
  padding: 14px 18px;
  background: var(--gx-surface);
  border-left: 3px solid var(--gx-primary);
  border-radius: 0 6px 6px 0;
  font-size: 15px;
}

/* Dar ekranda tablo sayfayı yana kaydırmasın, kendi içinde kaysın. */
.gx-table-wrap {
  margin-top: 18px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.gx-legal-table {
  width: 100%;
  min-width: 480px;
  border-collapse: collapse;
  font-size: 15px;
}

.gx-legal-table th,
.gx-legal-table td {
  padding: 12px 14px;
  border: 1px solid var(--gx-border);
  text-align: left;
  vertical-align: top;
  line-height: 1.65;
}

.gx-legal-table th {
  background: var(--gx-surface);
  color: var(--gx-heading);
  font-weight: 600;
  white-space: nowrap;
}

.gx-legal-table td {
  color: var(--gx-body);
}

.gx-legal-nav {
  margin-top: 50px;
  padding-top: 26px;
  border-top: 1px solid var(--gx-border);
}

.gx-legal-nav h2 {
  font-size: 18px;
  margin-bottom: 14px;
  color: var(--gx-heading);
}

.gx-legal-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
}

.gx-legal-nav a {
  color: var(--gx-primary);
  font-size: 15px;
}

.gx-legal-nav span[aria-current] {
  color: var(--gx-body);
  font-size: 15px;
  font-weight: 600;
}

/* ---- Footer: hukuk bağlantıları --------------------------------------- */
.gx-legal-nav-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 20px;
}

.gx-legal-nav-footer a {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.75);
}

.gx-legal-nav-footer a:hover {
  color: #fff;
}

/* ---- Kurumsal künye tablosu ------------------------------------------- */
.gx-imprint-list {
  margin: 0 0 24px;
}

.gx-imprint-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 24px;
  padding: 12px 0;
  border-bottom: 1px solid #ececf4;
}

.gx-imprint-row:first-child {
  border-top: 1px solid #ececf4;
}

.gx-imprint-list dt {
  flex: 0 0 240px;
  font-weight: 600;
  color: var(--gx-heading);
}

.gx-imprint-list dd {
  flex: 1 1 260px;
  margin: 0;
  color: var(--gx-body);
}

.gx-imprint-list dd a {
  color: var(--gx-primary);
}

@media (max-width: 575px) {
  .gx-imprint-list dt,
  .gx-imprint-list dd {
    flex: 1 1 100%;
  }
}

/* ---- Alt CTA bandı ------------------------------------------------------
   Şablonda bu bölüm iki içerik bölümünün arasında duracak şekilde
   tasarlanmış; kendi dikey boşluğu yok. Bizde sayfanın son bloğu olduğu
   için mavi kart footer'a yapışıyordu. Üç düzeltme:
   1) bölüme alt boşluk,
   2) paragrafın kalan alt boşluğu (kartı optik olarak yukarı kaydırıyordu),
   3) geniş ekranda metinle düğme arasında kalan boş alanın daraltılması. */
.wpo-support-section {
  padding-bottom: 120px;
}

.wpo-support-section .wpo-support-wrapper {
  padding: 70px 80px;
  gap: 30px 60px;
}

.wpo-support-section .wpo-support-wrapper .wpo-support-text {
  max-width: 620px;
}

.wpo-support-section .wpo-support-wrapper .wpo-support-text h2 {
  margin-bottom: 12px;
  line-height: 1.25;
}

.wpo-support-section .wpo-support-wrapper .wpo-support-text p {
  margin-bottom: 0;
  font-size: 17px;
  color: rgba(255, 255, 255, 0.85);
}

.wpo-support-section .wpo-support-wrapper .wpo-support-btn a {
  white-space: nowrap;
}

@media (max-width: 991px) {
  .wpo-support-section {
    padding-bottom: 80px;
  }

  .wpo-support-section .wpo-support-wrapper {
    padding: 50px 40px;
  }

  /* Şablon metin bloğuna 30px alt boşluk veriyordu; artık gap karşılıyor. */
  .wpo-support-section .wpo-support-wrapper .wpo-support-text {
    margin-bottom: 0;
  }
}

@media (max-width: 575px) {
  .wpo-support-section .wpo-support-wrapper {
    padding: 40px 24px;
  }

  .wpo-support-section .wpo-support-wrapper .wpo-support-btn,
  .wpo-support-section .wpo-support-wrapper .wpo-support-btn a {
    display: block;
    width: 100%;
    text-align: center;
  }
}

/* ---- Tasarım denetimi düzeltmeleri ------------------------------------ */

/* Alt bilgi başlıkları h3 iken h2 oldu (404 sayfasında h1 -> h3 atlaması
   oluşuyordu). Şablonun görsel kuralları burada birebir aynalanıyor. */
.wpo-site-footer .widget-title h2 {
  font-size: 20px;
  color: #fff;
  margin: 0;
  text-transform: uppercase;
  position: relative;
  font-family: "Futura PT Demi";
}

@media (max-width: 991px) {
  .wpo-site-footer .widget-title h2 {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

/* Alt bilgideki e-posta ve telefon bağlantıları Bootstrap'in varsayılan
   mavisini alıyordu (#0d6efd): hem markanın dışında hem de koyu zeminde
   kontrastı 3.2:1 ile AA sınırının altında. Diğer footer bağlantıları gibi
   beyaz yapıyoruz. */
.wpo-site-footer .contact-ft a {
  color: #fff;
}

.wpo-site-footer .contact-ft a:hover,
.wpo-site-footer .contact-ft a:focus {
  color: #b9c6ff;
  text-decoration: underline;
}

/* Hero üst etiketi #8188a9 ile beyaz üzerinde 3.5:1'de kalıyordu. */
.wpo-hero-section-1 .wpo-hero-title-top span {
  color: #5c648c;
}

/* Bölüm başlıkları: capitalize, Türkçede "ve / ile / için" gibi bağlaçları
   da büyük harfe çeviriyor. Metinler zaten doğru yazılmış durumda. */
.wpo-section-title h2 {
  text-transform: none;
}

/* Başlığın altındaki giriş cümlesi. Daha önce bu metinler ya 50px'lik
   başlığın içinde ya da büyük harfli kicker yuvasındaydı. */
.wpo-section-title p {
  max-width: 640px;
  margin: 16px auto 0;
  font-size: 17px;
  color: var(--gx-body);
}

/* Hero'daki ikinci düğme şablondan 12px/22px dolgu ve 55px köşe yarıçapı
   alıyordu; birincisinin (15px/45px, 6px) yanında farklı boy ve biçimde
   duruyordu. İkisini eşitliyoruz. */
.wpo-hero-section-1 .btns .theme-btn-s2 {
  padding: 13px 43px;
  border-radius: 6px;
  box-shadow: none;
}

/* Şablon iki düğmenin punto ve dolgusunu farklı kırılımlarda küçültüyor;
   ikinci düğmeyi birincinin ölçüleriyle aynı adımda tutuyoruz. */
@media (max-width: 991px) {
  .wpo-hero-section-1 .btns .theme-btn-s2 {
    font-size: 18px;
  }
}

@media (max-width: 767px) {
  .wpo-hero-section-1 .btns .theme-btn-s2 {
    padding: 10px 16px;
    font-size: 14px;
  }
}

/* Hizmet kartları: açıklama uzunluğu farklı olduğu için aynı satırdaki
   kartların boyları ve "Detaylı Bilgi" bağlantılarının hizası kayıyordu. */
.wpo-service-section .row.justify-content-center > [class*="col-"] {
  display: flex;
}

.wpo-service-section .wpo-service-item {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.wpo-service-section .wpo-service-text {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.wpo-service-section .service-more {
  margin-top: auto;
  align-self: flex-start;
}

/* Koyu zeminlerde marka mavisi odak halkası yeterince ayrışmıyor. */
.wpo-site-footer a:focus-visible,
.wpo-support-section a:focus-visible {
  outline-color: #fff;
}
