/* =======================
   RESET
======================= */
*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family:"Open Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:#fff;
  overflow-x:hidden;

  /* Page background image (BODY only) */
  background:#0b1b2a url("bg.png") center/cover no-repeat fixed;
}

/* =======================
   THEME
======================= */
:root{
  --wrap: 1040px;
  --navH: 65px;

  /* header band + fade */
  --bandH: 65px;     /* topbar height */
  --band: #08223a;
  /* fade height under header (make it tighter / end higher) */
  --fadeH: 20px;

  /* title block */
  --titleSize: 40px; /* a bit smaller than before */
  --titleTop: 24px;  /* distance from menu bar to title */
  --titleGap: 6px;

  /* search / panels spacing */
  --searchTop: 90px;
  --panelsTop: 70px;

  --panelGap: 18px;
  --panelRadius: 2px;

  --sand:#c6a264;
  --green:#92b96a;
  --blue:#3d6d84;

  --shadow: 0 14px 28px rgba(0,0,0,.22);
}

/* =======================
   HEADER (band + fade)
======================= */
.site-header{
  position:relative;
  background: var(--band);
  z-index: 10;
}

/* Fade into the body background (covers the "hard cut") */
.site-header::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height: var(--fadeH);
  transform: translateY(100%);
  background: linear-gradient(to bottom,
    rgba(8,34,58,1) 0%,
    rgba(8,34,58,.70) 25%,
    rgba(8,34,58,0) 100%
  );
  pointer-events:none;
  z-index: 2;
}

/* TOPBAR */
.topbar{
  position:relative;
  z-index:3;
  height: var(--bandH);   
  padding-top: 10px;
}
.topbar__inner{
  max-width: var(--wrap);
  margin:0 auto;
  height: var(--navH);
  padding: 14px 16px;
  display:flex;
  align-items:center;
  /* center logo + menu as one group */
  justify-content:center;
  gap:26px;
}

/* Brand (logo) */
.brand{ display:flex; align-items:center; text-decoration:none; margin-right: 10px; }
.brand__seal{
  width:70px; height:70px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.45);
  display:grid; place-items:center;
  background: rgba(0,0,0,.15);
  overflow:hidden;
}
.brand__seal img{
  width:100%; height:100%;
  object-fit: cover;
  display:block;
}

