/* =============================================================================
   Kayalar İnşaat — v3 · 4/4 İç sayfalar ve paylaşılan bileşenler
   Proje ve blog kartları, filtre, proje detayı (vaka çalışması), hizmet
   detayı, hakkımızda, görsel şerit, arsa hesaplayıcı, iletişim, blog yazısı,
   kapanış bandı (CTA) ve 404. style.css'teki bileşenlerin koyu/keskin inceltmesi.
   ============================================================================= */

/* ── Proje kartları + filtre ────────────────────────────────────────────────── */

.projects-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); gap: clamp(1rem, 2vw, 1.6rem); }
.project-card {
  border-radius: var(--k3-radius);
  border-color: var(--k3-line);
  background: var(--k3-navy-850);
  transition: border-color var(--k3-dur) var(--k3-ease-power2), transform var(--k3-dur-slow) var(--k3-ease-power3);
}
.project-card:hover { transform: translateY(-6px); box-shadow: none; border-color: var(--k3-gold-line); }
.project-media { aspect-ratio: 3 / 2; }
.project-media img { filter: saturate(.85) brightness(.9); transition: transform var(--k3-dur-slow) var(--k3-ease-power3), filter var(--k3-dur-slow) var(--k3-ease-power2); }
.project-card:hover .project-media img { transform: scale(1.07); filter: none; }
.project-status { border-radius: var(--k3-radius-xs); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; background: rgba(6, 9, 17, .72); }
.project-status.status-ongoing { background: var(--k3-gold); color: var(--k3-navy-900); }
.project-num {
  position: absolute;
  right: .9rem;
  bottom: .4rem;
  font-family: var(--k3-font-display);
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(244, 241, 234, .45);
}
.project-body { gap: .6rem; padding: clamp(1.2rem, 2vw, 1.6rem); }
.project-meta { font-size: .68rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--k3-gold); }
.project-title { font-size: 1.45rem; }
.project-text { color: var(--k3-body); }
.project-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: .6rem;
  padding-top: .9rem;
  border-top: 1px solid var(--k3-line);
}
.project-scale { font-size: .8rem; color: var(--k3-slate); }
.project-more { margin: 0; color: var(--k3-ivory); }
.project-card:hover .project-more { color: var(--k3-gold); }
.project-card:hover .project-more svg { transform: translate(2px, -2px); }

.filter-bar { gap: .4rem; }
.filter-btn {
  border-radius: var(--k3-radius-sm);
  border-color: var(--k3-line-strong);
  background: transparent;
  color: var(--k3-body);
  font-size: .82rem;
  letter-spacing: .02em;
}
.filter-btn:hover { border-color: var(--k3-gold-line); color: var(--k3-gold); }
.filter-btn.active { background: var(--k3-ivory); border-color: var(--k3-ivory); color: var(--k3-navy-900); }

/* ── Proje detayı ───────────────────────────────────────────────────────────── */

.k3-project-hero { position: relative; overflow: hidden; isolation: isolate; padding-bottom: 0; }
.k3-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem clamp(1.6rem, 4vw, 3.4rem);
  margin: clamp(1.8rem, 4vw, 2.8rem) 0 0;
  padding-top: 1.3rem;
  border-top: 1px solid var(--k3-line-strong);
}
.k3-facts dt { font-size: .66rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--k3-slate); }
.k3-facts dd { margin: .2rem 0 0; font-weight: 500; color: var(--k3-ivory); }
.k3-project-hero__media {
  margin-top: clamp(2.2rem, 5vw, 3.6rem);
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
  aspect-ratio: 16 / 8;
  border-radius: var(--k3-radius);
  overflow: hidden;
  padding: 0;
  background: var(--k3-navy-800);
}
.k3-project-hero__media img { width: 100%; height: 100%; object-fit: cover; }

.k3-cs__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.9rem, 1.6vw, 1.3rem); }
.k3-cs-card {
  position: relative;
  padding: clamp(1.4rem, 2.6vw, 2.2rem);
  border: 1px solid var(--k3-line);
  border-radius: var(--k3-radius);
  background: var(--k3-navy-850);
}
.k3-cs-card--result { border-color: var(--k3-gold-line); background: linear-gradient(160deg, color-mix(in srgb, var(--primary) 12%, var(--k3-navy-850)), var(--k3-navy-850) 60%); }
.k3-cs-card__num { font-size: .7rem; font-weight: 600; letter-spacing: .16em; color: var(--k3-slate); }
.k3-cs-card__label { margin: 1.4rem 0 .8rem; font-size: 1.5rem; color: var(--k3-gold); }
.k3-cs-card__text { margin: 0; color: var(--k3-body); line-height: 1.7; }
.k3-cs-card--result .k3-cs-card__text { color: var(--k3-ivory); }

