/* Renkler Gelibolu Özel Bakım Merkezi logosundan alınmıştır */
:root {
  --lacivert: #0B4F9C;
  --lacivert-koyu: #082F63;
  --lacivert-acik: #E8F0FA;
  --pembe: #D8074C;          /* beyaz yazıyla AA kontrast */
  --pembe-koyu: #B00540;
  --pembe-parlak: #FC0C5A;   /* yalnızca süs / büyük öğeler */
  --zemin: #F5F8FC;
  --yazi: #1B2A41;
  --cizgi: #DCE6F2;
  --golge: 0 6px 24px rgba(8, 47, 99, .10);
}

/* Okunabilirlik odaklı yazı tipi (disleksi ve düşük görme dostu), kendi sunucumuzdan; SIL OFL lisanslı */
@font-face {
  font-family: "Atkinson Hyperlegible Next";
  src: url("/fonts/AtkinsonHyperlegibleNext-VF.ttf") format("truetype");
  font-weight: 200 800; font-style: normal; font-display: swap;
}

html { font-size: 17px; scroll-behavior: smooth; scroll-padding-top: 7rem; } /* sabit menü klavye odağını örtmesin */
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; animation: none !important; } }
body { background: var(--zemin); color: var(--yazi); line-height: 1.7; display: flex; flex-direction: column; min-height: 100vh; font-family: "Atkinson Hyperlegible Next", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif; }
.btn, button, summary, [role="button"], .navbar-toggler { cursor: pointer; }
main { flex: 1; }
h1, h2, h3, h4 { color: var(--lacivert-koyu); line-height: 1.25; font-weight: 700; }
a { color: var(--lacivert); }
a:hover { color: var(--pembe); }
img { max-width: 100%; height: auto; }

