/* Kart altı aksiyonlar (iki buton yan yana) */
.gsa-actions{
  display:flex; gap:.5rem; margin-top:.5rem;
}
.gsa-details-btn{
  background:#ffffff; color:#1f2937; border:1px solid #d4d7dd; border-radius:8px;
  padding:.6rem 1rem; cursor:pointer; transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.gsa-details-btn:hover{
  background:#f8fafc; border-color:#c9cdd4;
}

/* Detay modalı */
#gsa_detail_modal.gsa-modal{ /* mevcut .gsa-modal ile uyumlu */ }
.gsa-detail-content{
  position:relative; width:100%; max-width:840px; background:#fff; border-radius:12px;
  box-shadow:0 12px 34px rgba(0,0,0,.18); padding:22px; max-height:80vh; overflow:auto;
}
.gsa-detail-close{
  position:absolute; top:10px; right:14px; font-size:22px; cursor:pointer; color:#555;
}
.gsa-detail-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px;
  border-bottom:1px solid #eef0f3; padding-bottom:10px;
}
.gsa-detail-head h3{
  margin:0; font-size:18px; line-height:1.3;
}
.gsa-detail-link{
  display:inline-block; padding:.45rem .8rem; border:1px solid #d4d7dd; border-radius:8px; text-decoration:none; color:#1f2937;
}
.gsa-detail-link:hover{ background:#f8fafc; }

/* Detay grid (iki kolonlu) */
.gsa-detail-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:10px 18px;
}
@media (max-width: 700px){
  .gsa-detail-grid{ grid-template-columns:1fr; }
}
.gsa-detail-row{
  display:flex; gap:8px; align-items:flex-start; border-bottom:1px dashed #eef0f3; padding:8px 0;
}
.gsa-detail-row .lbl{
  min-width:180px; max-width:220px; color:#6b7280; font-weight:600; flex:0 0 auto;
}
.gsa-detail-row .val{
  color:#1f2937; line-height:1.5;
}
.gsa-detail-row .val p{ margin:.4rem 0; }




/* Filtre çubuğu */
.gsa-ajax-filter{
  display:flex; flex-wrap:wrap; gap:.75rem; align-items:center;
  margin:1rem 0 1.25rem 0;
}
.gsa-ajax-filter select,
.gsa-ajax-filter input[type="date"]{
  padding:.5rem .75rem; border:1px solid #d4d7dd; border-radius:6px; background:#fff;
}
.gsa-ajax-filter button{
  padding:.55rem 1rem; border:none; border-radius:6px; cursor:pointer;
  background:#1f2937; color:#fff; font-weight:600;
}
.gsa-ajax-filter button:hover{ background:#242627; }

/* Grid – 4 sütun */
.gsa-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:16px;
}
@media (max-width: 1100px){
  .gsa-grid{ grid-template-columns:repeat(3, 1fr); }
}
@media (max-width: 780px){
  .gsa-grid{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 520px){
  .gsa-grid{ grid-template-columns:1fr; }
}

/* Kart */
.gsa-card{
  background:#fff; border:1px solid #e2e4e7; border-radius:10px; overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
  display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease;
}
.gsa-card:hover{
  transform:translateY(-4px); box-shadow:0 8px 20px rgba(0,0,0,.1);
}
.gsa-card__image-wrap{ position:relative; width:100%; aspect-ratio:16/10; overflow:hidden;  display:none;}
.gsa-card__image{
  width:100%; height:100%; object-fit:cover; transition:transform .4s ease;
}
.gsa-card:hover .gsa-card__image{ transform:scale(1.05); }
.gsa-card__body{ padding:14px; display:flex; flex-direction:column; gap:10px; }
.gsa-card__title{ font-size:15px !important; line-height:1.35; margin:0; min-height:2.6em; }
.gsa-card__title a{ color:#1f2937; text-decoration:none; }
.gsa-card__title a:hover{ text-decoration:underline; }
.gsa-card__meta{
  display:flex; justify-content:space-between; gap:12px; font-size:.92rem; color:#444; border-top:1px solid #eef0f3; padding-top:10px;
}
.gsa-card__meta span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* Başvuru Butonu */
.gsa-apply-btn{
  margin-top:auto; align-self:flex-start;
  background:#1f2937; color:#fff; border:none; border-radius:8px;
  padding:.6rem 1rem; cursor:pointer; transition:background .2s ease;
}
.gsa-apply-btn:hover{ background:#242627; }

/* Boş / Hata / Yükleme */
.gsa-empty, .gsa-error { color:#444; padding:10px 0; }
.gsa-loading{
  width:100%; text-align:center; color:#1f2937; padding:30px 0; font-weight:600;
}

/* Modal */
.gsa-modal{
  position:fixed; inset:0; z-index:9999; display:none;
  background:rgba(0,0,0,.45); backdrop-filter:saturate(120%) blur(1px);
  align-items:center; justify-content:center; padding:16px;
}
.gsa-modal-content{
  position:relative; width:100%; max-width:420px; background:#fff; border-radius:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.18); padding:20px;
}
.gsa-close{
  position:absolute; top:10px; right:14px; font-size:22px; cursor:pointer; color:#555;
}
#gsa_application_form label{ display:block; font-weight:600; margin:.8rem 0 .35rem; }
#gsa_application_form input{
  width:100%; padding:.6rem .7rem; border:1px solid #d4d7dd; border-radius:8px; outline:none;
}
#gsa_application_form input:focus{ border-color:#1f2937; box-shadow:0 0 0 3px rgba(31,41,55,.12); }
#gsa_application_form button[type="submit"]{
  margin-top:1rem; background:#1f2937; color:#fff; border:none; border-radius:8px; padding:.7rem 1rem; cursor:pointer; font-weight:700;
}
#gsa_application_form button[type="submit"]:hover{ background:#242627; }
#gsa_app_response{ margin-top:.75rem; }
#gsa_app_response.ok{ color:#15803d; }
#gsa_app_response.err{ color:#b91c1c; }



/* Varsayılan: kapalı */
.gsa-modal{ 
  position: fixed; inset: 0; z-index: 9999;
  display: none;                      /* önemli: başlangıçta kapalı */
  background: rgba(0,0,0,.45);
  backdrop-filter: saturate(120%) blur(1px);
  align-items: center;                /* dikey ortalama */
  justify-content: center;            /* yatay ortalama */
  padding: 16px;
}

/* Açık durum sınıfı: flex ile tam ortala */
.gsa-modal.is-open{
  display: flex !important;           /* fadeIn'in block set etmesini ez */
}

/* İçerik için makul boyut ve taşma kontrolü */
.gsa-modal-content,
.gsa-detail-content{
  position: relative;
  width: 100%;
                /* detail modal için 840px ise onu koru */
  max-height: 80vh;
  overflow: auto;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 12px 34px rgba(0,0,0,.18);
  padding: 20px;
}

/* WP admin bar açıkken (giriş yapılmışsa) hafif aşağı kaydır */
html.admin-bar .gsa-modal.is-open{
  align-items: flex-start;
  padding-top: calc(32px + 16px);     /* admin bar + padding */
}

/* Küçük cihazlarda kenarlardan taşmayı engelle */
@media (max-width: 600px){
  .gsa-modal-content,
  .gsa-detail-content{
    max-width: 96vw;
    max-height: 86vh;
  }
}