.detail-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 360px); gap: clamp(2rem, 5vw, 4.5rem); }
.side-card h2, .side-card h3 { font-family: var(--k3-font-display); font-weight: 500; font-size: 1.3rem; }
.spec-row { border-bottom-color: var(--k3-line); }
.spec-row dt { color: var(--k3-slate); }
.spec-row dd { color: var(--k3-ivory); font-weight: 500; }
.highlight-list svg { color: var(--k3-gold); }
.gallery-item { border-radius: var(--k3-radius-sm); }
.side-links a { color: var(--k3-body); border-bottom-color: var(--k3-line); }
.side-links a:hover { color: var(--k3-gold); }

/* ── İçerik metni (proje, hizmet, blog gövdesi) ─────────────────────────────── */

.prose { color: var(--k3-body); font-size: 1.04rem; }
.prose h2 { font-family: var(--k3-font-display); font-weight: 500; font-size: clamp(1.5rem, 2.4vw, 2rem); letter-spacing: -.01em; }
.prose h3 { font-family: var(--k3-font-display); font-weight: 500; }
.prose strong, .prose b { color: var(--k3-ivory); }
.prose a { color: var(--k3-gold); }
.prose blockquote { border-left-color: var(--k3-gold); background: var(--k3-navy-850); font-style: normal; }
.prose th { background: var(--k3-navy-850); }
.prose th, .prose td { border-color: var(--k3-line-strong); }

/* ── Hakkımızda ─────────────────────────────────────────────────────────────── */

.about-grid { gap: clamp(2rem, 6vw, 5rem); }
.about-copy .section-title { font-size: calc(var(--k3-fs-h2) * var(--heading-scale)); margin-bottom: 1.5rem; }
.values-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--k3-line-strong); }
.value-card {
  padding: clamp(1.6rem, 3vw, 2.4rem) clamp(1rem, 2vw, 1.8rem) 1rem;
  border: 0;
  border-left: 1px solid var(--k3-line);
  border-radius: 0;
  background: transparent;
}
.value-card:first-child { border-left: 0; padding-left: 0; }
.value-card:hover { transform: none; box-shadow: none; }
.value-num { font-family: var(--k3-font-display); font-size: 2.4rem; font-weight: 500; color: var(--k3-gold); opacity: 1; margin-bottom: 1.2rem; }
.value-card h3 { font-size: 1.3rem; }
.value-card p { color: var(--k3-body); }

/* ── Görsel şerit ───────────────────────────────────────────────────────────── */

.showcase-grid { margin-top: 0; }
.showcase-item { border-radius: var(--k3-radius-sm); border-color: var(--k3-line); }
.showcase-item img { filter: saturate(.85); }
.showcase-item figcaption { display: flex; gap: .7rem; align-items: baseline; font-weight: 500; font-size: .82rem; }
.showcase-item figcaption span { font-size: .66rem; font-weight: 600; letter-spacing: .14em; color: var(--k3-gold); }

/* ── Blog kartları ──────────────────────────────────────────────────────────── */

.blog-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: clamp(1rem, 2vw, 1.6rem); }
.blog-card { border-radius: var(--k3-radius); border-color: var(--k3-line); background: var(--k3-navy-850); }
.blog-card:hover { transform: translateY(-6px); box-shadow: none; border-color: var(--k3-gold-line); }
.blog-body time { font-size: .68rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--k3-gold); }
.blog-title { font-family: var(--k3-font-display); font-weight: 500; font-size: 1.4rem; line-height: 1.15; }
.blog-text { color: var(--k3-body); }
.blog-more { color: var(--k3-ivory); }
.blog-card:hover .blog-more { color: var(--k3-gold); }

/* ── Kapanış bandı (iç sayfalar) ────────────────────────────────────────────── */