/* NAV */
.nav{
  display:flex;
  align-items:flex-end;
  gap:12px;
}
.nav__item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:110px;
  text-decoration:none;
  color: rgba(255,255,255,.95);
}
.nav__item i{
  font-size:24px;
  opacity:.95;
  transition: transform .15s ease;
}
.nav__item span{
  font-size:14px;
  line-height:1.05;
  white-space:nowrap;
  opacity:.95;
}
.nav__item:hover{ color:#fff; }
.nav__item:hover i{ transform: translateY(-1px); }

.flag{
  width: 26px; height: 26px;
  border-radius: 999px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(0,0,0,.10);
  display:grid; place-items:center;
}
.flag img{ width:100%; height:100%; object-fit: cover; display:block; }

/* TITLE AREA (under topbar) */
.header-title{
  position:relative;
  z-index: 3;
  max-width: var(--wrap);
  margin: 0 auto;
  padding: var(--titleTop) 16px 12px;
  text-align:center;
}

.hero__title{
  margin:0;
  line-height:1;
  text-shadow: 0 10px 22px rgba(0,0,0,.25);
}

.hero__titleMain{
  display:block;
  font-family:"Cormorant Garamond",serif;
  font-weight:600;
  text-transform: uppercase;
  letter-spacing: .10em;
  font-size: clamp(30px, 3.2vw, var(--titleSize));
}

.hero__titleSub{
  display:block;
  margin-top: var(--titleGap);
  font-family:"Cormorant Garamond",serif;
  font-weight:500;
  font-style: italic;
  letter-spacing:.22em;
  font-size: 16px;
  opacity:.88;
}

/* Big first letters per word (server-side spans) */
.hero__titleMain .w{
  display:inline-block;
  margin: 0 .18em;
}
.tcap{
  display:inline-block;
  font-size: 1.18em;
  transform: translateY(-0.02em);
}

/* =======================
   HERO (below header)
======================= */
.page{ position:relative; z-index:1; }
.hero{
  max-width: var(--wrap);
  margin: 0 auto;
  padding: var(--searchTop) 16px 110px; /* space under panels */
}

.search{
  width: min(520px, 92vw);
  margin: 0 auto;
  display:flex;
  align-items:stretch;
  border-radius:999px;
  overflow:hidden;
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
}
.search__input{
  flex:1;
  border:0;
  padding: 11px 16px;
  outline:none;
  font-size:14px;
  color:#1b1b1b;
  background:transparent;
}
.search__btn{
  border:0;
  padding: 0 18px;
  font-weight:700;
  cursor:pointer;
  color:#1b1b1b;
  background: rgba(255,255,255,.40);
}
.search__btn:hover{ background: rgba(255,255,255,.60); }

.panels{
  margin-top: var(--panelsTop);
  display:flex;
  justify-content:center;
  gap: var(--panelGap);
  align-items:stretch;
}

/* Panels */
.panel{
  width: 290px;
  border-radius: var(--panelRadius);
  overflow:hidden;
  box-shadow: var(--shadow);
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(3px);
}

.panel__head{
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 0 14px;
  letter-spacing:.10em;
  font-weight:700;
  font-size:12px;
  text-transform:uppercase;
}
.panel__head--sand{ background: var(--sand); color:#2a2218; }
.panel__head--green{ background: var(--green); color:#1b2a14; }
.panel__head--blue { background: var(--blue); color:#eaf3f8; }

.panel__tab{ position:relative; padding:0 10px; }
.panel__tab::before,
.panel__tab::after{
  content:"";
  position:absolute;
  top:50%;
  width:34px;
  height:1px;
  background: rgba(255,255,255,.45);
}
.panel__tab::before{ right: calc(100% + 10px); }
.panel__tab::after { left:  calc(100% + 10px); }

.panel__body{
  background: rgba(255,255,255,.70);
  color:#1a1a1a;
  padding:10px 0;
  min-height:180px;
}
.panel__foot{
  background: rgba(255,255,255,.55);
  text-align:center;
  padding:10px 0;
}
.panel__link{
  color: rgba(0,0,0,.72);
  text-decoration:none;
  font-weight:700;
  font-size:12px;
  letter-spacing:.06em;
}
.panel--events .panel__foot{ background: rgba(198,162,100,.90); }
.panel--events .panel__link{ color: rgba(25,20,15,.85); }

.row{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:10px;
  padding:10px 12px;
  border-top:1px solid rgba(0,0,0,.10);
}
.row:first-child{ border-top:0; }

.date{
  background: rgba(0,0,0,.12);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:10px 6px;
}
.day{ font-size:18px; font-weight:800; line-height:1; }
.mon{ font-size:11px; opacity:.85; letter-spacing:.08em; }

.txt .ttl{ font-size:13px; font-weight:700; line-height:1.15; }
.txt .sub{ font-size:11px; opacity:.80; margin-top:4px; }

.row--icon{ grid-template-columns:52px 1fr; align-items:center; }
.ico{ display:grid; place-items:center; font-size:18px; color: rgba(0,0,0,.55); }

.panel__media{
  background: rgba(255,255,255,.28);
  height: 248px;
  position:relative;
  padding:12px;
  color:#fff;
}
.mockSlide{
  position:relative;
  height:100%;
  background: rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.16);
}
.mockSlide__thumb{
  height: 128px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.02)),
    url("thumb.jpg") center/cover no-repeat;
}
.mockSlide__meta{ padding:10px 10px 0; }
.mockSlide__ttl{ font-weight:800; font-size:13px; line-height:1.2; }
.mockSlide__sub{ font-size:11px; opacity:.90; margin-top:6px; line-height:1.25; }
.dots{
  position:absolute;
  left: 0; right: 0; bottom: 8px;
  display:flex;
  justify-content:center;
  gap:6px;
}
.dots span{
  width:6px; height:6px;
  border-radius:999px;
  background: rgba(255,255,255,.35);
}
.dots span:nth-child(2){ background: rgba(255,255,255,.85); }

/* =======================
   RESPONSIVE
======================= */
@media (max-width: 980px){
  .nav{ gap:10px; }
  .nav__item{ min-width: 76px; }
  .nav__item span{ font-size:12px; }
  .hero{ padding-top: 26px; }
  .panels{
    flex-direction:column;
    align-items:center;
  }
  .panel{ width: min(520px, 92vw); }
}
@media (max-width: 620px){
  .nav{ display:none; }
  .hero__titleMain{ letter-spacing:.10em; }
}

/* --- DB integration additions --- */
.date--sm{ padding:8px 6px; }
.date--sm .day{ font-size:16px; }
.date--sm .mon{ font-size:10px; }

.ext{ color: rgba(0,0,0,.70); text-decoration:none; }
.ext:hover{ text-decoration:underline; }

.ttl--link{ display:inline-block; color:#1a1a1a; text-decoration:none; }
.ttl--link:hover{ text-decoration:underline; }

/* News slider */
.newsItem{ display:none; }
.newsItem.is-active{ display:block; }
.dots span.is-active{ background: rgba(255,255,255,.85); }


.link-item {
  display: flex;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  padding: 8px;
  border-radius: 6px;
  transition: background 0.2s ease, transform 0.2s ease;
}

.link-item:hover {
  background: rgba(0, 0, 0, 0.05);
  transform: translateY(-1px);
}

.featured-item img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 6px;
}


.panel__row--link {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  border-radius: 10px;
  padding: 8px 10px;
  transition: background .2s ease, transform .2s ease;
}

.panel__row--link:hover {
  background: rgba(0,0,0,.05);
  transform: translateY(-1px);
}

.featured-thumb {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 10px;
  flex: 0 0 64px;
}


.newsThumb{
  width: 84px;
  height: 84px;
  object-fit: cover;
  border-radius: 10px;
  flex: 0 0 84px;
  display:block;
}
.newsThumb--empty{
  width:84px;height:84px;border-radius:10px;
  background: rgba(0,0,0,.06);
  flex:0 0 84px;
}

/* =======================
   CONTENT PAGES (templates)
======================= */
.contentPage{
  max-width: var(--wrap);
  margin: 0 auto;
  padding: 34px 16px 90px;
}

.contentCard{
  background: rgba(255,255,255,.78);
  color:#1a1a1a;
  box-shadow: var(--shadow);
  border-radius: 2px;
  overflow:hidden;
}

.contentHead{
  padding: 16px 18px;
  background: rgba(255,255,255,.55);
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.contentTitle{
  margin:0;
  font-family:"Cormorant Garamond",serif;
  font-weight:600;
  letter-spacing:.06em;
  text-transform: uppercase;
  font-size: 20px;
  color:#122131;
}

.contentBody{
  padding: 18px;
  line-height:1.7;
  font-size: 14px;
}

.contentBody h2{
  margin: 18px 0 8px;
  font-family:"Cormorant Garamond",serif;
  font-weight:600;
  letter-spacing:.04em;
  font-size: 18px;
}

.lead{
  font-size: 14px;
  opacity:.9;
}

.hr{
  height:1px;
  background: rgba(0,0,0,.10);
  margin: 16px 0;
}

.grid2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 900px){
  .grid2{ grid-template-columns: 1fr; }
}

/* Images */
.figure{
  margin:0;
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 10px;
  overflow:hidden;
}
.figure img{
  width:100%;
  height:auto;
  display:block;
}
.figcap{
  padding: 10px 12px;
  font-size: 12px;
  opacity:.75;
}

/* Table */
.tableWrap{
  width:100%;
  overflow:auto;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  background:#fff;
}
.table{
  width:100%;
  border-collapse: collapse;
  min-width: 680px;
}
.table th, .table td{
  padding: 10px 12px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  font-size: 13px;
  text-align:left;
  white-space: nowrap;
}
.table th{
  background: rgba(8,34,58,.06);
  font-weight: 700;
}
.table tr:nth-child(even) td{ background: rgba(0,0,0,.015); }

/* Small chips */
.chip{
  display:inline-block;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 12px;
  background: rgba(8,34,58,.08);
}

/* Breadcrumb / mini top links */
.bcrumb{
  display:flex;
  gap:10px;
  align-items:center;
  font-size: 12px;
  opacity:.8;
}
.bcrumb a{ color: rgba(0,0,0,.70); text-decoration:none; }
.bcrumb a:hover{ text-decoration:underline; }



/* =======================
   HEADER: logo column spans menu + title (minimal HTML changes)
======================= */
.hdrWrap{
  max-width: var(--wrap);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 96px 1fr;
  column-gap: 14px;
  align-items: stretch; /* make left column as tall as right */
  padding: 0 16px;      /* move wrap padding here */
}

/* Right side uses existing blocks, but remove their max-width/margins */
.topbar__inner{
  max-width: none;
  margin: 0;
  padding: 14px 0;
  justify-content: center; /* keep center group */
}
.header-title{
  max-width: none;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
}

/* Left logo column */
.hdrLogo{
  display: flex;
  justify-content: center;
  /* align logo's TOP with nav/topbar content */
  padding-top: 10px; /* matches .topbar padding-top */
}

/* Slightly larger seal so bottom reaches closer to subtitle zone */
.hdrLogo .brand__seal{
  width: 100px;
  height: 100px;
}

/* On small screens: stack logo + title */
@media (max-width: 620px){
  .hdrWrap{ grid-template-columns: 1fr; }
}


/* =======================
   MOBILE DRAWER (hamburger)
   placed at END to override earlier @media rules
======================= */
.hamburger{
  display:none;
  position:absolute;
  top: 10px;
  right: 12px; /* move to left if you prefer */
  width: 46px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.08);
  border-radius: 12px;
  cursor:pointer;
  z-index: 1000;
}
.hamburger span{
  display:block;
  width: 22px;
  height: 2px;
  margin: 5px auto;
  background: rgba(255,255,255,.92);
  border-radius: 999px;
}

