/* --------------------------------------------------------------
   custom.css — Tarapro üzerine marka renkleri & erişilebilirlik
   Yalnız sabit (hex) renkleri ezer; tema ayarındaki CSS değişkenlerine
   dokunmaz. Tüm yorumlar Türkçe.
   Palet:
     Body: #FFFFFF
     Header BG: #173E6E
     Primary: #1E63A7
     Primary Light: #5AB3FF (koyu metinle)
     Secondary: #FF8A1F
     Dark/Text: #0B1220
     Light Surface: #F3F7FF
     Border: #D7E3F3
     Heading: #0F3E71
-------------------------------------------------------------- */

/* ============================================================
   0) Logo boyutu ve okunaklığı (öngörülebilir davranış)
============================================================ */
.header .site-branding .site-logo a,
.header .site-branding .site-logo { display:inline-flex; align-items:center; }

.header .site-branding .site-logo img,
.header .site-branding img.logo-img {
  display:block;
  height:auto !important;
  width:auto;
  max-height:none !important;
  max-width:var(--logo-max-width, 220px); /* 200–280px arası iyidir */
}
@media (max-width:768px){
  .header .site-branding .site-logo img,
  .header .site-branding img.logo-img { max-width:var(--logo-max-width-mobile,160px); }
}

/* Olabilecek tüm soluklaştırmaları temizle */
.header .site-branding .site-logo img{
  opacity:1 !important; mix-blend-mode:normal !important;
  filter:none !important; -webkit-filter:none !important;
}

/* Koyu zeminlerde logoyu çok hafif ayır (isteğe bağlı) */
.header .site-branding .site-logo{ position:relative; z-index:5; }
.header .site-branding .site-logo::before{
  content:""; position:absolute; inset:-4px -6px;
  background:rgba(255,255,255,.06);   /* .06 → .08/.10 artırılabilir */
  border-radius:6px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
  pointer-events:none;
}

/* ============================================================
   1) HEADER-TOP — 3 kolon: Logo (sol) / Claim (orta) / Sosyal (sağ)
============================================================ */
:root{ --header-top-h: 56px; } /* üst şerit yüksekliği */