.k3-cta__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) auto;
  align-items: end;
  gap: 2rem 4rem;
  padding: clamp(2rem, 5vw, 4rem);
  border: 1px solid var(--k3-line);
  border-radius: var(--k3-radius);
  background:
    radial-gradient(640px 360px at 92% 0%, color-mix(in srgb, var(--primary) 26%, transparent), transparent 65%),
    var(--k3-navy-850);
  overflow: hidden;
  isolation: isolate;
}
.k3-cta__panel::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(var(--k3-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--k3-line) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(110deg, transparent 40%, #000);
  -webkit-mask-image: linear-gradient(110deg, transparent 40%, #000);
}
.k3-cta__copy .k3-title { max-width: 20ch; }
.k3-cta__copy .k3-lead { margin-top: 1.2rem; }
.k3-cta__actions { display: flex; flex-wrap: wrap; gap: .8rem; }

/* ── Arsa hesaplayıcı ───────────────────────────────────────────────────────── */

.section-calc { background: var(--k3-navy-850); }
.calc-shell { margin-top: 0; }
.calc-form, .calc-out { background: var(--k3-navy-900); border-color: var(--k3-line); border-radius: var(--k3-radius); }
.calc-field > label { color: var(--k3-ivory); font-weight: 500; }
.calc-field select,
.calc-number input { background: var(--k3-navy-800); border-color: var(--k3-line-strong); color: var(--k3-ivory); }
.calc-field select:focus, .calc-number input:focus { border-color: var(--k3-gold); box-shadow: 0 0 0 3px var(--k3-gold-soft); }
.calc-step { background: var(--k3-navy-700); border-color: var(--k3-line-strong); color: var(--k3-ivory); }
.calc-step:hover { background: var(--k3-gold); border-color: var(--k3-gold); color: var(--k3-navy-900); }
.calc-range { accent-color: var(--k3-gold); }
.calc-metric { background: var(--k3-navy-850); border-color: var(--k3-line); border-radius: var(--k3-radius-sm); }
.calc-metric.is-primary { border-color: var(--k3-gold-line); background: color-mix(in srgb, var(--primary) 12%, var(--k3-navy-850)); }
.calc-metric-value b { font-family: var(--k3-font-display); font-weight: 500; }
.calc-metric.is-primary .calc-metric-value b { color: var(--k3-gold); }
.calc-split-bar { border-color: var(--k3-line-strong); }
.calc-split-owner { background: color-mix(in srgb, var(--primary) 80%, #000); }
.calc-split-builder { background: var(--k3-navy-700); color: var(--k3-body); }
.calc-lead { background: var(--k3-navy-950); border: 1px solid var(--k3-line); border-radius: var(--k3-radius); }
.calc-lead-copy h3 { font-weight: 500; }
.calc-lead-form { background: var(--k3-navy-850); border: 1px solid var(--k3-line); border-radius: var(--k3-radius-sm); }
.calc-lead .btn-ghost { --btn-fg: var(--k3-ivory); border-color: var(--k3-line-strong); }

/* ── İletişim sayfası ───────────────────────────────────────────────────────── */

.contact-card { background: var(--k3-navy-850); border-color: var(--k3-line); border-radius: var(--k3-radius); }
.contact-card:hover { transform: none; box-shadow: none; border-color: var(--k3-gold-line); }
.contact-icon { border-radius: var(--k3-radius-sm); background: var(--k3-gold-soft); color: var(--k3-gold); }
.contact-card h3 { font-family: var(--k3-font-body); color: var(--k3-slate); font-size: .7rem; letter-spacing: .15em; }
.contact-card p, .contact-card a { color: var(--k3-ivory); }
.contact-form-col .section-title { font-size: calc(var(--k3-fs-h2) * var(--heading-scale)); }
.contact-form-col .section-lead { margin-bottom: 1.8rem; }
.map-shell { border-radius: var(--k3-radius); border-color: var(--k3-line); background: var(--k3-navy-850); }
.map-shell iframe { filter: grayscale(1) invert(.9) contrast(.9) brightness(.9); }

/* ── Blog yazısı ────────────────────────────────────────────────────────────── */

.post-header { background: transparent; }
.post-header h1 { font-size: calc(var(--k3-fs-display) * var(--heading-scale)); max-width: 20ch; }
.post-meta { color: var(--k3-slate); }
.post-cover { border-radius: var(--k3-radius); }
.blog-toc, .blog-related-card { background: var(--k3-navy-850); border-color: var(--k3-line); border-radius: var(--k3-radius); }
.blog-toc .toc-h2 a { border-left-color: var(--k3-gold); color: var(--k3-ivory); }
.blog-toc a:hover, .blog-toc .is-active > a { color: var(--k3-gold); background: var(--k3-gold-soft); border-left-color: var(--k3-gold); }
.blog-share-btn { border-radius: var(--k3-radius-sm); }
.blog-share-nav-btn { border-radius: var(--k3-radius-sm); border-color: var(--k3-gold-line); color: var(--k3-gold); }
.blog-share-nav-btn.is-primary { background: color-mix(in srgb, var(--primary) 80%, #000); border-color: transparent; }
.blog-related { border-top-color: var(--k3-line); }
.blog-related-card h3 a:hover { color: var(--k3-gold); }

/* ── 404 ────────────────────────────────────────────────────────────────────── */

.err-code {
  font-family: var(--k3-font-display);
  font-weight: 600;
  background: var(--k3-gold-grad);
  -webkit-background-clip: text;
  background-clip: text;
}
.err-panel p { color: var(--k3-body); }

/* ── Duyarlılık ─────────────────────────────────────────────────────────────── */

/* .detail-grid'in üstteki tanımı (satır 102) medya sorgusuz; dar ekranda
   yan sütun (360px) ana metni birkaç piksele sıkıştırıp harfleri alt alta
   diziyordu — burada tek sütuna indirilir (style.css'teki eski 980px kırılımıyla aynı). */
@media (max-width: 980px) {
  .detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1024px) {
  .k3-cs__grid { grid-template-columns: 1fr; }
  .values-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .value-card:nth-child(3) { border-left: 0; padding-left: 0; }
  .value-card:nth-child(n+3) { border-top: 1px solid var(--k3-line); }
  .k3-cta__panel { grid-template-columns: 1fr; align-items: start; }
}
@media (max-width: 640px) {
  .values-grid { grid-template-columns: 1fr; }
  .value-card { border-left: 0; padding-left: 0; }
  .value-card + .value-card { border-top: 1px solid var(--k3-line); }
  .k3-project-hero__media { aspect-ratio: 4 / 3; }
  .k3-cta__actions .btn { flex: 1 1 auto; }
}