/* Drawer always on top of header/title */
.drawer{
  position: fixed;
  inset: 0;
  display:none;
  z-index: 2147483000; /* higher than .site-header (10) and .header-title (3) */
}
.drawer__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(2px);
}
.drawer__panel{
  position:absolute;
  top: 0;
  right: 0;
  width: min(92vw, 420px);
  height: 100%;
  background: #0b253b;
  box-shadow: -14px 0 28px rgba(0,0,0,.35);
  backdrop-filter: none;
  padding: 18px 16px;
  overflow:auto;
}
.drawer__head{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin-bottom: 10px;
}
.drawer__close{
  width: 44px;
  height: 40px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.08);
  color:#fff;
  border-radius: 12px;
  font-size: 26px;
  line-height: 1;
  cursor:pointer;
}

/* Mobile nav items */
.drawer__nav{
  display:flex;
  flex-direction:column;
  gap: 12px;
}
.drawer__nav a{
  display:flex;
  align-items:center;
  gap: 12px;
  padding: 14px 14px;
  border-radius: 18px;
  text-decoration:none;
  color: rgba(255,255,255,.95);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}
.drawer__nav a i,
.drawer__nav a .flag{ flex: 0 0 auto; }
.drawer__nav a span{ font-size: 16px; }

/* When open */
.is-drawer-open .drawer{ display:block; }
.is-drawer-open{ overflow:hidden; } /* helps prevent body scroll on iOS */