.header-top{ background:#F3F7FF !important; }
.header-top .header-top-container{
  display:grid;
  grid-template-columns:auto 1fr auto; /* logo | claim | sosyal */
  align-items:center;
  gap:.5rem 1rem;
  min-height:var(--header-top-h);
}

/* Sol: logo alanı (üst şeritte) */
.header-top .header-top-col--logo,
.header-top .region-site-branding{ display:flex; align-items:center; }

/* Orta: claim metni */
.header-claim{
  justify-self:center; text-align:center;
  font-size:.95rem; line-height:1.35; font-weight:600;
  letter-spacing:.2px; color:#1E63A7; max-width:60ch;
}

/* Sağ: sosyal ikonlar */
.header-top .header-top-col--social{ justify-self:end; }
.header-top .social-icons{ display:flex; gap:.5rem; }
.header-top .social-icons a{ color:#1E63A7 !important; }
.header-top .social-icons li a{
  background:transparent !important;
  border-color:rgba(30,99,167,.2) !important;
}
.header-top .social-icons a:hover{ background:#1E63A7 !important; color:#FFF !important; }

/* Küçük ekranda claim’i gizle (kalabalığı önlemek için) */
@media (max-width:991px){ .header-claim{ display:none; } }

/* ============================================================
   2) HEADER (lacivert bant) — menü alt sırada ve ortalı
============================================================ */
.header{ position:sticky; top:0; z-index:50; background:#173E6E !important; }
.header .header-container{ display:flex; align-items:center; gap:1rem; }
.header .header-right{ flex:1 1 auto; }

.primary-menu-wrapper, .menu-wrap, .menu-main{ width:100%; }
.menu-main .main-menu.menu{
  display:flex; align-items:center; justify-content:center;
  gap:0 1.25rem;
}

/* L1 öğeler hizalı ve rahat tıklanır */
.menu-main .main-menu.menu > li{ display:inline-flex; align-items:center; position:relative; }
.menu-main .main-menu.menu > li > a{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.9rem .25rem !important; /* sabit dikey hizalama */
  line-height:1.2;
  color:#FFF !important;
}

/* Hover/aktif renkleri */
.menu-main .main-menu.menu > li > a:hover,
.menu-main .main-menu.menu > li > a:focus{
  color:#5AB3FF !important;
  text-decoration:underline; text-underline-offset:2px;
}
.menu-main .main-menu.menu > li > a.is-active{ color:#5AB3FF !important; }

/* “+” işaretini link içine al — tüm ekranlarda net görünsün */
.menu-main .menu-item-has-children::after{ display:none !important; } /* temadaki pseudo'yu kapat */
.menu-main .main-menu.menu > li,
.menu-main .main-menu.menu > li > a { overflow: visible; } /* artı kesilmesin */

.menu-main .menu-item-has-children > a{ position:relative; padding-right:1.1rem !important; }
.menu-main .menu-item-has-children > a::after{
  content:"+"; position:absolute; right:-.45rem; top:50%; transform:translateY(-50%);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-weight:700; font-size:1.05em; line-height:1;
  color:#5AB3FF; opacity:.95;
}

/* L1 alt çizgi uyumu */
.region-primary-menu .menu-item-level-1{
  border-bottom-color:rgba(255,255,255,.15) !important;
}

/* ============================================================
   3) DROPDOWN (masaüstü: panel, mobil: blok/akordeon)
============================================================ */
.menu-main .submenu{
  position:absolute; left:0; top:calc(100% + 12px); /* biraz nefes */
  min-width:240px; background:#173E6E;
  border:1px solid rgba(255,255,255,.15);
  border-radius:8px; box-shadow:0 8px 24px rgba(11,18,32,.25);
  padding:.4rem 0; display:none; z-index:100;
}
.menu-main .main-menu.menu > li:hover > .submenu,
.menu-main .main-menu.menu > li:focus-within > .submenu{ display:block; }

.menu-main .submenu .menu-item{ width:100%; }
.menu-main .submenu a{ display:block; padding:.55rem .9rem; line-height:1.25; color:#FFF; white-space:nowrap; }
.menu-main .submenu a:hover{ background:rgba(90,179,255,.12); color:#5AB3FF; }

/* Sağ kenara yakın son öğelerde taşmayı önle */
.menu-main .main-menu.menu > li:last-child > .submenu{ right:0; left:auto; }

/* Mobil davranış (custom.js ile .open sınıfı ekleniyor) */
@media (max-width:991px){
  .menu-main .main-menu.menu{ display:block; }
  .menu-main .main-menu.menu > li{ display:block; }
  .menu-main .submenu{
    position:static; left:auto; top:auto; min-width:100%;
    background:transparent; border:0; box-shadow:none; padding:0; display:none;
  }
  .menu-main .submenu a{ color:var(--text-color); padding:.5rem 0; }
  .menu-main .main-menu.menu > li.open > .submenu{ display:block; }
}

/* ============================================================
   4) Sticky scroll etkisi (isteğe bağlı küçülme ve gölge)
============================================================ */
:root{ --header-h:88px; --header-h-scrolled:64px; }
html{ scroll-padding-top:var(--header-h); }

body.is-scrolled .header,
.header.is-scrolled{
  background:#173E6E !important;
  box-shadow:0 3px 12px rgba(11,18,32,.25);
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.is-scrolled .header .header-container,
.header.is-scrolled .header-container{ padding:.5rem 0; }

/* Desktop’ta sağdaki “sliding panel” hamburger ikon dikkat dağıtmasın */
@media (min-width:992px){ .sliding-panel-icon{ display:none !important; } }

/* ============================================================
   5) Mesaj / buton / çizgi / içerik kartları — palet uyumu
============================================================ */
.text-info    { background:#F3F7FF !important; color:#0F3E71 !important; }
.text-success { background:#E8F2FF !important; color:#1E63A7 !important; }
.text-warning { background:rgba(255,138,31,.12) !important; color:#FF8A1F !important; }
.text-danger  { background:#FFEAEA !important; color:#0B1220 !important; }

.box.info    { background:#F3F7FF !important; }
.box.success { background:#E8F2FF !important; }
.box.warning { background:rgba(255,138,31,.08) !important; }
.box.danger  { background:#FFEAEA !important; }

.card.white .card-title   { color:#0F3E71 !important; border-bottom-color:#D7E3F3 !important; }
.card.info    .card-title { background:#0F3E71 !important; }
.card.info    .card-content{ background:#F3F7FF !important; }
.card.success .card-title { background:#1E63A7 !important; }
.card.success .card-content{ background:#E8F2FF !important; }
.card.warning .card-title { background:#FF8A1F !important; }
.card.warning .card-content{ background:rgba(255,138,31,.08) !important; }
.card.danger  .card-title { background:#0B1220 !important; }
.card.danger  .card-content{ background:#FFEAEA !important; }

.button.outline{ color:#0B1220 !important; border-color:#0B1220 !important; }
.button.outline:hover{ background:#FFF !important; color:#0B1220 !important; }
.button.animate::before{ background:#0B1220 !important; }

.button.info    { background:#5AB3FF !important; color:#0B1220 !important; }
.button.success { background:#1E63A7 !important; color:#FFF !important; }
.button.warning { background:#FF8A1F !important; color:#0B1220 !important; }
.button.danger  { background:#0B1220 !important; color:#FFF !important; }

.message, .message em{ color:#FFF !important; border-bottom-color:#FFF !important; }
.message-status, .message-success{ background:#1E63A7 !important; }
.message-status::before, .message-success::before{ background:#0F3E71 !important; }
.message-info{ background:#5AB3FF !important; }
.message-info::before{ background:#1E63A7 !important; }
.message-warning{ background:#FF8A1F !important; }
.message-warning::before{ background:#D66C00 !important; }
.message-error{ background:#0B1220 !important; }
.message-error::before{ background:#0F3E71 !important; }

hr, .heading-line span{ background:#D7E3F3 !important; }
.border, .has-border{ border-color:#D7E3F3 !important; }

:focus-visible{ outline:2px solid #5AB3FF; outline-offset:2px; }
.header a:hover{ color:#5AB3FF !important; }

/* İçerik kartlarındaki inline açık mavi tonu düzelt */
.section .full[style*="#e8f1fd"]{ background:#F3F7FF !important; }
.section .full hr{ border-color:#D7E3F3 !important; }
@media (min-width:992px){ .slider, .section:first-of-type{ margin-top:.5rem; } }

/* ============================================================
   6) Alternatif: “Claim” menü ALTINDA küçük bant
   — Etkinleştirmek için: <body class="claim-as-band">
   — Twig: .claim-band içine .header-claim yerleştir.
============================================================ */
body.claim-as-band .header-top .header-claim{ display:none; }
.claim-band{ display:none; background:#F3F7FF; border-bottom:1px solid #D7E3F3; }
body.claim-as-band .claim-band{ display:block; }
body.claim-as-band .claim-band .header-claim{
  margin:0 auto; padding:.5rem 0; font-size:.9rem; font-weight:600;
  color:#1E63A7; text-align:center; max-width:80ch;
}

/* ============================================================
   7) Fallback: Logo alt header’da ise üst şerit düzenini koru
   — Twig’te branding’i header-top’a taşıdıysan bu kural etkisiz kalır.
============================================================ */
.header .region-site-branding{ display:none !important; }

  .bt-partners {
    --bt-bg: var(--footer-bg, #0f172a); /* tailwind slate-900 */
    --bt-fg: var(--footer-fg, #e2e8f0); /* tailwind slate-200 */
    --bt-muted: color-mix(in oklab, var(--bt-fg) 70%, transparent);

    background: var(--bt-bg);
    color: var(--bt-fg);
    border-top: 1px solid color-mix(in oklab, var(--bt-fg) 15%, transparent);
    padding: clamp(24px, 3vw, 40px) 0;
  }

  .bt-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(16px, 3vw, 24px);
  }

  .sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
  }

  .bt-logo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: clamp(16px, 2.5vw, 28px);
    align-items: center;
    justify-items: center;
    list-style: none;
    padding: 0;
    margin: 0 0 clamp(14px, 2vw, 20px);
  }

  .bt-logo-item {
    display: flex; align-items: center; justify-content: center;
    padding: clamp(10px, 1.5vw, 14px);
    background: color-mix(in oklab, var(--bt-fg) 6%, transparent);
    border: 1px solid color-mix(in oklab, var(--bt-fg) 10%, transparent);
    border-radius: 16px;
    min-height: 72px;
  }

  .bt-logo {
    max-width: 160px;
    max-height: 40px;
    width: auto;
    height: auto;
    object-fit: contain;
    image-rendering: -webkit-optimize-contrast;
  }

  .bt-disclaimer {
    text-align: center;
    font-size: clamp(14px, 1.7vw, 16px);
    line-height: 1.6;
    color: var(--bt-muted);
    margin: 0;
  }

  @media (prefers-color-scheme: light) {
    .bt-partners {
      --bt-bg: var(--footer-bg, #f8fafc); /* tailwind slate-50 */
      --bt-fg: var(--footer-fg, #0f172a); /* tailwind slate-900 */
    }
    .bt-logo-item { background: #fff; }
  }
