/*
 * PostgreSQL Türkiye — tema sistemi ve Elementor yardımcı sınıfları
 * Kaynak: _tasarim/mockup.html (renk, tipografi, boşluk değerleri).
 * Kural: bileşen stillerinde sabit renk kodu yok; her şey CSS değişkeni.
 * (Renk literalleri yalnızca mockup'ın kendisinde literal olan yerlerde: marka zemini üstü #fff gibi.)
 */

/* ============ AÇIK TEMA (varsayılan) ============ */
:root{
  --brand-blue:#336791;
  --primary:#336791;
  --a-fg-color:#336791;
  --a-highlight-fg-color:#193145;
  --body-bg-color:#fff;
  --body-fg-color:#515151;
  --h-fg-color:#515151;
  --navbar-bg-color:#fff;
  --navbar-fg-color:inherit;
  --navbar-sdw-color:rgba(0,0,0,.2);
  --primary-bg-color:#fff;
  --secondary-bg-color:#f6f6f6;
  --text-emphasis:#000;
  --separator-line-color:#c2c7c8;
  --card-bg-color:#f6f6f6;
  --card-border:rgba(0,0,0,.125);
  --banner-bg-color:#dde6f0;
  --hp-banner-bg-image:linear-gradient(130deg,#fff 10%,#c1d7ea 100%);
  --hp-banner-bg-size:100% auto;
  --hp-h1-color:var(--primary);
  --board-bg:rgba(221,230,240,.5);
  --primary-soft:#e4ebf3;
  --btn-primary-bg-color:#336791;
  --btn-primary-fg-color:#fff;
  --topalert-text:#fff;
  --topalert-link-hover:#6adaff;
  --spacer:1.6rem;
  --wrap:1160px;
}

/* ============ KOYU TEMA (sadece override) ============ */
[data-theme="dark"]{
  --primary:#699eca;
  --a-fg-color:#74BFF1;
  --a-highlight-fg-color:#fff;
  --body-bg-color:#212121;
  --body-fg-color:#f3f5f9;
  --h-fg-color:#699eca;
  --navbar-bg-color:#212121;
  --navbar-fg-color:#f3f5f9;
  --navbar-sdw-color:rgba(105,158,202,.35);
  --primary-bg-color:#2e2e2e;
  --secondary-bg-color:#212121;
  --text-emphasis:#fff;
  --separator-line-color:#6b6b6b;
  --card-bg-color:#2e2e2e;
  --card-border:rgba(255,255,255,.125);
  --banner-bg-color:#111;
  --hp-banner-bg-image:radial-gradient(circle 500px at bottom left,rgba(48,48,48,1),rgba(51,51,51,0)),
                       linear-gradient(92deg,rgba(17,17,17,1) 39%,rgba(53,53,53,1) 100%);
  --hp-banner-bg-size:100% auto,150% auto;
  --board-bg:rgba(51,51,51,.5);
  --primary-soft:#121212;
  --btn-primary-bg-color:#d4d4d4;
  --btn-primary-fg-color:#010101;
}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Tipografinin tek kaynağı: her yerde bu değişken kullanılır. */
:root{--pgtr-font:'Open Sans',system-ui,-apple-system,sans-serif}

/* ============ TEMEL ============ */
body{
  background-color:var(--body-bg-color);
  font-family:var(--pgtr-font);
  font-weight:400;
  color:var(--body-fg-color);
  font-size:15.3px;
  line-height:1.65;
  padding-top:56px;
  -webkit-font-smoothing:antialiased;
  transition:background-color .2s ease,color .2s ease;
}
@media screen and (min-width:1400px){body{font-size:18px}}

h1,h2,h3,h4,h5{
  font-weight:600;letter-spacing:-.015em;color:var(--h-fg-color);line-height:1.25;
}
/* SİTE GENELİ ana başlık rengi: TÜM H1 ve H2'ler — açıkta #336791,
   koyuda #699eca (--primary çifti tam bu değerleri taşır).
   (İstisnalar: marka bandında ve pgtr-on-dark'ta beyaz.) */
:root{--h1h2-color:var(--primary)}
h1,h2,
.entry-content h1,.entry-content h2,
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title{color:var(--h1h2-color)}
h1{font-size:2.6rem}
h2{font-size:2rem}
h3{font-size:1.15rem}
.text-primary{color:var(--primary)!important}
.text-white{color:#fff!important}
.text-emphasis{color:var(--text-emphasis);font-weight:600}
.text-muted{opacity:.7}

/* ALT ÇİZGİ POLİTİKASI:
   - Gövde metni linkleri: normalde çizgisiz, hover/odakta çizgili
   - Duyuru şeridi (.topalert a): HER ZAMAN çizgili
   - Haber "Devamı →" ve haber başlığı: hover'da çizgili
   - Menüler (header/footer), marka ve TÜM butonlar: HİÇBİR durumda çizgi yok;
     durumlar renk (+aktif sayfada kalınlık) ile belirtilir. */
a{text-decoration:none}
a:hover,a:focus-visible{text-decoration:underline;text-underline-offset:3px}
body a{color:var(--a-fg-color)}
body a:hover{color:var(--a-highlight-fg-color)}
a:focus-visible{outline:2px solid var(--a-fg-color);outline-offset:3px;border-radius:2px}
.navbar-brand,.navbar-brand:hover,.navbar-brand:focus-visible{text-decoration:none}

.pgtr-wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

/* Header, topalert, footer ve butonlar fontu AÇIKÇA alır — Astra'nın
   button/input kuralları veya Elementor tipografisi araya giremez. */
#mainNav,.navbar-brand,#pgNavbar a,.theme-toggle,.hamburger,
.topalert,.pgtr-topalert,#footer,.btn,
.elementor-widget-button .elementor-button{font-family:var(--pgtr-font)}

/* Astra, body'ye layout sınıfı üzerinden (0,1,0) özgüllükle sabit zemin basar
   (.ast-plain-container/.ast-page-builder-template → var(--ast-global-color-4));
   düz `body` seçicimiz (0,0,1) sıradan bağımsız kaybeder. (0,1,1) ile eziyoruz. */
body.ast-plain-container,
body.ast-page-builder-template,
body.ast-separate-container{background-color:var(--body-bg-color)}

/* ============ YAPIŞKAN FOOTER DÜZENİ ============
   Kısa içerikte gezinme/footer sayfa ortasında asılı kalmasın: #page dikey
   flex kolon olur, #content kalan boşluğu doldurur, footer dibe oturur.
   Astra #page{display:block} basar (1,0,0) — aynı özgüllükte sonraki kural kazanır. */
#page{min-height:100vh;display:flex;flex-direction:column}
body.admin-bar #page{min-height:calc(100vh - 32px)}
#content{flex:1 0 auto;width:100%}
#footer{flex-shrink:0}

/* Tekil yazıda gezinme dibe otursun: sarmalayıcı zinciri (#content >
   .ast-container > #primary > #main) dikey flex olur, makale kalan boşluğu
   yutar → kısa içerikte gezinme + footer sayfanın altına iner, uzun içerikte
   doğal akışta kalır. (.single kapsamı: kenar çubuklu düzenleri etkilemesin.) */
.single #content{display:flex;flex-direction:column}
.single #content .ast-container{flex:1 0 auto;display:flex;flex-direction:column}
.single #primary{flex:1 0 auto;display:flex;flex-direction:column;width:100%}
.single #main{flex:1 0 auto;display:flex;flex-direction:column}
/* Gezinmenin SABİT tabanı: makale en az bu yükseklikte yer kaplar → kısa
   yazılarda gezinme hep aynı noktada durur (viewport'a ve başlık sarmasına
   bağlı kaymaz); içerik bu yüksekliği aşarsa gezinme doğal akışta aşağı iner.
   Footer, #page/#content flex zinciriyle yine sayfanın dibinde kalır. */
.single #main > article{min-height:420px}

/* Tekil yazı gezinmesi: üstten ayırıcı çizgi.
   Astra .ast-separate-container .post-navigation{border:0} ve
   .single .post-navigation{padding:1.5em} basar — (0,2,0) + sonra gelerek kazanıyoruz. */
.single .post-navigation,
.ast-separate-container .post-navigation{
  margin:48px 0 0;padding:24px 0 0;
  border:0;border-top:1px solid var(--separator-line-color);
}

/* Tekil yazıda öne çıkan görsel — DOĞAL boyutunda basar, yalnızca içerik
   genişliğini aşarsa küçülür (width:100% zorlaması küçük görselleri
   devasa/bulanık gösteriyordu — istenmedi). */
.pgtr-tekil-gorsel{margin:0 0 2rem}
.pgtr-tekil-gorsel img{max-width:100%;height:auto;display:block;border-radius:.4rem}

/* Tekil yazı okuma düzeni: ~780px satır genişliği, rahat dikey ritim.
   Astra'nın dar konteyneri (750px) 780'i engellemesin diye .single
   kapsamında konteyner de genişletilir — Customizer'daki global
   Container Width ayarına DOKUNULMUYOR, diğer sayfalar etkilenmez. */
.single #content .ast-container{max-width:928px}
.single-post .entry-content,
.single #content .ast-container > #primary{
  max-width:880px;
  margin-left:auto;
  margin-right:auto;
}
.single-post .entry-content p{margin-bottom:1.4em;line-height:1.75}
.single-post .entry-content h2{margin-top:2em;margin-bottom:.6em}
.single-post .entry-content h3{margin-top:1.6em;margin-bottom:.5em}

/* ============ RAPOR İÇERİK BLOKLARI (tekil yazı) ============ */
/* Tablo: konferans programı — zebra, ince kenarlık, mobilde yatay kaydırma */
.entry-content figure.wp-block-table{overflow-x:auto;margin:28px 0}
.entry-content .wp-block-table table{
  width:100%;border-collapse:collapse;font-size:.95rem;
  border:1px solid var(--card-border);
}
.entry-content .wp-block-table th,
.entry-content .wp-block-table td{
  padding:.6rem .9rem;border:1px solid var(--card-border);
  text-align:left;vertical-align:top;white-space:normal;
}
.entry-content .wp-block-table th{
  background-color:var(--card-bg-color);color:var(--text-emphasis);font-weight:600;
}
.entry-content .wp-block-table tbody tr:nth-child(even){background-color:var(--secondary-bg-color)}
.entry-content .wp-block-table tbody tr:nth-child(odd){background-color:var(--primary-bg-color)}

/* Galeri: etkinlik fotoğrafları */
.entry-content .wp-block-gallery{margin:28px 0}
.entry-content .wp-block-gallery img{border-radius:4px;display:block}

/* Gömülü video: 16:9 responsive (responsive-embeds desteğiyle; eski
   markup için de güvence) */
.entry-content .wp-block-embed{margin:28px 0}
/* Çekirdek responsive-embeds oran sınıfı (wp-has-aspect-ratio) VARSA işi
   çekirdek CSS yapar; bu güvence yalnızca sınıfsız eski markup için —
   ikisi birden uygulanırsa yükseklik ikiye katlanıyor. */
.entry-content .wp-block-embed.is-type-video:not(.wp-has-aspect-ratio) .wp-block-embed__wrapper{
  position:relative;padding-top:56.25%;
}
.entry-content .wp-block-embed.is-type-video:not(.wp-has-aspect-ratio) .wp-block-embed__wrapper iframe{
  position:absolute;inset:0;width:100%;height:100%;
}

/* Dosya bloğu: sunum PDF'leri */
.entry-content .wp-block-file{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background-color:var(--card-bg-color);border:1px solid var(--card-border);
  border-radius:.4rem;padding:.8rem 1rem;margin:20px 0;
}
.entry-content .wp-block-file a:first-child{font-weight:600}
.entry-content .wp-block-file .wp-block-file__button{
  background-color:var(--brand-blue);color:#fff;border-radius:.3rem;
  padding:.4rem 1rem;font-size:.88rem;font-weight:600;text-decoration:none;
}
.entry-content .wp-block-file .wp-block-file__button:hover{background-color:#666;color:#fff;text-decoration:none}

/* ============ ASTRA İÇERİK ALANI UYUMU ============
   Astra konteynerlere kendi (sabit) arka planını, .entry-content başlık ve
   bağlantılarına kendi rengini basar; inline CSS'i bizden önce yüklense de
   seçici özgüllüğü yüksek. Zeminleri şeffaflaştırıp body değişkenine bırakıyor,
   içerik renklerini değişken sistemine bağlıyoruz — koyu tema ancak böyle çalışır. */
.site-content,#content,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .comments-area{background-color:transparent}
/* Tekil yazıda Astra makale kartını (0,3,0) özgüllükle basar
   (.ast-article-single:not(.ast-related-post)) — aynı seçiciyle eziyoruz. */
.ast-separate-container .ast-article-single:not(.ast-related-post),
.ast-separate-container .ast-article-post:not(.ast-related-post){background-color:transparent}
.entry-content h1,.entry-content h2{color:var(--h1h2-color)}
.entry-content h3,.entry-content h4,
.entry-content h5,.entry-content h6{color:var(--h-fg-color)}
.entry-content p,.entry-content li,
.entry-content td,.entry-content th,
.entry-content figcaption{color:var(--body-fg-color)}
/* Astra .ast-single-post .entry-content a'yı (0,2,1) daimi çizgili basar;
   aynı özgüllükte, daha sonra gelen kuralla eziyoruz. */
.entry-content a,
.ast-single-post .entry-content a{color:var(--a-fg-color);text-decoration:none}
/* Butonlar ve sayfalama kutuları muaf: Astra `ast-single-post` sınıfını
   SAYFALARA da bastığından bu yüksek özgüllüklü kural, buton/sayfalama
   çizgisizlik kurallarını eziyordu. */
.entry-content a:hover:not(.elementor-button):not(.btn):not(.page-numbers),
.entry-content a:focus-visible:not(.elementor-button):not(.btn):not(.page-numbers),
.ast-single-post .entry-content a:hover:not(.elementor-button):not(.btn):not(.page-numbers),
.ast-single-post .entry-content a:focus-visible:not(.elementor-button):not(.btn):not(.page-numbers){color:var(--a-highlight-fg-color);text-decoration:underline;text-underline-offset:3px}

/* Elementor içerik linkleri de aynı davranışta */
.elementor-widget-text-editor a,
.elementor-widget-heading a{text-decoration:none}
.elementor-widget-text-editor a:hover,.elementor-widget-text-editor a:focus-visible,
.elementor-widget-heading a:hover,.elementor-widget-heading a:focus-visible{text-decoration:underline;text-underline-offset:3px}

/* ============ BUTONLAR ============ */
.btn{
  display:inline-block;padding:.55rem 1.4rem;border-radius:.3rem;
  font-size:.95rem;font-weight:600;border:1px solid transparent;cursor:pointer;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease;
}
.btn,.btn:hover,.btn:focus,.btn:focus-visible{text-decoration:none}
.btn-brand{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}
.btn-brand:hover{background:#666;border-color:#666;color:#fff}
.btn-primary{background:var(--btn-primary-bg-color);border-color:var(--btn-primary-bg-color);color:var(--btn-primary-fg-color)}
.btn-primary:hover{opacity:.85;color:var(--btn-primary-fg-color)}
.btn-default{background:var(--body-bg-color);border-color:var(--card-border);color:var(--a-fg-color)}
.btn-default:hover{color:var(--text-emphasis);border-color:var(--a-fg-color)}
.btn-onbrand{background:#fff;border-color:#fff;color:var(--brand-blue)}
.btn-onbrand:hover{background:transparent;color:#fff}

/* Elementor butonlarında HİÇBİR durumda alt çizgi olmasın: buton zaten
   görsel olarak tıklanabilir. Global a:hover{underline} (0,1,1) çıplak
   .elementor-button'ı (0,1,0) hover'da eziyordu — (0,2,0)+ ile kapatıyoruz. */
.elementor-button,a.elementor-button,
.elementor-button:hover,a.elementor-button:hover,
.elementor-button:focus,a.elementor-button:focus,
.elementor-button:focus-visible,a.elementor-button:focus-visible,
.elementor-widget-button a,.elementor-widget-button a:hover,
.elementor-widget-button a:focus,.elementor-widget-button a:focus-visible{text-decoration:none}

/* İletişim: mail butonu */
.elementor-widget-button .elementor-button.pgtr-btn-mail,
.elementor-widget-button .elementor-button.pgtr-btn-mail:hover{
  text-decoration:none;
}
.pgtr-btn-mail .elementor-button-text{font-weight:600}

/* ============ ELEMENTOR BUTON RENK SINIFLARI ============
   Elementor Button widget'ına .btn/.btn-brand VERİLMEZ: .elementor-button'ın
   kendi padding'i üstüne .btn'nin padding'i binip butonu şişirir.
   Bu sınıflar SADECE renk + border-radius verir; padding/font-size YOK —
   boyutlandırma Elementor kontrollerinde kalır.
   İki seçici biçimi: sınıf Advanced > CSS Classes ile widget SARMALAYICISINA
   gelir (ilk biçim); anchor'a elle eklenmişse ikinci biçim yakalar. */
.elementor-widget-button.pgtr-btn-brand .elementor-button,
.elementor-widget-button .elementor-button.pgtr-btn-brand{
  background-color:var(--brand-blue);color:#fff;border-radius:.3rem;text-decoration:none;
}
.elementor-widget-button.pgtr-btn-brand .elementor-button:hover,
.elementor-widget-button.pgtr-btn-brand .elementor-button:focus,
.elementor-widget-button .elementor-button.pgtr-btn-brand:hover,
.elementor-widget-button .elementor-button.pgtr-btn-brand:focus{
  background-color:#666;color:#fff;
}

.elementor-widget-button.pgtr-btn-default .elementor-button,
.elementor-widget-button .elementor-button.pgtr-btn-default{
  background-color:var(--body-bg-color);color:var(--a-fg-color);
  border:1px solid var(--card-border);border-radius:.3rem;text-decoration:none;
}
.elementor-widget-button.pgtr-btn-default .elementor-button:hover,
.elementor-widget-button.pgtr-btn-default .elementor-button:focus,
.elementor-widget-button .elementor-button.pgtr-btn-default:hover,
.elementor-widget-button .elementor-button.pgtr-btn-default:focus{
  color:var(--text-emphasis);border-color:var(--a-fg-color);
  background-color:var(--body-bg-color);
}

.elementor-widget-button.pgtr-btn-onbrand .elementor-button,
.elementor-widget-button .elementor-button.pgtr-btn-onbrand{
  background-color:#fff;color:var(--brand-blue);border:1px solid #fff;border-radius:.3rem;text-decoration:none;
}
.elementor-widget-button.pgtr-btn-onbrand .elementor-button:hover,
.elementor-widget-button.pgtr-btn-onbrand .elementor-button:focus,
.elementor-widget-button .elementor-button.pgtr-btn-onbrand:hover,
.elementor-widget-button .elementor-button.pgtr-btn-onbrand:focus{
  background-color:transparent;color:#fff;
}

/* ============ NAVBAR (tam genişlik — postgres.ca gibi; kaynak: mockup) ============ */
#mainNav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background-color:var(--navbar-bg-color);
  box-shadow:0 2px 8px var(--navbar-sdw-color);
  transition:background-color .2s ease;
}
body.admin-bar #mainNav{top:32px}
@media screen and (max-width:782px){body.admin-bar #mainNav{top:46px}}

/* .wrap YOK — logo sol kenara, menü sağ kenara yapışsın */
.navbar-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;height:56px;padding:0 16px;width:100%;flex-wrap:nowrap;
}
.navbar-brand{
  display:flex;align-items:center;gap:9px;
  /* flex:none DEĞİL: dar ekranda marka küçülebilmeli, yoksa hamburger
     sağdan taşıp erişilmez oluyor (360px altı hatası). Metin sığmazsa kırpılır. */
  flex:0 1 auto;min-width:0;overflow:hidden;
  color:var(--h-fg-color);font-weight:700;font-size:1rem;white-space:nowrap;
}
.navbar-brand:hover{text-decoration:none;color:var(--h-fg-color)}
.navbar-logo{height:34px;width:auto;display:block;flex:none}

.navbar-right{display:flex;align-items:center;gap:18px;flex:none}
#pgNavbar ul{display:flex;align-items:center;gap:18px;list-style:none;flex-wrap:nowrap;margin:0;padding:0}
#pgNavbar a{color:var(--a-fg-color);font-weight:600;font-size:.92rem;white-space:nowrap}
/* Menüde hiçbir durumda alt çizgi yok. Hover: açıkta siyah, koyuda beyaz
   (--text-emphasis tam bu çift). Aktif sayfa için kalıcı vurgu YOK — istenmedi. */
#pgNavbar a,#pgNavbar a:hover,#pgNavbar a:focus,#pgNavbar a:focus-visible,
#pgNavbar .current-menu-item > a{text-decoration:none}
#pgNavbar a:hover{color:var(--text-emphasis)}

/* Tarayıcı varsayılanları + Astra'nın genel `button` kuralları (padding,
   arka plan, satır yüksekliği) sıfırlanır; kare 34px, ikon tam ortada. */
.theme-toggle{
  appearance:none;-webkit-appearance:none;
  box-sizing:border-box;
  width:34px;height:34px;min-width:34px;padding:0;margin:0;
  flex:none;
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent;
  border:1px solid var(--card-border);
  border-radius:5px;
  color:var(--a-fg-color);
  cursor:pointer;line-height:0;
  transition:background-color .15s ease,border-color .15s ease;
}
.theme-toggle svg{display:block;width:17px;height:17px;flex:none}
.theme-toggle:hover{background:var(--secondary-bg-color);border-color:var(--a-fg-color);color:var(--text-emphasis)}
.theme-toggle:focus-visible{outline:2px solid var(--a-fg-color);outline-offset:2px}
html:not([data-theme="dark"]) .icon-moon{display:none}
[data-theme="dark"] .icon-sun{display:none}

.navbar-right .btn{padding:.4rem 1rem;font-size:.88rem}

/* Mobil hamburger — sadece CSS, JS yok (mockup #navToggle yapısı) */
#navToggle{position:absolute;opacity:0;pointer-events:none}
.hamburger{
  display:none;width:36px;height:34px;flex:none;cursor:pointer;
  border:1px solid var(--card-border);border-radius:5px;
  place-items:center;color:var(--a-fg-color);
}
.hamburger span{
  display:block;width:17px;height:2px;background:currentColor;position:relative;
  transition:background .15s ease;
}
.hamburger span::before,.hamburger span::after{
  content:"";position:absolute;left:0;width:17px;height:2px;background:currentColor;
  transition:transform .18s ease,top .18s ease;
}
.hamburger span::before{top:-5px}
.hamburger span::after{top:5px}
#navToggle:checked ~ .navbar-right .hamburger span{background:transparent}
#navToggle:checked ~ .navbar-right .hamburger span::before{top:0;transform:rotate(45deg)}
#navToggle:checked ~ .navbar-right .hamburger span::after{top:0;transform:rotate(-45deg)}
#navToggle:focus-visible ~ .navbar-right .hamburger{outline:2px solid var(--a-fg-color);outline-offset:3px}

/* Menü 7 öğe — 1120px altında hamburger'a düş */
@media (max-width:1120px){
  .hamburger{display:grid}
  #pgNavbar{
    position:absolute;top:56px;left:0;right:0;
    background:var(--navbar-bg-color);
    box-shadow:0 8px 16px var(--navbar-sdw-color);
    max-height:0;overflow:hidden;transition:max-height .22s ease;
  }
  #pgNavbar ul{flex-direction:column;align-items:stretch;gap:0;padding:.5rem 0}
  #pgNavbar li{border-bottom:1px solid var(--card-border)}
  #pgNavbar li:last-child{border-bottom:0}
  #pgNavbar a{display:block;padding:.8rem 1.25rem;font-size:.95rem}
  #navToggle:checked ~ .navbar-right #pgNavbar{max-height:70vh;overflow:auto}
}
@media (max-width:520px){
  .navbar-brand{font-size:.9rem}
  .navbar-right{gap:10px}
  .navbar-right .btn{padding:.35rem .7rem;font-size:.82rem}
}
@media (max-width:480px){
  /* Dar telefon: "Üye ol" çubuktan kalkar (menüdeki Dernek Üyeliği erişimi
     sağlar) — hamburger her genişlikte görünür kalır. */
  .navbar-right .btn{display:none}
  .navbar-right{gap:8px}
  .navbar-brand{font-size:.85rem}
  .navbar-inner{padding:0 12px;gap:10px}
}

/* ============ TOP ALERT ============ */
.topalert,.pgtr-topalert{
  background-color:var(--brand-blue);color:var(--topalert-text);
  text-align:center;padding:.7rem 1.5rem;font-size:.95rem;
}
.topalert a,.pgtr-topalert a{color:var(--topalert-text);font-weight:700;text-decoration:underline}
.topalert a:hover,.pgtr-topalert a:hover{color:var(--topalert-link-hover)}

/* ============ BÖLÜM ARKA PLANLARI (Elementor: Advanced > CSS Classes) ============ */
.pgtr-bg-primary{background-color:var(--primary-bg-color)}
.pgtr-bg-secondary{background-color:var(--secondary-bg-color)}
.pgtr-bg-brand,.pgtr-brand-bg{background-color:var(--brand-blue);color:#fff}
.pgtr-bg-brand h1,.pgtr-bg-brand h2,.pgtr-bg-brand h3,.pgtr-bg-brand h4,
.pgtr-brand-bg h1,.pgtr-brand-bg h2,.pgtr-brand-bg h3,.pgtr-brand-bg h4,
.pgtr-bg-brand .elementor-widget-heading h1.elementor-heading-title,
.pgtr-bg-brand .elementor-widget-heading h2.elementor-heading-title,
.pgtr-brand-bg .elementor-widget-heading h1.elementor-heading-title,
.pgtr-brand-bg .elementor-widget-heading h2.elementor-heading-title{color:#fff}
.pgtr-bg-brand p,.pgtr-brand-bg p{color:rgba(255,255,255,.9)}
.pgtr-bg-brand a,.pgtr-brand-bg a{color:#fff;text-decoration:none}
.pgtr-bg-brand a:hover,.pgtr-brand-bg a:hover,
.pgtr-bg-brand a:focus-visible,.pgtr-brand-bg a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.pgtr-hero-gradient{
  background-image:var(--hp-banner-bg-image);
  background-size:var(--hp-banner-bg-size);
  background-position:center;
}
/* Bölüm bandı (postgres.ca'nın --banner-bg-color'ı): açıkta soluk mavi, koyuda #111.
   .e-con/.elementor-element bileşimleri (0,2,0): Elementor konteynerinde de kazanır —
   yeter ki bölüme Elementor'dan ayrıca arka plan seçilmesin. */
.pgtr-bg-banner,
.e-con.pgtr-bg-banner,
.elementor-element.pgtr-bg-banner{background-color:var(--banner-bg-color)}
/* Hero + bant başlıkları da site geneli ana başlık rengini kullanır. */
.pgtr-bg-banner h1,.pgtr-bg-banner h2,
.e-con.pgtr-bg-banner h1.elementor-heading-title,
.e-con.pgtr-bg-banner h2.elementor-heading-title,
.pgtr-hero-gradient h1,.pgtr-hero-gradient h2,
.e-con.pgtr-hero-gradient h1.elementor-heading-title,
.e-con.pgtr-hero-gradient h2.elementor-heading-title{color:var(--h1h2-color)}
.pgtr-bg-banner p{color:var(--body-fg-color)}

/* Bant içi görsel (postgres.ca tarzı): bandın yüksekliği sabit kalır,
   görsel alta hizalanır, taşan kısım kırpılır. Dış bant: pgtr-bg-banner,
   görsel sütunu: pgtr-banner-media. */
.pgtr-bg-banner,
.e-con.pgtr-bg-banner,
.elementor-element.pgtr-bg-banner{
  overflow:hidden;
  position:relative;
  min-height:185px;
}
/* KIRPMA STRATEJİSİ: görsel DOĞAL boyutunda kalır (yüzde-yükseklik zinciri
   yok — gerçek Elementor markup'ında .elementor-widget-image/figure
   bulunmayabiliyor, zincir kırılıyor). Sabit yükseklikli, overflow:hidden
   sütun kırpar; dikey odak translateY ile ayarlanır.
   Sütun ABSOLUTE: akışta kalsa doğal boyutlu görsel bandı büyütürdü. */
/* Pozitif değer görseli AŞAĞI kaydırır → görünen pencere görselin üstüne çıkar
   (görsel alta hizalı olduğundan başı göstermek için pozitif gerekir).
   124px = görsel üstü bant üstüyle hizalı; ayaklar alt kenarda kesilir. */
:root{--banner-img-shift:100px}
.pgtr-banner-media,
.e-con.pgtr-banner-media{
  position:absolute;right:0;bottom:0;
  height:100%;
  align-self:stretch;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  padding:0; /* Elementor konteynerinin varsayılan 10px padding'i görseli banttan koparıyordu */
}
/* Ara sarmalayıcı ne olursa olsun (div.elementor-element, widget, figure)
   sütun genişliğini alsın ki img width:100% doğru çözülsün */
.pgtr-banner-media > div,
.pgtr-banner-media .elementor-widget-image{width:100%;margin:0}
.pgtr-banner-media figure{margin:0;line-height:0}
.pgtr-banner-media img,
.pgtr-banner-media .elementor-widget-image img{
  width:100%;
  height:auto;
  max-width:none;
  display:block;
  transform:translateY(var(--banner-img-shift, 0px));
}
@media (max-width:768px){
  /* Dar ekranda fil metni ezer; gizlemek daha temiz.
     (0,2,0): Elementor'un sonradan gelen .e-con{display:flex} kuralını ezer. */
  .pgtr-banner-media,
  .e-con.pgtr-banner-media{display:none}
}

.pgtr-separator{width:100%;height:2px;background-color:var(--separator-line-color);margin:0 auto 2.5rem;max-width:200px}

/* ============ KOYU ZEMİN ÜSTÜ METİN (pgtr-on-dark) ============
   Arka plan görseli + overlay'li bölümlerde zemin HER İKİ temada da koyu;
   metin tema değişkeninden gelirse açık temada gri kalıp okunmuyor.
   Bu sınıf temadan BAĞIMSIZ beyaz metin verir. Widget'a ya da konteynere
   verilebilir; Elementor/tema kurallarını özgüllükle ezer, !important yok. */
:root{--on-dark-text:#fff;--on-dark-link:#9DC3E0}
.pgtr-on-dark,
.pgtr-on-dark p,
.pgtr-on-dark h1,
.pgtr-on-dark h2,
.pgtr-on-dark h3,
.pgtr-on-dark li,
.entry-content .pgtr-on-dark p,
.entry-content .pgtr-on-dark li,
.elementor-widget-text-editor.pgtr-on-dark p,
.elementor-widget-heading.pgtr-on-dark .elementor-heading-title,
.pgtr-on-dark h1.elementor-heading-title,
.pgtr-on-dark h2.elementor-heading-title,
.pgtr-on-dark h3.elementor-heading-title,
.e-con.pgtr-on-dark .elementor-heading-title{
  color:var(--on-dark-text);
}
.pgtr-on-dark a,
.entry-content .pgtr-on-dark a,
.ast-single-post .entry-content .pgtr-on-dark a{
  color:var(--on-dark-link);
  text-decoration:none;
}
.pgtr-on-dark a:hover,
.pgtr-on-dark a:focus-visible,
.entry-content .pgtr-on-dark a:hover,
.ast-single-post .entry-content .pgtr-on-dark a:hover:not(.elementor-button):not(.btn),
.ast-single-post .entry-content .pgtr-on-dark a:focus-visible:not(.elementor-button):not(.btn){
  color:var(--on-dark-text);
  text-decoration:underline;text-underline-offset:3px;
}

/* ============ KART (Elementor) ============ */
.pgtr-card{
  background-color:var(--card-bg-color);
  border:1px solid var(--card-border);border-radius:.5rem;
  padding:1.75rem;display:flex;flex-direction:column;height:100%;text-align:left;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.pgtr-card:hover{
  transform:translateY(-3px);
  border-color:var(--brand-blue);
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
[data-theme="dark"] .pgtr-card:hover{
  box-shadow:0 6px 18px rgba(0,0,0,.35);
}
.pgtr-bg-secondary .pgtr-card{background-color:var(--primary-bg-color)}
/* Kart satırı: Elementor'da kartları saran konteynere verilir —
   çocuk kartlar eşit yüksekliğe gerilir, "Devamı" linkleri aynı hizaya oturur. */
.e-con.pgtr-card-row{align-items:stretch}

/* Görselli kart varyantı (pgtr-kart-gorselli): kart 3'lü SÜTUN düzeninde
   kalır, karta eklenen Image widget'ı içeride SOLDA 96px sütun olur,
   başlık/metin/link sağında akar. Satırlar: başlık auto, metin 1fr (kalan
   alanı yutar), link auto → link kart dibine yapışır, üç kartta aynı hizada.
   Sınıfsız kartlar etkilenmez. */
.pgtr-card.pgtr-kart-gorselli{
  display:grid;
  grid-template-columns:96px 1fr;
  grid-template-rows:auto 1fr auto;
  column-gap:1rem;
  align-items:start;
}
.pgtr-card.pgtr-kart-gorselli > .elementor-widget-image,
.pgtr-card.pgtr-kart-gorselli > .e-con .elementor-widget-image{
  grid-column:1;grid-row:1 / -1;margin:0;
}
.pgtr-card.pgtr-kart-gorselli > *:not(.elementor-widget-image){grid-column:2}
.pgtr-card.pgtr-kart-gorselli .elementor-widget-image img{
  width:100%;height:auto;display:block;border-radius:.4rem;
}
@media (max-width:700px){
  .pgtr-card.pgtr-kart-gorselli{grid-template-columns:72px 1fr}
}
.pgtr-card h3{margin-bottom:.75rem}
.pgtr-card p{font-size:.95rem;flex:1}
.pgtr-card .pgtr-more{margin-top:1rem;font-weight:600;font-size:.9rem;align-self:flex-start;transition:transform .2s ease}
.pgtr-card:hover .pgtr-more{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){
  .pgtr-card{transition:none}
  .pgtr-card:hover{transform:none}
  .pgtr-card:hover .pgtr-more{transform:none}
}

/* ============ HABER LİSTESİ ([pgtr_haberler]) ============
   Eski sitedeki gibi DÜZ liste: kutu/çerçeve/gölge yok; haberler yalnızca
   ince yatay çizgiyle ayrılır (son haberde çizgi yok). */
.pgtr-haberler{max-width:900px;margin:0 auto;text-align:left}
.pgtr-haber{
  display:grid;grid-template-columns:180px 1fr;gap:24px;
  align-items:start;
  padding:28px 0;
  background:none;border:0;
  border-bottom:1px solid var(--separator-line-color);
}
.pgtr-haber:last-child{border-bottom:0;padding-bottom:0}
.pgtr-haber:first-child{padding-top:0}
.pgtr-haber-gorselsiz{grid-template-columns:1fr}
.pgtr-haber-gorsel{
  display:block;width:180px;background:transparent;
  border-radius:3px;overflow:visible;aspect-ratio:auto;
  box-shadow:0 0 0 0 rgba(51,103,145,0);
  transition:box-shadow .25s ease,transform .25s ease;
}
.pgtr-haber-gorsel img{width:100%;height:auto;display:block;object-fit:contain;border-radius:3px}
/* Satır hover/focus'unda görsele halka çerçeve: içte 4px zemin rengi nefes payı,
   dışta 1px marka mavisi. box-shadow layout kaydırmaz (border kaydırırdı).
   Görselsiz satırlarda .pgtr-haber-gorsel öğesi hiç basılmadığından bu
   kurallar orada eşleşecek öğe bulamaz; yalnızca başlık çizgisi çalışır. */
.pgtr-haber:hover .pgtr-haber-gorsel,
.pgtr-haber:focus-within .pgtr-haber-gorsel{
  box-shadow:0 0 0 4px var(--card-bg-color),
             0 0 0 5px var(--brand-blue),
             0 6px 16px rgba(0,0,0,.12);
  transform:translateY(-2px);
}
[data-theme="dark"] .pgtr-haber:hover .pgtr-haber-gorsel,
[data-theme="dark"] .pgtr-haber:focus-within .pgtr-haber-gorsel{
  box-shadow:0 0 0 4px var(--card-bg-color),
             0 0 0 5px var(--primary),
             0 6px 16px rgba(0,0,0,.4);
}
.pgtr-haber h3{font-size:1.15rem;font-weight:600;margin-bottom:.4rem;line-height:1.35}
.pgtr-haber h3 a{color:var(--text-emphasis);text-decoration:none;transition:color .2s ease}
.pgtr-haber:hover h3 a,
.pgtr-haber:focus-within h3 a{text-decoration:underline;text-underline-offset:3px}
.pgtr-haber h3 a:hover{color:var(--a-highlight-fg-color)}
@media (prefers-reduced-motion:reduce){
  .pgtr-haber-gorsel{transition:none}
  .pgtr-haber:hover .pgtr-haber-gorsel,
  .pgtr-haber:focus-within .pgtr-haber-gorsel{transform:none}
}
.pgtr-haber p{font-size:.92rem;margin:0}
.pgtr-haber-alt{display:flex;gap:16px;align-items:center;margin-top:10px}
.pgtr-haber .pgtr-date{font-style:italic;font-weight:400;color:var(--body-fg-color);opacity:.7}
.pgtr-arsiv-bolum-baslik{margin:48px 0 20px;text-align:center}
.pgtr-arsiv-bolum-baslik:first-of-type{margin-top:8px}
.pgtr-haber .pgtr-more{font-weight:400}
.pgtr-date{color:var(--primary);font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums}
.pgtr-more{font-weight:600;font-size:.9rem;align-self:flex-start;text-decoration:none}
.pgtr-more:hover,.pgtr-more:focus-visible{text-decoration:underline;text-underline-offset:3px}
@media (max-width:700px){
  .pgtr-haber{grid-template-columns:1fr}
  .pgtr-haber-gorsel{width:100%;max-width:220px}
}

/* ============ KARTLI ETKİNLİK LİSTESİ ============
   Ana sayfadaki Elementor listesi (.e-con altı) ve /etkinlikler/ arşivi
   (.pgtr-haber-arsivi) AYNI kart diliyle basar. Değerler .pgtr-card ile birebir. */
.e-con .pgtr-haberler,
.pgtr-haber-arsivi .pgtr-haberler{display:grid;gap:1.2rem}
.e-con .pgtr-haber,
.pgtr-haber-arsivi .pgtr-haber{
  background-color:var(--card-bg-color);
  border:1px solid var(--card-border);
  border-radius:.5rem;
  padding:1.5rem 1.6rem;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.pgtr-bg-secondary .pgtr-haber{background-color:var(--primary-bg-color)}
.e-con .pgtr-haber:first-child,
.pgtr-haber-arsivi .pgtr-haber:first-child{padding-top:1.5rem}
.e-con .pgtr-haber:last-child,
.pgtr-haber-arsivi .pgtr-haber:last-child{border-bottom:1px solid var(--card-border);padding-bottom:1.5rem}
.e-con .pgtr-haber:hover,
.pgtr-haber-arsivi .pgtr-haber:hover{
  transform:translateY(-3px);
  border-color:var(--brand-blue);
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
[data-theme="dark"] .e-con .pgtr-haber:hover,
[data-theme="dark"] .pgtr-haber-arsivi .pgtr-haber:hover{
  box-shadow:0 6px 18px rgba(0,0,0,.35);
}
@media (prefers-reduced-motion:reduce){
  .e-con .pgtr-haber,.pgtr-haber-arsivi .pgtr-haber{transition:none}
  .e-con .pgtr-haber:hover,.pgtr-haber-arsivi .pgtr-haber:hover{transform:none}
}

/* ============ SAYFALAMA ([pgtr_haberler sayfalama="1"]) ============ */
/* Sayfa geçişindeki #haberler çapası: sabit navbar (56px) + nefes payı kadar
   yukarıda dursun ki liste navbar'ın altında kalmasın. */
#haberler,#etkinlikler{scroll-margin-top:76px}
.pgtr-sayfalama ul{display:flex;gap:6px;justify-content:center;
  list-style:none;padding:0;margin:32px 0 0}
.pgtr-sayfalama a,.pgtr-sayfalama span{
  display:grid;place-items:center;
  min-width:32px;height:32px;padding:0 8px;
  border:1px solid var(--card-border);border-radius:3px;
  font-size:.9rem;font-weight:600;
  color:var(--a-fg-color);text-decoration:none;
  transition:background-color .15s ease,border-color .15s ease;
}
.pgtr-sayfalama a:hover{
  background:var(--card-bg-color);border-color:var(--brand-blue);
  text-decoration:none;
}
.pgtr-sayfalama a:focus-visible{
  outline:2px solid var(--a-fg-color);outline-offset:2px;text-decoration:none;
}
.pgtr-sayfalama .current{
  background:var(--brand-blue);border-color:var(--brand-blue);color:#fff;
}
.pgtr-sayfalama .dots{border-color:transparent}

/* ============ ETKİNLİK SATIRI ([pgtr_etkinlikler] shortcode / Elementor) ============ */
.pgtr-etkinlikler{display:grid;gap:.9rem;max-width:830px;margin:0 auto;text-align:left}
.pgtr-event-row{
  display:grid;grid-template-columns:80px 1fr auto;gap:1.4rem;align-items:center;
  background-color:var(--card-bg-color);border:1px solid var(--card-border);
  border-left:4px solid var(--brand-blue);border-radius:.5rem;padding:1.1rem 1.4rem;text-align:left;
}
.pgtr-bg-secondary .pgtr-event-row{background-color:var(--primary-bg-color)}
.pgtr-event-day{text-align:center;line-height:1.15}
.pgtr-event-day .d{font-size:1.6rem;font-weight:700;color:var(--primary);display:block}
.pgtr-event-day .m{font-size:.78rem;opacity:.75;text-transform:uppercase;letter-spacing:.07em}
.pgtr-event-row h3{font-size:1.05rem;color:var(--text-emphasis);margin-bottom:.1rem}
.pgtr-event-where{font-size:.9rem;opacity:.8}
.pgtr-event-cta{font-weight:600;font-size:.9rem;white-space:nowrap}

/* ============ KİŞİ KARTI ([pgtr_yonetim_kurulu] shortcode / Elementor) ============ */
.pgtr-board{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;text-align:left}
.pgtr-person{
  background-color:var(--board-bg);border:1px solid var(--card-border);
  border-radius:.5rem;padding:1.6rem;text-align:left;height:100%;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
/* Hover: .pgtr-card ile birebir aynı değerler — iki kart tipi tutarlı davranır */
.pgtr-person:hover{
  transform:translateY(-3px);
  border-color:var(--brand-blue);
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
[data-theme="dark"] .pgtr-person:hover{
  box-shadow:0 6px 18px rgba(0,0,0,.35);
}
.pgtr-person .pgtr-avatar{transition:border-color .2s ease}
.pgtr-person:hover .pgtr-avatar{border-color:var(--primary)}
@media (prefers-reduced-motion:reduce){
  .pgtr-person{transition:none}
  .pgtr-person:hover{transform:none}
}
.pgtr-person-head{display:flex;align-items:center;gap:.9rem;padding-bottom:1rem;border-bottom:1px solid var(--card-border);margin-bottom:1rem}
.pgtr-avatar{
  width:58px;height:58px;border-radius:50%;flex:none;overflow:hidden;
  background:var(--primary-soft);border:2px solid var(--brand-blue);
  display:grid;place-items:center;color:var(--primary);font-weight:700;font-size:1rem;
}
.pgtr-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.pgtr-person h3{font-size:1.05rem;color:var(--text-emphasis)}
.pgtr-role{font-size:.9rem;opacity:.75}
.pgtr-person p{font-size:.9rem;line-height:1.6}

/* ============ FOOTER ============ */
#footer{background-color:var(--card-bg-color);padding:3.5rem 0 2rem;text-align:center;font-size:.92rem}
.footer-brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--text-emphasis);font-weight:700;font-size:1.05rem}
.footer-logo{height:28px;width:auto;display:block;flex:none}
#footer .links{margin:1.4rem 0 1.5rem;display:flex;justify-content:center;gap:.5rem .35rem;flex-wrap:wrap;list-style:none;padding:0}
/* Footer menüsü: çizgi yok, hover renkle. (İstenen var(--white) sistemde
   tanımlı değil ve açık temada görünmez olurdu; vurgu rengi kullanılıyor.) */
#footer .links a,#footer .links a:hover,
#footer .links a:focus,#footer .links a:focus-visible{text-decoration:none}
#footer .links a:hover{color:var(--a-highlight-fg-color)}
#footer .links li:not(:last-child)::after{content:"|";color:var(--separator-line-color);margin-left:.6rem;margin-right:.25rem}
#footer .legal{border-top:1px solid var(--card-border);padding-top:1.4rem;margin-top:.5rem;line-height:1.6;font-size:.85rem}
#footer .legal .c{color:var(--text-emphasis);font-weight:700;margin-bottom:.35rem}

/* ============ RESPONSIVE ============ */
@media (max-width:960px){
  h1{font-size:1.9rem}h2{font-size:1.5rem}
  .pgtr-event-row{grid-template-columns:64px 1fr;gap:1rem}
  .pgtr-event-cta{grid-column:2;justify-self:start}
  .pgtr-board{grid-template-columns:1fr}
}
