/* ═══════════════════════════════════════════════════════════
   Çok sayfalı yapı eklemeleri — site.css / extra.css'i değiştirmez
   (iç sayfalar, yasal sayfalar, 404, KVKK onayı, kompakt takvim)
   ═══════════════════════════════════════════════════════════ */

/* ─── İç sayfalar: sabit menünün altında ilk bölüm ─── */
main.inner-page > section:first-child { padding-top: clamp(130px, 14vw, 180px); }
main.inner-page > section:first-child::before { content: none; }
#hakkimda, #hizmetler, #yaklasim, #sss, #iletisim { scroll-margin-top: 90px; }

/* ─── Ana sayfa alt çağrı bandı ─── */
.cta-section { padding-top: 0; background: var(--paper); }
.cta-section .post-cta { margin-top: 0; }
.btn-ghost-light { color: #fff; border: 1.5px solid rgba(255, 255, 255, .35); background: transparent; }
.btn-ghost-light:hover { background: rgba(255, 255, 255, .12); border-color: var(--gold-soft); transform: translateY(-2px); }
.post-cta .hero-btns { margin-top: 4px; }

/* ─── Footer: site haritası satırı ─── */
.footer-nav {
  flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 10px 26px; padding-top: 24px; margin-top: 4px;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.footer-nav a { color: rgba(255, 255, 255, .5); text-decoration: none; font-size: .82rem; transition: color .3s; }
.footer-nav a:hover { color: var(--gold-soft); }

/* ─── Yasal sayfalar (KVKK / Gizlilik) ─── */
.legal { background: var(--paper); position: relative; }
.legal .container { max-width: 860px; }
.legal-date { font-size: .86rem; color: var(--muted); margin: -4px 0 34px; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
.legal .prose { font-size: 1rem; line-height: 1.9; }
.legal .prose h2 { font-size: 1.45rem; margin-top: 1.9em; }
.legal-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 48px; }

/* ─── 404 ─── */
.err-page {
  min-height: 100svh; display: grid; align-items: center; overflow: hidden;
  background:
    radial-gradient(1100px 600px at 85% 20%, rgba(205, 213, 184, .45), transparent 60%),
    radial-gradient(800px 500px at 0% 100%, rgba(230, 214, 168, .35), transparent 60%),
    var(--paper);
}
main.inner-page > .err-page:first-child { padding-top: 130px; padding-bottom: 80px; }
.err-wrap { position: relative; z-index: 2; display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 6vw, 90px); align-items: center; }
.err-visual { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.err-stage { width: min(400px, 80vw); }
.err-code {
  font-family: var(--serif); font-style: italic; font-weight: 300; line-height: 1; letter-spacing: .04em;
  font-size: clamp(3.6rem, 9vw, 6.4rem); color: transparent;
  background: linear-gradient(100deg, var(--olive-600) 0%, var(--bronze) 45%, var(--gold) 60%, var(--olive-600) 100%);
  background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; animation: shimmer 6s linear infinite;
}
.err-links { display: flex; flex-wrap: wrap; gap: 8px 22px; list-style: none; margin-top: 38px; padding-top: 24px; border-top: 1px solid var(--line); }
.err-links a {
  text-decoration: none; font-size: .8rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft);
  transition: color .3s;
}
.err-links a:hover { color: var(--olive-600); }
@media (max-width: 900px) {
  .err-wrap { grid-template-columns: 1fr; }
  .err-visual { order: -1; }
  .err-stage { width: min(260px, 64vw); }
}

/* ─── KVKK onay kutusu (iletişim formu) ─── */
.consent { display: flex; align-items: flex-start; gap: 12px; margin: 4px 0 14px; cursor: pointer; }
.consent input { flex-shrink: 0; width: 19px; height: 19px; margin-top: 2px; accent-color: var(--gold); cursor: pointer; }
.consent span { font-size: .8rem; line-height: 1.65; color: rgba(255, 255, 255, .72); }
.consent a { color: var(--gold-soft); }
.form-note { margin-bottom: 22px; }

/* ─── Kompakt randevu takvimi ─── */
.cal { max-width: 292px; padding: 11px 11px 10px; border-radius: 16px; }
.cal-head { margin-bottom: 6px; }
.cal-title { font-size: 1rem; }
.cal-nav { width: 28px; height: 28px; }
.cal-nav svg { width: 11px; height: 11px; }
.cal-dow, .cal-grid { gap: 2px; }
.cal-dow span { font-size: .56rem; letter-spacing: .06em; padding: 2px 0 4px; }
.cal-day { aspect-ratio: auto; height: 30px; min-height: 0; border-radius: 9px; font-size: .74rem; }
.cal-day.today::after { bottom: 2px; width: 3px; height: 3px; margin-left: -1.5px; }
.cal-legend { gap: 4px 12px; margin-top: 8px; font-size: .64rem; }
.cal-legend .dot { width: 8px; height: 8px; }
.cal-picked { margin-top: 8px; padding-top: 8px; font-size: .76rem; line-height: 1.45; }
@media (max-width: 380px) {
  .cal-day { height: 28px; font-size: .7rem; min-height: 0; }
}

/* ═══════════ Menü düzeltmeleri ═══════════ */
@media (max-width: 900px) {
  /* backdrop-filter, içindeki fixed menüyü nav çubuğuna hapsediyordu → kaydırınca menü şeffaf/görünmez oluyordu */
  #mainNav, #mainNav.scrolled {
    -webkit-backdrop-filter: none; backdrop-filter: none;
  }
  #mainNav.scrolled { background: var(--paper); }
  .nav-links { background: var(--paper); -webkit-backdrop-filter: none; backdrop-filter: none; overflow-y: auto; padding: 90px 24px 40px; }
  .nav-links.open li:nth-child(7) { transition-delay: .57s; }
  .nav-links { gap: 20px; }
}
@media (min-width: 901px) and (max-width: 1180px) {
  .nav-links { gap: 12px; }
  .nav-links a:not(.nav-cta) { letter-spacing: .04em; font-size: .7rem; }
  .nav-cta { padding: 9px 14px; letter-spacing: .06em; font-size: .7rem; }
}
.service-card { text-decoration: none; color: inherit; }