/* Mobile header layout asked: logo top-center, title under logo; hamburger above logo */
@media (max-width: 620px){
  /* show hamburger even though .nav is hidden by base css */
  .topbar__inner{ position: relative; }
  .hamburger{ display:block; }

  /* Put hamburger ABOVE logo (global top-right) */
  .hamburger{
    position: fixed;
    top: calc(env(safe-area-inset-top, 0px) + 10px);
    right: 12px; /* move to left if you prefer */
    z-index: 100000;
  }

  /* Logo under hamburger, centered */
  .hdrLogo{ justify-content: center; padding-top: 56px; }
  .header-title{ padding-top: 10px; }

  /* IMPORTANT: base css hides .nav; keep it hidden on mobile (drawer uses cloned items) */
  .nav{ display:none !important; }
}

/* =====================================================
   HOTFIX v4 – Drawer açıkken başlık/hero üstte görünmesin
   (iOS Safari stacking-context sorunlarına karşı)
   ===================================================== */
@media (max-width: 980px){
  .is-drawer-open .header-title,
  .is-drawer-open .hero,
  .is-drawer-open .site-header::after{
    opacity: 0 !important;
    visibility: hidden !important;
  }
  .is-drawer-open .site-header,
  .is-drawer-open .page{
    pointer-events: none !important;
  }
  .is-drawer-open .drawer,
  .is-drawer-open .drawer *{
    pointer-events: auto !important;
  }
  /* Panel tam opak: arkadaki yazılar görünmesin */
  .is-drawer-open .drawer__panel{
    background: #0b253b !important;
    backdrop-filter: none !important;
  }
}
/* =======================
   NEWS panel slider FIX (index.php: .newsSlide + .is-on)
======================= */