/* Erişilebilirlik */
:focus-visible { outline: 3px solid #1a56db; outline-offset: 2px; }
/* koyu zeminlerde odak halkası beyaz (kontrast) */
.ust-serit :focus-visible, .site-footer :focus-visible, .hero :focus-visible, .cta :focus-visible, .sayfa-baslik :focus-visible { outline-color: #fff; }
.skip-link { position: absolute; left: -999px; top: 0; background: #000; color: #fff; padding: .6rem 1rem; z-index: 3000; }
.skip-link:focus { left: 0; color: #fff; }

/* Üst şerit */
.ust-serit { background: var(--lacivert-koyu); color: #dbe7f7; font-size: .85rem; padding: .35rem 0; }
.ust-serit a { color: #fff; text-decoration: none; display: inline-block; padding: .3rem 0; }
.ust-serit a:hover { text-decoration: underline; color: #fff; }
.ikon { width: 1em; height: 1em; fill: currentColor; vertical-align: -.125em; margin-right: .4em; }

/* Üst menü */
.site-header { background: #fff; position: sticky; top: 0; z-index: 1030; box-shadow: 0 2px 14px rgba(8, 47, 99, .08); }
.site-header .navbar { padding: .4rem 1rem; }
.site-header .navbar-brand img { height: 74px; width: auto; display: block; }
@media (max-width: 575.98px) { .site-header .navbar-brand img { height: 60px; } }
.site-header .nav-link { color: var(--yazi); font-weight: 600; padding: .6rem .85rem; border-radius: .5rem; min-height: 44px; display: flex; align-items: center; }
.site-header .nav-link:hover { color: var(--pembe); }
.site-header .nav-link.active { color: var(--lacivert); background: var(--lacivert-acik); }

/* Düğmeler */
.btn { border-radius: .6rem; font-weight: 600; padding: .55rem 1.2rem; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.btn-sm { min-height: 36px; }
.btn-lg { padding: .75rem 1.7rem; font-size: 1.05rem; }
.btn-primary { background: var(--lacivert); border-color: var(--lacivert); }
.btn-primary:hover, .btn-primary:focus { background: var(--lacivert-koyu); border-color: var(--lacivert-koyu); }
.btn-pembe { background: var(--pembe); border-color: var(--pembe); color: #fff; }
.btn-pembe:hover, .btn-pembe:focus { background: var(--pembe-koyu); border-color: var(--pembe-koyu); color: #fff; }
.btn-beyaz-cizgi { border: 2px solid #fff; color: #fff; background: transparent; }
.btn-beyaz-cizgi:hover { background: #fff; color: var(--lacivert-koyu); }

/* Ana sayfa kahraman alanı */
.hero { position: relative; color: #fff; background: var(--lacivert-koyu) url(/img/hero.jpg) center 35% / cover no-repeat; min-height: min(80vh, 620px); display: flex; align-items: center; }
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,47,99,.93) 0%, rgba(8,47,99,.78) 42%, rgba(8,47,99,.18) 100%); }
.hero .container { position: relative; padding-top: 3rem; padding-bottom: 3rem; }
.hero h1 { color: #fff; font-size: clamp(2rem, 4.6vw, 3.4rem); max-width: 18ch; }
.hero .lead { max-width: 38rem; font-size: 1.25rem; color: #eaf2fc; }
.hero .rozet { display: inline-block; background: rgba(252, 12, 90, .92); color: #fff; font-weight: 700; padding: .25rem .8rem; border-radius: 2rem; font-size: .85rem; letter-spacing: .03em; margin-bottom: 1rem; }
@media (max-width: 768px) { .hero::before { background: rgba(8,47,99,.85); } }

/* Sayfa başlık bandı */
.sayfa-baslik { background: linear-gradient(135deg, var(--lacivert), var(--lacivert-koyu)); color: #fff; padding: 2.2rem 0; border-bottom: 5px solid var(--pembe-parlak); }
.sayfa-baslik h1 { color: #fff; margin: 0; font-size: clamp(1.7rem, 3.4vw, 2.4rem); }
.sayfa-baslik a { color: #cfe0f6; text-decoration: none; }
.sayfa-baslik a:hover { color: #fff; text-decoration: underline; }

/* Bölümler */
.bolum { padding: 4rem 0; }
.bolum-beyaz { background: #fff; }
.bolum-baslik { text-align: center; margin-bottom: 2.4rem; }
.bolum-baslik h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: .5rem; }
.bolum-baslik h2::after { content: ""; display: block; width: 64px; height: 4px; background: var(--pembe-parlak); border-radius: 4px; margin: .7rem auto 0; }
.bolum-baslik p { color: #4a5b75; max-width: 40rem; margin: 0 auto; }

/* Kartlar */
.kart { background: #fff; border: 1px solid var(--cizgi); border-radius: 1rem; height: 100%; overflow: hidden; box-shadow: var(--golge); transition: transform .18s ease, box-shadow .18s ease; }
a:hover > .kart, .kart.kart-hover:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(8, 47, 99, .16); }
.kart-govde { padding: 1.3rem; }
.kart img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #e8eeec; display: block; }
.hizmet-no { width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--lacivert-acik); color: var(--lacivert); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; margin-bottom: .8rem; border: 2px solid var(--pembe-parlak); }

.foto-cerceve { border-radius: 1.2rem; overflow: hidden; box-shadow: var(--golge); border: 6px solid #fff; }
.foto-cerceve img { display: block; width: 100%; }

.galeri a { display: block; position: relative; border-radius: .9rem; overflow: hidden; box-shadow: var(--golge); }
.galeri img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; transition: transform .3s ease; }
.galeri a:hover img { transform: scale(1.04); }
.galeri .alt-yazi { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.4rem .9rem .6rem; color: #fff; font-size: .9rem; background: linear-gradient(transparent, rgba(8,47,99,.85)); }

/* Çağrı bandı */
.cta { background: linear-gradient(135deg, var(--lacivert), var(--lacivert-koyu)); color: #fff; }
.cta h2 { color: #fff; }
.cta .btn-pembe { box-shadow: 0 6px 18px rgba(252, 12, 90, .35); }

.urun-detay img { max-width: 100%; border-radius: .8rem; }
.harita iframe { width: 100%; min-height: 320px; border: 0; border-radius: .8rem; }
.metin p { max-width: 72ch; }
.bilgi-kutu { background: #fff; border: 1px solid var(--cizgi); border-left: 5px solid var(--pembe-parlak); border-radius: .8rem; padding: 1.2rem 1.4rem; box-shadow: var(--golge); }

/* Alt bilgi */
.site-footer { background: var(--lacivert-koyu); color: #d6e3f5; margin-top: auto; }
.site-footer h2 { color: #fff; letter-spacing: .06em; }
.site-footer a { color: #fff; text-decoration: none; display: inline-block; padding: .35rem 0; min-height: 32px; }
.site-footer a:hover { text-decoration: underline; color: #fff; }
.site-footer .alt-serit { background: #051c3c; }
.site-footer .admin-link { opacity: .7; font-size: .85rem; }

/* Mobilde sabit arama düğmesi */
.mobil-ara { display: none; }
@media (max-width: 767.98px) {
  .mobil-ara { display: block; position: fixed; right: 1rem; bottom: 1rem; z-index: 1040; background: var(--pembe); color: #fff; font-weight: 700; padding: .8rem 1.3rem; border-radius: 3rem; box-shadow: 0 8px 22px rgba(0,0,0,.3); text-decoration: none; }
  .mobil-ara:hover { color: #fff; background: var(--pembe-koyu); }
  body { padding-bottom: 4.5rem; }
  .bolum { padding: 2.6rem 0; }
}

.hata-kod { color: var(--pembe-parlak); }

/* Kurum adı: logodaki düzenle uyumlu (iri ve kalın "Gelibolu", altında harf aralıklı "Özel Bakım Merkezi") */
.hero .hero-ad { max-width: none; line-height: 1.05; margin-bottom: 1rem; }
.hero-ad .ad-ana { display: block; font-size: clamp(3rem, 9vw, 5.6rem); font-weight: 800; letter-spacing: -.01em; }
.hero-ad .ad-alt { display: inline-block; font-size: clamp(1.1rem, 2.6vw, 1.7rem); font-weight: 700; text-transform: uppercase; letter-spacing: .12em; padding-top: .45rem; margin-top: .35rem; border-top: 4px solid var(--pembe-parlak); }

/* Panelden girilen metin biçimi (MiniMarkup) */
.metin h2 { font-size: 1.6rem; margin-top: 2rem; }
.metin h3 { font-size: 1.3rem; margin-top: 2.1rem; margin-bottom: .6rem; color: var(--lacivert); }
.metin p { max-width: 72ch; }
.metin .vurgu { font-size: 1.25rem; font-weight: 700; color: var(--lacivert); border-left: 5px solid var(--pembe-parlak); padding: .15rem 0 .15rem 1rem; margin: 0 0 1.4rem; }
.metin ul { padding-left: 1.2rem; }
.metin ul li { margin-bottom: .35rem; }
.metin strong { color: var(--lacivert-koyu); }

.kart-baglanti { color: var(--lacivert-koyu); text-decoration: none; }
.kart-baglanti::after { content: ""; position: absolute; inset: 0; }   /* kartın tamamı tıklanır */
.kart { position: relative; }
.kart-baglanti:hover { color: var(--pembe); text-decoration: underline; }
.deger-kart { border-top: 5px solid var(--pembe-parlak); text-align: left; }
.diger-liste li a { display: block; padding: .4rem 0; }
.bilgi-kutu p:last-child { margin-bottom: 0; }

/* Telefonlarda daha küçük ana sayfa görseli (hızlı açılış) */
@media (max-width: 768px) { .hero { background-image: url(/img/hero-mobil.jpg); } }
.text-danger { color: #A52834 !important; } /* hata metni: açık zeminde 4.5:1 üzeri kontrast */
.alert-danger { color: #5c1218; }
.onizleme-serit { background: #ffd43b; color: #3d2f00; text-align: center; padding: .5rem 1rem; font-weight: 600; font-size: .92rem; position: relative; z-index: 1050; }
.onizleme-serit a { color: #3d2f00; text-decoration: underline; }
.taslak-uyari { background: #fff3cd; border: 1px solid #ffe69c; border-radius: .5rem; padding: .6rem 1rem; }

/* Yönetim paneli */
.yonetim-menu .nav-link { color: var(--yazi); border-radius: .5rem; }
.yonetim-menu .nav-link.active { background: var(--lacivert); color: #fff; }
.yonetim-resim { width: 110px; height: 82px; object-fit: cover; border-radius: .4rem; }
.form-control:focus, .form-select:focus { border-color: var(--lacivert); box-shadow: 0 0 0 .2rem rgba(11, 79, 156, .2); }