/* ═══════════ Footer (yeni düzen) ═══════════ */
.site-footer { padding: 70px var(--pad-x) 34px; }
.site-footer .f-grid { display: grid; grid-template-columns: 1.5fr 1fr 1.25fr 1.25fr; gap: clamp(28px, 4vw, 60px); padding-bottom: 48px; }
.site-footer .footer-logo { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; }
.f-brand p { font-size: .88rem; line-height: 1.8; max-width: 310px; margin: 18px 0 22px; color: rgba(255, 255, 255, .5); }
.f-social { display: flex; gap: 10px; }
.f-social a {
  width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; color: var(--gold-soft);
  border: 1px solid rgba(230, 214, 168, .25); text-decoration: none; transition: background .3s, color .3s, transform .3s;
}
.f-social a:hover { background: var(--gold); color: var(--olive-950); transform: translateY(-3px); }
.f-col { display: flex; flex-direction: column; gap: 11px; font-size: .88rem; color: rgba(255, 255, 255, .5); align-items: flex-start; }
.f-col h4 { font-family: var(--serif); font-weight: 400; font-size: 1.1rem; color: var(--gold-soft); margin-bottom: 8px; letter-spacing: .01em; }
.f-col a { color: rgba(255, 255, 255, .62); text-decoration: none; transition: color .3s, transform .3s; overflow-wrap: anywhere; }
.f-col a:hover { color: var(--gold-soft); transform: translateX(3px); }
.f-col a.f-cta { margin-top: 8px; color: var(--olive-950); background: var(--gold); padding: 10px 20px; border-radius: 100px; font-weight: 600; font-size: .82rem; }
.f-col a.f-cta:hover { background: var(--gold-soft); color: var(--olive-950); }
.f-bottom {
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px 28px;
  padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .8rem;
}
.f-bottom a { color: var(--olive-400); text-decoration: none; transition: color .3s; }
.f-bottom a:hover { color: var(--gold-soft); }
.f-legal { display: flex; gap: 8px 24px; flex-wrap: wrap; }
.f-legal a { color: rgba(255, 255, 255, .55); }
@media (max-width: 1000px) {
  .site-footer .f-grid { grid-template-columns: 1fr 1fr; }
  .f-brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .site-footer { padding-top: 54px; }
  .site-footer .f-grid { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
  .f-col:last-of-type { grid-column: 1 / -1; }
  .f-bottom { flex-direction: column; align-items: flex-start; }
}

/* ═══════════ Hizmet detay sayfası ═══════════ */
.svc-head { display: flex; gap: clamp(16px, 3vw, 28px); align-items: flex-start; margin-bottom: 38px; padding-bottom: 32px; border-bottom: 1px solid var(--line); }
.svc-icon-lg { width: 76px; height: 76px; border-radius: 22px; flex-shrink: 0; display: grid; place-items: center; background: var(--olive-800); color: var(--gold-soft); }
.svc-icon-lg svg { width: 36px; height: 36px; }
.svc-prose { margin-bottom: 8px; }
.post-nav.others { grid-template-columns: repeat(2, 1fr); margin-top: 0; }
@media (max-width: 600px) { .svc-head { flex-direction: column; } .post-nav.others { grid-template-columns: 1fr; } }