/* index.php "newsSlide" kullanıyor; mevcut css "newsItem" yazdığı için eşleştiriyoruz */
.newsSlide{ display:none; height:100%; }
.newsSlide.is-active{ display:block; }

/* index.php dot için "is-on" kullanıyor */
.dots span.is-on{ background: rgba(255,255,255,.85); }

/* Haber slaytının iç düzeni: görsel üstte tam genişlik */
.panel--news .newsSlideLink{
  display:flex;
  flex-direction:column;
  height:100%;
}

/* Panel içindeki haber görseli: kırpma olmasın + biraz daha büyük */
.panel--news .newsThumb,
.panel--news .newsThumb--empty{
  width:100%;
  height: 180px;          /* daha büyük görünüm */
  flex: 0 0 auto;
  border-radius: 10px;
}

/* Görselin kırpılmaması için */
.panel--news .newsThumb{
  object-fit: contain;
  background: rgba(0,0,0,.06);
}

/* Metinler (mockSlide görünümüyle uyumlu) */
.panel--news .newsMeta{ padding:10px 6px 0; }
.panel--news .newsTtl{ font-weight:800; font-size:13px; line-height:1.2; }
.panel--news .newsSub{ font-size:11px; opacity:.90; margin-top:6px; line-height:1.25; }

/* =====================================================
   MOBILE: Final header tuning (logo + title spacing)
   ===================================================== */
@media (max-width: 620px){

  /* grid spacing between logo row and title row */
  .hdrWrap{ row-gap: 0 !important; }

  /* keep hamburger above everything */
  .hamburger{
    position: fixed;
    top: calc(env(safe-area-inset-top, 0px) + 10px);
    right: 12px;
    z-index: 100000;
  }

  /* logo under hamburger, centered */
  .hdrLogo{ justify-content:center; padding-top: 56px; }

  /* final logo size */
  .hdrLogo .brand__seal,
  .hdrLogo .brand__seal img{
    width: 150px !important;
    height: 150px !important;
  }

  /* remove extra margins that push title away */
  .hdrLogo .brand{ margin: 8px auto 8px !important; }

  /* pull title closer to logo (approved look) */
  .header-title{
    margin-top: -36px !important;
    padding-top: 0 !important;
  }
  .header-title p{ margin-top: 4px !important; }

  /* base nav hidden on mobile; drawer uses cloned items */
  .nav{ display:none !important; }
}


/* === Lists / grids for duyurular & haberler pages (minimal, uses existing colors) === */
.listStack{ display:flex; flex-direction:column; gap:14px; }
.listItem__ttl{ margin:.2rem 0 .35rem; font-size:18px; }
.listItem__ttl a{ color:rgba(255,255,255,.95); text-decoration:none; }
.listItem__ttl a:hover{ text-decoration:underline; }
.listItem__excerpt{ opacity:.9; font-size:13px; line-height:1.45; }

.pager{ display:flex; gap:10px; align-items:center; justify-content:center; }

.newsGrid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.newsCard{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  box-shadow: 0 14px 28px rgba(0,0,0,.18);
  padding-bottom: 4px;
}
.newsCard__link{ display:block; color:inherit; text-decoration:none; }

/* News list – image no crop */
.newsCard__img{
  width: 100%;
  height: 160px;        /* kart biraz daha uzadı */
  object-fit: contain; /* KIRPMA YOK */
  background: rgba(0,0,0,.06); /* boşluklar için */
  display: block;
}
.newsCard__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.imgPh{ width:100%; height:100%; }
.newsCard__body{ padding: 12px 12px 14px; }
.newsCard__ttl{ margin: 8px 0 8px; font-size: 16px; line-height:1.2; }
.newsCard__ex{ font-size: 12px; opacity:.9; line-height:1.45; }

.newsHero{ border:1px solid rgba(255,255,255,.12); background: rgba(0,0,0,.18); overflow:hidden; }
.newsHero img{ width:100%; height:auto; display:block; }
@media (max-width: 560px){
  .newsCard__img{
    height: 190px;
  }
}
@media (max-width: 980px){
  .newsGrid{ grid-template-columns: 1fr; }
}

.newsGrid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}

.newsCard{
  display: block;
  text-decoration: none;
  color: inherit;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(0,0,0,.08);
}

.newsCard__img{
  width: 100%;
  height: 120px;      /* <<< KÜÇÜLTÜLDÜ */
  object-fit: cover; /* otomatik sığdır */
  display: block;
  background: rgba(0,0,0,.06);
}

.newsCard__body{
  padding: 10px 12px 12px;
}

.newsCard__ttl{
  font-weight: 800;
  margin-bottom: 6px;
  line-height: 1.25;
}

.newsCard__sub{
  font-size: 14px;
  opacity: .9;
  line-height: 1.35;
}

/* responsive */
@media (max-width: 980px){
  .newsGrid{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 560px){
  .newsGrid{ grid-template-columns: 1fr; }
}
/* News detail image – küçültülmüş ve dengeli */
.newsHeroImg{
  width: 100%;
  height: 240px;          /* istersen 220 de olur */
  object-fit: contain;    /* KIRPMAZ, tamamını gösterir */
  background: rgba(0,0,0,.08); /* boşluklar kötü görünmesin */
  border-radius: 16px;
  display: block;
  margin: 6px 0 14px;
}

@media (max-width:560px){
  .newsHeroImg{ height: 170px; }
}

.newsExcerpt{
  font-size: 16px;
  line-height: 1.55;
  opacity: .95;
  margin-bottom: 14px;
}

.newsContent{
  line-height: 1.7;
  font-size: 15px;
}

/* ===== Footer top band ===== */
.footer-band{
  background: var(--hdr-blue, #0b1b2a); /* header rengiyle uyumlu */
  color: #fff;
  font-size: 14px;
}

.footer-band__inner{
  max-width: var(--wrap, 1200px);
  margin: 0 auto;
  padding: 10px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.footer-band a{
  color: #fff;
  text-decoration: none;
  opacity: .9;
}

.footer-band a:hover{
  opacity: 1;
  text-decoration: underline;
}

.footer-band__right{
  opacity: .85;
}

/* mobile */
@media (max-width: 560px){
  .footer-band__inner{
    flex-direction: column;
    text-align: center;
    gap: 6px;
  }
}

/* ===== Sticky footer base layout ===== */
html, body{
  height: 100%;
}

body{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Ana içerik alanı */
main{
  flex: 1 0 auto;
}

/* Footer her zaman en altta */
footer{
  margin-top: auto;
}

/* Announcements – cards */
.annGrid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}

.annCard{
  display: block;
  text-decoration: none;
  color: inherit;

  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.65);

  padding: 14px 14px;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.annCard:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.88);
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
}

.annCard__top{
  display:flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 8px;
}

.annCard__ttl{
  font-weight: 800;
  line-height: 1.2;
}

.annCard__date{
  font-size: 13px;
  opacity: .75;
  white-space: nowrap;
}

.annCard__sub{
  font-size: 14px;
  line-height: 1.45;
  opacity: .9;
}

.annCard__more{
  margin-top: 10px;
  opacity: .7;
  font-weight: 700;
}

@media (max-width: 820px){
  .annGrid{ grid-template-columns: 1fr; }
}

/* Footer'dan önce biraz nefes */
main.page{
  padding-bottom: 22px;
}


@media (max-width: 560px){
  .footer-band{
    font-size: 13px;
  }
  .footer-band__inner{
    padding: 8px 12px;     /* daha kısa */
    gap: 4px;
  }
  .footer-band__right{
    opacity: .8;
  }
}

/* Home page - News panel image: no crop */
.panel--newsHome .newsCard__img,
.panel--newsHome .news__img,
.panel--newsHome img{
  object-fit: contain !important;
}

/* Eğer resim bir container içinde background-image ise */
.panel--newsHome .newsCard__img{
  height: 150px;                 /* biraz uzat */
  background: rgba(0,0,0,.06);
}

@media (max-width: 560px){
  .panel--newsHome .newsCard__img{ height: 180px; }
}

/* Sadece news_list.php kartları */
.page--newsList .newsCard__img{
  width: 100%;
  height: 160px;
  object-fit: contain;          /* kırpma yok */
  background: rgba(0,0,0,.06);
  display: block;
}
@media (max-width:560px){
  .page--newsList .newsCard__img{ height: 190px; }
}


/* =======================
   FINAL OVERRIDES (news images)
   ======================= */

/* Home page news panel: image bigger + no crop */
.panel--news .newsThumb{
  width: 100%;
  height: 180px;
  object-fit: contain;
  background: rgba(0,0,0,.06);
  border-radius: 10px;
  display:block;
}
.panel--news .panel__media{
  height: 270px;
  padding: 10px;
}

/* News list cards: never crop */
.page--newsList .newsCard__img{
  width: 100%;
  height: 240px;
  object-fit: contain;
  background: rgba(0,0,0,.06);
  display: block;
}
@media (max-width:560px){
  .page--newsList .newsCard__img{ height: 200px; }
}

/* ===== STICKY FOOTER FIX (GLOBAL) ===== */
html, body {
  height: 100%;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* header + main içerik büyüyebilir */
main {
  flex: 1 0 auto;
}

/* footer her zaman altta */
.site-footer {
  flex-shrink: 0;
}

/* ===== FOOTER STYLE ===== */
.site-footer {
  background: #0b2a42; /* header ile aynı ton */
  color: #e6eef5;
  text-align: center;
  padding: 14px 12px; /* 🔴 burada kısalttık */
  font-size: 14px;
}

.site-footer a {
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
}

.site-footer .footer-inner {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* =========================
   STICKY FOOTER (Havada kalma fix)
   ========================= */

/* Temel */
html, body{ height:100%; }

body{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Header sabit kalsın */
.site-header{ flex: 0 0 auto; }

/* Ana içerik alanı esnesin (main yoksa da yakalasın) */
main,
.page,
.contentPage,
.siteWrap{
  flex: 1 0 auto;
}

/* Footer hangi eleman olursa olsun alta it */
footer,
.site-footer,
.footer,
.footer-band{
  flex: 0 0 auto;
}

/* Footer'ı en alta sabitleyen kritik kural */
footer,
.site-footer,
.footer{
  margin-top: auto;
}

/* Eğer footer-band footer içinde değil de tek başına kullanılıyorsa */
.footer-band{
  margin-top: auto;
}

/* iOS Safari için daha stabil viewport (desteklenirse) */
@supports (height: 100dvh){
  body{ min-height: 100dvh; }
}

/* Sticky footer for footer-band (short pages) */
html, body { height: 100%; }

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* footer-band en alta itilsin */
.footer-band {
  margin-top: auto;
}
